@copilotkit/a2ui-renderer 1.53.0 → 1.53.1-next.1

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.
Files changed (181) hide show
  1. package/dist/A2UIViewer.d.cts +1 -1
  2. package/dist/A2UIViewer.d.mts +1 -1
  3. package/dist/a2ui-types.cjs +9 -0
  4. package/dist/a2ui-types.cjs.map +1 -0
  5. package/dist/a2ui-types.d.cts +9 -0
  6. package/dist/a2ui-types.d.cts.map +1 -0
  7. package/dist/a2ui-types.d.mts +9 -0
  8. package/dist/a2ui-types.d.mts.map +1 -0
  9. package/dist/a2ui-types.mjs +8 -0
  10. package/dist/a2ui-types.mjs.map +1 -0
  11. package/dist/index.cjs +74 -2
  12. package/dist/index.d.cts +35 -2
  13. package/dist/index.d.cts.map +1 -1
  14. package/dist/index.d.mts +35 -2
  15. package/dist/index.d.mts.map +1 -1
  16. package/dist/index.mjs +33 -2
  17. package/dist/index.umd.js +96 -127
  18. package/dist/index.umd.js.map +1 -1
  19. package/dist/react-renderer/components/content/AudioPlayer.d.cts +12 -0
  20. package/dist/react-renderer/components/content/AudioPlayer.d.cts.map +1 -0
  21. package/dist/react-renderer/components/content/AudioPlayer.d.mts +12 -0
  22. package/dist/react-renderer/components/content/AudioPlayer.d.mts.map +1 -0
  23. package/dist/react-renderer/components/content/Divider.d.cts +17 -0
  24. package/dist/react-renderer/components/content/Divider.d.cts.map +1 -0
  25. package/dist/react-renderer/components/content/Divider.d.mts +17 -0
  26. package/dist/react-renderer/components/content/Divider.d.mts.map +1 -0
  27. package/dist/react-renderer/components/content/Icon.d.cts +20 -0
  28. package/dist/react-renderer/components/content/Icon.d.cts.map +1 -0
  29. package/dist/react-renderer/components/content/Icon.d.mts +20 -0
  30. package/dist/react-renderer/components/content/Icon.d.mts.map +1 -0
  31. package/dist/react-renderer/components/content/Image.d.cts +15 -0
  32. package/dist/react-renderer/components/content/Image.d.cts.map +1 -0
  33. package/dist/react-renderer/components/content/Image.d.mts +15 -0
  34. package/dist/react-renderer/components/content/Image.d.mts.map +1 -0
  35. package/dist/react-renderer/components/content/Text.d.cts +32 -0
  36. package/dist/react-renderer/components/content/Text.d.cts.map +1 -0
  37. package/dist/react-renderer/components/content/Text.d.mts +32 -0
  38. package/dist/react-renderer/components/content/Text.d.mts.map +1 -0
  39. package/dist/react-renderer/components/content/Video.d.cts +14 -0
  40. package/dist/react-renderer/components/content/Video.d.cts.map +1 -0
  41. package/dist/react-renderer/components/content/Video.d.mts +14 -0
  42. package/dist/react-renderer/components/content/Video.d.mts.map +1 -0
  43. package/dist/react-renderer/components/interactive/Button.d.cts +15 -0
  44. package/dist/react-renderer/components/interactive/Button.d.cts.map +1 -0
  45. package/dist/react-renderer/components/interactive/Button.d.mts +15 -0
  46. package/dist/react-renderer/components/interactive/Button.d.mts.map +1 -0
  47. package/dist/react-renderer/components/interactive/CheckBox.d.cts +14 -0
  48. package/dist/react-renderer/components/interactive/CheckBox.d.cts.map +1 -0
  49. package/dist/react-renderer/components/interactive/CheckBox.d.mts +14 -0
  50. package/dist/react-renderer/components/interactive/CheckBox.d.mts.map +1 -0
  51. package/dist/react-renderer/components/interactive/DateTimeInput.d.cts +14 -0
  52. package/dist/react-renderer/components/interactive/DateTimeInput.d.cts.map +1 -0
  53. package/dist/react-renderer/components/interactive/DateTimeInput.d.mts +14 -0
  54. package/dist/react-renderer/components/interactive/DateTimeInput.d.mts.map +1 -0
  55. package/dist/react-renderer/components/interactive/MultipleChoice.d.cts +15 -0
  56. package/dist/react-renderer/components/interactive/MultipleChoice.d.cts.map +1 -0
  57. package/dist/react-renderer/components/interactive/MultipleChoice.d.mts +15 -0
  58. package/dist/react-renderer/components/interactive/MultipleChoice.d.mts.map +1 -0
  59. package/dist/react-renderer/components/interactive/Slider.d.cts +14 -0
  60. package/dist/react-renderer/components/interactive/Slider.d.cts.map +1 -0
  61. package/dist/react-renderer/components/interactive/Slider.d.mts +14 -0
  62. package/dist/react-renderer/components/interactive/Slider.d.mts.map +1 -0
  63. package/dist/react-renderer/components/interactive/TextField.d.cts +14 -0
  64. package/dist/react-renderer/components/interactive/TextField.d.cts.map +1 -0
  65. package/dist/react-renderer/components/interactive/TextField.d.mts +14 -0
  66. package/dist/react-renderer/components/interactive/TextField.d.mts.map +1 -0
  67. package/dist/react-renderer/components/layout/Card.d.cts +21 -0
  68. package/dist/react-renderer/components/layout/Card.d.cts.map +1 -0
  69. package/dist/react-renderer/components/layout/Card.d.mts +21 -0
  70. package/dist/react-renderer/components/layout/Card.d.mts.map +1 -0
  71. package/dist/react-renderer/components/layout/Column.d.cts +14 -0
  72. package/dist/react-renderer/components/layout/Column.d.cts.map +1 -0
  73. package/dist/react-renderer/components/layout/Column.d.mts +14 -0
  74. package/dist/react-renderer/components/layout/Column.d.mts.map +1 -0
  75. package/dist/react-renderer/components/layout/List.d.cts +14 -0
  76. package/dist/react-renderer/components/layout/List.d.cts.map +1 -0
  77. package/dist/react-renderer/components/layout/List.d.mts +14 -0
  78. package/dist/react-renderer/components/layout/List.d.mts.map +1 -0
  79. package/dist/react-renderer/components/layout/Modal.d.cts +19 -0
  80. package/dist/react-renderer/components/layout/Modal.d.cts.map +1 -0
  81. package/dist/react-renderer/components/layout/Modal.d.mts +19 -0
  82. package/dist/react-renderer/components/layout/Modal.d.mts.map +1 -0
  83. package/dist/react-renderer/components/layout/Row.d.cts +14 -0
  84. package/dist/react-renderer/components/layout/Row.d.cts.map +1 -0
  85. package/dist/react-renderer/components/layout/Row.d.mts +14 -0
  86. package/dist/react-renderer/components/layout/Row.d.mts.map +1 -0
  87. package/dist/react-renderer/components/layout/Tabs.d.cts +12 -0
  88. package/dist/react-renderer/components/layout/Tabs.d.cts.map +1 -0
  89. package/dist/react-renderer/components/layout/Tabs.d.mts +12 -0
  90. package/dist/react-renderer/components/layout/Tabs.d.mts.map +1 -0
  91. package/dist/react-renderer/core/A2UIProvider.cjs +35 -0
  92. package/dist/react-renderer/core/A2UIProvider.cjs.map +1 -1
  93. package/dist/react-renderer/core/A2UIProvider.d.cts +91 -0
  94. package/dist/react-renderer/core/A2UIProvider.d.cts.map +1 -0
  95. package/dist/react-renderer/core/A2UIProvider.d.mts +91 -0
  96. package/dist/react-renderer/core/A2UIProvider.d.mts.map +1 -0
  97. package/dist/react-renderer/core/A2UIProvider.mjs +33 -1
  98. package/dist/react-renderer/core/A2UIProvider.mjs.map +1 -1
  99. package/dist/react-renderer/core/A2UIRenderer.d.cts +40 -0
  100. package/dist/react-renderer/core/A2UIRenderer.d.cts.map +1 -0
  101. package/dist/react-renderer/core/A2UIRenderer.d.mts +40 -0
  102. package/dist/react-renderer/core/A2UIRenderer.d.mts.map +1 -0
  103. package/dist/react-renderer/core/A2UIViewer.cjs +11 -0
  104. package/dist/react-renderer/core/A2UIViewer.d.cts +16 -0
  105. package/dist/react-renderer/core/A2UIViewer.d.cts.map +1 -0
  106. package/dist/react-renderer/core/A2UIViewer.d.mts +16 -0
  107. package/dist/react-renderer/core/A2UIViewer.d.mts.map +1 -0
  108. package/dist/react-renderer/core/A2UIViewer.mjs +11 -0
  109. package/dist/react-renderer/core/ComponentNode.d.cts +29 -0
  110. package/dist/react-renderer/core/ComponentNode.d.cts.map +1 -0
  111. package/dist/react-renderer/core/ComponentNode.d.mts +29 -0
  112. package/dist/react-renderer/core/ComponentNode.d.mts.map +1 -0
  113. package/dist/react-renderer/core/store.d.cts +41 -0
  114. package/dist/react-renderer/core/store.d.cts.map +1 -0
  115. package/dist/react-renderer/core/store.d.mts +41 -0
  116. package/dist/react-renderer/core/store.d.mts.map +1 -0
  117. package/dist/react-renderer/hooks/useA2UI.d.cts +50 -0
  118. package/dist/react-renderer/hooks/useA2UI.d.cts.map +1 -0
  119. package/dist/react-renderer/hooks/useA2UI.d.mts +50 -0
  120. package/dist/react-renderer/hooks/useA2UI.d.mts.map +1 -0
  121. package/dist/react-renderer/hooks/useA2UIComponent.d.cts +56 -0
  122. package/dist/react-renderer/hooks/useA2UIComponent.d.cts.map +1 -0
  123. package/dist/react-renderer/hooks/useA2UIComponent.d.mts +56 -0
  124. package/dist/react-renderer/hooks/useA2UIComponent.d.mts.map +1 -0
  125. package/dist/react-renderer/index.cjs +31 -0
  126. package/dist/react-renderer/index.d.cts +32 -0
  127. package/dist/react-renderer/index.d.mts +32 -0
  128. package/dist/react-renderer/index.mjs +33 -0
  129. package/dist/react-renderer/lib/utils.d.cts +18 -0
  130. package/dist/react-renderer/lib/utils.d.cts.map +1 -0
  131. package/dist/react-renderer/lib/utils.d.mts +18 -0
  132. package/dist/react-renderer/lib/utils.d.mts.map +1 -0
  133. package/dist/react-renderer/registry/ComponentRegistry.d.cts +82 -0
  134. package/dist/react-renderer/registry/ComponentRegistry.d.cts.map +1 -0
  135. package/dist/react-renderer/registry/ComponentRegistry.d.mts +82 -0
  136. package/dist/react-renderer/registry/ComponentRegistry.d.mts.map +1 -0
  137. package/dist/react-renderer/registry/defaultCatalog.cjs +1 -0
  138. package/dist/react-renderer/registry/defaultCatalog.d.cts +17 -0
  139. package/dist/react-renderer/registry/defaultCatalog.d.cts.map +1 -0
  140. package/dist/react-renderer/registry/defaultCatalog.d.mts +17 -0
  141. package/dist/react-renderer/registry/defaultCatalog.d.mts.map +1 -0
  142. package/dist/react-renderer/registry/defaultCatalog.mjs +1 -1
  143. package/dist/react-renderer/styles/index.cjs +10 -0
  144. package/dist/react-renderer/styles/index.cjs.map +1 -1
  145. package/dist/react-renderer/styles/index.d.cts +14 -0
  146. package/dist/react-renderer/styles/index.d.cts.map +1 -0
  147. package/dist/react-renderer/styles/index.d.mts +26 -0
  148. package/dist/react-renderer/styles/index.d.mts.map +1 -0
  149. package/dist/react-renderer/styles/index.mjs +10 -1
  150. package/dist/react-renderer/styles/index.mjs.map +1 -1
  151. package/dist/react-renderer/theme/ThemeContext.cjs +9 -0
  152. package/dist/react-renderer/theme/ThemeContext.cjs.map +1 -1
  153. package/dist/react-renderer/theme/ThemeContext.d.cts +37 -0
  154. package/dist/react-renderer/theme/ThemeContext.d.cts.map +1 -0
  155. package/dist/react-renderer/theme/ThemeContext.d.mts +37 -0
  156. package/dist/react-renderer/theme/ThemeContext.d.mts.map +1 -0
  157. package/dist/react-renderer/theme/ThemeContext.mjs +9 -1
  158. package/dist/react-renderer/theme/ThemeContext.mjs.map +1 -1
  159. package/dist/react-renderer/theme/litTheme.cjs +1 -0
  160. package/dist/react-renderer/theme/litTheme.d.cts +12 -0
  161. package/dist/react-renderer/theme/litTheme.d.cts.map +1 -0
  162. package/dist/react-renderer/theme/litTheme.d.mts +12 -0
  163. package/dist/react-renderer/theme/litTheme.d.mts.map +1 -0
  164. package/dist/react-renderer/theme/litTheme.mjs +1 -1
  165. package/dist/react-renderer/theme/utils.d.cts +26 -0
  166. package/dist/react-renderer/theme/utils.d.cts.map +1 -0
  167. package/dist/react-renderer/theme/utils.d.mts +26 -0
  168. package/dist/react-renderer/theme/utils.d.mts.map +1 -0
  169. package/dist/react-renderer/types.d.cts +50 -0
  170. package/dist/react-renderer/types.d.cts.map +1 -0
  171. package/dist/react-renderer/types.d.mts +50 -0
  172. package/dist/react-renderer/types.d.mts.map +1 -0
  173. package/package.json +2 -3
  174. package/dist/A2UIMessageRenderer.cjs +0 -135
  175. package/dist/A2UIMessageRenderer.cjs.map +0 -1
  176. package/dist/A2UIMessageRenderer.d.cts +0 -11
  177. package/dist/A2UIMessageRenderer.d.cts.map +0 -1
  178. package/dist/A2UIMessageRenderer.d.mts +0 -11
  179. package/dist/A2UIMessageRenderer.d.mts.map +0 -1
  180. package/dist/A2UIMessageRenderer.mjs +0 -134
  181. package/dist/A2UIMessageRenderer.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
