Full-page dynamic detail pages — chip + list components.
CofluiChip— status pill / badge (5 variants: success/warning/danger/info/neutral), optional icon.listcomponent — repeat a child template over anitems[]array with{field}placeholder interpolation. The key enabler for full-page dynamic layouts (approvers, attachments, line items, timelines). Supportsdirection(vertical/horizontal/wrap),spacing, andemptyText.interpolateComponent()— exported helper that substitutes{key}placeholders in aUIComponenttree from a data map.chip+listUIType values + builder registration.- Example: full detail page —
detail_page_screen.dartrenders a complete approval-detail document from JSON (buildDetailJson+dummyApproval). Clone-ready pattern: swap the data map → whole page re-renders. - 8 new tests (chip variants, list repeat, field binding, empty state).
Milestone 4in ROADMAP → ✅ complete.
Reusable component extraction + icon system + dynamic-UI integration.
CofluiIcon— universal icon/image widget that auto-detects its source:IconData→ Material icon,.svg→ flutter_svg,.png/.jpg→ asset,https://…→CachedNetworkImage(disk-cached). One widget replaces the scatteredImage.asset/Image.network/Iconmix.CofluiGradients+CofluiGradientBar— brand gradient presets (accent/cool/warm) built on overridableCofluiColorstokens.CofluiAppBar— standard app bar with optional gradient background.CofluiScaffold— SafeArea-wrapped scaffold helper.CofluiListTile— card-style list row (leading / title / subtitle / trailing / onTap).CofluiDetailRow— labeled icon+label+value row for detail views.CofluiColors— newaccent*token set (yellow, orange, green, teal, purple, pink, blue + gradient intermediates). All overridable at boot.- Dynamic-UI types:
icon,image,gradient_bar,list_tile,detail_row— now callable from JSON via the engine. IconResolver— maps Material icon names / code-points toIconData.flutter_svg+cached_network_imagedependencies.- 28 new tests (auto-detection, new widgets, dynamic builders).
CofluiButtonnow supportsisLoading(spinner + disabled).CofluiTextFieldnow supportslabel,prefixIcon,suffixIcon,validator,onFieldSubmitted, plus error/focused-error borders.CofluiColors.pura*renamed →accent*(old names kept as@Deprecatedaliases for one release).
Initial extraction — standalone dynamic UI engine + native widget set.
- Package scaffold (
pubspec.yaml,lib/coflui.dartbarrel, analysis). - Theme layer:
CofluiColors,CofluiTypography,CofluiBreakpoints. - Native widget standards:
CofluiText,CofluiButton,CofluiTextField,CofluiDropdown,CofluiCard,CofluiDialog,CofluiGrid,CofluiResponsive. - Dynamic UI engine on
ChangeNotifier+ValueNotifier(state-agnostic):UIComponent,UIStyle,WidgetRegistry,StyleResolver,CofluiFormController,DynamicUIWidget, default builders, bootstrap. - Responsive
gridcomponent (breakpoint-driven column count). - Docs:
README,doc/ARCHITECTURE,doc/ROADMAP,doc/DYNAMIC_UI.
- Removed GetX (
get),magic_view,micropack_core,flutter_screenutil. - State management → native
ChangeNotifier. - All
Magic*widgets → native Flutter /Coflui*wrappers. - Element sizing → raw logical pixels; responsiveness moved to layout layer.