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 layoutResponsiveWidgetWrapper for adaptive sizing
  • Catalog systemCatalogProvider and WidgetRegistry for widget discovery
  • Firebase – Optional integration via FirebaseService
  • Priority & dismiss – Priority-based ordering and dismissible widgets
  • ActionsonAction and onDismiss callbacks

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/countdown_banner_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/social_proof_card
widgets/ui/title_subtitle_image_card