- import { v0_8 } from "@a2ui/lit";
2
1
  import React from "react";
2
+ import { v0_8 } from "@a2ui/lit";
3
3
 
4
4
  //#region src/A2UIViewer.d.ts
5
5
  interface A2UIActionEvent {
@@ -1,5 +1,5 @@
1
- import { v0_8 } from "@a2ui/lit";
2
1
  import React from "react";
2
+ import { v0_8 } from "@a2ui/lit";
3
3
 
4
4
  //#region src/A2UIViewer.d.ts
5
5
  interface A2UIActionEvent {
@@ -0,0 +1,9 @@
1
+ const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
2
+ let _a2ui_lit = require("@a2ui/lit");
3
+
4
+ //#region src/a2ui-types.ts
5
+ const DEFAULT_SURFACE_ID = _a2ui_lit.v0_8.Data.A2uiMessageProcessor.DEFAULT_SURFACE_ID;
6
+
7
+ //#endregion
8
+ exports.DEFAULT_SURFACE_ID = DEFAULT_SURFACE_ID;
9
+ //# sourceMappingURL=a2ui-types.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2ui-types.cjs","names":["v0_8"],"sources":["../src/a2ui-types.ts"],"sourcesContent":["import { v0_8 } from \"@a2ui/lit\";\n\nexport type Theme = v0_8.Types.Theme;\nexport type A2UIClientEventMessage = v0_8.Types.A2UIClientEventMessage;\nexport const DEFAULT_SURFACE_ID =\n v0_8.Data.A2uiMessageProcessor.DEFAULT_SURFACE_ID;\n"],"mappings":";;;;AAIA,MAAa,qBACXA,eAAK,KAAK,qBAAqB"}
@@ -0,0 +1,9 @@
1
+ import { v0_8 } from "@a2ui/lit";
2
+
3
+ //#region src/a2ui-types.d.ts
4
+ type Theme = v0_8.Types.Theme;
5
+ type A2UIClientEventMessage = v0_8.Types.A2UIClientEventMessage;
6
+ declare const DEFAULT_SURFACE_ID = "@default";
7
+ //#endregion
8
+ export { A2UIClientEventMessage, DEFAULT_SURFACE_ID, Theme };
9
+ //# sourceMappingURL=a2ui-types.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2ui-types.d.cts","names":[],"sources":["../src/a2ui-types.ts"],"mappings":";;;KAEY,KAAA,GAAQ,IAAA,CAAK,KAAA,CAAM,KAAA;AAAA,KACnB,sBAAA,GAAyB,IAAA,CAAK,KAAA,CAAM,sBAAA;AAAA,cACnC,kBAAA"}
@@ -0,0 +1,9 @@
1
+ import { v0_8 } from "@a2ui/lit";
2
+
3
+ //#region src/a2ui-types.d.ts
4
+ type Theme = v0_8.Types.Theme;
5
+ type A2UIClientEventMessage = v0_8.Types.A2UIClientEventMessage;
6
+ declare const DEFAULT_SURFACE_ID = "@default";
7
+ //#endregion
8
+ export { A2UIClientEventMessage, DEFAULT_SURFACE_ID, Theme };
9
+ //# sourceMappingURL=a2ui-types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2ui-types.d.mts","names":[],"sources":["../src/a2ui-types.ts"],"mappings":";;;KAEY,KAAA,GAAQ,IAAA,CAAK,KAAA,CAAM,KAAA;AAAA,KACnB,sBAAA,GAAyB,IAAA,CAAK,KAAA,CAAM,sBAAA;AAAA,cACnC,kBAAA"}
@@ -0,0 +1,8 @@
1
+ import { v0_8 } from "@a2ui/lit";
2
+
3
+ //#region src/a2ui-types.ts
4
+ const DEFAULT_SURFACE_ID = v0_8.Data.A2uiMessageProcessor.DEFAULT_SURFACE_ID;
5
+
6
+ //#endregion
7
+ export { DEFAULT_SURFACE_ID };
8
+ //# sourceMappingURL=a2ui-types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2ui-types.mjs","names":[],"sources":["../src/a2ui-types.ts"],"sourcesContent":["import { v0_8 } from \"@a2ui/lit\";\n\nexport type Theme = v0_8.Types.Theme;\nexport type A2UIClientEventMessage = v0_8.Types.A2UIClientEventMessage;\nexport const DEFAULT_SURFACE_ID =\n v0_8.Data.A2uiMessageProcessor.DEFAULT_SURFACE_ID;\n"],"mappings":";;;AAIA,MAAa,qBACX,KAAK,KAAK,qBAAqB"}
package/dist/index.cjs CHANGED
@@ -1,8 +1,80 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_A2UIMessageRenderer = require('./A2UIMessageRenderer.cjs');
2
+ const require_litTheme = require('./react-renderer/theme/litTheme.cjs');
3
+ const require_ThemeContext = require('./react-renderer/theme/ThemeContext.cjs');
4
+ const require_A2UIProvider = require('./react-renderer/core/A2UIProvider.cjs');
5
+ const require_useA2UI = require('./react-renderer/hooks/useA2UI.cjs');
6
+ const require_ComponentRegistry = require('./react-renderer/registry/ComponentRegistry.cjs');
7
+ const require_ComponentNode = require('./react-renderer/core/ComponentNode.cjs');
8
+ const require_utils = require('./react-renderer/theme/utils.cjs');
9
+ const require_utils$1 = require('./react-renderer/lib/utils.cjs');
10
+ const require_A2UIRenderer = require('./react-renderer/core/A2UIRenderer.cjs');
11
+ const require_useA2UIComponent = require('./react-renderer/hooks/useA2UIComponent.cjs');
12
+ const require_Text = require('./react-renderer/components/content/Text.cjs');
13
+ const require_Image = require('./react-renderer/components/content/Image.cjs');
14
+ const require_Icon = require('./react-renderer/components/content/Icon.cjs');
15
+ const require_Divider = require('./react-renderer/components/content/Divider.cjs');
16
+ const require_Video = require('./react-renderer/components/content/Video.cjs');
17
+ const require_AudioPlayer = require('./react-renderer/components/content/AudioPlayer.cjs');
18
+ const require_Row = require('./react-renderer/components/layout/Row.cjs');
19
+ const require_Column = require('./react-renderer/components/layout/Column.cjs');
20
+ const require_List = require('./react-renderer/components/layout/List.cjs');
21
+ const require_Card = require('./react-renderer/components/layout/Card.cjs');
22
+ const require_Tabs = require('./react-renderer/components/layout/Tabs.cjs');
23
+ const require_Modal = require('./react-renderer/components/layout/Modal.cjs');
24
+ const require_Button = require('./react-renderer/components/interactive/Button.cjs');
25
+ const require_TextField = require('./react-renderer/components/interactive/TextField.cjs');
26
+ const require_CheckBox = require('./react-renderer/components/interactive/CheckBox.cjs');
27
+ const require_Slider = require('./react-renderer/components/interactive/Slider.cjs');
28
+ const require_DateTimeInput = require('./react-renderer/components/interactive/DateTimeInput.cjs');
29
+ const require_MultipleChoice = require('./react-renderer/components/interactive/MultipleChoice.cjs');
30
+ const require_defaultCatalog = require('./react-renderer/registry/defaultCatalog.cjs');
31
+ const require_index = require('./react-renderer/styles/index.cjs');
32
+ require('./react-renderer/index.cjs');
3
33
  const require_viewer_theme = require('./theme/viewer-theme.cjs');
4
34
  const require_A2UIViewer = require('./A2UIViewer.cjs');
35
+ const require_a2ui_types = require('./a2ui-types.cjs');
5
36
 
37
+ exports.A2UIProvider = require_A2UIProvider.A2UIProvider;
38
+ exports.A2UIRenderer = require_A2UIRenderer;
6
39
  exports.A2UIViewer = require_A2UIViewer.A2UIViewer;
7
- exports.createA2UIMessageRenderer = require_A2UIMessageRenderer.createA2UIMessageRenderer;
40
+ exports.AudioPlayer = require_AudioPlayer;
41
+ exports.Button = require_Button;
42
+ exports.Card = require_Card;
43
+ exports.CheckBox = require_CheckBox;
44
+ exports.Column = require_Column;
45
+ exports.ComponentNode = require_ComponentNode;
46
+ exports.ComponentRegistry = require_ComponentRegistry.ComponentRegistry;
47
+ exports.DEFAULT_SURFACE_ID = require_a2ui_types.DEFAULT_SURFACE_ID;
48
+ exports.DateTimeInput = require_DateTimeInput;
49
+ exports.Divider = require_Divider;
50
+ exports.Icon = require_Icon;
51
+ exports.Image = require_Image;
52
+ exports.List = require_List;
53
+ exports.Modal = require_Modal;
54
+ exports.MultipleChoice = require_MultipleChoice;
55
+ exports.Row = require_Row;
56
+ exports.Slider = require_Slider;
57
+ exports.Tabs = require_Tabs;
58
+ exports.Text = require_Text;
59
+ exports.TextField = require_TextField;
60
+ exports.ThemeProvider = require_ThemeContext.ThemeProvider;
61
+ exports.Video = require_Video;
62
+ exports.classMapToString = require_utils.classMapToString;
63
+ exports.cn = require_utils$1.cn;
64
+ exports.defaultTheme = require_litTheme.defaultTheme;
65
+ exports.initializeDefaultCatalog = require_defaultCatalog.initializeDefaultCatalog;
66
+ exports.injectStyles = require_index.injectStyles;
67
+ exports.litTheme = require_litTheme.litTheme;
68
+ exports.registerDefaultCatalog = require_defaultCatalog.registerDefaultCatalog;
69
+ exports.removeStyles = require_index.removeStyles;
70
+ exports.stylesToObject = require_utils.stylesToObject;
71
+ exports.useA2UI = require_useA2UI.useA2UI;
72
+ exports.useA2UIActions = require_A2UIProvider.useA2UIActions;
73
+ exports.useA2UIComponent = require_useA2UIComponent.useA2UIComponent;
74
+ exports.useA2UIContext = require_A2UIProvider.useA2UIContext;
75
+ exports.useA2UIState = require_A2UIProvider.useA2UIState;
76
+ exports.useA2UIStore = require_A2UIProvider.useA2UIStore;
77
+ exports.useA2UIStoreSelector = require_A2UIProvider.useA2UIStoreSelector;
78
+ exports.useTheme = require_ThemeContext.useTheme;
79
+ exports.useThemeOptional = require_ThemeContext.useThemeOptional;
8
80
  exports.viewerTheme = require_viewer_theme.theme;
package/dist/index.d.cts CHANGED
@@ -1,5 +1,38 @@
1
- import { A2UIMessageRendererOptions, createA2UIMessageRenderer } from "./A2UIMessageRenderer.cjs";
1
+ import { A2UIComponentProps, A2UIProviderConfig, BooleanValue, ComponentLoader, ComponentRegistration, DataValue, MessageProcessor, NumberValue, OnActionCallback, Primitives, StringValue, SurfaceID, Types } from "./react-renderer/types.cjs";
2
+ import { A2UIProvider, A2UIProviderProps, useA2UIActions, useA2UIContext, useA2UIState, useA2UIStore, useA2UIStoreSelector } from "./react-renderer/core/A2UIProvider.cjs";
3
+ import { ComponentRegistry } from "./react-renderer/registry/ComponentRegistry.cjs";
4
+ import { A2UIRenderer, A2UIRendererProps } from "./react-renderer/core/A2UIRenderer.cjs";
5
+ import { A2UIActionEvent } from "./react-renderer/core/A2UIViewer.cjs";
6
+ import { ComponentNode } from "./react-renderer/core/ComponentNode.cjs";
7
+ import { UseA2UIResult, useA2UI } from "./react-renderer/hooks/useA2UI.cjs";
8
+ import { UseA2UIComponentResult, useA2UIComponent } from "./react-renderer/hooks/useA2UIComponent.cjs";
9
+ import { initializeDefaultCatalog, registerDefaultCatalog } from "./react-renderer/registry/defaultCatalog.cjs";
10
+ import { ThemeProvider, useTheme, useThemeOptional } from "./react-renderer/theme/ThemeContext.cjs";
11
+ import { defaultTheme, litTheme } from "./react-renderer/theme/litTheme.cjs";
12
+ import { classMapToString, stylesToObject } from "./react-renderer/theme/utils.cjs";
13
+ import { cn } from "./react-renderer/lib/utils.cjs";
14
+ import { injectStyles, removeStyles } from "./react-renderer/styles/index.cjs";
15
+ import { Text } from "./react-renderer/components/content/Text.cjs";
16
+ import { Image } from "./react-renderer/components/content/Image.cjs";
17
+ import { Icon } from "./react-renderer/components/content/Icon.cjs";
18
+ import { Divider } from "./react-renderer/components/content/Divider.cjs";
19
+ import { Video } from "./react-renderer/components/content/Video.cjs";
20
+ import { AudioPlayer } from "./react-renderer/components/content/AudioPlayer.cjs";
21
+ import { Row } from "./react-renderer/components/layout/Row.cjs";
22
+ import { Column } from "./react-renderer/components/layout/Column.cjs";
23
+ import { List } from "./react-renderer/components/layout/List.cjs";
24
+ import { Card } from "./react-renderer/components/layout/Card.cjs";
25
+ import { Tabs } from "./react-renderer/components/layout/Tabs.cjs";
26
+ import { Modal } from "./react-renderer/components/layout/Modal.cjs";
27
+ import { Button } from "./react-renderer/components/interactive/Button.cjs";
28
+ import { TextField } from "./react-renderer/components/interactive/TextField.cjs";
29
+ import { CheckBox } from "./react-renderer/components/interactive/CheckBox.cjs";
30
+ import { Slider } from "./react-renderer/components/interactive/Slider.cjs";
31
+ import { DateTimeInput } from "./react-renderer/components/interactive/DateTimeInput.cjs";
32
+ import { MultipleChoice } from "./react-renderer/components/interactive/MultipleChoice.cjs";
33
+ import "./react-renderer/index.cjs";
2
34
  import { A2UIViewer, A2UIViewerProps } from "./A2UIViewer.cjs";
35
+ import { A2UIClientEventMessage, DEFAULT_SURFACE_ID, Theme } from "./a2ui-types.cjs";
3
36
  import { theme } from "./theme/viewer-theme.cjs";
4
37
  import { v0_8 } from "@a2ui/lit";
5
38
 
@@ -11,5 +44,5 @@ type ServerToClientMessage = v0_8.Types.ServerToClientMessage;
11
44
  type Surface = v0_8.Types.Surface;
12
45
  type AnyComponentNode = v0_8.Types.AnyComponentNode;
13
46
  //#endregion
14
- export { type A2UIMessageRendererOptions, A2UIViewer, type A2UIViewerProps, Action, AnyComponentNode, ComponentInstance, ServerToClientMessage, Surface, UserAction, createA2UIMessageRenderer, theme as viewerTheme };
47
+ export { A2UIActionEvent, type A2UIClientEventMessage, A2UIComponentProps, A2UIProvider, A2UIProviderConfig, A2UIProviderProps, A2UIRenderer, A2UIRendererProps, A2UIViewer, type A2UIViewerProps, Action, AnyComponentNode, AudioPlayer, BooleanValue, Button, Card, CheckBox, Column, ComponentInstance, ComponentLoader, ComponentNode, ComponentRegistration, ComponentRegistry, DEFAULT_SURFACE_ID, DataValue, DateTimeInput, Divider, Icon, Image, List, MessageProcessor, Modal, MultipleChoice, NumberValue, OnActionCallback, Primitives, Row, ServerToClientMessage, Slider, StringValue, Surface, SurfaceID, Tabs, Text, TextField, type Theme, ThemeProvider, Types, UseA2UIComponentResult, UseA2UIResult, UserAction, Video, classMapToString, cn, defaultTheme, initializeDefaultCatalog, injectStyles, litTheme, registerDefaultCatalog, removeStyles, stylesToObject, useA2UI, useA2UIActions, useA2UIComponent, useA2UIContext, useA2UIState, useA2UIStore, useA2UIStoreSelector, useTheme, useThemeOptional, theme as viewerTheme };
15
48
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;KAwBY,iBAAA,GAAoB,IAAA,CAAK,KAAA,CAAM,iBAAA;AAAA,KAC/B,UAAA,GAAa,IAAA,CAAK,KAAA,CAAM,UAAA;AAAA,KACxB,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,MAAA;AAAA,KACpB,qBAAA,GAAwB,IAAA,CAAK,KAAA,CAAM,qBAAA;AAAA,KACnC,OAAA,GAAU,IAAA,CAAK,KAAA,CAAM,OAAA;AAAA,KACrB,gBAAA,GAAmB,IAAA,CAAK,KAAA,CAAM,gBAAA"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyBY,iBAAA,GAAoB,IAAA,CAAK,KAAA,CAAM,iBAAA;AAAA,KAC/B,UAAA,GAAa,IAAA,CAAK,KAAA,CAAM,UAAA;AAAA,KACxB,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,MAAA;AAAA,KACpB,qBAAA,GAAwB,IAAA,CAAK,KAAA,CAAM,qBAAA;AAAA,KACnC,OAAA,GAAU,IAAA,CAAK,KAAA,CAAM,OAAA;AAAA,KACrB,gBAAA,GAAmB,IAAA,CAAK,KAAA,CAAM,gBAAA"}
package/dist/index.d.mts CHANGED
@@ -1,5 +1,38 @@
1
- import { A2UIMessageRendererOptions, createA2UIMessageRenderer } from "./A2UIMessageRenderer.mjs";
1
+ import { A2UIComponentProps, A2UIProviderConfig, BooleanValue, ComponentLoader, ComponentRegistration, DataValue, MessageProcessor, NumberValue, OnActionCallback, Primitives, StringValue, SurfaceID, Types } from "./react-renderer/types.mjs";
2
+ import { A2UIProvider, A2UIProviderProps, useA2UIActions, useA2UIContext, useA2UIState, useA2UIStore, useA2UIStoreSelector } from "./react-renderer/core/A2UIProvider.mjs";
3
+ import { ComponentRegistry } from "./react-renderer/registry/ComponentRegistry.mjs";
4
+ import { A2UIRenderer, A2UIRendererProps } from "./react-renderer/core/A2UIRenderer.mjs";
5
+ import { A2UIActionEvent } from "./react-renderer/core/A2UIViewer.mjs";
6
+ import { ComponentNode } from "./react-renderer/core/ComponentNode.mjs";
7
+ import { UseA2UIResult, useA2UI } from "./react-renderer/hooks/useA2UI.mjs";
8
+ import { UseA2UIComponentResult, useA2UIComponent } from "./react-renderer/hooks/useA2UIComponent.mjs";
9
+ import { initializeDefaultCatalog, registerDefaultCatalog } from "./react-renderer/registry/defaultCatalog.mjs";
10
+ import { ThemeProvider, useTheme, useThemeOptional } from "./react-renderer/theme/ThemeContext.mjs";
11
+ import { defaultTheme, litTheme } from "./react-renderer/theme/litTheme.mjs";
12
+ import { classMapToString, stylesToObject } from "./react-renderer/theme/utils.mjs";
13
+ import { cn } from "./react-renderer/lib/utils.mjs";
14
+ import { injectStyles, removeStyles } from "./react-renderer/styles/index.mjs";
15
+ import { Text } from "./react-renderer/components/content/Text.mjs";
16
+ import { Image } from "./react-renderer/components/content/Image.mjs";
17
+ import { Icon } from "./react-renderer/components/content/Icon.mjs";
18
+ import { Divider } from "./react-renderer/components/content/Divider.mjs";
19
+ import { Video } from "./react-renderer/components/content/Video.mjs";
20
+ import { AudioPlayer } from "./react-renderer/components/content/AudioPlayer.mjs";
21
+ import { Row } from "./react-renderer/components/layout/Row.mjs";
22
+ import { Column } from "./react-renderer/components/layout/Column.mjs";
23
+ import { List } from "./react-renderer/components/layout/List.mjs";
24
+ import { Card } from "./react-renderer/components/layout/Card.mjs";
25
+ import { Tabs } from "./react-renderer/components/layout/Tabs.mjs";
26
+ import { Modal } from "./react-renderer/components/layout/Modal.mjs";
27
+ import { Button } from "./react-renderer/components/interactive/Button.mjs";
28
+ import { TextField } from "./react-renderer/components/interactive/TextField.mjs";
29
+ import { CheckBox } from "./react-renderer/components/interactive/CheckBox.mjs";
30
+ import { Slider } from "./react-renderer/components/interactive/Slider.mjs";
31
+ import { DateTimeInput } from "./react-renderer/components/interactive/DateTimeInput.mjs";
32
+ import { MultipleChoice } from "./react-renderer/components/interactive/MultipleChoice.mjs";
33
+ import "./react-renderer/index.mjs";
2
34
  import { A2UIViewer, A2UIViewerProps } from "./A2UIViewer.mjs";
35
+ import { A2UIClientEventMessage, DEFAULT_SURFACE_ID, Theme } from "./a2ui-types.mjs";
3
36
  import { theme } from "./theme/viewer-theme.mjs";
4
37
  import { v0_8 } from "@a2ui/lit";
5
38
 
@@ -11,5 +44,5 @@ type ServerToClientMessage = v0_8.Types.ServerToClientMessage;
11
44
  type Surface = v0_8.Types.Surface;
12
45
  type AnyComponentNode = v0_8.Types.AnyComponentNode;
13
46
  //#endregion
14
- export { type A2UIMessageRendererOptions, A2UIViewer, type A2UIViewerProps, Action, AnyComponentNode, ComponentInstance, ServerToClientMessage, Surface, UserAction, createA2UIMessageRenderer, theme as viewerTheme };
47
+ export { A2UIActionEvent, type A2UIClientEventMessage, A2UIComponentProps, A2UIProvider, A2UIProviderConfig, A2UIProviderProps, A2UIRenderer, A2UIRendererProps, A2UIViewer, type A2UIViewerProps, Action, AnyComponentNode, AudioPlayer, BooleanValue, Button, Card, CheckBox, Column, ComponentInstance, ComponentLoader, ComponentNode, ComponentRegistration, ComponentRegistry, DEFAULT_SURFACE_ID, DataValue, DateTimeInput, Divider, Icon, Image, List, MessageProcessor, Modal, MultipleChoice, NumberValue, OnActionCallback, Primitives, Row, ServerToClientMessage, Slider, StringValue, Surface, SurfaceID, Tabs, Text, TextField, type Theme, ThemeProvider, Types, UseA2UIComponentResult, UseA2UIResult, UserAction, Video, classMapToString, cn, defaultTheme, initializeDefaultCatalog, injectStyles, litTheme, registerDefaultCatalog, removeStyles, stylesToObject, useA2UI, useA2UIActions, useA2UIComponent, useA2UIContext, useA2UIState, useA2UIStore, useA2UIStoreSelector, useTheme, useThemeOptional, theme as viewerTheme };
15
48
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;KAwBY,iBAAA,GAAoB,IAAA,CAAK,KAAA,CAAM,iBAAA;AAAA,KAC/B,UAAA,GAAa,IAAA,CAAK,KAAA,CAAM,UAAA;AAAA,KACxB,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,MAAA;AAAA,KACpB,qBAAA,GAAwB,IAAA,CAAK,KAAA,CAAM,qBAAA;AAAA,KACnC,OAAA,GAAU,IAAA,CAAK,KAAA,CAAM,OAAA;AAAA,KACrB,gBAAA,GAAmB,IAAA,CAAK,KAAA,CAAM,gBAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyBY,iBAAA,GAAoB,IAAA,CAAK,KAAA,CAAM,iBAAA;AAAA,KAC/B,UAAA,GAAa,IAAA,CAAK,KAAA,CAAM,UAAA;AAAA,KACxB,MAAA,GAAS,IAAA,CAAK,KAAA,CAAM,MAAA;AAAA,KACpB,qBAAA,GAAwB,IAAA,CAAK,KAAA,CAAM,qBAAA;AAAA,KACnC,OAAA,GAAU,IAAA,CAAK,KAAA,CAAM,OAAA;AAAA,KACrB,gBAAA,GAAmB,IAAA,CAAK,KAAA,CAAM,gBAAA"}
package/dist/index.mjs CHANGED
@@ -1,5 +1,36 @@
1
- import { createA2UIMessageRenderer } from "./A2UIMessageRenderer.mjs";
1
+ import { defaultTheme, litTheme } from "./react-renderer/theme/litTheme.mjs";
2
+ import { ThemeProvider, useTheme, useThemeOptional } from "./react-renderer/theme/ThemeContext.mjs";
3
+ import { A2UIProvider, useA2UIActions, useA2UIContext, useA2UIState, useA2UIStore, useA2UIStoreSelector } from "./react-renderer/core/A2UIProvider.mjs";
4
+ import { useA2UI } from "./react-renderer/hooks/useA2UI.mjs";
5
+ import { ComponentRegistry } from "./react-renderer/registry/ComponentRegistry.mjs";
6
+ import ComponentNode from "./react-renderer/core/ComponentNode.mjs";
7
+ import { classMapToString, stylesToObject } from "./react-renderer/theme/utils.mjs";
8
+ import { cn } from "./react-renderer/lib/utils.mjs";
9
+ import A2UIRenderer from "./react-renderer/core/A2UIRenderer.mjs";
10
+ import { useA2UIComponent } from "./react-renderer/hooks/useA2UIComponent.mjs";
11
+ import Text from "./react-renderer/components/content/Text.mjs";
12
+ import Image from "./react-renderer/components/content/Image.mjs";
13
+ import Icon from "./react-renderer/components/content/Icon.mjs";
14
+ import Divider from "./react-renderer/components/content/Divider.mjs";
15
+ import Video from "./react-renderer/components/content/Video.mjs";
16
+ import AudioPlayer from "./react-renderer/components/content/AudioPlayer.mjs";
17
+ import Row from "./react-renderer/components/layout/Row.mjs";
18
+ import Column from "./react-renderer/components/layout/Column.mjs";
19
+ import List from "./react-renderer/components/layout/List.mjs";
20
+ import Card from "./react-renderer/components/layout/Card.mjs";
21
+ import Tabs from "./react-renderer/components/layout/Tabs.mjs";
22
+ import Modal from "./react-renderer/components/layout/Modal.mjs";
23
+ import Button from "./react-renderer/components/interactive/Button.mjs";
24
+ import TextField from "./react-renderer/components/interactive/TextField.mjs";
25
+ import CheckBox from "./react-renderer/components/interactive/CheckBox.mjs";
26
+ import Slider from "./react-renderer/components/interactive/Slider.mjs";
27
+ import DateTimeInput from "./react-renderer/components/interactive/DateTimeInput.mjs";
28
+ import MultipleChoice from "./react-renderer/components/interactive/MultipleChoice.mjs";
29
+ import { initializeDefaultCatalog, registerDefaultCatalog } from "./react-renderer/registry/defaultCatalog.mjs";
30
+ import { injectStyles, removeStyles } from "./react-renderer/styles/index.mjs";
31
+ import "./react-renderer/index.mjs";
2
32
  import { theme } from "./theme/viewer-theme.mjs";
3
33
  import { A2UIViewer } from "./A2UIViewer.mjs";
34
+ import { DEFAULT_SURFACE_ID } from "./a2ui-types.mjs";
4
35
 
5
- export { A2UIViewer, createA2UIMessageRenderer, theme as viewerTheme };
36
+ export { A2UIProvider, A2UIRenderer, A2UIViewer, AudioPlayer, Button, Card, CheckBox, Column, ComponentNode, ComponentRegistry, DEFAULT_SURFACE_ID, DateTimeInput, Divider, Icon, Image, List, Modal, MultipleChoice, Row, Slider, Tabs, Text, TextField, ThemeProvider, Video, classMapToString, cn, defaultTheme, initializeDefaultCatalog, injectStyles, litTheme, registerDefaultCatalog, removeStyles, stylesToObject, useA2UI, useA2UIActions, useA2UIComponent, useA2UIContext, useA2UIState, useA2UIStore, useA2UIStoreSelector, useTheme, useThemeOptional, theme as viewerTheme };
package/dist/index.umd.js CHANGED
@@ -1,8 +1,8 @@
1
1
  (function(global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@copilotkit/react-core/v2'), require('@a2ui/lit'), require('react'), require('zod'), require('@a2ui/lit/0.8'), require('react/jsx-runtime'), require('clsx'), require('markdown-it')) :
3
- typeof define === 'function' && define.amd ? define(['exports', '@copilotkit/react-core/v2', '@a2ui/lit', 'react', 'zod', '@a2ui/lit/0.8', 'react/jsx-runtime', 'clsx', 'markdown-it'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.CopilotKitA2UIRenderer = {}), global.CopilotKitReactCore,global.A2UILit,global.React,global.Zod,global.A2UILit,global.React,global.clsx,global.markdownit));
5
- })(this, function(exports, _copilotkit_react_core_v2, _a2ui_lit, react, zod, _a2ui_lit_0_8, react_jsx_runtime, clsx, markdown_it) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('@a2ui/lit/0.8'), require('react/jsx-runtime'), require('clsx'), require('markdown-it'), require('@a2ui/lit')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'react', '@a2ui/lit/0.8', 'react/jsx-runtime', 'clsx', 'markdown-it', '@a2ui/lit'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.CopilotKitA2UIRenderer = {}), global.React,global.A2UILit,global.React,global.clsx,global.markdownit,global.A2UILit));
5
+ })(this, function(exports, react, _a2ui_lit_0_8, react_jsx_runtime, clsx, markdown_it, _a2ui_lit) {
6
6
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
7
7
  //#region \0rolldown/runtime.js
8
8
  var __create = Object.create;
@@ -424,6 +424,14 @@ markdown_it = __toESM(markdown_it);
424
424
  if (!theme) throw new Error("useTheme must be used within a ThemeProvider or A2UIProvider");
425
425
  return theme;
426
426
  }
427
+ /**
428
+ * Hook to optionally access the current A2UI theme.
429
+ *
430
+ * @returns The current theme, or undefined if not within a provider
431
+ */
432
+ function useThemeOptional() {
433
+ return (0, react.useContext)(ThemeContext);
434
+ }
427
435
 
428
436
  //#endregion
429
437
  //#region src/react-renderer/core/A2UIProvider.tsx
@@ -537,6 +545,38 @@ markdown_it = __toESM(markdown_it);
537
545
  if (!state) throw new Error("useA2UIState must be used within an A2UIProvider");
538
546
  return state;
539
547
  }
