alter 3.1.0
alter: ^3.1.0 copied to clipboard
A lightweight, mobile-first Flutter design system featuring curated Geist typography, semantic tokens, and modular UI components.
Changelog #
3.1.0 #
Minor Release β Full Web & WASM Ready, Pluggable Media Slots & Node Item Tree #
π Whatβs New?
- Node Component (
lib/components/node/):NodeItem(v1.0.0): Hierarchical tree view and directory listing component supporting expandable chevron states, customizable leading/trailing slots, selection feedback, and collapsed icon tile mode.
- Pluggable Media Slots Architecture (
AlterMediaView v2.0.0):- Decoupled
package:video_playerfrom core Alter dependencies, achieving 100% Web & WebAssembly (WASM) compatibility and zero nativedart:iorestrictions. - Added dedicated media slots (
slot/customWidget) and lazy builders (mediaBuilder: (context) => Widget) to host custom video players (video_player,media_kit), Rive/Lottie animations, or custom interactive canvas layers. - Updated
GraphicsBlockandMobileMockupBlockwithmediaBuilderslots.
- Decoupled
- Explicit Platform Declarations:
- Registered full multi-platform support across Android, iOS, Web, Windows, macOS, and Linux in
pubspec.yaml.
- Registered full multi-platform support across Android, iOS, Web, Windows, macOS, and Linux in
- Ecosystem Quality:
- Reached 150 / 150 points with WASM-ready status on pub.dev (Pana analyzer).
3.0.0 #
Major Release β Web & Responsive Sites Support, Multimedia Layer & Standardized Foundations #
π Whatβs New?
- Web Header (
lib/web/application_header/):ApplicationHeader(v1.0.1): Full-width desktop/web application header supporting launcher app drawer, customizable brand logo unit, page navigation tab row, composite action buttons, and user avatar button.
- Responsive Sites & Blocks Suite (
lib/sites/):BiographyBlock(v1.1.0): Responsive entity and bio presentation card supportingTallandWidelayouts with logo, title, badges, and bio description.BrandBlock(v1.0.0): Responsive social proof and partner brand showcase block.FooterBlock(v1.0.1): Responsive landing page footer block with contact email, copy-to-clipboard action, and social profile links.GraphicsBlock(v1.5.0): Responsive project and portfolio card molecule supporting single & multi-item carousels for images, animated GIFs, and autoplay looping videos.GraphicsGridBlock(v1.1.1): Responsive project grid layout (PC 2-column, Mobile 1-column) consumingGraphicsBlockcards with device scope synchronization.HeaderBlock(v1.0.0): Responsive section header block with expandable divider line and bold headline typography.HeroBlock(v1.0.0): Responsive landing page hero banner section with avatar, 80px display headline, subtitle, and primary/secondary action buttons.HeroProjectsBlock(v1.1.0): Responsive case study hero block with logo, title, metadata grid, notice banner, tech stack, and action links.MobileMockupBlock(v1.3.0): Responsive mobile screen showcase and entity card (428:926 iPhone container) supporting images, GIFs, and viewport-aware video playback with integrated biography card.MobileMockupsGridBlock(v1.1.0): Responsive mobile showcase grid & carousel with unified entity metadata supporting image and video lists with viewport autoplay.
π Updates
- Standardized Block Device Modes: Consolidated all 11 block device enums into a unified
AlterBlockDeviceenum (auto,pc,mobile) inlib/foundations/device_scope.dart. - Naming Alignment:
- Mobile header standardized as
ApplicationHeaderMobileinlib/mobile/application_header_mobile/. - Canonical block naming across all site cards (
BiographyBlock,GraphicsBlock,MobileMockupBlock,GraphicsGridBlock,MobileMockupsGridBlock,HeroProjectsBlock). - Added
hasBiographyBlockonMobileMockupBlock.
- Mobile header standardized as
- Refactored Example Catalog: Fully restructured
/exampleinto a 1:1 mirror of/libwith clean nested Widgetbook categories (Foundations,Styles,Components,Mobile,Web,Sites).
π‘ In-Beta
GraphicsCarouselBlock(v1.1.0): Full-width responsive visual showcase block with multi-item sliding on PC and touch peek swipe on mobile.
π¨ Figma Exclusives
- Added responsive PC (1440px / 896px content width) and Mobile (390px / 316px content width) layout artboards and handoff specifications for site sections.
π» Flutter Exclusives
AlterDeviceScope(v1.1.0): Ambient inherited device mode propagation (AlterDevice.pc/AlterDevice.mobile) ensuring nested child blocks derive layout mode from parent grid bounds without independent resize queries.AlterMediaView(v1.1.0): Universal media presentation layer supporting static images, animated GIFs, and muted looping autoplay videos viavideo_playerwith viewport visibility detection (playInViewportOnly) and configurable delay (autoPlayDelay: 1200ms).
2.0.1 #
- Comprehensive dartdoc documentation (
///) added across all UI components, semantic tokens, typography styles, and public API symbols.
2.0.0 #
Major Release β Complete Inputs Suite, Expanded Selection & Status Components #
-
New Inputs Suite (
lib/components/inputs/):InputControl(v2.3.0): Multi-slot input primitive supporting 64px container height,#F9FAFBgray &#FFFFFFwhite surfaces, live focus/hover rings, top-aligned leading/trailing slots during multiline entry, and crash-proof line bounds guarding (minLines <= maxLines).TextInput(v2.4.0): FormField integration withTextInputModefilters (email, phone, decimal, alphanumeric, numbers), deferredisRequiredvalidation on blur (_hasBeenTouched), and directkeyboardType: TextInputType?fallback override.TextArea(v2.4.0): Multiline text area supporting both fixed reserved lines (e.g.lines: 4) and dynamic adaptive height (e.g.lines: 4, minLines: 1) that auto-expands line-by-line up to max ceiling as the user types.NumericInput(v2.3.0): Live comma grouping (International and Indian numbering formats), decimal precision limits, bounds validation (minValue/maxValue), and customizable trailingrightButtonaction slot.CurrencyInput(v2.2.0): Financial currency entry preset built onNumericInputwith Euro default icon, 2-decimal precision, and prefix formatting.PasswordInput(v2.2.1): Clean surface by default (leftIcon: null), interactive eye visibility toggle (ButtonIconGhost), built-in space denial (allowSpaces: false), character limit overflow, and toggleable password strength validation rules.SearchInput(v2.1.0): Search entry field with leading search icon, auto-clearingclose_roundedaction button, and search keyboard action.OTPInput(v1.0.0): Multi-box pin verification control with digit filtering, auto-focus forwarding, and backspace navigation.
-
New Selection & Toggle Controls (
lib/components/selects/):Radio(v1.0.0): Single-selection control with token-driven active/inactive states and smooth indicator animation.Switch(v1.0.0): Mobile toggle switch with animated thumb transitions and Alter semantic color fills.ToggleText(v1.0.0): Text-based segmented/tabbed toggle button with animated sliding indicator.
-
New Pills & Badges (
lib/components/pills/):AdvancedPill(v1.0.0): Multi-segment status tag with customizable leading/trailing slots and interactive press states.Badge(v1.0.0): Count badge and status dot indicator with multiple color variants and automatic overflow formatting (99+).
-
New Status & Feedback (
lib/components/status/):Toast(v1.0.0): Floating banner notification component with success, warning, danger, and info semantic variants.FeedbackText(v1.0.0): Inline form helper and error message caption with semantic iconography.
-
New Navigation & Tabs (
lib/components/tabs/,lib/components/navigation/):AlterTabs&TabItem(v1.0.0): Horizontal scrollable and fixed tab bar with animated underline indicator and custom tab item badges.BottomNavigationButton(v1.0.0): Primary call-to-action button embedded directly in bottom navigation bars.
-
Architecture, Quality & Tests:
- Unified component directory structure (
lib/components/inputs/) with clean library exports inlib/alter.dart. - Expanded automated test suite to 19 unit & widget tests verifying rendering, token fidelity, and interactive lifecycles across all components.
- Unified component directory structure (
1.0.0 #
Production Release β UI Foundation & Enhanced Component Modularity #
-
Typography & Styling:
- Package-level asset scoping for Geist (
100to900) and Instrument Serif font families. - Comprehensive color swatches (
AlterColors) and Light Mode semantic token palette (AlterSemanticTokens).
- Package-level asset scoping for Geist (
-
Components & Enhancements:
ApplicationHeader(v1.1.0): AddedhasReturnButtonback navigation trigger (ButtonIconGhost), custom action icon bindings, and avatar image provider support with animated child slot expansion.AlterBottomNavigationBar(v1.1.0): Refined auto-layout geometry with explicit 8px item gap and standard bar sizing.BottomNavigationBarAction(v1.1.0): Standardized action trigger variants (buttons), default secondary styling, and custom action slotting.ButtonText(v1.1.0): AddedButtonType.redvariant withstatusDangerfill andcolorsRed800border stroke.ButtonIcon(v1.3.0): AddedButtonIconType.redvariant, customizable sizing (48x48,64x64), and selection border highlights.ButtonIconGhost(v1.1.0): Integrated gesture hooks (onTapDown,onTapUp,onTapCancel,onLongPress) for continuous interaction.ButtonGraphicImage(v1.1.0): AddedImageProvider? imagesupport with20pxanti-aliased clipping for avatars and custom child slots.ButtonGraphicText(v1.0.2): Fine-tuned asymmetric padding (7px 10px 9px) for metric badge styling.Pill(v1.0.3): Added animated cross-fades and smooth cubic sizing transitions between label/value variations across default and compact sizes.Checkbox(v1.0.0): Tri-state selection control withunchecked,intermediate, andcheckedstates withstatusSuccesshighlight.ToggleIcon(v1.1.0): Implemented Material/MUI convention supporting outlineiconand filledselectedIconwith graceful color fallback.ListItem(v1.0.1): Aligned subtitle styling totextDisabled(#99A1AF) and standardized swappable left/right slots.Search(v1.0.1): Sized input field with20pxcorner radius, prefix search icon, and focus/typing states.
-
Testing & Documentation:
- Comprehensive test suite verifying tokens, rendering, and interaction behaviors.
- Public documentation for all components in
lib/components/**/*.mdwith property tables and usage guides.
0.0.1 #
- Initial preview of the Alter Design System for Flutter.
- Curated typography scale supporting Geist and Instrument Serif font families.
- Color swatches (
AlterColors) and semantic tokens (AlterSemanticTokens). - Initial UI component implementations.