pseudo_ui 0.2.3 copy "pseudo_ui: ^0.2.3" to clipboard
pseudo_ui: ^0.2.3 copied to clipboard

Server-Driven UI rendering engine for Flutter. Define UI with JSON Schema + View JSON, render natively with Material 3 widgets. 45+ components, expression engine, conditional visibility, LOV cascading [...]

0.2.3 #

  • New: JSON-driven theme palette as public API. Consumers can now load a brand theme from a JSON document (Material Design Tokens / W3C Design Tokens style) without writing any Dart code:

    final raw = await rootBundle.loadString('assets/themes/acme.json');
    final palette = JsonPalette.fromJson(json.decode(raw));
    
    MaterialApp(
      theme: buildPseudoThemeData(palette: palette),
      home: PseudoView(...),
    );
    

    New public types:

    • PseudoColorPalette — abstract palette contract (20 Material 3 ColorScheme roles + success / warning / info status slots).
    • JsonPalettePseudoColorPalette factory that reads a JSON map and exposes the brand colors as Dart Colors. Missing fields fall back to the M3 baseline.
    • DefaultMaterialPalette — built-in M3 baseline, used as the fallback for JsonPalette and as a sample to extend from.
    • buildPseudoThemeData(palette: ...) — Material 3 ThemeData builder that seeds a ColorScheme from the palette and attaches PseudoUiThemeExt for status colors.
  • Spacer dispatch case added to DynamicRenderer. Supports both rigid mode (set width and/or height to render a SizedBox) and flex mode (set flex to expand inside a Row/Column). Previously rendered as an "unsupported" placeholder.

  • Internal docs / inline references cleaned up so the package surface carries no internal project names. Publisher identifiers (@burgan-tech/pseudo-ui npm scope, repository URL, MIT copyright) are preserved as legitimate "who shipped this" signals.

  • No breaking changes for existing consumers.

0.2.2 #

  • Widen intl constraint from ^0.19.0 to >=0.19.0 <0.21.0 so consumers running on Flutter 3.27+ (which pins intl: 0.20.x via flutter_localizations) can adopt the package without dependency_overrides gymnastics.

0.2.1 #

  • PseudoView now supports delegate: null for flat views with no actions, LOVs, or nested components. The engine falls back to a built-in NoOpPseudoViewDelegate.instance so consumers no longer need a stub delegate just to render JSON.
  • NoOpPseudoViewDelegate exported from the public barrel for direct use. loadComponent still throws UnsupportedError when nested refs are encountered, surfacing the gap rather than rendering an incomplete tree.

0.2.0 #

  • Add PseudoComponentRegistry — pluggable extension point for third-party component sets. The renderer's default branch now delegates to the registry, so any design system can register builders without touching DynamicRenderer.
  • Add PseudoUiThemeExtThemeExtension<PseudoUiThemeExt> for semantic success / warning / info colors. Falls back to Material 3 defaults when not provided by the host.
  • Theme awareness across the renderer: TextField/Dropdown/Card etc. respect host-provided InputDecorationTheme and ColorScheme.
  • DynamicRenderer now exported from the public barrel so external builders can render nested children.
  • Internal: design-system adapters extracted into a sibling package (not published to pub.dev — consumers register their own components via PseudoComponentRegistry).

0.1.3 #

  • CI: use official dart-lang OIDC workflow for automated pub.dev publishing
  • Package size optimized (13MB → 31KB) via .pubignore

0.1.2 #

  • README: Initial data, Lookups, Data Model, Vocabularies sections added
  • Code cleanup: silent catch fixed, empty action handlers wired, lint warnings resolved
  • 101 unit and widget tests (up from 15)
  • LOV reload optimization: skip unchanged params, skip static LOVs on field changes
  • GitHub Actions CI + pub.dev automated publishing

0.1.1 #

  • 45+ Material Design 3 component implementations
  • Expression engine: $form, $instance, $param, $ui, $lov, $lookup, $schema, $item, $context
  • Conditional engine: showIf/hideIf/enableIf/disableIf with 13 operators and compound rules
  • Validation: JSON Schema validation (pattern, format, minLength, min/max) plus async custom validation
  • LOV & Lookup: cascade filtering, smart reload (skip unchanged params)
  • Overlay surfaces: Dialog, BottomSheet, SideSheet, NavigationDrawer driven by $ui state
  • Nested components with isolated contexts and two-way data flow
  • 101 unit and widget tests

0.1.0 #

  • Initial release with core engine and basic Flutter adapter
0
likes
140
points
11
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Server-Driven UI rendering engine for Flutter. Define UI with JSON Schema + View JSON, render natively with Material 3 widgets. 45+ components, expression engine, conditional visibility, LOV cascading, nested components.

Homepage
Repository (GitHub)
View/report issues

Topics

#sdui #server-driven-ui #json-schema #material-design #dynamic-forms

License

MIT (license)

Dependencies

flutter, intl

More

Packages that depend on pseudo_ui