548
+ /**
549
+ * Hook to access the full A2UI context (actions + state).
550
+ * Components using this will re-render when state changes.
551
+ *
552
+ * @returns The A2UI context value
553
+ * @throws If used outside of an A2UIProvider
554
+ */
555
+ function useA2UIContext() {
556
+ const actions = useA2UIActions();
557
+ const state = useA2UIState();
558
+ return (0, react.useMemo)(() => ({
559
+ ...actions,
560
+ processor: null,
561
+ version: state.version,
562
+ onAction: null
563
+ }), [actions, state.version]);
564
+ }
565
+ /**
566
+ * @deprecated Use useA2UIContext instead. This alias exists for backward compatibility only.
567
+ */
568
+ const useA2UIStore = useA2UIContext;
569
+ /**
570
+ * @deprecated This selector pattern does not provide performance benefits with React Context.
571
+ * Components will re-render on any context change regardless of what you select.
572
+ * Use useA2UIContext() or useA2UI() directly instead.
573
+ *
574
+ * @param selector - Function to select a slice of state
575
+ * @returns The selected state
576
+ */
577
+ function useA2UIStoreSelector(selector) {
578
+ return selector(useA2UIContext());
579
+ }
540
580
 
541
581
  //#endregion
542
582
  //#region src/react-renderer/hooks/useA2UI.ts
