a2ui-react 0.2.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -20,12 +20,31 @@ yarn add a2ui-react
20
20
 
21
21
  ## Setup
22
22
 
23
- Import the default theme CSS in your app entry point:
23
+ ### 1. Configure Tailwind v4 (Critical)
24
+
25
+ Add the `@source` directive to your CSS so Tailwind scans the component classes:
26
+
27
+ ```css
28
+ @import 'tailwindcss';
29
+ @source "../node_modules/a2ui-react/dist";
30
+ ```
31
+
32
+ Without this, Tailwind v4 won't scan node_modules and components render unstyled.
33
+
34
+ ### 2. Import Theme CSS
35
+
36
+ Import the theme CSS in your app entry point:
24
37
 
25
38
  ```tsx
26
39
  import 'a2ui-react/theme.css'
27
40
  ```
28
41
 
42
+ > **Vite users**: If the import doesn't resolve, copy the CSS locally:
43
+ > ```bash
44
+ > cp node_modules/a2ui-react/dist/theme.css src/a2ui-theme.css
45
+ > ```
46
+ > Then import `'./a2ui-theme.css'` instead.
47
+
29
48
  Or if using your own Tailwind setup, ensure your CSS includes the [shadcn/ui theme variables](https://ui.shadcn.com/docs/theming).
30
49
 
31
50
  ## Quick Start
@@ -193,7 +212,45 @@ function App() {
193
212
  ## Requirements
194
213
 
195
214
  - React 18.0.0+ or React 19.0.0+
196
- - Tailwind CSS (for styling)
215
+ - Tailwind CSS v4 (for styling)
216
+
217
+ ## Important Notes
218
+
219
+ ### Component ID Format
220
+
221
+ The `id` must be present both in the update wrapper AND inside the component object:
222
+
223
+ ```tsx
224
+ // ✅ Correct
225
+ {
226
+ id: 'greeting',
227
+ component: {
228
+ type: 'Text',
229
+ id: 'greeting', // Required inside component
230
+ content: 'Hello!'
231
+ }
232
+ }
233
+
234
+ // ❌ Won't work - missing id inside component
235
+ {
236
+ id: 'greeting',
237
+ component: {
238
+ type: 'Text',
239
+ content: 'Hello!'
240
+ }
241
+ }
242
+ ```
243
+
244
+ ### a2ui-go Compatibility
245
+
246
+ If using [a2ui-go](https://github.com/burka/a2ui-go) as your backend, you'll need to transform messages:
247
+
248
+ | a2ui-go format | a2ui-react format |
249
+ |----------------|-------------------|
250
+ | `surfaceUpdate.components` | `surfaceUpdate.updates` |
251
+ | `{"id":"x", "Text":{...}}` | `{"id":"x", "component":{"type":"Text",...}}` |
252
+ | `text` field | `content` field |
253
+ | `usageHint` field | `style` field |
197
254
 
198
255
  ## License
199
256
 
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { AlertComponent, MainComponent, NavComponent, SectionComponent, AsideComponent, HeaderComponent, FooterComponent, ArticleComponent, LiveRegionComponent, ProgressComponent, SkipLinkComponent, BubbleBackgroundComponent, FireworksBackgroundComponent, GravityStarsBackgroundComponent, HexagonBackgroundComponent, HoleBackgroundComponent, StarsBackgroundComponent, CopyButtonComponent, FlipButtonComponent, GlowButtonComponent, IconButtonComponent, LiquidButtonComponent, MagneticButtonComponent, RippleButtonComponent, ShimmerButtonComponent, ThemeTogglerButtonComponent, CursorComponent, ButtonComponent, CardComponent, CheckboxComponent, ModalComponent, SelectComponent, TabsComponent, TextComponent, AreaChartComponent, BarChartComponent, ChartDataItem, LineChartComponent, PieChartComponent } from 'a2ui-react-core';
1
+ import { AlertComponent, MainComponent, NavComponent, SectionComponent, AsideComponent, HeaderComponent, FooterComponent, ArticleComponent, LiveRegionComponent, ProgressComponent, SkipLinkComponent, BubbleBackgroundComponent, FireworksBackgroundComponent, GravityStarsBackgroundComponent, HexagonBackgroundComponent, HoleBackgroundComponent, StarsBackgroundComponent, CopyButtonComponent, FlipButtonComponent, GlowButtonComponent, IconButtonComponent, LiquidButtonComponent, MagneticButtonComponent, RippleButtonComponent, ShimmerButtonComponent, ThemeTogglerButtonComponent, CursorComponent, ButtonComponent, CardComponent, CheckboxComponent, ModalComponent, SelectComponent, TabsComponent, TextComponent, AreaChartComponent, BarChartComponent, ChartDataItem, LineChartComponent, PieChartComponent, ListComponent, StepperComponent, AudioPlayerComponent, DividerComponent, IconComponent, ImageComponent, MarkdownComponent, SkeletonComponent, SpinnerComponent, ToastComponent, VideoComponent } from 'a2ui-react-core';
2
2
  export { A2UIComponent, A2UIMessage, A2UIStore, Alignment, BaseComponent, BeginRenderingMessage, ButtonComponent, CardComponent, CheckboxComponent, ColumnComponent, ComponentCatalog, ComponentNode, ComponentUpdate, DataModelUpdateMessage, DataValue, DateTimeInputComponent, DeleteSurfaceMessage, Distribution, DividerComponent, ErrorCallback, IconComponent, ImageComponent, InputType, ListComponent, MessageCallback, MessageParseError, ModalComponent, MultipleChoiceComponent, Orientation, RowComponent, SelectComponent, SelectOption, SliderComponent, StoreSnapshot, StreamParser, Surface, SurfaceUpdateMessage, TabItem, TabsComponent, TextComponent, TextFieldComponent, TextStyle, buildMessages, c, createStore, createStreamParser, getDataByPath, isBeginRenderingMessage, isDataModelUpdateMessage, isDeleteSurfaceMessage, isSurfaceUpdateMessage, parseJSONL, parseMessage, setDataByPath } from 'a2ui-react-core';
3
3
  import * as a2ui_react_react from 'a2ui-react-react';
4
4
  import { A2UIRenderer, DataAccessor } from 'a2ui-react-react';
@@ -440,6 +440,36 @@ declare const LineChartRenderer: A2UIRenderer<LineChartComponent>;
440
440
 
441
441
  declare const PieChartRenderer: A2UIRenderer<PieChartComponent>;
442
442
 
443
+ declare const CardRenderer: A2UIRenderer<CardComponent>;
444
+
445
+ declare const ListRenderer: A2UIRenderer<ListComponent>;
446
+
447
+ declare const ModalRenderer: A2UIRenderer<ModalComponent>;
448
+
449
+ declare const StepperRenderer: A2UIRenderer<StepperComponent>;
450
+
451
+ declare const TabsRenderer: A2UIRenderer<TabsComponent>;
452
+
453
+ declare const AudioPlayerRenderer: A2UIRenderer<AudioPlayerComponent>;
454
+
455
+ declare const DividerRenderer: A2UIRenderer<DividerComponent>;
456
+
457
+ declare const IconRenderer: A2UIRenderer<IconComponent>;
458
+
459
+ declare const ImageRenderer: A2UIRenderer<ImageComponent>;
460
+
461
+ declare const MarkdownRenderer: A2UIRenderer<MarkdownComponent>;
462
+
463
+ declare const SkeletonRenderer: A2UIRenderer<SkeletonComponent>;
464
+
465
+ declare const SpinnerRenderer: A2UIRenderer<SpinnerComponent>;
466
+
467
+ declare const TextRenderer: A2UIRenderer<TextComponent>;
468
+
469
+ declare const ToastRenderer: A2UIRenderer<ToastComponent>;
470
+
471
+ declare const VideoRenderer: A2UIRenderer<VideoComponent>;
472
+
443
473
  /**
444
474
  * Renderer registry type for shadcn components
445
475
  */
@@ -538,4 +568,4 @@ declare function createCompleteRegistry(): a2ui_react_react.ComponentRegistry;
538
568
  */
539
569
  declare const version = "0.1.0";
540
570
 
541
- export { AlertRenderer, AnimatedAccordionRenderer, AnimatedAvatarGroupRenderer, AnimatedButtonOverride, AnimatedCardOverride, AnimatedCardRenderer, AnimatedCheckboxOverride, AnimatedDialogRenderer, AnimatedModalOverride, AnimatedSelectOverride, AnimatedTabsOverride, AnimatedTabsRenderer, AnimatedTextOverride, AnimatedTooltipRenderer, AreaChartRenderer, ArticleRenderer, AsideRenderer, AuroraBackgroundRenderer, BarChartRenderer, BlurRevealTextRenderer, BubbleBackgroundRenderer, Button, type ButtonProps, Checkbox, CopyButtonRenderer, CountUpRenderer, CursorRenderer, DEFAULT_CHART_COLORS, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, type Dimensions, FireworksBackgroundRenderer, FlipButtonRenderer, FlipCardRenderer, FooterRenderer, GlowButtonRenderer, GradientBackgroundRenderer, GradientTextRenderer, GravityStarsBackgroundRenderer, HeaderRenderer, HexagonBackgroundRenderer, HoleBackgroundRenderer, IconButtonRenderer, Input, type InputProps, Label, LineChartRenderer, LiquidButtonRenderer, LiveRegionRenderer, MagneticButtonRenderer, MainRenderer, MorphingIconRenderer, NavRenderer, ParticlesBackgroundRenderer, PieChartRenderer, ProgressRenderer, type RendererRegistry, RippleButtonRenderer, SectionRenderer, ShimmerButtonRenderer, SkipLinkRenderer, SpotlightRenderer, StarsBackgroundRenderer, Tabs, TabsContent, TabsList, TabsTrigger, TextScrambleRenderer, Textarea, type TextareaProps, ThemeTogglerButtonRenderer, TypewriterTextRenderer, a11yRenderers, allAnimatedRenderers, allRenderers, animatedOverrides, animatedRenderers, buildChartConfig, buttonVariants, chartRenderers, cn, createAccessibleRegistry, createAnimatedRegistry, createCompleteRegistry, createFullyAnimatedRegistry, createShadcnRegistry, getChartColor, getChartData, shadcnRenderers, transformToRechartsData, useContainerDimensions, useReducedMotion, version };
571
+ export { AlertRenderer, AnimatedAccordionRenderer, AnimatedAvatarGroupRenderer, AnimatedButtonOverride, AnimatedCardOverride, AnimatedCardRenderer, AnimatedCheckboxOverride, AnimatedDialogRenderer, AnimatedModalOverride, AnimatedSelectOverride, AnimatedTabsOverride, AnimatedTabsRenderer, AnimatedTextOverride, AnimatedTooltipRenderer, AreaChartRenderer, ArticleRenderer, AsideRenderer, AudioPlayerRenderer, AuroraBackgroundRenderer, BarChartRenderer, BlurRevealTextRenderer, BubbleBackgroundRenderer, Button, type ButtonProps, CardRenderer, Checkbox, CopyButtonRenderer, CountUpRenderer, CursorRenderer, DEFAULT_CHART_COLORS, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, type Dimensions, DividerRenderer, FireworksBackgroundRenderer, FlipButtonRenderer, FlipCardRenderer, FooterRenderer, GlowButtonRenderer, GradientBackgroundRenderer, GradientTextRenderer, GravityStarsBackgroundRenderer, HeaderRenderer, HexagonBackgroundRenderer, HoleBackgroundRenderer, IconButtonRenderer, IconRenderer, ImageRenderer, Input, type InputProps, Label, LineChartRenderer, LiquidButtonRenderer, ListRenderer, LiveRegionRenderer, MagneticButtonRenderer, MainRenderer, MarkdownRenderer, ModalRenderer, MorphingIconRenderer, NavRenderer, ParticlesBackgroundRenderer, PieChartRenderer, ProgressRenderer, type RendererRegistry, RippleButtonRenderer, SectionRenderer, ShimmerButtonRenderer, SkeletonRenderer, SkipLinkRenderer, SpinnerRenderer, SpotlightRenderer, StarsBackgroundRenderer, StepperRenderer, Tabs, TabsContent, TabsList, TabsRenderer, TabsTrigger, TextRenderer, TextScrambleRenderer, Textarea, type TextareaProps, ThemeTogglerButtonRenderer, ToastRenderer, TypewriterTextRenderer, VideoRenderer, a11yRenderers, allAnimatedRenderers, allRenderers, animatedOverrides, animatedRenderers, buildChartConfig, buttonVariants, chartRenderers, cn, createAccessibleRegistry, createAnimatedRegistry, createCompleteRegistry, createFullyAnimatedRegistry, createShadcnRegistry, getChartColor, getChartData, shadcnRenderers, transformToRechartsData, useContainerDimensions, useReducedMotion, version };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AlertComponent, MainComponent, NavComponent, SectionComponent, AsideComponent, HeaderComponent, FooterComponent, ArticleComponent, LiveRegionComponent, ProgressComponent, SkipLinkComponent, BubbleBackgroundComponent, FireworksBackgroundComponent, GravityStarsBackgroundComponent, HexagonBackgroundComponent, HoleBackgroundComponent, StarsBackgroundComponent, CopyButtonComponent, FlipButtonComponent, GlowButtonComponent, IconButtonComponent, LiquidButtonComponent, MagneticButtonComponent, RippleButtonComponent, ShimmerButtonComponent, ThemeTogglerButtonComponent, CursorComponent, ButtonComponent, CardComponent, CheckboxComponent, ModalComponent, SelectComponent, TabsComponent, TextComponent, AreaChartComponent, BarChartComponent, ChartDataItem, LineChartComponent, PieChartComponent } from 'a2ui-react-core';
1
+ import { AlertComponent, MainComponent, NavComponent, SectionComponent, AsideComponent, HeaderComponent, FooterComponent, ArticleComponent, LiveRegionComponent, ProgressComponent, SkipLinkComponent, BubbleBackgroundComponent, FireworksBackgroundComponent, GravityStarsBackgroundComponent, HexagonBackgroundComponent, HoleBackgroundComponent, StarsBackgroundComponent, CopyButtonComponent, FlipButtonComponent, GlowButtonComponent, IconButtonComponent, LiquidButtonComponent, MagneticButtonComponent, RippleButtonComponent, ShimmerButtonComponent, ThemeTogglerButtonComponent, CursorComponent, ButtonComponent, CardComponent, CheckboxComponent, ModalComponent, SelectComponent, TabsComponent, TextComponent, AreaChartComponent, BarChartComponent, ChartDataItem, LineChartComponent, PieChartComponent, ListComponent, StepperComponent, AudioPlayerComponent, DividerComponent, IconComponent, ImageComponent, MarkdownComponent, SkeletonComponent, SpinnerComponent, ToastComponent, VideoComponent } from 'a2ui-react-core';
2
2
  export { A2UIComponent, A2UIMessage, A2UIStore, Alignment, BaseComponent, BeginRenderingMessage, ButtonComponent, CardComponent, CheckboxComponent, ColumnComponent, ComponentCatalog, ComponentNode, ComponentUpdate, DataModelUpdateMessage, DataValue, DateTimeInputComponent, DeleteSurfaceMessage, Distribution, DividerComponent, ErrorCallback, IconComponent, ImageComponent, InputType, ListComponent, MessageCallback, MessageParseError, ModalComponent, MultipleChoiceComponent, Orientation, RowComponent, SelectComponent, SelectOption, SliderComponent, StoreSnapshot, StreamParser, Surface, SurfaceUpdateMessage, TabItem, TabsComponent, TextComponent, TextFieldComponent, TextStyle, buildMessages, c, createStore, createStreamParser, getDataByPath, isBeginRenderingMessage, isDataModelUpdateMessage, isDeleteSurfaceMessage, isSurfaceUpdateMessage, parseJSONL, parseMessage, setDataByPath } from 'a2ui-react-core';
3
3
  import * as a2ui_react_react from 'a2ui-react-react';
4
4
  import { A2UIRenderer, DataAccessor } from 'a2ui-react-react';
@@ -440,6 +440,36 @@ declare const LineChartRenderer: A2UIRenderer<LineChartComponent>;
440
440
 
441
441
  declare const PieChartRenderer: A2UIRenderer<PieChartComponent>;
442
442
 
443
+ declare const CardRenderer: A2UIRenderer<CardComponent>;
444
+
445
+ declare const ListRenderer: A2UIRenderer<ListComponent>;
446
+
447
+ declare const ModalRenderer: A2UIRenderer<ModalComponent>;
448
+
449
+ declare const StepperRenderer: A2UIRenderer<StepperComponent>;
450
+
451
+ declare const TabsRenderer: A2UIRenderer<TabsComponent>;
452
+
453
+ declare const AudioPlayerRenderer: A2UIRenderer<AudioPlayerComponent>;
454
+
455
+ declare const DividerRenderer: A2UIRenderer<DividerComponent>;
456
+
457
+ declare const IconRenderer: A2UIRenderer<IconComponent>;
458
+
459
+ declare const ImageRenderer: A2UIRenderer<ImageComponent>;
460
+
461
+ declare const MarkdownRenderer: A2UIRenderer<MarkdownComponent>;
462
+
463
+ declare const SkeletonRenderer: A2UIRenderer<SkeletonComponent>;
464
+
465
+ declare const SpinnerRenderer: A2UIRenderer<SpinnerComponent>;
466
+
467
+ declare const TextRenderer: A2UIRenderer<TextComponent>;
468
+
469
+ declare const ToastRenderer: A2UIRenderer<ToastComponent>;
470
+
471
+ declare const VideoRenderer: A2UIRenderer<VideoComponent>;
472
+
443
473
  /**
444
474
  * Renderer registry type for shadcn components
445
475
  */
@@ -538,4 +568,4 @@ declare function createCompleteRegistry(): a2ui_react_react.ComponentRegistry;
538
568
  */
539
569
  declare const version = "0.1.0";
540
570
 
541
- export { AlertRenderer, AnimatedAccordionRenderer, AnimatedAvatarGroupRenderer, AnimatedButtonOverride, AnimatedCardOverride, AnimatedCardRenderer, AnimatedCheckboxOverride, AnimatedDialogRenderer, AnimatedModalOverride, AnimatedSelectOverride, AnimatedTabsOverride, AnimatedTabsRenderer, AnimatedTextOverride, AnimatedTooltipRenderer, AreaChartRenderer, ArticleRenderer, AsideRenderer, AuroraBackgroundRenderer, BarChartRenderer, BlurRevealTextRenderer, BubbleBackgroundRenderer, Button, type ButtonProps, Checkbox, CopyButtonRenderer, CountUpRenderer, CursorRenderer, DEFAULT_CHART_COLORS, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, type Dimensions, FireworksBackgroundRenderer, FlipButtonRenderer, FlipCardRenderer, FooterRenderer, GlowButtonRenderer, GradientBackgroundRenderer, GradientTextRenderer, GravityStarsBackgroundRenderer, HeaderRenderer, HexagonBackgroundRenderer, HoleBackgroundRenderer, IconButtonRenderer, Input, type InputProps, Label, LineChartRenderer, LiquidButtonRenderer, LiveRegionRenderer, MagneticButtonRenderer, MainRenderer, MorphingIconRenderer, NavRenderer, ParticlesBackgroundRenderer, PieChartRenderer, ProgressRenderer, type RendererRegistry, RippleButtonRenderer, SectionRenderer, ShimmerButtonRenderer, SkipLinkRenderer, SpotlightRenderer, StarsBackgroundRenderer, Tabs, TabsContent, TabsList, TabsTrigger, TextScrambleRenderer, Textarea, type TextareaProps, ThemeTogglerButtonRenderer, TypewriterTextRenderer, a11yRenderers, allAnimatedRenderers, allRenderers, animatedOverrides, animatedRenderers, buildChartConfig, buttonVariants, chartRenderers, cn, createAccessibleRegistry, createAnimatedRegistry, createCompleteRegistry, createFullyAnimatedRegistry, createShadcnRegistry, getChartColor, getChartData, shadcnRenderers, transformToRechartsData, useContainerDimensions, useReducedMotion, version };
571
+ export { AlertRenderer, AnimatedAccordionRenderer, AnimatedAvatarGroupRenderer, AnimatedButtonOverride, AnimatedCardOverride, AnimatedCardRenderer, AnimatedCheckboxOverride, AnimatedDialogRenderer, AnimatedModalOverride, AnimatedSelectOverride, AnimatedTabsOverride, AnimatedTabsRenderer, AnimatedTextOverride, AnimatedTooltipRenderer, AreaChartRenderer, ArticleRenderer, AsideRenderer, AudioPlayerRenderer, AuroraBackgroundRenderer, BarChartRenderer, BlurRevealTextRenderer, BubbleBackgroundRenderer, Button, type ButtonProps, CardRenderer, Checkbox, CopyButtonRenderer, CountUpRenderer, CursorRenderer, DEFAULT_CHART_COLORS, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, type Dimensions, DividerRenderer, FireworksBackgroundRenderer, FlipButtonRenderer, FlipCardRenderer, FooterRenderer, GlowButtonRenderer, GradientBackgroundRenderer, GradientTextRenderer, GravityStarsBackgroundRenderer, HeaderRenderer, HexagonBackgroundRenderer, HoleBackgroundRenderer, IconButtonRenderer, IconRenderer, ImageRenderer, Input, type InputProps, Label, LineChartRenderer, LiquidButtonRenderer, ListRenderer, LiveRegionRenderer, MagneticButtonRenderer, MainRenderer, MarkdownRenderer, ModalRenderer, MorphingIconRenderer, NavRenderer, ParticlesBackgroundRenderer, PieChartRenderer, ProgressRenderer, type RendererRegistry, RippleButtonRenderer, SectionRenderer, ShimmerButtonRenderer, SkeletonRenderer, SkipLinkRenderer, SpinnerRenderer, SpotlightRenderer, StarsBackgroundRenderer, StepperRenderer, Tabs, TabsContent, TabsList, TabsRenderer, TabsTrigger, TextRenderer, TextScrambleRenderer, Textarea, type TextareaProps, ThemeTogglerButtonRenderer, ToastRenderer, TypewriterTextRenderer, VideoRenderer, a11yRenderers, allAnimatedRenderers, allRenderers, animatedOverrides, animatedRenderers, buildChartConfig, buttonVariants, chartRenderers, cn, createAccessibleRegistry, createAnimatedRegistry, createCompleteRegistry, createFullyAnimatedRegistry, createShadcnRegistry, getChartColor, getChartData, shadcnRenderers, transformToRechartsData, useContainerDimensions, useReducedMotion, version };