nativemind_widgets
High-level Flutter widgets one level above Material and Cupertino: a themed, localized widget set
with data tables, adaptive navigation, charts and domain widgets (real estate, telecom, marketing,
parsing, billing, accounts, domain names). Part of the NativeMind framework: VPN widgets are nativemind_vpn, the AI
copilot is nativemind_copilot, sound and deals widgets are nativemind_sound and nativemind_deals.

Features
- Themes built from a 16 logical-px icon unit: 4 palettes (NativeMind Blue, Green, Orange, Pink) ×
3 presets (
consumer,product,workspace), with light and derived dark versions. Custom palettes viaNmPalette.custom/NmPalette.fromSeed. - Icons: a thematic Fugue set (558 glyphs in 13 themes —
NmFugue,NmFugueThemes) in 16, 32 and 48 px, shadow and shadowless, picked by display density; custom telecom rasters (NmCustomIcons) and SVG marks (payment methods —NmSvgIcons; country flags and app marks are innativemind_vpn). The full 3,571-glyph set is the separatefuguepackage. - Adaptive labels: buttons, chips and dense table headers shrink from icon + text + parameters to icon +
parameters to the icon alone; the hidden text becomes the tooltip and semantics label (
NmAdaptiveLabel). - Localization: English, Russian, Thai, Hindi and Simplified Chinese, plus partial extra locales. Defaults to the system language, remembers the user's choice and falls back to English.
- Core widgets in layers: primitives (buttons, pills, fields, states), composites (data table with sorting, selection, row and bulk actions and a columns editor; editable lists; dialogs; registry / detail workspace; console), navigation (collapsible sidebar with a destination tree, adaptive scaffold with bottom bar, agent panel) and charts (flow / Sankey, share comparison, visibility matrix, ranked bars). Touch-first composites for consumer apps: onboarding, swipe cards, achievements, hints, image carousel, flip and photo cards, feature tour, share sheet, command palette and voice filter.
- Domain libraries, each a separate import that re-exports core:
| Import | For |
|---|---|
package:nativemind_widgets/real_estate.dart |
RESO-aligned properties and tax-lien certificates: cards, table, auction and redemption badges, county picker, tax sales and calendar, swipe deck, galaxy view, map / radar / graph mechanics, x-ray |
package:nativemind_widgets/telecom.dart |
SIM cards and modems: tables, signal bars, operator badges, USSD console, gateway channels, calls / SMS, command sets, dial plans, zones |
package:nativemind_widgets/billing.dart |
Subscription sheet (plan, promo, method, card), plan cards, billing table, balance banner |
package:nativemind_widgets/marketing.dart |
Traffic streams, competitor breakdown, intent visibility, domain opportunities, keyword positions |
package:nativemind_widgets/parsing.dart |
Pipeline status vocabularies, task progress, failure groups, field mapping and schedule editors, platform config editor |
package:nativemind_widgets/account.dart |
Sign-in screen, API keys, MCP tool policy, profile and account sections |
package:nativemind_widgets/domains.dart |
Domain names and zones: domain cards and rows, zone grid |
![]() |
![]() |
![]() |
Upgrading from 0.x: doc/migration-1.0.md.
Getting started
dependencies:
nativemind_widgets: ^1.0.0
fugue: ^0.1.0 # optional: only for Fugue glyphs outside the thematic set
import 'package:flutter/material.dart';
import 'package:nativemind_widgets/nativemind_widgets.dart';
void main() {
runApp(NmApp(
theme: const NmTheme(palette: NmPalette.blue, preset: NmPreset.product),
localeController: NmLocaleController(),
home: const HomePage(),
));
}
class HomePage extends StatelessWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context) => NmAdaptiveScaffold(
destinations: const [
NmNavDestination(id: 'home', icon: NmFugue.home, label: 'Home'),
NmNavDestination(id: 'settings', icon: NmFugue.gear, label: 'Settings'),
],
selectedId: 'home',
onSelect: (_) {},
logoCompact: const NmIcon(NmFugue.home),
logoWide: const Text('My app'),
body: const NmEmptyState(),
);
}
Apps with their own MaterialApp use NmTheme(...).toThemeData(brightness) and
NmApp.delegates([...]) instead of NmApp. Read tokens with context.nm (colors, sizes, text styles)
and the layout class with context.nmFormFactor.
Run the gallery in example/ to browse every widget in every palette, preset and mode.
Icons
const NmIcon(NmFugue.lock); // thematic Fugue glyph
const NmIcon(NmCustomIcons.telecomRssi3); // custom raster
const NmIcon(NmIconData.fugue('abacus', package: 'fugue')); // any glyph, with package `fugue`
NmFugueThemes.all['telecom']; // browse a theme
Every icon sits in a 16 × 16 logical-pixel box; Flutter picks the 16, 32 or 48 px file for 1×, 2× and 3× screens.
Rules
- Icons come from Fugue (
NmIcon(NmFugue.x)) or bundled SVGs (NmSvgIcons), neverIcons.*orCupertinoIcons.*. - Sizes and colors come from tokens, not literals.
dart run tool/check_rules.dart [--app <path>]checks an app or the library for these rules, for complete translations and, in an app, that every imported domain library's delegate is registered.
The NativeMind framework
| Package | What |
|---|---|
nativemind_core |
theme, primitives, editions (NmConfigs), Eugene Tretiakov's buttons and dialogs, the PIN keypad; re-exported here |
nativemind_vpn |
VPN widgets of Gleb Sosnin and Wishyut (handmade) |
nativemind_sound, nativemind_sound_generator |
sound-healing UI of Pavlo Matvienko and Anton Dodonov, tone generator plugin |
nativemind_deals, nativemind_call |
DealApp UI of Eugene Tretiakov; native call media of Andrey Bekhtold |
nativemind_copilot, nativemind_translations, nativemind_icons_fugue |
the agent panel, 23 extra languages, the rest of the thematic Fugue set |
This package itself is the 0.x library written with AI (0 % handmade, PROVENANCE.md); the code of NativeMind people is in the packages above, each with its authors and their roles in its README.
Links
- pub.dev: nativemind_widgets · publisher framework.nativemind.net
- Source: gitlab.com/nativemind/widgets.nativemind.net,
flutter/nativemind_widgets· widgets.nativemind.net - CHANGELOG.md · doc/migration-1.0.md · NOTICE
License
NativeMindNONC (see LICENSE), as the whole NativeMind framework. Fugue icons © Yusuke Kamiyamane, CC BY 3.0, come
with nativemind_core and nativemind_icons_fugue (see their NOTICE); payment and telecom marks: NOTICE.
Libraries
- account
- Accounts, teams, members, invitations, API keys and agent access policies (widgets for SaaS workspaces).
- billing
- Billing entities (plans, prices, payment methods, invoices) and widgets.
- domains
- Domain names: search, availability and status, history, WHOIS, zones, watch lists and acquisition options.
- marketing
- SEO and growth-marketing entities (domains, traffic streams, intents) and widgets.
- nativemind_widgets
- NativeMind widgets: the core kit (re-exported from nativemind_core) plus persistence on shared_preferences (NmPrefs) and the feature tour. Domain libraries: account.dart, billing.dart, domains.dart, marketing.dart, network.dart, parsing.dart, real_estate.dart, telecom.dart.
- parsing
- Data parsing and ingestion entities (harvests, parser configs) and widgets.
- real_estate
- Real-estate entities (RESO Data Dictionary aligned) and widgets.
- telecom
- Telecommunications entities (SIM cards, modems, operators) and widgets.


