nativemind_widgets 0.1.0
nativemind_widgets: ^0.1.0 copied to clipboard
Themed, localized Flutter widgets above Material and Cupertino: data tables, adaptive navigation, charts, Fugue icons and domain widget libraries.
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, network, parsing, billing, AI agents).
[Data table]
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: the full Fugue icon set (3,571 glyphs, 16 px and 32 px, shadow and shadowless), picked by display density, plus bundled SVG marks (country flags, payment methods, app marks).
- 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, adaptive scaffold with bottom bar, agent panel) and charts (flow / Sankey, share comparison, visibility matrix, ranked bars).
- 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 |
package:nativemind_widgets/telecom.dart |
SIM cards and modems: tables, signal bars, operator badges, USSD console |
package:nativemind_widgets/network.dart |
VPN clients: connect button, connection stats, server list, split tunneling |
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 |
package:nativemind_widgets/ai.dart |
Agent panel with approvals and job steps, support chat |
| [Charts] | [Dark mode] |
| [Real estate] |
Getting started #
dependencies:
nativemind_widgets: ^0.1.0
import 'package:flutter/material.dart';
import 'package:nativemind_widgets/nativemind_widgets.dart';
void main() {
runApp(NmApp(
theme: const NmTheme(palette: NmPalette.nativeMindBlue, 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.
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 and for complete translations.
License #
NativeMindNONC (see LICENSE). Bundled Fugue icons © Yusuke Kamiyamane, CC BY 3.0 (see NOTICE).