@@ -2433,130 +2473,14 @@ markdown_it = __toESM(markdown_it);
2433
2473
  styleElement.textContent = resetStyles + "\n" + structuralStyles + "\n" + componentSpecificStyles;
2434
2474
  document.head.appendChild(styleElement);
2435
2475
  }
2436
-
2437
- //#endregion
2438
- //#region src/A2UIMessageRenderer.tsx
2439
- let initialized$1 = false;
2440
- function ensureInitialized$1() {
2441
- if (!initialized$1) {
2442
- initializeDefaultCatalog();
2443
- injectStyles();
2444
- initialized$1 = true;
2445
- }
2446
- }
2447
- function createA2UIMessageRenderer(options) {
2448
- const { theme } = options;
2449
- return {
2450
- activityType: "a2ui-surface",
2451
- content: zod.z.any(),
2452
- render: ({ content, agent }) => {
2453
- ensureInitialized$1();
2454
- const [operations, setOperations] = (0, react.useState)([]);
2455
- const lastSignatureRef = (0, react.useRef)(null);
2456
- const { copilotkit } = (0, _copilotkit_react_core_v2.useCopilotKit)();
2457
- (0, react.useEffect)(() => {
2458
- if (!content || !Array.isArray(content.operations)) {
2459
- lastSignatureRef.current = null;
2460
- setOperations([]);
2461
- return;
2462
- }
2463
- const incoming = content.operations;
2464
- const signature = stringifyOperations(incoming);
2465
- if (signature && signature === lastSignatureRef.current) return;
2466
- lastSignatureRef.current = signature;
2467
- setOperations(incoming);
2468
- }, [content]);
2469
- const groupedOperations = (0, react.useMemo)(() => {
2470
- const groups = /* @__PURE__ */ new Map();
2471
- for (const operation of operations) {
2472
- var _getOperationSurfaceI;
2473
- const surfaceId = (_getOperationSurfaceI = getOperationSurfaceId(operation)) !== null && _getOperationSurfaceI !== void 0 ? _getOperationSurfaceI : _a2ui_lit.v0_8.Data.A2uiMessageProcessor.DEFAULT_SURFACE_ID;
2474
- if (!groups.has(surfaceId)) groups.set(surfaceId, []);
2475
- groups.get(surfaceId).push(operation);
2476
- }
2477
- return groups;
2478
- }, [operations]);
2479
- if (!groupedOperations.size) return null;
2480
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
2481
- className: "flex min-h-0 flex-1 flex-col gap-6 overflow-auto py-6",
2482
- children: Array.from(groupedOperations.entries()).map(([surfaceId, ops]) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ReactSurfaceHost, {
2483
- surfaceId,
2484
- operations: ops,
2485
- theme,
2486
- agent,
2487
- copilotkit
2488
- }, surfaceId))
2489
- });
2490
- }
2491
- };
2492
- }
2493
2476
  /**
2494
- * Renders a single A2UI surface using the React renderer.
2495
- * Wraps A2UIProvider + A2UIRenderer and bridges actions back to CopilotKit.
2477
+ * Removes injected A2UI styles from the document.
2478
+ * Useful for cleanup in tests or when unmounting.
2496
2479
  */
