astryx_ui 0.0.2-dev
astryx_ui: ^0.0.2-dev copied to clipboard
An unofficial Flutter port of Astryx, Meta's design system for building internal tools and products. Faithful token engine, themeable components, built on flutter/widgets.
Changelog #
All notable changes to astryx_ui are documented here.
The format follows Keep a Changelog and this project adheres to Semantic Versioning.
Unreleased #
0.0.2-dev #
Fixed #
AstryxCardno longer assertsBoxConstraints forces an infinite widthwhen given an unbounded width — inside aRow, anAstryxHStack, or a horizontal list. It fills a bounded width as before and shrinks to fit an unbounded one, matching how a block box sizes itself in CSS.
0.0.1-dev #
First development preview. The API is unstable and may change without a major version bump until 0.1.0.
Added #
- Package scaffold: pubspec, lint configuration, directory layout, license and attribution files.
- Token layer: colour primitives (OKLCH, RGBA, CSS colour parsing, light/dark pairs) and the full token set — colour, spacing, radius, size, border, shadow, duration, ease, font weight, text size and typography tokens.
- Theme engine:
defineTheme, the token resolver, scale expansion for colour, type, radius and motion, contrast and HCT helpers, style overrides, syntax themes and the theme registry. - Theme runtime:
AstryxThemeData,ResolvedTokenSet,AstryxTheme,AstryxShadow, font stacks, token-to-Flutter conversions, and per-component theme classes. - Prebuilt themes: neutral, stone, butter, chocolate, gothic, matcha and y2k.
- App layer:
AstryxAppandAstryxThemeProvider. - Foundation: density, focus ring, focus trap, focus-visible tracking, link delegate, motion, overlay positioning and stack, RTL helpers, semantics, size scope, states controller and tap targets.
- Components — layout and typography (stack, grid, center, divider, heading, text, icon), actions (button, icon button, button group), feedback (progress bar, skeleton, spinner), forms (text input, checkbox, radio list, selector, switch, toggle row, field), overlays (dialog, dropdown menu, popover, toast, tooltip, anchored overlay), surfaces (badge, banner, card, palette) and data display (table, tab list).
- Icon registry backed by Lucide, mirroring Astryx's semantic icon names.
- Localizations via
AstryxLocalizations. - Secondary entry point
package:astryx_ui/theme.dartfor the theme layer without components.