Skip to main content

nativemind_core 1.2.1 copy "nativemind_core: ^1.2.1" to clipboard
nativemind_core: ^1.2.1 copied to clipboard

The light base of the NativeMind widgets: design tokens, theme, editions from configuration, primitives (with the handmade DealApp button family and dialogs), the PIN keypad, composites, navigation, c [...]

1.2.1 #

  • Docs: README (install, handmade authors and roles, links), migration guide, PROVENANCE.
  • pubspec: repository field so README links resolve on pub.dev.

1.2.0 #

Additive (SDD flows/sdd-widgets-handmade, follow-up of task 4.4 DealApp). Everything of 1.1.0 keeps its look and behaviour when the new options are not used.

  • Eugene Tretiakov's dialogs are localizable: nmErrorDialog, nmSuccessDialog, nmAttentionDialog, nmGetTextDialog, nmGetAmountDialog, nmYesNoDialog, nmYesNoDialogExtended, nmYesNoDialogDelayed and the NmTimerButton seconds unit read 9 new NmLocalizations strings (dialogFailedTitle, dialogSuccessTitle, dialogClose, dialogDone, dialogCancel, dialogChoose, dialogYes, dialogNo, dialogSecondsShort) in en / ru / zh / hi / th. With NmL10n.delegate registered they follow the app locale (other languages read English, as every core string); without it they are the original Russian texts, unchanged.
  • nmYesNoDialogExtended: titleText, yesButtonText, noButtonText are now String?; null (the default) = the localized «Выберите» / «Да» / «Нет». Passing a string works as before.
  • New NmDialogOptions (app-wide): shape (null = nmDefaultShape()), enterSubmits (default false; when true, Enter / numpad Enter presses the main button of the error / success / attention / yes-no dialogs) and strings(context); nmLocalizedDialog(builder, onEnter:) builds a dialog with those strings.
  • The 22 buttons of Eugene's family get a click cursor and DealApp's hover (.85) / pressed (.7) dimming (DealTap of the DealApp web client); at rest they paint exactly as before.
  • All changes inside the handmade bodies are >>> generated blocks with the replaced lines kept as // was: (PROVENANCE.md); handmade-src/tools/verify_eugene.py restores them and still finds the bodies identical.

1.1.0 #

Additive (SDD flows/sdd-widgets-handmade). Everything of 1.0.0 stays as it was.

  • New: NmLocalizationService — Wishyut's run-time string service (VPNclient-app, 2025, handmade, without AI; see PROVENANCE.md): load(locale, {package}) reads packages/<package>/assets/lang/<code>.json (default package nativemind_vpn, package: null = the app's own assets/lang/; English file when the language file is missing), to(key) returns the string ([key] when missing), currentLocale (English before load). It is localization infrastructure, so it lives here: nativemind_vpn uses it without nativemind_translations (and so without nativemind_copilot and its plugin). nativemind_translations 1.0.0 re-exports it unchanged.
  • Still no plugins.

1.0.0 #

First major version built on code of NativeMind people (SDD flow sdd-widgets-handmade, Phase 1). Migration: doc/migration-1.0.md; who wrote what: PROVENANCE.md.

New

  • Editions from configuration — NmConfigs, NmConfig, NmConfigCurrent, NmEditionTheme: Anton Dodonov's 2021–22 mechanism (SoundHealer / iScillator) with his keys (title, description, defaults, forces, pages, select, visible, gradient, gradient2, forecolor*, plus palette). NmConfig.resolve = forces → saved → defaults → first; the edition comes from --dart-define=NM_EDITION=<id> (NM_EDITION_OS overrides the platform). An edition missing on one platform falls back to another; editions without forecolor* get palette colours.
  • Button family "size × role" of Eugene Tretiakov (DealApp, 2024): NmWideActionButton, NmWideActionButtonNoIcon, NmWideActionButtonNoIconGrayed, NmWideYellowActionButton, NmWideActionButtonAlt, NmMediumIconActionButton, NmMediumActionButtonRed, NmMediumIconActionButtonBlue, NmToggleActionButton, NmWideCancelButton, NmMediumActionButtonSecondary, NmMediumActionButton, NmMediumActionButtonGrayed, NmTextActionButton, NmMediumActionButtonCompact, NmMediumActionButtonSecond, NmSmallActionButton, NmSmallActionButtonSecondary, NmSmallCancelButton, NmDialogGreenButton, NmDialogGrayButton, NmDialogRedButton, nmBackAndFalse, nmBackAndTrue; his tokens NmColorsRes / nmColorsRes (isMan palettes), nmButtonHeight50/45/40, nmDefaultShape, nmSwd (column width, 500). Fixed: the button heights were computed once (0 before the first frame, stale after rotation) — now getters.
  • Dialogs without context of Eugene Tretiakov: nmErrorDialog, nmSuccessDialog, nmAttentionDialog, nmGetTextDialog, nmGetAmountDialog, nmYesNoDialog, nmYesNoDialogExtended, nmYesNoDialogDelayed, and NmTimerButton. They find the root navigator themselves; texts are Russian, as in DealApp.
  • NmPinCodeKeypad + NmPinCodeModel / NmPinCodeTap: Andrey Bekhtold's PIN model (12 cells, length 4, count / fill, tap / delete / forgot), ported to Dart; look per Figma MVP Dilap (keys 65, dots 16, gaps 24).
  • NmPalette.blue / green / orange / pink and NmPalette.byName.

