mega_ui_kit 0.0.13
mega_ui_kit: ^0.0.13 copied to clipboard
Flutter UI kit with themeable semantic colors (MegaColorScheme), design tokens, and Mega-aligned widgets. Brand colors are provided by your app — see example.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.0.13 - 2026-07-27 #
Fixed #
MegaBottomSheet— wrap sheet content inSafeArea(top: false)so body and footer respect the bottom system inset (home indicator).MegaSnackBar— useSafeArea(bottom: false)for top positioning instead of manualMediaQuery.paddingmath.
0.0.12 - 2026-07-27 #
Fixed #
MegaDropdown.page— wrap the selection screen inSafeArea(top: false)so the option list respects the bottom system inset (home indicator).
0.0.11 - 2026-06-29 #
Fixed #
MegaDropdownFormField— defer syncing controlled [value] to the underlying [FormField] until after build, fixingsetState() called during buildwhen the parent updates state in [onChanged].
0.0.10 - 2026-06-29 #
Added #
MegaDropdownFormField—FormFieldwrapper for [MegaDropdown.bottomSheet] and [MegaDropdown.page] withvalidator,autovalidateMode, andonSaved.MegaDropdown.page— optionalemptywidget shown when the option list is empty (or search has no matches); the picker opens only whenemptyis set.- Kitchen sink examples for form validation and empty page state.
- Widget tests for [MegaDropdownFormField] and empty [MegaDropdown.page].
0.0.9 - 2026-06-29 #
Added #
MegaSearchField— Figma-aligned compact search input (40 dp,surfaceHighfill): leading search icon (SVG), Nagel 16/24 hint and input styles, animated clear control when non-empty, optional in-field [trailing] slot, optional external cancel action ([onCancel] / [cancelText]) for iOS-style search-mode exit.MegaTextScroll— horizontally scrolling title text (endless and bouncing modes) for long app-bar titles.MegaDropdown.page— optionalisSearchwithMegaSearchFieldandMegaDropdownSearchFieldconfiguration; optionalpageTitleTextStyle.- Widget tests for clear, cancel, styling, and callbacks.
- Kitchen sink: search-mode flow demo (header → field + Cancel → exit) and
trailing variant on the
MegaTextFieldtab; widget constructor names in section headers across example tabs.
Changed #
MegaSearchField— replaces the 0.0.7@DeprecatedMegaTextFieldwrapper with a standalone implementation (no floating label; borderless inner field).MegaAppBar— customtitlewidget is no longer wrapped withTextOverflow.ellipsis; default title style is 16 sp /FontWeight.w500.MegaDropdown.page— selection screen usesMegaAppBarwith back button andMegaTextScrolltitle instead of MaterialAppBar.
Migration #
// 0.0.8 — thin wrapper over MegaTextField (labelText supported)
MegaSearchField(
labelText: 'Search',
hintText: 'Query',
onChanged: (v) {},
);
// 0.0.9 — dedicated search field
MegaSearchField(
hintText: 'Search',
onChanged: (v) {},
onCancel: () {
// Dismiss keyboard, clear query, collapse search UI.
},
cancelText: 'Cancel', // default label: «Отмена»
trailing: Icon(Icons.tune),
);
Remove labelText — use screen title / app bar for context. Wire [onCancel]
only when the screen enters dedicated search mode.
0.0.8 - 2026-05-29 #
Fixed #
MegaTabsScrollPhysics— replace deprecatedtolerancewithtoleranceFor()(Flutter 3.7+ / pub.dev Pana static analysis 50/50).
0.0.7 - 2026-05-29 #
Added #
MegaTextField— Figma-aligned text field: floating label, ghost hint overlay,inputTemplatemasking (#slots), clear/obscure toggles, character counter, read-only and error states.MegaTextFormField—FormFieldwrapper withvalidator,autovalidateMode, andonSaved. Controller is the single source of truth for the field value.MegaCards— card component withMegaCardStylepresets (icon, service, text, featured).MegaRadii.field— 16 dp semantic radius for text fields, dropdowns, and list tiles.- Kitchen sink example tabs for
MegaTextFieldandMegaCards. - Widget and unit tests for
MegaTextField,MegaTextFormField, andMegaCards.
Changed #
- Breaking:
MegaTextFieldAPI rewritten (removed the previous@Deprecatedstub). Renamelabel→labelText,hint→hintText,prefixIcon/suffixIcon→leading/trailing. MegaSearchField— reimplemented as a thin wrapper overMegaTextField(still@Deprecated; will be replaced).MegaTypography— dartdoc comments on display and heading styles.
Migration #
// 0.0.6
MegaTextField(
label: 'Email',
hint: 'name@example.com',
prefixIcon: Icon(Icons.email_outlined),
);
// 0.0.7
MegaTextField(
labelText: 'Email',
hintText: 'name@example.com',
leading: Icon(Icons.email_outlined),
);
Phone and card inputs with templates — validate with MegaTextField.isTemplateComplete
instead of isEmpty alone (leading literals may be inserted on focus).
0.0.6 - 2026-05-20 #
Fixed #
MegaDropdown— replace deprecatedSizeTransition.axisAlignmentwithAlign+heightFactor(Flutter 3.44+ / pub.dev Pana).
0.0.5 - 2026-05-20 #
Added #
- Package logo —
assets/megauikit_logo.svgandassets/megauikit_logo.png(wordmark for pub.dev and README).
0.0.4 - 2026-05-20 #
Fixed #
- README preview images: markdown + GitLab raw URLs (pub.dev/GitLab display).
0.0.3 - 2026-05-20 #
Added #
MegaColorScheme— semantic color tokens as aThemeExtension(primary, secondary, surface, success, error, disabled, system accents, component-specific fills).BuildContext.megaColors— resolved colors for the active light or dark theme.- Documented pub.dev example —
example/lib/main.dart: theme setup, color previews,MegaButton,MegaSnackBar,MegaSwitch,MegaCheckbox. - Kitchen sink entry —
example/lib/kitchen_sink_main.dartfor the full component gallery. - Example brand reference —
example/lib/theme/mega_palette.dart(raw hex) andexample/lib/theme/mega_brand_colors.dart(MegaBrandColors.light/.dark). - README screenshots —
assets/screenshots/(buttons, list tiles, dropdown, dividers & progress). - Example README — run instructions and integration checklist.
Changed #
- Breaking:
MegaTheme.light()andMegaTheme.dark()now requirecolors: MegaColorScheme. - Breaking: Removed
MegaColorsandMegaPalettefrom the package API. Brand colors live in the example only. - Breaking: Widgets use
context.megaColorsinstead of staticMegaColors.*/*Light/*Darkbranches. - Unified semantic names per theme variant (
secondary,onSecondary, …) — nosecondaryLight/secondaryDarkin widget code. - Expanded root README (theming model, migration, widget list, example commands).
- Updated pub.dev example from a one-line kitchen-sink re-export to a self-contained demo in
main.dart.
Migration #
// 0.0.x
MaterialApp(theme: MegaTheme.light());
color: MegaColors.primary;
// 0.0.3
MaterialApp(theme: MegaTheme.light(colors: MegaBrandColors.light));
color: context.megaColors.primary;
Copy example/lib/theme/mega_brand_colors.dart into your app or define your own MegaColorScheme values.
0.0.2 - 2026-05-18 #
Added #
- README preview screenshots from the example app.
- Declared package platform support for Android and iOS.
- Core widgets:
MegaAppBar,MegaButton,MegaBottomSheet. - Feedback and display widgets:
MegaLoadingIndicator,MegaLinearProgressIndicator,MegaCircularProgressIndicator,MegaDivider,MegaSnackBar. - Navigation:
MegaStepBars.
Changed #
- Updated package metadata for pub.dev publication.
- Included the example app in the published package archive.
Fixed #
- Replaced the license file with canonical Apache-2.0.
- Updated README license text from MIT to Apache-2.0.
- Fixed
MegaBottomSheetbehavior and layout edge cases.
