super_core 2.2.0
super_core: ^2.2.0 copied to clipboard
Super Core — GeniusLink’s shared design-system foundation for the Super toolkit: super_auto_suggestion_box, super_form_field, super_map, super_table_field, super_tree, and super_tab_bar. Defines the v [...]
Changelog #
All notable changes to super_core are documented here. Format follows Keep a Changelog; versioning is SemVer.
2.1.0 — 2026-07-18 #
Color-system enhancement plus one breaking cleanup: the last static token
values are removed so the theme is the only source of brand tokens (see
Changed (breaking)). All new APIs are exported through the super_core barrel.
Changed (breaking) #
- No static token values remain. v2.0.0 kept a
static constmirror of everySuperTokensDatafield (SuperTokensData.defaultAccent,defaultSpace4, …) and aSuperMarker.<x>.defaultColor, forconstcall sites. These are all removed — brand tokens can only be read dynamically from the ambient theme (SuperThemeData.of(context).tokens.x/context.superTheme.tokens.x). The default values now live solely as the literals in theSuperTokensDataconstructor;SuperTokensData.fallback(the default instance) is unchanged.- Migration:
SuperTokensData.default<Field>→context.superTheme.tokens.<field>(drop the enclosingconst); whereconstis mandatory (enum arg, static const, default parameter,initState) use a brand-value literal.SuperMarker.<x>.defaultColor→SuperMarker.<x>.resolve(tokens). All Super toolkit packages + examples were migrated. Full guide:skill/migration_v2_to_v2.1/.
- Migration:
Added #
SuperListTile & SuperGridTile — enterprise tile family
- New
SuperListTile— a GeniusLink list row refactored from Flutter'sListTilebaseline: density presets (SuperTileDensity.compact/comfortable/expanded), selection + hover/focus/press/disabled states, statusbadge,markerbar,leadingIcon/ multipleleadingWidgets,subtitle+supportingblock,trailing/trailingActions, configurableshowSeparator,loadingskeleton, keyboard activation, RTL andcontextMenuBuilder. CoreListTileslots (leading/title/subtitle/trailing/ onTap/selected/enabled/dense) are preserved. - New
SuperGridTile— a GeniusLink dashboard / catalog card refactored fromGridTile:header/child/footerslots,mediabanner,badge+overlay, hover-revealedactions, selection + hover/press/focus/disabled states (lift + shadow on hover),aspectRatio,loadingplaceholder, RTL, keyboard activation andcontextMenuBuilder. - Shared internals (
super_tile_common.dart) —SuperTileDensity,SuperTileMetrics,SuperTileVisualState,superTileFill/superTileBorder,SuperTileMarker,SuperTileShimmer— so both tiles resolve density and interaction states from one source. All exported through the barrel and showcased in the component gallery.
Structured semantic colors — SuperSemanticColors
- New
SuperSemanticColor— a single intent expanded into the roles a status surface needs:solid,onSolid,subtle(opaque tint over the card surface),onSubtle, andborder.SuperSemanticColor.fromBasederives the whole set from one solid + surface + brightness, choosingonSubtleby WCAG contrast. - New
SuperSemanticColorsThemeExtension— six intents (info,success,warning,danger,accent,neutral) plusbyIntent(SuperSemanticIntent).SuperMaterialThemeDataregisters one automatically (derived from the active palette, brightness and token semantics); read it withSuperSemanticColors.of(context). A caller-supplied instance is preserved.
info semantic color
SuperTokensDatagainsinfo(default sky blue#0EA5E9, distinct from the royal-blueaccent), threaded throughcopyWith/lerp/ equality.SuperPalettegains aninfogetter.StatusPillgainsPillTone.info.
Per-palette semantic colors
SuperPalettegains optionalinfoColor/successColor/warningColor/dangerColoroverrides (all default null → the GeniusLink brand semantics).SuperPalette.applySemanticsTo(tokens)folds them in;SuperMaterialThemeDataapplies palette semantics only when the caller passes no explicittokens:(explicit tokens > palette semantics > brand default).
Four new palettes
SuperPalette.tealPalette,rosePalette,indigoPalette,slatePalette—SuperPalette.valuesnow lists ten palettes (order: blue, purple, green, golden, teal, rose, indigo, slate, gray, monochrome).
Color utilities & WCAG helpers — SuperColorX
- New
SuperColorXextension onColor:SuperColorX.fromHex/tryFromHex,toHex; HSL tonal opslighten/darken/saturate/desaturate/mix/tone/tintOver; and WCAG 2.1 helperscontrastRatio,meetsAA,meetsAAA,onColor(best of dark/light) andbestForegroundFrom.
Shade lookup on SuperPalette
palette.shades(0–9 ramp),palette.shade(int step)(nearest of 50…900) andpalette[index].
Section header / footer widgets
-
New
SuperSectionHeaderThemeData,SuperSectionFooterThemeDataandSuperSectionThemeDataThemeExtensions carry the configurable defaults forSuperSectionHeader/SuperSectionFooter/SuperSection(marker + chip dimensions, text styles, gaps, card surface / border / radius / padding, selected tint, expand duration + curve, etc).SuperMaterialThemeDataregisters a default instance of each; widgets readX.of(context)and fall back to the GeniusLink hard defaults for any null field — a widget-level parameter still wins over the theme value. -
New
SuperSlider+SuperSliderController— a professional, reusable horizontal carousel for ERP (KPI strips, store tiles) and e-commerce (product / banner carousels). Staticchildrenor lazyitemBuilder; responsive items-per-view (SuperResponsive<int>, default 1/2/3), edgepeek,gap,height/aspectRatio, snapping paged scroll, autoplay (pauses on hover/drag),loop, brand chevron arrows, an animated page indicator, RTL support, and anonIndexChangedcallback. -
New
SuperSectionHeader— a superset ofSectionHeaderadding an ALL-CAPS breadcrumb eyebrow, an inline Arabic title translation (tertiary blue), the marker bar, subtitle,leading+trailingslots, and two styles (SuperSectionHeaderStyle.style1marker-bar form header /style2tinted icon-chip + ALL-CAPS row header). -
New
SuperSection— a section-card shell that optionally composes aSuperSectionHeader(viaheaderor the convenience fields) and aSuperSectionFooter(viafooterorfooterBrand/footerActions) around a bodychildor a spacedchildrenlist. Supportscollapsible(animated header toggle with chevron),selected/onTap(accent border + tint),dividerAfterHeader,markerColor,background,gap;card: falsegives a borderless variant. -
New
SuperSectionFooter+SuperFooterLink— the GeniusLink footer row (hairline rule, ALL-CAPS brand string on the leading edge, action links on the trailing edge; wraps on narrow widths). Both exported through the barrel and showcased in the example app.
Changed #
- Dark mode accent no longer reads washed-out:
toDarkColorScheme()now derivesprimary/secondary/tertiaryfrom shade400 (was shade300 for primary/tertiary), restoring the vivid electric-royal-blue brand identity while keeping AA legibility (accent-on-surface ~5.5:1,shade900on-color on filled controls ~4.6:1).primaryContainer/tertiaryContainerdeepened to shade800 andinversePrimaryto shade500 to match.SuperPalette.primaryDark→ shade400. StatusPillnow sources its fill/text fromSuperSemanticColorsfor consistent, contrast-checked tinting (visually equivalent; additive tone).pubspec.yaml: version →2.1.0; barrel exportssuper_color_utils.dartandsuper_semantic_colors.dart.
Migration from 2.0.0 #
Fully backward compatible — additive only.
Major release. Brand tokens become dynamic (theme-owned), the toolkit gains
a custom-font pipeline and forked, GeniusLink-flavored app bars, SuperCard
becomes expandable, and SuperDialog is retired. Breaking — see Migration.
Changed (breaking) #
SuperTokens(static) →SuperTokensData(dynamic). The formerabstract final class SuperTokensofstatic constvalues is removed. Its values are now instance fields on the immutableSuperTokensData, carried by the theme viaSuperThemeData.tokensand surfaced asSuperMaterialThemeData.tokens, so a theme can override any of them (SuperMaterialThemeData.light(tokens: const SuperTokensData(radiusCard: 12))).SuperTokensDataprovidescopyWith+lerp. There are no static token constants — every consumer reads tokens dynamically from the ambient theme (SuperThemeData.of(context).tokens.x); the defaults live only as the literals in theSuperTokensDataconstructor (SuperTokensData.fallbackis the default instance).- Migration:
SuperTokens.x→SuperThemeData.of(context).tokens.x, droppingconston the enclosing widget; whereconstis mandatory (enum arg / static const / default param) use a brand-value literal.SuperMarker.ledgerno longer exposes a color — useSuperMarker.ledger.resolve(tokens).
- Migration:
SuperDialogremoved. Use Flutter'sshowDialog/AlertDialog, whichSuperMaterialThemeDataalready themes (radius, colors, typography).
Added #
Dynamic brand tokens
SuperTokensData— accent + semantic palette, font families, radii, the 4px spacing scale, control metrics, and motion, all overridable per theme. Added toSuperThemeData(astokens, lerped on theme change) and exposed onSuperMaterialThemeData.
Custom font family
SuperMaterialThemeData.light/.darkgainfontFamily,textTheme, andmergeTextTheme. Precedence for the primary family: explicitfontFamily> the family carried by a providedtextTheme(whenmergeTextThemeistrue)the token default. When merging, the resolved family is applied over the default GeniusLink type ramp, preserving its sizes / weights / letter-spacing; set
mergeTextTheme: falseto use a providedtextThemewholesale.
SuperAppBar + SuperSliverAppBar
- Full forks of Flutter's
AppBar/SliverAppBar— every property (height, colors, typography, icons, actions, leading, title, flexibleSpace, bottom, elevation, scrolled-under behavior, pinned/floating/snap/stretch, …) is customizable — plus two GeniusLink features:- Subtitle with
subtitlePosition(SubtitlePosition.above/.below). - Responsive action overflow — at most
maxActionsinline actions before the rest collapse into a three-dot overflow menu. The default limit is resolved per device class (mobile 3 / tablet 4 / desktop 5), overridable viamaxActions/maxMobileActions/maxTabletActions/maxDesktopActions.
- Subtitle with
SuperAppBarTheme extends AppBarThemecarriessubtitlePosition,maxActionsand the per-device limits;SuperMaterialThemeDatainstalls one intoThemeData.appBarThemeas the default for both app bars.
Expandable SuperCard
SuperCardgains expand/collapse (revealingexpandedChild) along the vertical or horizontal axis, toggled by tapping the card or its chevron (controlled viaisExpanded/onExpansionChanged), plusleadingandtrailingslots.SuperCardTheme extends CardThemeDatacarries the expand direction / duration / curve, tap-to-toggle, chevron visibility, interior padding and border colors;SuperMaterialThemeDatainstalls one intoThemeData.cardTheme.
Migration from 1.x #
- Replace every
SuperTokens.<name>withSuperThemeData.of(context).tokens.<name>(fully dynamic; dropconst, or use a brand-value literal whereconstis mandatory). The Super toolkit packages and their examples were migrated this way. - Replace
SuperDialog.show/confirm/alertwithshowDialog+AlertDialog. - Dependent packages now require
super_core: ">=2.0.0 <3.0.0". - Step-by-step agent guides live under
skill/migration_v1_to_v2/(claude_codeandchatgpt_codex).
1.3.0 — 2026-07-16 #
Added #
Complete ColorScheme — fixed roles + surface-container ramp
SuperPalette.toLightColorScheme() / toDarkColorScheme() now populate every
remaining Material 3 role, so the generated scheme is complete and no role falls
back to a Flutter default:
- Fixed accent roles (identical across light & dark, per Material 3):
primaryFixed,primaryFixedDim,onPrimaryFixed,onPrimaryFixedVariant,secondaryFixed,secondaryFixedDim,onSecondaryFixed,onSecondaryFixedVariant,tertiaryFixed,tertiaryFixedDim,onTertiaryFixed,onTertiaryFixedVariant— derived from the palette ramp (shade100/shade200fills,shade700/shade900on-colors). - Surface-container ramp:
surfaceDim,surfaceBright,surfaceContainerLowest,surfaceContainerLow,surfaceContainer,surfaceContainerHigh,surfaceContainerHighest— a monotonic elevation ramp tuned per brightness (light: brightest/white at lowest; dark: darkest at lowest, lightening upward). ColorScheme.surfaceis now the GeniusLink page background (#F7F8FA/#111318), and cards default tosurfaceContainerLowest(light,#FFFFFF) /surfaceContainer(dark,#1E2025) so panels stay clearly lifted off the page. Super components readSuperThemeData.surface(the card surface), which is unchanged, so their appearance is unaffected.
Complete ThemeData — every remaining property gets a GeniusLink default
SuperMaterialThemeData now generates GeniusLink-compliant defaults for the
ThemeData properties that were previously left to Flutter (each still
overridable, precedence unchanged):
- Scaffold:
scaffoldBackgroundColor/canvasColor=ColorScheme.surface(the page background). The card surface andsurfaceContainerramp provide the separation so cards/panels/fields/app bars remain distinguishable. - App bar: background is the elevated card surface (visually distinct
from the Scaffold) and a
systemOverlayStylenow paints the status bar and navigation bar the same color as the app bar, choosing status/nav icon brightness automatically for contrast (light & dark overlay styles applied per theme).SuperAppBarfollows the same rule. - Top-level colors:
focusColor,highlightColor,hoverColor,splashColor,hintColor,primaryColor,primaryColorDark,primaryColorLight,secondaryHeaderColor,shadowColor,unselectedWidgetColor. - General config:
applyElevationOverlayColor(false— flat surfaces),splashFactory(InkRipple), and mode-awarevisualDensity/materialTapTargetSize(compact / shrink-wrap on desktop). - Component themes previously left null now have GeniusLink defaults:
actionIconTheme,badgeTheme,bannerTheme,bottomAppBarTheme,bottomNavigationBarTheme,carouselViewTheme,datePickerTheme,dropdownMenuTheme,menuBarTheme,menuButtonTheme,searchBarTheme,searchViewTheme,textSelectionTheme,timePickerTheme,toggleButtonsTheme, plus the deprecateddialogBackgroundColor/indicatorColorfallbacks.
Host-derived fields (
platform,cupertinoOverrideTheme,pageTransitionsTheme,typography) are intentionally left to Flutter's platform-appropriate defaults unless a caller overrides them.
Changed #
pubspec.yaml: version →1.3.0.super_palette.dart:surface/backgroundroles remapped to the page background; container + fixed roles added.super_material_theme.dart:_assemblefills all remainingThemeDatafields; new private_systemOverlayStyle(Color)helper; the responsiveInputDecorationThemeis computed once and shared withdropdownMenuTheme.super_app_bar.dart: app-bar background is the card surface in both themes and carries a matchingsystemOverlayStyle.
Migration from 1.2.0 #
Fully backward compatible. The only behavioral change is intentional and
requested: ColorScheme.surface (and the Scaffold background) now resolve to the
page background rather than the card white/near-black, and cards/app bars sit on
the brighter container ramp. If you relied on Theme.of(context).colorScheme .surface to mean the card color, read SuperThemeData.of(context).surface
(unchanged) or ColorScheme.surfaceContainerLowest instead.
1.2.0 — 2026-07-16 #
Added #
Four Super-prefixed common widgets, all built from the existing GeniusLink
tokens (SuperTokens / SuperThemeData / SuperText) and exported through the
lib/src/core/core.dart barrel:
SuperCard— the general-purpose surface card (8px radius, hairline border, theme card shadow, 24px interior). Distinct fromSectionCard(the tall form-section unit):SuperCardtakes an optionalheaderslot and can be made interactive viaonTap(pointer cursor + hover border) andselected(primary border over a faint primary tint) for the active card/row in a list.SuperDialog— a modal dialog surface on the overlay (popover) shadow: header with a section-marker bar or a tinted icon badge, Title-Case title + optional subtitle + close button, a scrollable content body, and a right-alignedSuperButtonaction row. Statics:SuperDialog.show<T>(...),SuperDialog.confirm(...)(returnsFuture<bool>,danger:turns the confirm button + badge semantic red), andSuperDialog.alert(...).SuperSnackBar— floating GeniusLink toast helper over the ambientScaffoldMessenger, with theSuperSnackBarToneenum (info / success / warning / danger) driving the leading glyph + accent. Statics:show,info,success,warning,danger, andbuild(constructs theSnackBarwithout showing it).SuperAppBar— a flat, hairline-bottomedAppBar(implementsPreferredSizeWidget) with an optional ALL-CAPS breadcrumbeyebrowabove a Title-Casetitle, atitleTrailingslot (inline translation / status),leading/actionsslots, and an optionalbottom(e.g. aTabBar).
Changed #
pubspec.yaml: version →1.2.0.lib/src/core/core.dartbarrel now also exportssuper_app_bar.dart,super_card.dart,super_dialog.dartandsuper_snack_bar.dart.
Migration from 1.1.0 #
Fully backward compatible — additive only. No existing API changed.
1.1.0 — 2026-07-16 #
Added #
SuperMaterialThemeData is now a ThemeData subclass
SuperMaterialThemeData extends ThemeData (via a private super.raw
delegating constructor). It IS a Material theme — Theme.of(context) is SuperMaterialThemeData is true, and it drops straight into MaterialApp.theme
/ darkTheme. The old SuperMaterialThemeData.light(...) / .dark(...) call
sites keep working (they are now factory constructors instead of statics).
New constructor parameters (both .light and .dark), each an explicit
override with precedence explicit arg > palette-generated > Flutter default:
SuperMaterialThemeData.light({
SuperPalette palette = SuperPalette.bluePalette,
SuperDeviceMode mode = SuperDeviceMode.mobile,
TextTheme? textTheme,
AppBarTheme? appBarTheme,
NavigationBarThemeData? navigationBarTheme,
ButtonThemeData? buttonTheme,
InputDecorationTheme? formFieldTheme,
CardThemeData? cardTheme,
DialogThemeData? dialogTheme,
DataTableThemeData? tableTheme,
DividerThemeData? dividerTheme,
IconThemeData? iconTheme,
SuperInteractiveStateThemeData? interactiveStateTheme,
List<ThemeExtension<dynamic>>? extensions,
});
.light()always yieldsBrightness.light;.dark()alwaysBrightness.dark.copyWithnow returns aSuperMaterialThemeData(preserving the concrete type,superThemeandmode) and merges extensions rather than replacing them. ForwardedThemeDataparameters are typeddynamicso the override stays valid across Flutter'sXxxTheme→XxxThemeDatacomponent-theme migration.
superTheme field + theme-extension synchronization
- New
final SuperThemeData superTheme;field onSuperMaterialThemeData. - The same
SuperThemeDatainstance is registered inThemeData.extensions, soTheme.of(context).extension<SuperThemeData>()andtheme.superThemealways agree. - Caller-supplied extensions are merged in (never dropped),
SuperThemeDataandSuperInteractiveStateThemeDataare de-duplicated, and the field + extension stay in sync throughcopyWith.
Context lookups
static SuperMaterialThemeData? maybeOf(BuildContext context); // null if not a Super theme
static SuperMaterialThemeData of(BuildContext context); // always valid
static SuperMaterialThemeData fromThemeData(ThemeData theme); // safe wrap
of (and fromThemeData) preserve an ambient plain ThemeData's colors,
component themes and any registered SuperThemeData extension instead of
discarding application-level configuration.
Responsive device mode
SuperMaterialThemeData.light/.darktakeSuperDeviceMode mode(defaultSuperDeviceMode.mobile), driving responsive spacing, sizing, padding, margin, typography and input-decoration from the centralizedSuperMetricstokens. All three device configurations remain reachable via the staticSuperMetrics.*Responsive/SuperResponsive<T>containers while the active mode's values are exposed as the live tokens.- The generated
TextThemeis scaled per mode (mobile ~+6 %, tablet ~+2 %, desktop baseline) with per-role line-height / letter-spacing. - The generated
InputDecorationThemeadjusts content padding, density (isDenseon desktop), field height, label/hint/error/helper styles, border radius and icon constraints per mode.
Changed #
pubspec.yaml: version →1.1.0; minimum raised todart >=3.8.0,flutter >=3.32.0(targets the ~3.32 Material 3ThemeDatasurface).lib/src/core/core.dartbarrel now also exportssuper_device_mode.dart,super_metrics.dartandsuper_interactive_state_theme.dart, surfacingSuperDeviceMode,SuperResponsive,SuperMetrics,SuperSpacing/Sizing/Padding/MarginandSuperInteractiveStateThemeData.- The internal top-level
lerpDoublehelper insuper_metrics.dartwas made private (_lerpDouble) so exporting the file through the public barrel no longer collides withdart:ui'slerpDoublein consumer packages.
Related packages #
The three toolkit packages that own a ThemeExtension gained a
.fromMaterialTheme(SuperMaterialThemeData) bridge and prefer it in .of()
(explicit extension → SuperMaterialThemeData → fallback):
SuperTabBarThemeData, AutoSuggestionsBoxThemeData,
NavigationSidebarThemeData. The five extension-less packages
(super_form_field, super_map, super_tree, super_table_field,
super_naviagtion_page) already derive from the material theme transitively via
the auto-registered SuperThemeData.
Migration from 1.0.0 #
Fully backward compatible. Existing SuperMaterialThemeData.light() /
.dark() calls and ThemeData(extensions: const [SuperThemeData.light]) wiring
are unchanged. To adopt responsiveness, pass mode: (or omit for the
mobile default). Theme.of(context) now returns a SuperMaterialThemeData when
one is installed — use SuperMaterialThemeData.of(context) /
maybeOf(context) for typed access.
1.0.0 — 2026-07-14 #
Added #
SuperPalette
New SuperPalette class with six built-in palettes, each providing 10 ordered
color shades (50–900) and derived semantic accessors.
Built-in palettes:
| Palette | shade500 |
Notes |
|---|---|---|
SuperPalette.bluePalette |
#4A7CFF |
Default GeniusLink accent = SuperTokens.accent |
SuperPalette.purplePalette |
#7C5CFC |
Violet / indigo |
SuperPalette.greenPalette |
#1DB88A |
GeniusLink success = SuperTokens.success |
SuperPalette.goldenPalette |
#F59E0B |
Warm amber / gold |
SuperPalette.grayPalette |
#64748B |
Neutral grays — mirrors GeniusLink surface ramp |
SuperPalette.monochromePalette |
#737373 |
Pure black / white |
Semantic getters per palette: primary, primaryDark, onPrimary,
onPrimaryDark, error, errorDark, success, warning (last three are
cross-palette GeniusLink brand tokens, identical across all palettes).
Surface token accessors: lightBg / darkBg, lightSurface / darkSurface,
lightInputBg / darkInputBg, lightHover / darkHover,
lightBorder / darkBorder, lightBorderStr / darkBorderStr,
lightFg1…lightFg4 / darkFg1…darkFg4 — all matching the GeniusLink neutral
ramp. All six palettes share the same neutral surfaces; only the accent/primary
color varies between them.
ColorScheme generation: toLightColorScheme() and toDarkColorScheme()
produce a complete Material 3 ColorScheme from the palette. In dark mode,
primary becomes shade300 for legibility against dark surfaces.
SuperPalette.values — ordered list of all six built-in palettes.
SuperMaterialThemeData
New SuperMaterialThemeData abstract class with two static factory methods:
SuperMaterialThemeData.light({SuperPalette palette = SuperPalette.bluePalette})
SuperMaterialThemeData.dark({SuperPalette palette = SuperPalette.bluePalette})
The generated ThemeData (useMaterial3: true) configures:
- Full
ColorSchemederived from the palette textThemewired to Manrope / Inter / JetBrains MonoAppBarTheme,scaffoldBackgroundColorCardTheme— 8 px radius, hairline border, no surface tintElevatedButtonTheme,OutlinedButtonTheme,TextButtonTheme,FilledButtonTheme,IconButtonThemeInputDecorationTheme— 4 px radius,fieldComfortableheightNavigationBarTheme,NavigationRailTheme,DrawerThemeDialogTheme,BottomSheetThemeChipTheme,TabBarTheme,SegmentedButtonThemePopupMenuTheme,MenuTheme,TooltipTheme,SnackBarThemeDividerTheme,ListTileTheme,ExpansionTileThemeDataTableTheme— hover row, audit-grade label styleSwitchTheme,CheckboxTheme,RadioTheme,SliderThemeProgressIndicatorTheme,FloatingActionButtonThemeScrollbarTheme— 4 px thumb, primary-tinted on hover/dragIconTheme,PrimaryIconTheme
Registers SuperThemeData as a ThemeExtension — every Super component that
calls SuperThemeData.of(context) adapts to the active palette and brightness
without additional setup.
All colors are derived from the ColorScheme or the palette's neutral-surface
constants — no hardcoded color values in the generated ThemeData.
Example app
New example/ Flutter app demonstrating:
- Live palette switching across all six palettes
- Light / Dark / System mode toggle
- Generated
ColorSchemerole swatches - All palette shade swatches (50–900)
- Common Material components (buttons, inputs, cards, chips, switches, checkboxes, sliders, navigation bar, data table, typography ramp)
Changed #
pubspec.yaml: version bumped to1.0.0; minimum Flutter raised to>=3.16.0to leverage full Material 3 component theming APIs.lib/src/core/core.dartbarrel: exportssuper_palette.dartandsuper_material_theme.dart.lib/super_core.dartlibrary doc: updated with v1.0.0 usage examples.
Migration from 0.x #
SuperThemeData-based wiring continues to work unchanged. To adopt the new
Material-native palette system, replace your ThemeData(extensions: ...) setup
with:
MaterialApp(
theme: SuperMaterialThemeData.light(palette: SuperPalette.bluePalette),
darkTheme: SuperMaterialThemeData.dark(palette: SuperPalette.bluePalette),
);
SuperThemeData is registered automatically by SuperMaterialThemeData, so
SuperThemeData.of(context) continues to work in all Super components.
0.1.0 — 2026-06-19 #
Added #
- Extracted the shared GeniusLink foundation into its own package.
SuperTokens,SuperThemeData,SuperText,SuperFormat,SuperMarker.- Design-system widgets:
SectionCard,SectionHeader,StatusPill,SuperButton,Hairline,FieldShell. SuperTokensgains form-field size metrics (fieldComfortable,fieldCompact,stepperSize,trailingIcon).SuperThemeDatagainstint/tintOnBg/tintFill/selectionFilltint helpers.SuperFormatgains the null-safenumber(...)helper.super_auto_suggestion_box,super_form_field,super_map,super_table_fieldandsuper_treenow depend on this package.