2497
- function ReactSurfaceHost({ surfaceId, operations, theme, agent, copilotkit }) {
2498
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
2499
- className: "flex w-full flex-none overflow-hidden rounded-lg bg-white/5 p-4",
2500
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(A2UIProvider, {
2501
- onAction: (0, react.useCallback)(async (message) => {
2502
- if (!agent) return;
2503
- try {
2504
- var _copilotkit$propertie;
2505
- console.info("[A2UI] Action dispatched", message.userAction);
2506
- copilotkit.setProperties({
2507
- ...(_copilotkit$propertie = copilotkit.properties) !== null && _copilotkit$propertie !== void 0 ? _copilotkit$propertie : {},
2508
- a2uiAction: message
2509
- });
2510
- await copilotkit.runAgent({ agent });
2511
- } finally {
2512
- if (copilotkit.properties) {
2513
- const { a2uiAction, ...rest } = copilotkit.properties;
2514
- copilotkit.setProperties(rest);
2515
- }
2516
- }
2517
- }, [agent, copilotkit]),
2518
- theme,
2519
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(SurfaceMessageProcessor, {
2520
- surfaceId,
2521
- operations
2522
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(A2UIRenderer, {
2523
- surfaceId,
2524
- className: "flex flex-1"
2525
- })]
2526
- })
2527
- });
2528
- }
2529
- /**
2530
- * Processes A2UI operations into the provider's message processor.
2531
- * Must be a child of A2UIProvider to access the actions context.
2532
- */
2533
- function SurfaceMessageProcessor({ surfaceId, operations }) {
2534
- const { processMessages } = useA2UIActions();
2535
- const lastProcessedRef = (0, react.useRef)("");
2536
- (0, react.useEffect)(() => {
2537
- const key = `${surfaceId}-${JSON.stringify(operations)}`;
2538
- if (key === lastProcessedRef.current) return;
2539
- lastProcessedRef.current = key;
2540
- processMessages(operations);
2541
- }, [
2542
- processMessages,
2543
- surfaceId,
2544
- operations
2545
- ]);
2546
- return null;
2547
- }
2548
- function getOperationSurfaceId(operation) {
2549
- var _ref, _ref2, _ref3, _operation$beginRende, _operation$beginRende2, _operation$surfaceUpd, _operation$dataModelU, _operation$deleteSurf;
2550
- if (!operation || typeof operation !== "object") return null;
2551
- if (typeof operation.surfaceId === "string") return operation.surfaceId;
2552
- return (_ref = (_ref2 = (_ref3 = (_operation$beginRende = operation === null || operation === void 0 || (_operation$beginRende2 = operation.beginRendering) === null || _operation$beginRende2 === void 0 ? void 0 : _operation$beginRende2.surfaceId) !== null && _operation$beginRende !== void 0 ? _operation$beginRende : operation === null || operation === void 0 || (_operation$surfaceUpd = operation.surfaceUpdate) === null || _operation$surfaceUpd === void 0 ? void 0 : _operation$surfaceUpd.surfaceId) !== null && _ref3 !== void 0 ? _ref3 : operation === null || operation === void 0 || (_operation$dataModelU = operation.dataModelUpdate) === null || _operation$dataModelU === void 0 ? void 0 : _operation$dataModelU.surfaceId) !== null && _ref2 !== void 0 ? _ref2 : operation === null || operation === void 0 || (_operation$deleteSurf = operation.deleteSurface) === null || _operation$deleteSurf === void 0 ? void 0 : _operation$deleteSurf.surfaceId) !== null && _ref !== void 0 ? _ref : null;
2553
- }
2554
- function stringifyOperations(ops) {
2555
- try {
2556
- return JSON.stringify(ops);
2557
- } catch (error) {
2558
- return null;
2559
- }
2480
+ function removeStyles() {
2481
+ if (typeof document === "undefined") return;
2482
+ const styleElement = document.getElementById("a2ui-structural-styles");
2483
+ if (styleElement) styleElement.remove();
2560
2484
  }
2561
2485
 
2562
2486
  //#endregion
@@ -3064,8 +2988,53 @@ markdown_it = __toESM(markdown_it);
3064
2988
  }
