@copilotkit/a2ui-renderer 1.51.4-next.7 → 1.51.4
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/dist/.tsbuildinfo +1 -1
- package/dist/A2UIMessageRenderer.d.ts.map +1 -1
- package/dist/A2UIMessageRenderer.js +6 -5
- package/dist/A2UIMessageRenderer.js.map +1 -1
- package/dist/A2UIViewer.d.ts.map +1 -1
- package/dist/A2UIViewer.js +1 -1
- package/dist/A2UIViewer.js.map +1 -1
- package/dist/__tests__/A2UIMessageRenderer.test.js +43 -12
- package/dist/__tests__/A2UIMessageRenderer.test.js.map +1 -1
- package/dist/__tests__/clsx-shim.d.ts +8 -0
- package/dist/__tests__/clsx-shim.d.ts.map +1 -0
- package/dist/__tests__/clsx-shim.js +24 -0
- package/dist/__tests__/clsx-shim.js.map +1 -0
- package/dist/index.umd.js.map +1 -1
- package/dist/react-renderer/components/content/AudioPlayer.d.ts +2 -2
- package/dist/react-renderer/components/content/AudioPlayer.d.ts.map +1 -1
- package/dist/react-renderer/components/content/AudioPlayer.js +5 -5
- package/dist/react-renderer/components/content/AudioPlayer.js.map +1 -1
- package/dist/react-renderer/components/content/Divider.d.ts +2 -2
- package/dist/react-renderer/components/content/Divider.d.ts.map +1 -1
- package/dist/react-renderer/components/content/Divider.js +5 -5
- package/dist/react-renderer/components/content/Divider.js.map +1 -1
- package/dist/react-renderer/components/content/Icon.d.ts +2 -2
- package/dist/react-renderer/components/content/Icon.d.ts.map +1 -1
- package/dist/react-renderer/components/content/Icon.js +6 -6
- package/dist/react-renderer/components/content/Icon.js.map +1 -1
- package/dist/react-renderer/components/content/Image.d.ts +2 -2
- package/dist/react-renderer/components/content/Image.d.ts.map +1 -1
- package/dist/react-renderer/components/content/Image.js +7 -7
- package/dist/react-renderer/components/content/Image.js.map +1 -1
- package/dist/react-renderer/components/content/Text.d.ts +2 -2
- package/dist/react-renderer/components/content/Text.d.ts.map +1 -1
- package/dist/react-renderer/components/content/Text.js +19 -17
- package/dist/react-renderer/components/content/Text.js.map +1 -1
- package/dist/react-renderer/components/content/Video.d.ts +2 -2
- package/dist/react-renderer/components/content/Video.d.ts.map +1 -1
- package/dist/react-renderer/components/content/Video.js +6 -6
- package/dist/react-renderer/components/content/Video.js.map +1 -1
- package/dist/react-renderer/components/content/index.d.ts +6 -6
- package/dist/react-renderer/components/content/index.js +6 -6
- package/dist/react-renderer/components/interactive/Button.d.ts +2 -2
- package/dist/react-renderer/components/interactive/Button.d.ts.map +1 -1
- package/dist/react-renderer/components/interactive/Button.js +6 -6
- package/dist/react-renderer/components/interactive/Button.js.map +1 -1
- package/dist/react-renderer/components/interactive/CheckBox.d.ts +2 -2
- package/dist/react-renderer/components/interactive/CheckBox.d.ts.map +1 -1
- package/dist/react-renderer/components/interactive/CheckBox.js +5 -5
- package/dist/react-renderer/components/interactive/CheckBox.js.map +1 -1
- package/dist/react-renderer/components/interactive/DateTimeInput.d.ts +2 -2
- package/dist/react-renderer/components/interactive/DateTimeInput.d.ts.map +1 -1
- package/dist/react-renderer/components/interactive/DateTimeInput.js +12 -12
- package/dist/react-renderer/components/interactive/DateTimeInput.js.map +1 -1
- package/dist/react-renderer/components/interactive/MultipleChoice.d.ts +2 -2
- package/dist/react-renderer/components/interactive/MultipleChoice.d.ts.map +1 -1
- package/dist/react-renderer/components/interactive/MultipleChoice.js +5 -5
- package/dist/react-renderer/components/interactive/MultipleChoice.js.map +1 -1
- package/dist/react-renderer/components/interactive/Slider.d.ts +2 -2
- package/dist/react-renderer/components/interactive/Slider.js +6 -6
- package/dist/react-renderer/components/interactive/Slider.js.map +1 -1
- package/dist/react-renderer/components/interactive/TextField.d.ts +2 -2
- package/dist/react-renderer/components/interactive/TextField.d.ts.map +1 -1
- package/dist/react-renderer/components/interactive/TextField.js +8 -12
- package/dist/react-renderer/components/interactive/TextField.js.map +1 -1
- package/dist/react-renderer/components/interactive/index.d.ts +6 -6
- package/dist/react-renderer/components/interactive/index.js +6 -6
- package/dist/react-renderer/components/layout/Card.d.ts +2 -2
- package/dist/react-renderer/components/layout/Card.d.ts.map +1 -1
- package/dist/react-renderer/components/layout/Card.js +9 -9
- package/dist/react-renderer/components/layout/Card.js.map +1 -1
- package/dist/react-renderer/components/layout/Column.d.ts +2 -2
- package/dist/react-renderer/components/layout/Column.d.ts.map +1 -1
- package/dist/react-renderer/components/layout/Column.js +11 -11
- package/dist/react-renderer/components/layout/Column.js.map +1 -1
- package/dist/react-renderer/components/layout/List.d.ts +2 -2
- package/dist/react-renderer/components/layout/List.d.ts.map +1 -1
- package/dist/react-renderer/components/layout/List.js +10 -10
- package/dist/react-renderer/components/layout/List.js.map +1 -1
- package/dist/react-renderer/components/layout/Modal.d.ts +2 -2
- package/dist/react-renderer/components/layout/Modal.d.ts.map +1 -1
- package/dist/react-renderer/components/layout/Modal.js +10 -10
- package/dist/react-renderer/components/layout/Modal.js.map +1 -1
- package/dist/react-renderer/components/layout/Row.d.ts +2 -2
- package/dist/react-renderer/components/layout/Row.d.ts.map +1 -1
- package/dist/react-renderer/components/layout/Row.js +11 -11
- package/dist/react-renderer/components/layout/Row.js.map +1 -1
- package/dist/react-renderer/components/layout/Tabs.d.ts +2 -2
- package/dist/react-renderer/components/layout/Tabs.d.ts.map +1 -1
- package/dist/react-renderer/components/layout/Tabs.js +6 -6
- package/dist/react-renderer/components/layout/Tabs.js.map +1 -1
- package/dist/react-renderer/components/layout/index.d.ts +6 -6
- package/dist/react-renderer/components/layout/index.js +6 -6
- package/dist/react-renderer/core/A2UIProvider.d.ts +4 -4
- package/dist/react-renderer/core/A2UIProvider.d.ts.map +1 -1
- package/dist/react-renderer/core/A2UIProvider.js +5 -5
- package/dist/react-renderer/core/A2UIProvider.js.map +1 -1
- package/dist/react-renderer/core/A2UIRenderer.d.ts +2 -2
- package/dist/react-renderer/core/A2UIRenderer.js +28 -28
- package/dist/react-renderer/core/A2UIViewer.d.ts +1 -1
- package/dist/react-renderer/core/A2UIViewer.js +14 -14
- package/dist/react-renderer/core/ComponentNode.d.ts +2 -2
- package/dist/react-renderer/core/ComponentNode.d.ts.map +1 -1
- package/dist/react-renderer/core/ComponentNode.js +5 -5
- package/dist/react-renderer/core/ComponentNode.js.map +1 -1
- package/dist/react-renderer/core/store.d.ts +2 -2
- package/dist/react-renderer/hooks/useA2UI.d.ts +1 -1
- package/dist/react-renderer/hooks/useA2UI.js +1 -1
- package/dist/react-renderer/hooks/useA2UIComponent.d.ts +1 -1
- package/dist/react-renderer/hooks/useA2UIComponent.d.ts.map +1 -1
- package/dist/react-renderer/hooks/useA2UIComponent.js +16 -7
- package/dist/react-renderer/hooks/useA2UIComponent.js.map +1 -1
- package/dist/react-renderer/index.d.ts +35 -35
- package/dist/react-renderer/index.d.ts.map +1 -1
- package/dist/react-renderer/index.js +29 -29
- package/dist/react-renderer/index.js.map +1 -1
- package/dist/react-renderer/lib/utils.d.ts +2 -2
- package/dist/react-renderer/lib/utils.d.ts.map +1 -1
- package/dist/react-renderer/lib/utils.js +3 -3
- package/dist/react-renderer/lib/utils.js.map +1 -1
- package/dist/react-renderer/registry/ComponentRegistry.d.ts +3 -3
- package/dist/react-renderer/registry/ComponentRegistry.d.ts.map +1 -1
- package/dist/react-renderer/registry/ComponentRegistry.js +2 -2
- package/dist/react-renderer/registry/ComponentRegistry.js.map +1 -1
- package/dist/react-renderer/registry/defaultCatalog.d.ts +1 -1
- package/dist/react-renderer/registry/defaultCatalog.js +37 -37
- package/dist/react-renderer/styles/index.d.ts.map +1 -1
- package/dist/react-renderer/styles/index.js +10 -9
- package/dist/react-renderer/styles/index.js.map +1 -1
- package/dist/react-renderer/theme/ThemeContext.d.ts +2 -2
- package/dist/react-renderer/theme/ThemeContext.d.ts.map +1 -1
- package/dist/react-renderer/theme/ThemeContext.js +3 -3
- package/dist/react-renderer/theme/ThemeContext.js.map +1 -1
- package/dist/react-renderer/theme/litTheme.d.ts +1 -1
- package/dist/react-renderer/theme/litTheme.js +193 -193
- package/dist/react-renderer/theme/utils.d.ts.map +1 -1
- package/dist/react-renderer/theme/utils.js +3 -3
- package/dist/react-renderer/theme/utils.js.map +1 -1
- package/dist/react-renderer/types.d.ts +2 -2
- package/dist/react-renderer/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Types } from
|
|
2
|
-
import type { A2UIComponentProps } from
|
|
1
|
+
import type { Types } from "@a2ui/lit/0.8";
|
|
2
|
+
import type { A2UIComponentProps } from "../../types";
|
|
3
3
|
/**
|
|
4
4
|
* AudioPlayer component - renders an audio player with optional description.
|
|
5
5
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioPlayer.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/AudioPlayer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD;;GAEG;AACH,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"AudioPlayer.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/AudioPlayer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD;;GAEG;AACH,eAAO,MAAM,WAAW,iFA+BtB,CAAC;AAEH,eAAe,WAAW,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { memo } from
|
|
3
|
-
import { useA2UIComponent } from
|
|
4
|
-
import { classMapToString, stylesToObject } from
|
|
2
|
+
import { memo } from "react";
|
|
3
|
+
import { useA2UIComponent } from "../../hooks/useA2UIComponent";
|
|
4
|
+
import { classMapToString, stylesToObject } from "../../lib/utils";
|
|
5
5
|
/**
|
|
6
6
|
* AudioPlayer component - renders an audio player with optional description.
|
|
7
7
|
*/
|
|
8
|
-
export const AudioPlayer = memo(function AudioPlayer({ node, surfaceId }) {
|
|
8
|
+
export const AudioPlayer = memo(function AudioPlayer({ node, surfaceId, }) {
|
|
9
9
|
const { theme, resolveString } = useA2UIComponent(node, surfaceId);
|
|
10
10
|
const props = node.properties;
|
|
11
11
|
const url = resolveString(props.url);
|
|
@@ -15,7 +15,7 @@ export const AudioPlayer = memo(function AudioPlayer({ node, surfaceId }) {
|
|
|
15
15
|
}
|
|
16
16
|
// Apply --weight CSS variable on root div (:host equivalent) for flex layouts
|
|
17
17
|
const hostStyle = node.weight !== undefined
|
|
18
|
-
? {
|
|
18
|
+
? { "--weight": node.weight }
|
|
19
19
|
: {};
|
|
20
20
|
return (_jsx("div", { className: "a2ui-audio", style: hostStyle, children: _jsxs("section", { className: classMapToString(theme.components.AudioPlayer), style: stylesToObject(theme.additionalStyles?.AudioPlayer), children: [description && _jsx("p", { children: description }), _jsx("audio", { src: url, controls: true })] }) }));
|
|
21
21
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioPlayer.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/AudioPlayer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"AudioPlayer.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/AudioPlayer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,WAAW,CAAC,EACnD,IAAI,EACJ,SAAS,GACiC;IAC1C,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;IAE9B,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;IAE7D,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8EAA8E;IAC9E,MAAM,SAAS,GACb,IAAI,CAAC,MAAM,KAAK,SAAS;QACvB,CAAC,CAAE,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAA0B;QACtD,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,CACL,cAAK,SAAS,EAAC,YAAY,EAAC,KAAK,EAAE,SAAS,YAC1C,mBACE,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EACzD,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,gBAAgB,EAAE,WAAW,CAAC,aAEzD,WAAW,IAAI,sBAAI,WAAW,GAAK,EACpC,gBAAO,GAAG,EAAE,GAAG,EAAE,QAAQ,SAAG,IACpB,GACN,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,WAAW,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Types } from
|
|
2
|
-
import type { A2UIComponentProps } from
|
|
1
|
+
import type { Types } from "@a2ui/lit/0.8";
|
|
2
|
+
import type { A2UIComponentProps } from "../../types";
|
|
3
3
|
/**
|
|
4
4
|
* Divider component - renders a visual separator line.
|
|
5
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Divider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Divider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,6EAoBlB,CAAC;AAEH,eAAe,OAAO,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { memo } from
|
|
3
|
-
import { useA2UIComponent } from
|
|
4
|
-
import { classMapToString, stylesToObject } from
|
|
2
|
+
import { memo } from "react";
|
|
3
|
+
import { useA2UIComponent } from "../../hooks/useA2UIComponent";
|
|
4
|
+
import { classMapToString, stylesToObject } from "../../lib/utils";
|
|
5
5
|
/**
|
|
6
6
|
* Divider component - renders a visual separator line.
|
|
7
7
|
*
|
|
@@ -10,11 +10,11 @@ import { classMapToString, stylesToObject } from '../../lib/utils';
|
|
|
10
10
|
* <hr class="..."> ← internal element
|
|
11
11
|
* </div>
|
|
12
12
|
*/
|
|
13
|
-
export const Divider = memo(function Divider({ node, surfaceId }) {
|
|
13
|
+
export const Divider = memo(function Divider({ node, surfaceId, }) {
|
|
14
14
|
const { theme } = useA2UIComponent(node, surfaceId);
|
|
15
15
|
// Apply --weight CSS variable on root div (:host equivalent) for flex layouts
|
|
16
16
|
const hostStyle = node.weight !== undefined
|
|
17
|
-
? {
|
|
17
|
+
? { "--weight": node.weight }
|
|
18
18
|
: {};
|
|
19
19
|
return (_jsx("div", { className: "a2ui-divider", style: hostStyle, children: _jsx("hr", { className: classMapToString(theme.components.Divider), style: stylesToObject(theme.additionalStyles?.Divider) }) }));
|
|
20
20
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Divider.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Divider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"Divider.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Divider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC,EAC3C,IAAI,EACJ,SAAS,GAC6B;IACtC,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAEpD,8EAA8E;IAC9E,MAAM,SAAS,GACb,IAAI,CAAC,MAAM,KAAK,SAAS;QACvB,CAAC,CAAE,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAA0B;QACtD,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,CACL,cAAK,SAAS,EAAC,cAAc,EAAC,KAAK,EAAE,SAAS,YAC5C,aACE,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EACrD,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,GACtD,GACE,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,OAAO,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Types } from
|
|
2
|
-
import type { A2UIComponentProps } from
|
|
1
|
+
import type { Types } from "@a2ui/lit/0.8";
|
|
2
|
+
import type { A2UIComponentProps } from "../../types";
|
|
3
3
|
/**
|
|
4
4
|
* Icon component - renders an icon using Material Symbols Outlined font.
|
|
5
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Icon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAatD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Icon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAatD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,IAAI,0EAgCf,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { memo } from
|
|
3
|
-
import { useA2UIComponent } from
|
|
4
|
-
import { classMapToString, stylesToObject } from
|
|
2
|
+
import { memo } from "react";
|
|
3
|
+
import { useA2UIComponent } from "../../hooks/useA2UIComponent";
|
|
4
|
+
import { classMapToString, stylesToObject } from "../../lib/utils";
|
|
5
5
|
/**
|
|
6
6
|
* Convert camelCase to snake_case for Material Symbols font.
|
|
7
7
|
* e.g., "shoppingCart" -> "shopping_cart"
|
|
8
8
|
* This matches the Lit renderer's approach.
|
|
9
9
|
*/
|
|
10
10
|
function toSnakeCase(str) {
|
|
11
|
-
return str.replace(/([A-Z])/g,
|
|
11
|
+
return str.replace(/([A-Z])/g, "_$1").toLowerCase();
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
14
|
* Icon component - renders an icon using Material Symbols Outlined font.
|
|
@@ -21,7 +21,7 @@ function toSnakeCase(str) {
|
|
|
21
21
|
* <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined" rel="stylesheet">
|
|
22
22
|
* ```
|
|
23
23
|
*/
|
|
24
|
-
export const Icon = memo(function Icon({ node, surfaceId }) {
|
|
24
|
+
export const Icon = memo(function Icon({ node, surfaceId, }) {
|
|
25
25
|
const { theme, resolveString } = useA2UIComponent(node, surfaceId);
|
|
26
26
|
const props = node.properties;
|
|
27
27
|
const iconName = resolveString(props.name);
|
|
@@ -32,7 +32,7 @@ export const Icon = memo(function Icon({ node, surfaceId }) {
|
|
|
32
32
|
const snakeCaseName = toSnakeCase(iconName);
|
|
33
33
|
// Apply --weight CSS variable on root div (:host equivalent) for flex layouts
|
|
34
34
|
const hostStyle = node.weight !== undefined
|
|
35
|
-
? {
|
|
35
|
+
? { "--weight": node.weight }
|
|
36
36
|
: {};
|
|
37
37
|
return (_jsx("div", { className: "a2ui-icon", style: hostStyle, children: _jsx("section", { className: classMapToString(theme.components.Icon), style: stylesToObject(theme.additionalStyles?.Icon), children: _jsx("span", { className: "g-icon", children: snakeCaseName }) }) }));
|
|
38
38
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Icon.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;;;GAIG;AACH,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AACtD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Icon.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;;;GAIG;AACH,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AACtD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,EACrC,IAAI,EACJ,SAAS,GAC0B;IACnC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;IAE9B,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uDAAuD;IACvD,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAE5C,8EAA8E;IAC9E,MAAM,SAAS,GACb,IAAI,CAAC,MAAM,KAAK,SAAS;QACvB,CAAC,CAAE,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAA0B;QACtD,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,CACL,cAAK,SAAS,EAAC,WAAW,EAAC,KAAK,EAAE,SAAS,YACzC,kBACE,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAClD,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAEnD,eAAM,SAAS,EAAC,QAAQ,YAAE,aAAa,GAAQ,GACvC,GACN,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Types } from
|
|
2
|
-
import type { A2UIComponentProps } from
|
|
1
|
+
import type { Types } from "@a2ui/lit/0.8";
|
|
2
|
+
import type { A2UIComponentProps } from "../../types";
|
|
3
3
|
/**
|
|
4
4
|
* Image component - renders an image from a URL with optional sizing and fit modes.
|
|
5
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Image.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Image.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAiBtD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,2EAwChB,CAAC;AAEH,eAAe,KAAK,CAAC"}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { memo } from
|
|
3
|
-
import { useA2UIComponent } from
|
|
4
|
-
import { classMapToString, stylesToObject, mergeClassMaps } from
|
|
2
|
+
import { memo } from "react";
|
|
3
|
+
import { useA2UIComponent } from "../../hooks/useA2UIComponent";
|
|
4
|
+
import { classMapToString, stylesToObject, mergeClassMaps, } from "../../lib/utils";
|
|
5
5
|
/**
|
|
6
6
|
* Image component - renders an image from a URL with optional sizing and fit modes.
|
|
7
7
|
*
|
|
8
8
|
* Supports usageHint values: icon, avatar, smallFeature, mediumFeature, largeFeature, header
|
|
9
9
|
* Supports fit values: contain, cover, fill, none, scale-down (maps to object-fit via CSS variable)
|
|
10
10
|
*/
|
|
11
|
-
export const Image = memo(function Image({ node, surfaceId }) {
|
|
11
|
+
export const Image = memo(function Image({ node, surfaceId, }) {
|
|
12
12
|
const { theme, resolveString } = useA2UIComponent(node, surfaceId);
|
|
13
13
|
const props = node.properties;
|
|
14
14
|
const url = resolveString(props.url);
|
|
15
15
|
const usageHint = props.usageHint;
|
|
16
|
-
const fit = props.fit ??
|
|
16
|
+
const fit = props.fit ?? "fill";
|
|
17
17
|
// Get merged classes for section (matches Lit's Styles.merge)
|
|
18
18
|
const classes = mergeClassMaps(theme.components.Image.all, usageHint ? theme.components.Image[usageHint] : {});
|
|
19
19
|
// Build style object with object-fit as CSS variable (matches Lit)
|
|
20
20
|
const style = {
|
|
21
21
|
...stylesToObject(theme.additionalStyles?.Image),
|
|
22
|
-
|
|
22
|
+
"--object-fit": fit,
|
|
23
23
|
};
|
|
24
24
|
if (!url) {
|
|
25
25
|
return null;
|
|
26
26
|
}
|
|
27
27
|
// Apply --weight CSS variable on root div (:host equivalent) for flex layouts
|
|
28
28
|
const hostStyle = node.weight !== undefined
|
|
29
|
-
? {
|
|
29
|
+
? { "--weight": node.weight }
|
|
30
30
|
: {};
|
|
31
31
|
return (_jsx("div", { className: "a2ui-image", style: hostStyle, children: _jsx("section", { className: classMapToString(classes), style: style, children: _jsx("img", { src: url, alt: "" }) }) }));
|
|
32
32
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Image.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Image.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"Image.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Image.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,cAAc,GACf,MAAM,iBAAiB,CAAC;AAWzB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,KAAK,CAAC,EACvC,IAAI,EACJ,SAAS,GAC2B;IACpC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;IAE9B,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAkC,CAAC;IAC3D,MAAM,GAAG,GAAI,KAAK,CAAC,GAAe,IAAI,MAAM,CAAC;IAE7C,8DAA8D;IAC9D,MAAM,OAAO,GAAG,cAAc,CAC5B,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAC1B,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CACnD,CAAC;IAEF,mEAAmE;IACnE,MAAM,KAAK,GAAwB;QACjC,GAAG,cAAc,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC;QAChD,cAAc,EAAE,GAAG;KACG,CAAC;IAEzB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8EAA8E;IAC9E,MAAM,SAAS,GACb,IAAI,CAAC,MAAM,KAAK,SAAS;QACvB,CAAC,CAAE,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAA0B;QACtD,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,CACL,cAAK,SAAS,EAAC,YAAY,EAAC,KAAK,EAAE,SAAS,YAC1C,kBAAS,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,YACzD,cAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAC,EAAE,GAAG,GAChB,GACN,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,KAAK,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Types } from
|
|
2
|
-
import type { A2UIComponentProps } from
|
|
1
|
+
import type { Types } from "@a2ui/lit/0.8";
|
|
2
|
+
import type { A2UIComponentProps } from "../../types";
|
|
3
3
|
/**
|
|
4
4
|
* Text component - renders text content with markdown support.
|
|
5
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Text.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Text.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA0EtD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,IAAI,0EAmFf,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo, memo } from
|
|
3
|
-
import { useA2UIComponent } from
|
|
4
|
-
import { classMapToString, stylesToObject, mergeClassMaps } from
|
|
5
|
-
import MarkdownIt from
|
|
2
|
+
import { useMemo, memo } from "react";
|
|
3
|
+
import { useA2UIComponent } from "../../hooks/useA2UIComponent";
|
|
4
|
+
import { classMapToString, stylesToObject, mergeClassMaps, } from "../../lib/utils";
|
|
5
|
+
import MarkdownIt from "markdown-it";
|
|
6
6
|
function isHintedStyles(styles) {
|
|
7
|
-
if (typeof styles !==
|
|
7
|
+
if (typeof styles !== "object" || !styles || Array.isArray(styles))
|
|
8
8
|
return false;
|
|
9
|
-
const expected = [
|
|
9
|
+
const expected = ["h1", "h2", "h3", "h4", "h5", "caption", "body"];
|
|
10
10
|
return expected.some((v) => v in styles);
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
@@ -32,11 +32,13 @@ function applyMarkdownTheme(html, markdownTheme) {
|
|
|
32
32
|
for (const [element, classes] of Object.entries(markdownTheme)) {
|
|
33
33
|
if (!classes || (Array.isArray(classes) && classes.length === 0))
|
|
34
34
|
continue;
|
|
35
|
-
const classString = Array.isArray(classes)
|
|
35
|
+
const classString = Array.isArray(classes)
|
|
36
|
+
? classes.join(" ")
|
|
37
|
+
: classMapToString(classes);
|
|
36
38
|
if (!classString)
|
|
37
39
|
continue;
|
|
38
40
|
// Create regex to match opening tags (handles self-closing and regular)
|
|
39
|
-
const tagRegex = new RegExp(`<${element}(?=\\s|>|/>)`,
|
|
41
|
+
const tagRegex = new RegExp(`<${element}(?=\\s|>|/>)`, "gi");
|
|
40
42
|
replacements.push([tagRegex, `<${element} class="${classString}"`]);
|
|
41
43
|
}
|
|
42
44
|
let result = html;
|
|
@@ -68,7 +70,7 @@ function applyMarkdownTheme(html, markdownTheme) {
|
|
|
68
70
|
*
|
|
69
71
|
* Note: Raw HTML is disabled for security.
|
|
70
72
|
*/
|
|
71
|
-
export const Text = memo(function Text({ node, surfaceId }) {
|
|
73
|
+
export const Text = memo(function Text({ node, surfaceId, }) {
|
|
72
74
|
const { theme, resolveString } = useA2UIComponent(node, surfaceId);
|
|
73
75
|
const props = node.properties;
|
|
74
76
|
const textValue = resolveString(props.text);
|
|
@@ -81,7 +83,7 @@ export const Text = memo(function Text({ node, surfaceId }) {
|
|
|
81
83
|
if (!textStyles)
|
|
82
84
|
return undefined;
|
|
83
85
|
if (isHintedStyles(textStyles)) {
|
|
84
|
-
const hint = usageHint ??
|
|
86
|
+
const hint = usageHint ?? "body";
|
|
85
87
|
return stylesToObject(textStyles[hint]);
|
|
86
88
|
}
|
|
87
89
|
return stylesToObject(textStyles);
|
|
@@ -94,22 +96,22 @@ export const Text = memo(function Text({ node, surfaceId }) {
|
|
|
94
96
|
// Add markdown prefix based on usageHint (matches Lit behavior)
|
|
95
97
|
let markdownText = textValue;
|
|
96
98
|
switch (usageHint) {
|
|
97
|
-
case
|
|
99
|
+
case "h1":
|
|
98
100
|
markdownText = `# ${markdownText}`;
|
|
99
101
|
break;
|
|
100
|
-
case
|
|
102
|
+
case "h2":
|
|
101
103
|
markdownText = `## ${markdownText}`;
|
|
102
104
|
break;
|
|
103
|
-
case
|
|
105
|
+
case "h3":
|
|
104
106
|
markdownText = `### ${markdownText}`;
|
|
105
107
|
break;
|
|
106
|
-
case
|
|
108
|
+
case "h4":
|
|
107
109
|
markdownText = `#### ${markdownText}`;
|
|
108
110
|
break;
|
|
109
|
-
case
|
|
111
|
+
case "h5":
|
|
110
112
|
markdownText = `##### ${markdownText}`;
|
|
111
113
|
break;
|
|
112
|
-
case
|
|
114
|
+
case "caption":
|
|
113
115
|
markdownText = `*${markdownText}*`;
|
|
114
116
|
break;
|
|
115
117
|
default:
|
|
@@ -124,7 +126,7 @@ export const Text = memo(function Text({ node, surfaceId }) {
|
|
|
124
126
|
}
|
|
125
127
|
// Apply --weight CSS variable on root div (:host equivalent) for flex layouts
|
|
126
128
|
const hostStyle = node.weight !== undefined
|
|
127
|
-
? {
|
|
129
|
+
? { "--weight": node.weight }
|
|
128
130
|
: {};
|
|
129
131
|
return (_jsx("div", { className: "a2ui-text", style: hostStyle, children: _jsx("section", { className: classMapToString(classes), style: additionalStyles, dangerouslySetInnerHTML: renderedContent }) }));
|
|
130
132
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Text.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Text.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Video.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Video.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAsBtD;;;;GAIG;AACH,eAAO,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"Video.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Video.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAsBtD;;;;GAIG;AACH,eAAO,MAAM,KAAK,2EAyChB,CAAC;AAEH,eAAe,KAAK,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { memo } from
|
|
3
|
-
import { useA2UIComponent } from
|
|
4
|
-
import { classMapToString, stylesToObject } from
|
|
2
|
+
import { memo } from "react";
|
|
3
|
+
import { useA2UIComponent } from "../../hooks/useA2UIComponent";
|
|
4
|
+
import { classMapToString, stylesToObject } from "../../lib/utils";
|
|
5
5
|
/**
|
|
6
6
|
* Check if a URL is a YouTube URL and extract the video ID.
|
|
7
7
|
*/
|
|
@@ -23,7 +23,7 @@ function getYouTubeVideoId(url) {
|
|
|
23
23
|
*
|
|
24
24
|
* Supports regular video URLs and YouTube URLs (renders as embedded iframe).
|
|
25
25
|
*/
|
|
26
|
-
export const Video = memo(function Video({ node, surfaceId }) {
|
|
26
|
+
export const Video = memo(function Video({ node, surfaceId, }) {
|
|
27
27
|
const { theme, resolveString } = useA2UIComponent(node, surfaceId);
|
|
28
28
|
const props = node.properties;
|
|
29
29
|
const url = resolveString(props.url);
|
|
@@ -33,9 +33,9 @@ export const Video = memo(function Video({ node, surfaceId }) {
|
|
|
33
33
|
const youtubeId = getYouTubeVideoId(url);
|
|
34
34
|
// Apply --weight CSS variable on root div (:host equivalent) for flex layouts
|
|
35
35
|
const hostStyle = node.weight !== undefined
|
|
36
|
-
? {
|
|
36
|
+
? { "--weight": node.weight }
|
|
37
37
|
: {};
|
|
38
|
-
return (_jsx("div", { className: "a2ui-video", style: hostStyle, children: _jsx("section", { className: classMapToString(theme.components.Video), style: stylesToObject(theme.additionalStyles?.Video), children: youtubeId ? (_jsx("iframe", { src: `https://www.youtube.com/embed/${youtubeId}`, title: "YouTube video player", allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture", allowFullScreen: true, style: { border:
|
|
38
|
+
return (_jsx("div", { className: "a2ui-video", style: hostStyle, children: _jsx("section", { className: classMapToString(theme.components.Video), style: stylesToObject(theme.additionalStyles?.Video), children: youtubeId ? (_jsx("iframe", { src: `https://www.youtube.com/embed/${youtubeId}`, title: "YouTube video player", allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture", allowFullScreen: true, style: { border: "none", width: "100%", aspectRatio: "16/9" } })) : (_jsx("video", { src: url, controls: true })) }) }));
|
|
39
39
|
});
|
|
40
40
|
export default Video;
|
|
41
41
|
//# sourceMappingURL=Video.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Video.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Video.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;GAEG;AACH,SAAS,iBAAiB,CAAC,GAAW;IACpC,MAAM,QAAQ,GAAG;QACf,yEAAyE;KAC1E,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,oEAAoE;YAEpE,OAAO,KAAK,CAAC,CAAC,CAAE,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"Video.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/content/Video.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;GAEG;AACH,SAAS,iBAAiB,CAAC,GAAW;IACpC,MAAM,QAAQ,GAAG;QACf,yEAAyE;KAC1E,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,oEAAoE;YAEpE,OAAO,KAAK,CAAC,CAAC,CAAE,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,KAAK,CAAC,EACvC,IAAI,EACJ,SAAS,GAC2B;IACpC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;IAE9B,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAErC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAEzC,8EAA8E;IAC9E,MAAM,SAAS,GACb,IAAI,CAAC,MAAM,KAAK,SAAS;QACvB,CAAC,CAAE,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAA0B;QACtD,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,CACL,cAAK,SAAS,EAAC,YAAY,EAAC,KAAK,EAAE,SAAS,YAC1C,kBACE,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EACnD,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,YAEnD,SAAS,CAAC,CAAC,CAAC,CACX,iBACE,GAAG,EAAE,iCAAiC,SAAS,EAAE,EACjD,KAAK,EAAC,sBAAsB,EAC5B,KAAK,EAAC,0FAA0F,EAChG,eAAe,QACf,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAC7D,CACH,CAAC,CAAC,CAAC,CACF,gBAAO,GAAG,EAAE,GAAG,EAAE,QAAQ,SAAG,CAC7B,GACO,GACN,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,KAAK,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { Text } from
|
|
2
|
-
export { Image } from
|
|
3
|
-
export { Icon } from
|
|
4
|
-
export { Divider } from
|
|
5
|
-
export { Video } from
|
|
6
|
-
export { AudioPlayer } from
|
|
1
|
+
export { Text } from "./Text";
|
|
2
|
+
export { Image } from "./Image";
|
|
3
|
+
export { Icon } from "./Icon";
|
|
4
|
+
export { Divider } from "./Divider";
|
|
5
|
+
export { Video } from "./Video";
|
|
6
|
+
export { AudioPlayer } from "./AudioPlayer";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { Text } from
|
|
2
|
-
export { Image } from
|
|
3
|
-
export { Icon } from
|
|
4
|
-
export { Divider } from
|
|
5
|
-
export { Video } from
|
|
6
|
-
export { AudioPlayer } from
|
|
1
|
+
export { Text } from "./Text";
|
|
2
|
+
export { Image } from "./Image";
|
|
3
|
+
export { Icon } from "./Icon";
|
|
4
|
+
export { Divider } from "./Divider";
|
|
5
|
+
export { Video } from "./Video";
|
|
6
|
+
export { AudioPlayer } from "./AudioPlayer";
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Types } from
|
|
2
|
-
import type { A2UIComponentProps } from
|
|
1
|
+
import type { Types } from "@a2ui/lit/0.8";
|
|
2
|
+
import type { A2UIComponentProps } from "../../types";
|
|
3
3
|
/**
|
|
4
4
|
* Button component - a clickable element that triggers an action.
|
|
5
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/Button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKtD;;;;;GAKG;AACH,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/Button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKtD;;;;;GAKG;AACH,eAAO,MAAM,MAAM,4EA8BjB,CAAC;AAEH,eAAe,MAAM,CAAC"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback, memo } from
|
|
3
|
-
import { useA2UIComponent } from
|
|
4
|
-
import { classMapToString, stylesToObject } from
|
|
5
|
-
import { ComponentNode } from
|
|
2
|
+
import { useCallback, memo } from "react";
|
|
3
|
+
import { useA2UIComponent } from "../../hooks/useA2UIComponent";
|
|
4
|
+
import { classMapToString, stylesToObject } from "../../lib/utils";
|
|
5
|
+
import { ComponentNode } from "../../core/ComponentNode";
|
|
6
6
|
/**
|
|
7
7
|
* Button component - a clickable element that triggers an action.
|
|
8
8
|
*
|
|
9
9
|
* Contains a child component (usually Text or Icon) and dispatches
|
|
10
10
|
* a user action when clicked.
|
|
11
11
|
*/
|
|
12
|
-
export const Button = memo(function Button({ node, surfaceId }) {
|
|
12
|
+
export const Button = memo(function Button({ node, surfaceId, }) {
|
|
13
13
|
const { theme, sendAction } = useA2UIComponent(node, surfaceId);
|
|
14
14
|
const props = node.properties;
|
|
15
15
|
const handleClick = useCallback(() => {
|
|
@@ -19,7 +19,7 @@ export const Button = memo(function Button({ node, surfaceId }) {
|
|
|
19
19
|
}, [props.action, sendAction]);
|
|
20
20
|
// Apply --weight CSS variable on root div (:host equivalent) for flex layouts
|
|
21
21
|
const hostStyle = node.weight !== undefined
|
|
22
|
-
? {
|
|
22
|
+
? { "--weight": node.weight }
|
|
23
23
|
: {};
|
|
24
24
|
return (_jsx("div", { className: "a2ui-button", style: hostStyle, children: _jsx("button", { className: classMapToString(theme.components.Button), style: stylesToObject(theme.additionalStyles?.Button), onClick: handleClick, children: _jsx(ComponentNode, { node: props.child, surfaceId: surfaceId }) }) }));
|
|
25
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/Button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/Button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,MAAM,CAAC,EACzC,IAAI,EACJ,SAAS,GAC4B;IACrC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;IAE9B,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAE/B,8EAA8E;IAC9E,MAAM,SAAS,GACb,IAAI,CAAC,MAAM,KAAK,SAAS;QACvB,CAAC,CAAE,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAA0B;QACtD,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,CACL,cAAK,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,SAAS,YAC3C,iBACE,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EACpD,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,EACrD,OAAO,EAAE,WAAW,YAEpB,KAAC,aAAa,IAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,GAAI,GACnD,GACL,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,MAAM,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Types } from
|
|
2
|
-
import type { A2UIComponentProps } from
|
|
1
|
+
import type { Types } from "@a2ui/lit/0.8";
|
|
2
|
+
import type { A2UIComponentProps } from "../../types";
|
|
3
3
|
/**
|
|
4
4
|
* CheckBox component - a boolean toggle with a label.
|
|
5
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckBox.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/CheckBox.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"CheckBox.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/CheckBox.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,8EAmFnB,CAAC;AAEH,eAAe,QAAQ,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useCallback, useEffect, useId, memo } from
|
|
3
|
-
import { useA2UIComponent } from
|
|
4
|
-
import { classMapToString, stylesToObject } from
|
|
2
|
+
import { useState, useCallback, useEffect, useId, memo } from "react";
|
|
3
|
+
import { useA2UIComponent } from "../../hooks/useA2UIComponent";
|
|
4
|
+
import { classMapToString, stylesToObject } from "../../lib/utils";
|
|
5
5
|
/**
|
|
6
6
|
* CheckBox component - a boolean toggle with a label.
|
|
7
7
|
*
|
|
8
8
|
* Supports two-way data binding for the checked state.
|
|
9
9
|
*/
|
|
10
|
-
export const CheckBox = memo(function CheckBox({ node, surfaceId }) {
|
|
10
|
+
export const CheckBox = memo(function CheckBox({ node, surfaceId, }) {
|
|
11
11
|
const { theme, resolveString, resolveBoolean, setValue, getValue } = useA2UIComponent(node, surfaceId);
|
|
12
12
|
const props = node.properties;
|
|
13
13
|
const id = useId();
|
|
@@ -47,7 +47,7 @@ export const CheckBox = memo(function CheckBox({ node, surfaceId }) {
|
|
|
47
47
|
// </div>
|
|
48
48
|
// Apply --weight CSS variable on root div (:host equivalent) for flex layouts
|
|
49
49
|
const hostStyle = node.weight !== undefined
|
|
50
|
-
? {
|
|
50
|
+
? { "--weight": node.weight }
|
|
51
51
|
: {};
|
|
52
52
|
return (_jsx("div", { className: "a2ui-checkbox", style: hostStyle, children: _jsxs("section", { className: classMapToString(theme.components.CheckBox.container), style: stylesToObject(theme.additionalStyles?.CheckBox), children: [_jsx("input", { type: "checkbox", id: id, checked: checked, onChange: handleChange, className: classMapToString(theme.components.CheckBox.element) }), label && (_jsx("label", { htmlFor: id, className: classMapToString(theme.components.CheckBox.label), children: label }))] }) }));
|
|
53
53
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckBox.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/CheckBox.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAGtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"CheckBox.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/CheckBox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Types } from
|
|
2
|
-
import type { A2UIComponentProps } from
|
|
1
|
+
import type { Types } from "@a2ui/lit/0.8";
|
|
2
|
+
import type { A2UIComponentProps } from "../../types";
|
|
3
3
|
/**
|
|
4
4
|
* DateTimeInput component - a date and/or time picker.
|
|
5
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeInput.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/DateTimeInput.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD;;;;GAIG;AACH,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"DateTimeInput.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/DateTimeInput.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD;;;;GAIG;AACH,eAAO,MAAM,aAAa,mFA+FxB,CAAC;AAEH,eAAe,aAAa,CAAC"}
|