pilot_ui 0.0.7
pilot_ui: ^0.0.7 copied to clipboard
A dynamic, theme-aware JSON UI rendering engine for Flutter with extensible parsers, action handlers, and ready-to-use smart dispatch & RTS action components.
0.0.7 #
- Dark Mode Support & Theme Adaptability:
- Added
isDarkModeparameter toRtsActionCardandDynamicActionButtonswith automatic brightness detection fromTheme.of(context).brightness. - Implemented dedicated dark theme color palettes, card surface backgrounds, high-contrast borders, inputs, and button styling.
- Added
- AI Diagnosis Section & Interactive Preview:
- Added a dedicated AI Diagnosis callout container in
RtsActionCardrendered directly below event descriptions. - Added tap-to-expand collapsible preview (
_isDiagnosisExpanded) with smooth animation and rich markdown formatting support.
- Added a dedicated AI Diagnosis callout container in
- Responsive Layout & Badge Improvements:
- Wrapped severity and status badges in
FittedBoxwithBoxFit.scaleDownto prevent text overflows on compact screens and narrow cards.
- Wrapped severity and status badges in
- Testing & Quality:
- Added comprehensive unit test coverage for AI diagnosis expansion and dark theme rendering in
test/rts_action_card_test.dart.
- Added comprehensive unit test coverage for AI diagnosis expansion and dark theme rendering in
0.0.6 #
- Markdown Text Rendering & Formatting:
- Introduced
PilotMarkdownTextwidget for rendering markdown formatting (bold, italic, inline code, headers, bullet lists, and clickable hyperlinks) without heavy external dependencies. - Added
MarkdownTextParserto parse and render"markdown"and"markdown_text"widget definitions in JSON schemas viaPilotBuilder. - Updated
RtsActionCardto format and render event titles and descriptions usingPilotMarkdownText. - Updated example application mock data with rich markdown-formatted event descriptions and AI diagnoses.
- Added comprehensive unit test suite in
test/pilot_markdown_test.dartfor regex parsing, list normalization, styling, and JSON widget schema parsing.
- Introduced
0.0.5 #
- Asynchronous Loading States & RTS Action Enhancements:
- Converted
DynamicActionButtonsto aStatefulWidgetwith internal loading state management for asynchronous actions. - Added inline
CircularProgressIndicatorinside action buttons while action execution is in progress. - Added
isLoading,loadingAction,loadingActionType, andloadingActionLabelprops toDynamicActionButtonsfor granular external loading control. - Prevented concurrent duplicate triggers by disabling action buttons while any action is executing.
- Updated
RtsActionCardto support asynchronousonActionTriggeredandonButtonTapcallbacks and propagate loading states to buttons. - Disabled
RtsActionCardreason text field, "Self" edit toggle, and mode switch buttons while an action is executing. - Updated
RtsActionCardexpanded view to display the event description directly. - Enhanced unit tests with async loading indicator verification and updated example application with simulated network latency.
- Converted
0.0.4 #
- Expandable RTS Action Card & UI Refinements:
- Added smooth expandable/collapsible body animation to
RtsActionCardusingSizeTransitionandCurvedAnimation. - Added
initiallyExpandedparameter toRtsActionCardto control initial card expansion (defaults tofalse). - Modernized visual styling with multi-layered soft elevation shadows, refined borders, and compact badge typography.
- Enhanced action reason handling to prefill from action payloads or direct data keys.
- Updated
DynamicActionButtonsstyling: increased height to 38px, adjusted padding, and updated Emerald & Indigo palettes. - Renamed manual action toggle to "Self" with an updated icon.
- Updated unit tests to verify expandable interaction behaviors and initial expansion states.
- Added smooth expandable/collapsible body animation to
0.0.3 #
- Package Renaming & RTS Action Card Enhancements:
- Renamed package to
pilot_ui. - Enhanced
RtsActionCardto merge top-levelaction_payloadwith individual action item payloads. - Added fallback context ID extraction (
user_id,driver_id,attendance_id,id) from card data orui_schema. - Improved action trigger status inference and reason handling.
- Added unit tests verifying complete
actionPayloadmerging and ID preservation.
- Renamed package to
0.0.2 #
- RtsActionCard Refactoring & Enhancements:
- Refactored
RtsActionCardto accept a consolidateddatamap instead of individual parameters. - Added
onButtonTapcallback for handling action triggers. - Moved data parsing and property extraction to private getters within
_RtsActionCardState. - Updated example app and unit tests to reflect the new component API.
- Refactored
0.0.1 #
- Initial release of
pilot_ui. - Dynamic JSON UI Engine:
- Core
PilotBuilderwidget for compiling JSON definitions into interactive, responsive Flutter widget trees. - Extensible
PilotRegistrysystem for registering custom widget parsers and action handlers. - State management and dynamic context evaluation through
PilotStateContextandEvaluator. - AST caching and performance optimization for rapid expression parsing.
- Theme resolution and responsive layout helpers (breakpoints, adaptive sizes).
- Core
- Comprehensive Widget Parser Suite:
- Layout:
Container,Column,Row,Flex,Stack,ListView,Expanded,Wrap,SafeArea. - Display:
Text,Icon,CachedImage,Card,Avatar,Badge,ProgressIndicator,GlassContainer. - Input & Interactive:
TextField,Checkbox,ElevatedButton,TextButton. - Navigation & App Structure:
AppBar,BottomNavigationBar,FloatingActionButton,PageView,TabView.
- Layout:
- Built-in Action Handlers:
showDialog,showBottomSheet,setState,emitEvent.
- Specialized Fleet & Logistics Components:
RtsActionCard: Feature-rich, interactive Return-to-Station (RTS) event cards with severity tags, AI diagnosis panels, expandable reasons, and confirmation bottom sheets.DynamicActionButtons: Configurable action buttons with icon mapping and callback routing.PilotComponents.registerAll()helper to quickly register pre-built specialized components.