3065
2989
 
3066
2990
  //#endregion
2991
+ //#region src/a2ui-types.ts
2992
+ const DEFAULT_SURFACE_ID = _a2ui_lit.v0_8.Data.A2uiMessageProcessor.DEFAULT_SURFACE_ID;
2993
+
2994
+ //#endregion
2995
+ exports.A2UIProvider = A2UIProvider;
2996
+ exports.A2UIRenderer = A2UIRenderer;
3067
2997
  exports.A2UIViewer = A2UIViewer;
3068
- exports.createA2UIMessageRenderer = createA2UIMessageRenderer;
2998
+ exports.AudioPlayer = AudioPlayer;
2999
+ exports.Button = Button;
3000
+ exports.Card = Card;
3001
+ exports.CheckBox = CheckBox;
3002
+ exports.Column = Column;
3003
+ exports.ComponentNode = ComponentNode;
3004
+ exports.ComponentRegistry = ComponentRegistry;
3005
+ exports.DEFAULT_SURFACE_ID = DEFAULT_SURFACE_ID;
3006
+ exports.DateTimeInput = DateTimeInput;
3007
+ exports.Divider = Divider;
3008
+ exports.Icon = Icon;
3009
+ exports.Image = Image;
3010
+ exports.List = List;
3011
+ exports.Modal = Modal;
3012
+ exports.MultipleChoice = MultipleChoice;
3013
+ exports.Row = Row;
3014
+ exports.Slider = Slider;
3015
+ exports.Tabs = Tabs;
3016
+ exports.Text = Text;
3017
+ exports.TextField = TextField;
3018
+ exports.ThemeProvider = ThemeProvider;
3019
+ exports.Video = Video;
3020
+ exports.classMapToString = classMapToString;
3021
+ exports.cn = cn;
3022
+ exports.defaultTheme = defaultTheme;
3023
+ exports.initializeDefaultCatalog = initializeDefaultCatalog;
3024
+ exports.injectStyles = injectStyles;
3025
+ exports.litTheme = litTheme;
3026
+ exports.registerDefaultCatalog = registerDefaultCatalog;
3027
+ exports.removeStyles = removeStyles;
3028
+ exports.stylesToObject = stylesToObject;
3029
+ exports.useA2UI = useA2UI;
3030
+ exports.useA2UIActions = useA2UIActions;
3031
+ exports.useA2UIComponent = useA2UIComponent;
3032
+ exports.useA2UIContext = useA2UIContext;
3033
+ exports.useA2UIState = useA2UIState;
3034
+ exports.useA2UIStore = useA2UIStore;
3035
+ exports.useA2UIStoreSelector = useA2UIStoreSelector;
3036
+ exports.useTheme = useTheme;
3037
+ exports.useThemeOptional = useThemeOptional;
3069
3038
  exports.viewerTheme = theme;
3070
3039
  });
3071
3040
  //# sourceMappingURL=index.umd.js.map