Deprecated (work until core 2.0)

  • NmButton() (primary) → NmMediumActionButton / NmWideActionButtonNoIcon (handmade, Eugene Tretiakov).
  • NmButton.destructive → NmMediumActionButtonRed / NmDialogRedButton.
  • NmConfirmDialog → nmYesNoDialogExtended / nmYesNoDialog.
  • NmPalette.nativeMindBlue / nativeMindGreen / nativeMindOrange / nativeMindPink → blue / green / orange / pink (ids stay nativeMind*, saved settings keep working).

Breaking

  • NmSurface (visibility matrix column) is renamed NmVisibilitySurface (it clashed with copilot's NmSurface).
  • NmSvgIcons (flags, payment, apps) and NmCustomIcons (telecom) moved to nativemind_widgets — their assets were always there; nativemind_widgets exports them as before. Flags/apps go to nativemind_vpn in its 1.0.
  • Removed, unused by any package or app: NmStatusBar, NmIconLegend, NmIconLegendItem, NmCommandLog, NmStatusPill, NmViewModeSwitcher, NmIconStack, NmIconStackItem, NmDeviceClock, NmCompactSearch, NmVoiceGestureButton, NmInlineTranscriptionDisplay, NmCommandPaletteShortcuts, and the input layer NmUnifiedGestureDetector, NmHoverBuilder, NmCursorRegion, NmKeyboardShortcutWrapper, NmArrowKeyNavigator, NmShortcutKeys, NmInputAdapter, NmTouchAdapter, NmMouseAdapter, NmTrackpadAdapter, NmGestureType (the recognizers, gesture settings and input mode stay).
  • Removed 13 unused strings of NmLocalizations: actionSearch, actionOpen, actionMore, actionRefresh, labelSettings, labelUnknown, tableColumns, themeTitle, themeLight, themeDark, themeSystem, stateSaved, legendTitle.
  • Requires nativemind_icons_fugue ^0.2.0 (dev): camera, clipboard-paste, image are only in core now.

0.1.2 (not published on pub.dev; included in 1.0.0) #

  • NmAdaptiveScaffold: the phone drawer and the agent end drawer keep to the safe area. The drawer header was drawn under the status bar.

0.1.1 #

  • Three more essential icons for the copilot's composer: image, camera and clipboard-paste (both variants, 1x / 2x / 3x). They are still in nativemind_icons_fugue too.

0.1.0 #

The light base of the NativeMind widgets, split out of nativemind_widgets (it keeps re-exporting everything here).

  • Everything from widgets' core: theme and tokens, primitives, composites, tables, navigation, charts, input, panels, the command palette, voice gesture, l10n infrastructure, the icon API and catalogues.
  • Icons: only the 72 essential Fugue icons (≈ 0.9 MB, both variants, 1x / 2x / 3x). They are the icons core and nativemind_copilot use. Other Fugue icons come from nativemind_icons_fugue. A missing icon shows an empty 16 px box plus one debug message, never an error. NmIconAssets says which package holds what.
  • No plugins:
    • NmPrefsStore.fallback (in memory by default) is the store of NmTableController, NmSidebarController and NmLocaleController when none is passed. It is read at the time of use;
    • NmPrefs on shared_preferences and the feature tour stay in nativemind_widgets.
  • Languages: the base five (en, ru, th, hi, zh). NmLocaleRegistry lets nativemind_translations add more; NmL10n.supportedLocales includes them.
0
likes
130
points
386
downloads

Documentation

API reference

Publisher

verified publisherframework.nativemind.net

Weekly Downloads

The light base of the NativeMind widgets: design tokens, theme, editions from configuration, primitives (with the handmade DealApp button family and dialogs), the PIN keypad, composites, navigation, charts, localization infrastructure and the icon API, with the essential Fugue icons. No plugins.

Homepage
Repository (GitLab)

License

unknown (license)

Dependencies

flutter, flutter_localizations, flutter_svg, intl

More

Packages that depend on nativemind_core