intyx_dynamic_widget
Dynamic widget system for Flutter apps. AI-driven, JSON-configured, responsive widgets with 15+ built-in UI components.
Features
- JSON-driven rendering – Widgets are defined by JSON and rendered via
DynamicWidgetContainer - 15+ built-in UI types – Banner, Carousel, Hero Image, Countdown, Poll, Rating, Profile, Progress, Social Proof, and more
- Widget categories – Promotional, Informational, Contextual, Functional
- Responsive layout –
ResponsiveWidgetWrapperfor adaptive sizing - Catalog system –
CatalogProviderandWidgetRegistryfor widget discovery - Firebase – Optional integration via
FirebaseService - Priority & dismiss – Priority-based ordering and dismissible widgets
- Actions –
onActionandonDismisscallbacks
Installation
Add to your pubspec.yaml:
dependencies:
intyx_dynamic_widget: ^0.1.0
Then run:
flutter pub get
Usage
1. Register built-in widgets (once at startup)
import 'package:intyx_dynamic_widget/intyx_dynamic_widget.dart';
void main() {
registerDefaultWidgets();
runApp(MyApp());
}
2. Initialize (e.g. with Firebase)
await IntyxInit.initialize(
firebaseProjectId: 'your-project-id',
// optional: catalogJsonUrl, widgetServiceBaseUrl
);
3. Show dynamic widgets
DynamicWidgetContainer(
triggerContext: TriggerContext(
userId: 'user-123',
locale: 'en',
platform: 'mobile',
),
onAction: (actionId, payload) => {},
onDismiss: (widgetId) => {},
)
4. Use a single widget from JSON
final widget = WidgetDefinition.fromJson(jsonMap);
// Use with your registered builders via WidgetResolver or render directly
Topics
- widget
- dynamic-ui
- json
- ai
License
MIT – see LICENSE for details.
Libraries
- core/catalog_provider
- Provides the widget catalog JSON for sending to the AI agent.
- core/intyx_init
- Initialization and license validation for the Intyx Dynamic Widget SDK.
- core/responsive_widget_wrapper
- Responsive wrapper that applies layout constraints and color scheme.
- core/widget_registry
- Registry that maps widget type strings to Flutter widget builders.
- core/widget_resolver
- Resolves agent JSON response into a list of Flutter widgets.
- intyx_dynamic_widget
- Intyx Dynamic Widget System
- models/trigger_context
- Client-side trigger context for sending to the backend.
- models/widget_definition
- Legacy widget definition models (for direct Firestore usage).
- models/widget_response
- Models for parsing agent JSON responses into widget data.
- services/firebase_service
- Firebase Firestore service for realtime widget updates.
- services/widget_service
- Service for communicating with the backend API.
- widgets/contextual_widget
- widgets/dynamic_widget_container
- widgets/functional_widget
- widgets/informational_widget
- widgets/promotional_widget
- widgets/ui/carousel_card
- widgets/ui/clickable_image_link_card
- widgets/ui/hero_image_card
- widgets/ui/icon_text_action_card
- widgets/ui/poll_card
- widgets/ui/profile_card
- widgets/ui/progress_card
- widgets/ui/rating_card
- widgets/ui/title_subtitle_image_card