restage_core

pub package ci license

A curated Remote Flutter Widget (RFW) catalog of cross-platform widget primitives for server-driven Flutter UI: the restage.core library (layout, structure, and decoration: Container, Column, Row, Stack, SizedBox, Padding, Center, Text, Image, and more; 54 widgets in all).

Part of Restage, server-driven UI for Flutter. Extend this catalog with your own design-system widgets via @RestageWidget.

The package provides:

  • Catalog metadata. The curated widget set + per-widget metadata, authored in lib/registry.dart (kRegistry) and mirrored to lib/src/widget_catalog/catalog.json. Authoring tools read the registry; the build-time code generator reads the JSON.
  • RFW registration. lib/src/registration.g.dart is a plain rfw LocalWidgetBuilder map that renders the catalog's widgets; any RFW host can use it.
  • A few compiled-in catalog widgets. Small composites the package ships as real classes for behavior RFW can't express declaratively: the motion helpers (RestageMotion, RestageFadeIn, RestagePulse, RestageStagger, and the RestageSpring substrate) and the number/price formatters (RestagePrice, RestageFormattedNumber). Standard Flutter widgets (Container, Text, …) are mapped through the catalog, not re-declared here; you author surfaces in ordinary Flutter syntax.

The catalog is surface-general: the same primitives compose paywalls, onboarding, in-app messages, surveys, or any other server-driven UI surface.

Status

Stable: 1.0.0.

License

BSD-3-Clause. See LICENSE.

Libraries

library_registration
Library registration entry point for restage.core — exposes a LocalWidgetLibrary that the SDK runtime registers with rfw at startup.
registry
registry_curation
Curation file for the restage.core widget library — cross-platform Flutter widgets curated for paywall composition.
restage_core
Cross-platform widget primitives for Restage paywalls. Authoritative metadata lives in registry.dart (kRegistry); the runtime registers its widgets with rfw via library_registration.dart (buildCoreWidgetLibrary). Both are read by codegen, the editor, and the SDK runtime.