@copilotkit/a2ui-renderer 1.51.4 → 1.51.5-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.
- package/dist/A2UIMessageRenderer.cjs +135 -0
- package/dist/A2UIMessageRenderer.cjs.map +1 -0
- package/dist/A2UIMessageRenderer.d.cts +11 -0
- package/dist/A2UIMessageRenderer.d.cts.map +1 -0
- package/dist/A2UIMessageRenderer.d.mts +11 -0
- package/dist/A2UIMessageRenderer.d.mts.map +1 -0
- package/dist/A2UIMessageRenderer.mjs +134 -0
- package/dist/A2UIMessageRenderer.mjs.map +1 -0
- package/dist/A2UIViewer.cjs +154 -0
- package/dist/A2UIViewer.cjs.map +1 -0
- package/dist/A2UIViewer.d.cts +39 -0
- package/dist/A2UIViewer.d.cts.map +1 -0
- package/dist/A2UIViewer.d.mts +39 -0
- package/dist/A2UIViewer.d.mts.map +1 -0
- package/dist/A2UIViewer.mjs +152 -0
- package/dist/A2UIViewer.mjs.map +1 -0
- package/dist/_virtual/_rolldown/runtime.cjs +29 -0
- package/dist/index.cjs +8 -0
- package/dist/index.d.cts +15 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +15 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +5 -0
- package/dist/index.umd.js +3070 -2
- package/dist/index.umd.js.map +1 -1
- package/dist/react-renderer/components/content/AudioPlayer.cjs +34 -0
- package/dist/react-renderer/components/content/AudioPlayer.cjs.map +1 -0
- package/dist/react-renderer/components/content/AudioPlayer.mjs +33 -0
- package/dist/react-renderer/components/content/AudioPlayer.mjs.map +1 -0
- package/dist/react-renderer/components/content/Divider.cjs +31 -0
- package/dist/react-renderer/components/content/Divider.cjs.map +1 -0
- package/dist/react-renderer/components/content/Divider.mjs +30 -0
- package/dist/react-renderer/components/content/Divider.mjs.map +1 -0
- package/dist/react-renderer/components/content/Icon.cjs +50 -0
- package/dist/react-renderer/components/content/Icon.cjs.map +1 -0
- package/dist/react-renderer/components/content/Icon.mjs +49 -0
- package/dist/react-renderer/components/content/Icon.mjs.map +1 -0
- package/dist/react-renderer/components/content/Image.cjs +43 -0
- package/dist/react-renderer/components/content/Image.cjs.map +1 -0
- package/dist/react-renderer/components/content/Image.mjs +42 -0
- package/dist/react-renderer/components/content/Image.mjs.map +1 -0
- package/dist/react-renderer/components/content/Text.cjs +131 -0
- package/dist/react-renderer/components/content/Text.cjs.map +1 -0
- package/dist/react-renderer/components/content/Text.mjs +129 -0
- package/dist/react-renderer/components/content/Text.mjs.map +1 -0
- package/dist/react-renderer/components/content/Video.cjs +56 -0
- package/dist/react-renderer/components/content/Video.cjs.map +1 -0
- package/dist/react-renderer/components/content/Video.mjs +55 -0
- package/dist/react-renderer/components/content/Video.mjs.map +1 -0
- package/dist/react-renderer/components/interactive/Button.cjs +39 -0
- package/dist/react-renderer/components/interactive/Button.cjs.map +1 -0
- package/dist/react-renderer/components/interactive/Button.mjs +38 -0
- package/dist/react-renderer/components/interactive/Button.mjs.map +1 -0
- package/dist/react-renderer/components/interactive/CheckBox.cjs +58 -0
- package/dist/react-renderer/components/interactive/CheckBox.cjs.map +1 -0
- package/dist/react-renderer/components/interactive/CheckBox.mjs +57 -0
- package/dist/react-renderer/components/interactive/CheckBox.mjs.map +1 -0
- package/dist/react-renderer/components/interactive/DateTimeInput.cjs +65 -0
- package/dist/react-renderer/components/interactive/DateTimeInput.cjs.map +1 -0
- package/dist/react-renderer/components/interactive/DateTimeInput.mjs +64 -0
- package/dist/react-renderer/components/interactive/DateTimeInput.mjs.map +1 -0
- package/dist/react-renderer/components/interactive/MultipleChoice.cjs +54 -0
- package/dist/react-renderer/components/interactive/MultipleChoice.cjs.map +1 -0
- package/dist/react-renderer/components/interactive/MultipleChoice.mjs +53 -0
- package/dist/react-renderer/components/interactive/MultipleChoice.mjs.map +1 -0
- package/dist/react-renderer/components/interactive/Slider.cjs +72 -0
- package/dist/react-renderer/components/interactive/Slider.cjs.map +1 -0
- package/dist/react-renderer/components/interactive/Slider.mjs +71 -0
- package/dist/react-renderer/components/interactive/Slider.mjs.map +1 -0
- package/dist/react-renderer/components/interactive/TextField.cjs +74 -0
- package/dist/react-renderer/components/interactive/TextField.cjs.map +1 -0
- package/dist/react-renderer/components/interactive/TextField.mjs +73 -0
- package/dist/react-renderer/components/interactive/TextField.mjs.map +1 -0
- package/dist/react-renderer/components/layout/Card.cjs +46 -0
- package/dist/react-renderer/components/layout/Card.cjs.map +1 -0
- package/dist/react-renderer/components/layout/Card.mjs +45 -0
- package/dist/react-renderer/components/layout/Card.mjs.map +1 -0
- package/dist/react-renderer/components/layout/Column.cjs +43 -0
- package/dist/react-renderer/components/layout/Column.cjs.map +1 -0
- package/dist/react-renderer/components/layout/Column.mjs +42 -0
- package/dist/react-renderer/components/layout/Column.mjs.map +1 -0
- package/dist/react-renderer/components/layout/List.cjs +41 -0
- package/dist/react-renderer/components/layout/List.cjs.map +1 -0
- package/dist/react-renderer/components/layout/List.mjs +40 -0
- package/dist/react-renderer/components/layout/List.mjs.map +1 -0
- package/dist/react-renderer/components/layout/Modal.cjs +92 -0
- package/dist/react-renderer/components/layout/Modal.cjs.map +1 -0
- package/dist/react-renderer/components/layout/Modal.mjs +91 -0
- package/dist/react-renderer/components/layout/Modal.mjs.map +1 -0
- package/dist/react-renderer/components/layout/Row.cjs +43 -0
- package/dist/react-renderer/components/layout/Row.cjs.map +1 -0
- package/dist/react-renderer/components/layout/Row.mjs +42 -0
- package/dist/react-renderer/components/layout/Row.mjs.map +1 -0
- package/dist/react-renderer/components/layout/Tabs.cjs +47 -0
- package/dist/react-renderer/components/layout/Tabs.cjs.map +1 -0
- package/dist/react-renderer/components/layout/Tabs.mjs +46 -0
- package/dist/react-renderer/components/layout/Tabs.mjs.map +1 -0
- package/dist/react-renderer/core/A2UIProvider.cjs +123 -0
- package/dist/react-renderer/core/A2UIProvider.cjs.map +1 -0
- package/dist/react-renderer/core/A2UIProvider.mjs +120 -0
- package/dist/react-renderer/core/A2UIProvider.mjs.map +1 -0
- package/dist/react-renderer/core/A2UIRenderer.cjs +93 -0
- package/dist/react-renderer/core/A2UIRenderer.cjs.map +1 -0
- package/dist/react-renderer/core/A2UIRenderer.mjs +92 -0
- package/dist/react-renderer/core/A2UIRenderer.mjs.map +1 -0
- package/dist/react-renderer/core/ComponentNode.cjs +53 -0
- package/dist/react-renderer/core/ComponentNode.cjs.map +1 -0
- package/dist/react-renderer/core/ComponentNode.mjs +52 -0
- package/dist/react-renderer/core/ComponentNode.mjs.map +1 -0
- package/dist/react-renderer/hooks/useA2UI.cjs +46 -0
- package/dist/react-renderer/hooks/useA2UI.cjs.map +1 -0
- package/dist/react-renderer/hooks/useA2UI.mjs +46 -0
- package/dist/react-renderer/hooks/useA2UI.mjs.map +1 -0
- package/dist/react-renderer/hooks/useA2UIComponent.cjs +173 -0
- package/dist/react-renderer/hooks/useA2UIComponent.cjs.map +1 -0
- package/dist/react-renderer/hooks/useA2UIComponent.mjs +172 -0
- package/dist/react-renderer/hooks/useA2UIComponent.mjs.map +1 -0
- package/dist/react-renderer/lib/utils.cjs +39 -0
- package/dist/react-renderer/lib/utils.cjs.map +1 -0
- package/dist/react-renderer/lib/utils.mjs +37 -0
- package/dist/react-renderer/lib/utils.mjs.map +1 -0
- package/dist/react-renderer/registry/ComponentRegistry.cjs +114 -0
- package/dist/react-renderer/registry/ComponentRegistry.cjs.map +1 -0
- package/dist/react-renderer/registry/ComponentRegistry.mjs +113 -0
- package/dist/react-renderer/registry/ComponentRegistry.mjs.map +1 -0
- package/dist/react-renderer/registry/defaultCatalog.cjs +57 -0
- package/dist/react-renderer/registry/defaultCatalog.cjs.map +1 -0
- package/dist/react-renderer/registry/defaultCatalog.mjs +57 -0
- package/dist/react-renderer/registry/defaultCatalog.mjs.map +1 -0
- package/dist/react-renderer/styles/index.cjs +458 -0
- package/dist/react-renderer/styles/index.cjs.map +1 -0
- package/dist/react-renderer/styles/{index.js → index.mjs} +47 -64
- package/dist/react-renderer/styles/index.mjs.map +1 -0
- package/dist/react-renderer/styles/reset.cjs +29 -0
- package/dist/react-renderer/styles/reset.cjs.map +1 -0
- package/dist/react-renderer/styles/reset.mjs +28 -0
- package/dist/react-renderer/styles/reset.mjs.map +1 -0
- package/dist/react-renderer/theme/ThemeContext.cjs +35 -0
- package/dist/react-renderer/theme/ThemeContext.cjs.map +1 -0
- package/dist/react-renderer/theme/ThemeContext.mjs +33 -0
- package/dist/react-renderer/theme/ThemeContext.mjs.map +1 -0
- package/dist/react-renderer/theme/litTheme.cjs +368 -0
- package/dist/react-renderer/theme/litTheme.cjs.map +1 -0
- package/dist/react-renderer/theme/litTheme.mjs +367 -0
- package/dist/react-renderer/theme/litTheme.mjs.map +1 -0
- package/dist/react-renderer/theme/utils.cjs +41 -0
- package/dist/react-renderer/theme/utils.cjs.map +1 -0
- package/dist/react-renderer/theme/utils.mjs +39 -0
- package/dist/react-renderer/theme/utils.mjs.map +1 -0
- package/dist/theme/viewer-theme.cjs +366 -0
- package/dist/theme/viewer-theme.cjs.map +1 -0
- package/dist/theme/viewer-theme.d.cts +7 -0
- package/dist/theme/viewer-theme.d.cts.map +1 -0
- package/dist/theme/viewer-theme.d.mts +7 -0
- package/dist/theme/viewer-theme.d.mts.map +1 -0
- package/dist/theme/viewer-theme.mjs +365 -0
- package/dist/theme/viewer-theme.mjs.map +1 -0
- package/package.json +14 -9
- package/dist/.tsbuildinfo +0 -1
- package/dist/A2UIMessageRenderer.d.ts +0 -7
- package/dist/A2UIMessageRenderer.d.ts.map +0 -1
- package/dist/A2UIMessageRenderer.js +0 -126
- package/dist/A2UIMessageRenderer.js.map +0 -1
- package/dist/A2UIViewer.d.ts +0 -32
- package/dist/A2UIViewer.d.ts.map +0 -1
- package/dist/A2UIViewer.js +0 -121
- package/dist/A2UIViewer.js.map +0 -1
- package/dist/__tests__/A2UIMessageRenderer.test.d.ts +0 -2
- package/dist/__tests__/A2UIMessageRenderer.test.d.ts.map +0 -1
- package/dist/__tests__/A2UIMessageRenderer.test.js +0 -229
- package/dist/__tests__/A2UIMessageRenderer.test.js.map +0 -1
- package/dist/__tests__/clsx-shim.d.ts +0 -8
- package/dist/__tests__/clsx-shim.d.ts.map +0 -1
- package/dist/__tests__/clsx-shim.js +0 -24
- package/dist/__tests__/clsx-shim.js.map +0 -1
- package/dist/__tests__/setup.d.ts +0 -2
- package/dist/__tests__/setup.d.ts.map +0 -1
- package/dist/__tests__/setup.js +0 -29
- package/dist/__tests__/setup.js.map +0 -1
- package/dist/index.d.ts +0 -13
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -19
- package/dist/index.js.map +0 -1
- package/dist/react-renderer/components/content/AudioPlayer.d.ts +0 -8
- package/dist/react-renderer/components/content/AudioPlayer.d.ts.map +0 -1
- package/dist/react-renderer/components/content/AudioPlayer.js +0 -23
- package/dist/react-renderer/components/content/AudioPlayer.js.map +0 -1
- package/dist/react-renderer/components/content/Divider.d.ts +0 -13
- package/dist/react-renderer/components/content/Divider.d.ts.map +0 -1
- package/dist/react-renderer/components/content/Divider.js +0 -22
- package/dist/react-renderer/components/content/Divider.js.map +0 -1
- package/dist/react-renderer/components/content/Icon.d.ts +0 -16
- package/dist/react-renderer/components/content/Icon.d.ts.map +0 -1
- package/dist/react-renderer/components/content/Icon.js +0 -40
- package/dist/react-renderer/components/content/Icon.js.map +0 -1
- package/dist/react-renderer/components/content/Image.d.ts +0 -11
- package/dist/react-renderer/components/content/Image.d.ts.map +0 -1
- package/dist/react-renderer/components/content/Image.js +0 -34
- package/dist/react-renderer/components/content/Image.js.map +0 -1
- package/dist/react-renderer/components/content/Text.d.ts +0 -28
- package/dist/react-renderer/components/content/Text.d.ts.map +0 -1
- package/dist/react-renderer/components/content/Text.js +0 -134
- package/dist/react-renderer/components/content/Text.js.map +0 -1
- package/dist/react-renderer/components/content/Video.d.ts +0 -10
- package/dist/react-renderer/components/content/Video.d.ts.map +0 -1
- package/dist/react-renderer/components/content/Video.js +0 -41
- package/dist/react-renderer/components/content/Video.js.map +0 -1
- package/dist/react-renderer/components/content/index.d.ts +0 -7
- package/dist/react-renderer/components/content/index.d.ts.map +0 -1
- package/dist/react-renderer/components/content/index.js +0 -7
- package/dist/react-renderer/components/content/index.js.map +0 -1
- package/dist/react-renderer/components/interactive/Button.d.ts +0 -11
- package/dist/react-renderer/components/interactive/Button.d.ts.map +0 -1
- package/dist/react-renderer/components/interactive/Button.js +0 -27
- package/dist/react-renderer/components/interactive/Button.js.map +0 -1
- package/dist/react-renderer/components/interactive/CheckBox.d.ts +0 -10
- package/dist/react-renderer/components/interactive/CheckBox.d.ts.map +0 -1
- package/dist/react-renderer/components/interactive/CheckBox.js +0 -55
- package/dist/react-renderer/components/interactive/CheckBox.js.map +0 -1
- package/dist/react-renderer/components/interactive/DateTimeInput.d.ts +0 -10
- package/dist/react-renderer/components/interactive/DateTimeInput.d.ts.map +0 -1
- package/dist/react-renderer/components/interactive/DateTimeInput.js +0 -68
- package/dist/react-renderer/components/interactive/DateTimeInput.js.map +0 -1
- package/dist/react-renderer/components/interactive/MultipleChoice.d.ts +0 -11
- package/dist/react-renderer/components/interactive/MultipleChoice.d.ts.map +0 -1
- package/dist/react-renderer/components/interactive/MultipleChoice.js +0 -43
- package/dist/react-renderer/components/interactive/MultipleChoice.js.map +0 -1
- package/dist/react-renderer/components/interactive/Slider.d.ts +0 -10
- package/dist/react-renderer/components/interactive/Slider.d.ts.map +0 -1
- package/dist/react-renderer/components/interactive/Slider.js +0 -62
- package/dist/react-renderer/components/interactive/Slider.js.map +0 -1
- package/dist/react-renderer/components/interactive/TextField.d.ts +0 -10
- package/dist/react-renderer/components/interactive/TextField.d.ts.map +0 -1
- package/dist/react-renderer/components/interactive/TextField.js +0 -59
- package/dist/react-renderer/components/interactive/TextField.js.map +0 -1
- package/dist/react-renderer/components/interactive/index.d.ts +0 -7
- package/dist/react-renderer/components/interactive/index.d.ts.map +0 -1
- package/dist/react-renderer/components/interactive/index.js +0 -7
- package/dist/react-renderer/components/interactive/index.js.map +0 -1
- package/dist/react-renderer/components/layout/Card.d.ts +0 -17
- package/dist/react-renderer/components/layout/Card.d.ts.map +0 -1
- package/dist/react-renderer/components/layout/Card.js +0 -39
- package/dist/react-renderer/components/layout/Card.js.map +0 -1
- package/dist/react-renderer/components/layout/Column.d.ts +0 -10
- package/dist/react-renderer/components/layout/Column.d.ts.map +0 -1
- package/dist/react-renderer/components/layout/Column.js +0 -33
- package/dist/react-renderer/components/layout/Column.js.map +0 -1
- package/dist/react-renderer/components/layout/List.d.ts +0 -10
- package/dist/react-renderer/components/layout/List.d.ts.map +0 -1
- package/dist/react-renderer/components/layout/List.js +0 -32
- package/dist/react-renderer/components/layout/List.js.map +0 -1
- package/dist/react-renderer/components/layout/Modal.d.ts +0 -15
- package/dist/react-renderer/components/layout/Modal.d.ts.map +0 -1
- package/dist/react-renderer/components/layout/Modal.js +0 -65
- package/dist/react-renderer/components/layout/Modal.js.map +0 -1
- package/dist/react-renderer/components/layout/Row.d.ts +0 -10
- package/dist/react-renderer/components/layout/Row.d.ts.map +0 -1
- package/dist/react-renderer/components/layout/Row.js +0 -33
- package/dist/react-renderer/components/layout/Row.js.map +0 -1
- package/dist/react-renderer/components/layout/Tabs.d.ts +0 -8
- package/dist/react-renderer/components/layout/Tabs.d.ts.map +0 -1
- package/dist/react-renderer/components/layout/Tabs.js +0 -29
- package/dist/react-renderer/components/layout/Tabs.js.map +0 -1
- package/dist/react-renderer/components/layout/index.d.ts +0 -7
- package/dist/react-renderer/components/layout/index.d.ts.map +0 -1
- package/dist/react-renderer/components/layout/index.js +0 -7
- package/dist/react-renderer/components/layout/index.js.map +0 -1
- package/dist/react-renderer/core/A2UIProvider.d.ts +0 -82
- package/dist/react-renderer/core/A2UIProvider.d.ts.map +0 -1
- package/dist/react-renderer/core/A2UIProvider.js +0 -156
- package/dist/react-renderer/core/A2UIProvider.js.map +0 -1
- package/dist/react-renderer/core/A2UIRenderer.d.ts +0 -36
- package/dist/react-renderer/core/A2UIRenderer.d.ts.map +0 -1
- package/dist/react-renderer/core/A2UIRenderer.js +0 -83
- package/dist/react-renderer/core/A2UIRenderer.js.map +0 -1
- package/dist/react-renderer/core/A2UIViewer.d.ts +0 -56
- package/dist/react-renderer/core/A2UIViewer.d.ts.map +0 -1
- package/dist/react-renderer/core/A2UIViewer.js +0 -135
- package/dist/react-renderer/core/A2UIViewer.js.map +0 -1
- package/dist/react-renderer/core/ComponentNode.d.ts +0 -25
- package/dist/react-renderer/core/ComponentNode.d.ts.map +0 -1
- package/dist/react-renderer/core/ComponentNode.js +0 -43
- package/dist/react-renderer/core/ComponentNode.js.map +0 -1
- package/dist/react-renderer/core/store.d.ts +0 -37
- package/dist/react-renderer/core/store.d.ts.map +0 -1
- package/dist/react-renderer/core/store.js +0 -2
- package/dist/react-renderer/core/store.js.map +0 -1
- package/dist/react-renderer/hooks/useA2UI.d.ts +0 -46
- package/dist/react-renderer/hooks/useA2UI.d.ts.map +0 -1
- package/dist/react-renderer/hooks/useA2UI.js +0 -41
- package/dist/react-renderer/hooks/useA2UI.js.map +0 -1
- package/dist/react-renderer/hooks/useA2UIComponent.d.ts +0 -52
- package/dist/react-renderer/hooks/useA2UIComponent.d.ts.map +0 -1
- package/dist/react-renderer/hooks/useA2UIComponent.js +0 -175
- package/dist/react-renderer/hooks/useA2UIComponent.js.map +0 -1
- package/dist/react-renderer/index.d.ts +0 -37
- package/dist/react-renderer/index.d.ts.map +0 -1
- package/dist/react-renderer/index.js +0 -40
- package/dist/react-renderer/index.js.map +0 -1
- package/dist/react-renderer/lib/utils.d.ts +0 -32
- package/dist/react-renderer/lib/utils.d.ts.map +0 -1
- package/dist/react-renderer/lib/utils.js +0 -41
- package/dist/react-renderer/lib/utils.js.map +0 -1
- package/dist/react-renderer/registry/ComponentRegistry.d.ts +0 -78
- package/dist/react-renderer/registry/ComponentRegistry.d.ts.map +0 -1
- package/dist/react-renderer/registry/ComponentRegistry.js +0 -113
- package/dist/react-renderer/registry/ComponentRegistry.js.map +0 -1
- package/dist/react-renderer/registry/defaultCatalog.d.ts +0 -13
- package/dist/react-renderer/registry/defaultCatalog.d.ts.map +0 -1
- package/dist/react-renderer/registry/defaultCatalog.js +0 -59
- package/dist/react-renderer/registry/defaultCatalog.js.map +0 -1
- package/dist/react-renderer/styles/index.d.ts +0 -41
- package/dist/react-renderer/styles/index.d.ts.map +0 -1
- package/dist/react-renderer/styles/index.js.map +0 -1
- package/dist/react-renderer/styles/reset.d.ts +0 -18
- package/dist/react-renderer/styles/reset.d.ts.map +0 -1
- package/dist/react-renderer/styles/reset.js +0 -24
- package/dist/react-renderer/styles/reset.js.map +0 -1
- package/dist/react-renderer/theme/ThemeContext.d.ts +0 -29
- package/dist/react-renderer/theme/ThemeContext.d.ts.map +0 -1
- package/dist/react-renderer/theme/ThemeContext.js +0 -35
- package/dist/react-renderer/theme/ThemeContext.js.map +0 -1
- package/dist/react-renderer/theme/litTheme.d.ts +0 -8
- package/dist/react-renderer/theme/litTheme.d.ts.map +0 -1
- package/dist/react-renderer/theme/litTheme.js +0 -401
- package/dist/react-renderer/theme/litTheme.js.map +0 -1
- package/dist/react-renderer/theme/utils.d.ts +0 -23
- package/dist/react-renderer/theme/utils.d.ts.map +0 -1
- package/dist/react-renderer/theme/utils.js +0 -46
- package/dist/react-renderer/theme/utils.js.map +0 -1
- package/dist/react-renderer/types.d.ts +0 -53
- package/dist/react-renderer/types.d.ts.map +0 -1
- package/dist/react-renderer/types.js +0 -2
- package/dist/react-renderer/types.js.map +0 -1
- package/dist/theme/viewer-theme.d.ts +0 -3
- package/dist/theme/viewer-theme.d.ts.map +0 -1
- package/dist/theme/viewer-theme.js +0 -391
- package/dist/theme/viewer-theme.js.map +0 -1
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useCallback, useEffect, useId, memo } from "react";
|
|
3
|
-
import { useA2UIComponent } from "../../hooks/useA2UIComponent";
|
|
4
|
-
import { classMapToString, stylesToObject } from "../../lib/utils";
|
|
5
|
-
/**
|
|
6
|
-
* CheckBox component - a boolean toggle with a label.
|
|
7
|
-
*
|
|
8
|
-
* Supports two-way data binding for the checked state.
|
|
9
|
-
*/
|
|
10
|
-
export const CheckBox = memo(function CheckBox({ node, surfaceId, }) {
|
|
11
|
-
const { theme, resolveString, resolveBoolean, setValue, getValue } = useA2UIComponent(node, surfaceId);
|
|
12
|
-
const props = node.properties;
|
|
13
|
-
const id = useId();
|
|
14
|
-
const label = resolveString(props.label);
|
|
15
|
-
const valuePath = props.value?.path;
|
|
16
|
-
const initialChecked = resolveBoolean(props.value) ?? false;
|
|
17
|
-
const [checked, setChecked] = useState(initialChecked);
|
|
18
|
-
// Sync with external data model changes (path binding)
|
|
19
|
-
useEffect(() => {
|
|
20
|
-
if (valuePath) {
|
|
21
|
-
const externalValue = getValue(valuePath);
|
|
22
|
-
if (externalValue !== null && Boolean(externalValue) !== checked) {
|
|
23
|
-
setChecked(Boolean(externalValue));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}, [valuePath, getValue]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
27
|
-
// Sync when literal value changes from props (server-driven updates via surfaceUpdate)
|
|
28
|
-
useEffect(() => {
|
|
29
|
-
if (props.value?.literalBoolean !== undefined) {
|
|
30
|
-
setChecked(props.value.literalBoolean);
|
|
31
|
-
}
|
|
32
|
-
}, [props.value?.literalBoolean]);
|
|
33
|
-
const handleChange = useCallback((e) => {
|
|
34
|
-
const newValue = e.target.checked;
|
|
35
|
-
setChecked(newValue);
|
|
36
|
-
// Two-way binding: update data model
|
|
37
|
-
if (valuePath) {
|
|
38
|
-
setValue(valuePath, newValue);
|
|
39
|
-
}
|
|
40
|
-
}, [valuePath, setValue]);
|
|
41
|
-
// Structure mirrors Lit's CheckBox component:
|
|
42
|
-
// <div class="a2ui-checkbox"> ← :host equivalent
|
|
43
|
-
// <section class="..."> ← internal element
|
|
44
|
-
// <input>...</input>
|
|
45
|
-
// <label>...</label>
|
|
46
|
-
// </section>
|
|
47
|
-
// </div>
|
|
48
|
-
// Apply --weight CSS variable on root div (:host equivalent) for flex layouts
|
|
49
|
-
const hostStyle = node.weight !== undefined
|
|
50
|
-
? { "--weight": node.weight }
|
|
51
|
-
: {};
|
|
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
|
-
});
|
|
54
|
-
export default CheckBox;
|
|
55
|
-
//# sourceMappingURL=CheckBox.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CheckBox.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/CheckBox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Types } from "@a2ui/lit/0.8";
|
|
2
|
-
import type { A2UIComponentProps } from "../../types";
|
|
3
|
-
/**
|
|
4
|
-
* DateTimeInput component - a date and/or time picker.
|
|
5
|
-
*
|
|
6
|
-
* Supports enabling date, time, or both. Uses native HTML5 date/time inputs.
|
|
7
|
-
*/
|
|
8
|
-
export declare const DateTimeInput: import("react").NamedExoticComponent<A2UIComponentProps<Types.DateTimeInputNode>>;
|
|
9
|
-
export default DateTimeInput;
|
|
10
|
-
//# sourceMappingURL=DateTimeInput.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useCallback, useEffect, useId, memo } from "react";
|
|
3
|
-
import { useA2UIComponent } from "../../hooks/useA2UIComponent";
|
|
4
|
-
import { classMapToString, stylesToObject } from "../../lib/utils";
|
|
5
|
-
/**
|
|
6
|
-
* DateTimeInput component - a date and/or time picker.
|
|
7
|
-
*
|
|
8
|
-
* Supports enabling date, time, or both. Uses native HTML5 date/time inputs.
|
|
9
|
-
*/
|
|
10
|
-
export const DateTimeInput = memo(function DateTimeInput({ node, surfaceId, }) {
|
|
11
|
-
const { theme, resolveString, setValue, getValue } = useA2UIComponent(node, surfaceId);
|
|
12
|
-
const props = node.properties;
|
|
13
|
-
const id = useId();
|
|
14
|
-
const valuePath = props.value?.path;
|
|
15
|
-
const initialValue = resolveString(props.value) ?? "";
|
|
16
|
-
const enableDate = props.enableDate ?? true;
|
|
17
|
-
const enableTime = props.enableTime ?? false;
|
|
18
|
-
const [value, setLocalValue] = useState(initialValue);
|
|
19
|
-
// Sync with external data model changes
|
|
20
|
-
useEffect(() => {
|
|
21
|
-
if (valuePath) {
|
|
22
|
-
const externalValue = getValue(valuePath);
|
|
23
|
-
if (externalValue !== null && String(externalValue) !== value) {
|
|
24
|
-
setLocalValue(String(externalValue));
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}, [valuePath, getValue]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
28
|
-
const handleChange = useCallback((e) => {
|
|
29
|
-
const newValue = e.target.value;
|
|
30
|
-
setLocalValue(newValue);
|
|
31
|
-
// Two-way binding: update data model
|
|
32
|
-
if (valuePath) {
|
|
33
|
-
setValue(valuePath, newValue);
|
|
34
|
-
}
|
|
35
|
-
}, [valuePath, setValue]);
|
|
36
|
-
// Determine input type based on enableDate and enableTime
|
|
37
|
-
let inputType = "date";
|
|
38
|
-
if (enableDate && enableTime) {
|
|
39
|
-
inputType = "datetime-local";
|
|
40
|
-
}
|
|
41
|
-
else if (enableTime && !enableDate) {
|
|
42
|
-
inputType = "time";
|
|
43
|
-
}
|
|
44
|
-
// Get placeholder text to match Lit renderer
|
|
45
|
-
const getPlaceholderText = () => {
|
|
46
|
-
if (enableDate && enableTime) {
|
|
47
|
-
return "Date & Time";
|
|
48
|
-
}
|
|
49
|
-
else if (enableTime) {
|
|
50
|
-
return "Time";
|
|
51
|
-
}
|
|
52
|
-
return "Date";
|
|
53
|
-
};
|
|
54
|
-
// Structure mirrors Lit's DateTimeInput component:
|
|
55
|
-
// <div class="a2ui-datetime-input"> ← :host equivalent
|
|
56
|
-
// <section class="..."> ← container theme classes
|
|
57
|
-
// <label> ← label
|
|
58
|
-
// <input> ← input element
|
|
59
|
-
// </section>
|
|
60
|
-
// </div>
|
|
61
|
-
// Apply --weight CSS variable on root div (:host equivalent) for flex layouts
|
|
62
|
-
const hostStyle = node.weight !== undefined
|
|
63
|
-
? { "--weight": node.weight }
|
|
64
|
-
: {};
|
|
65
|
-
return (_jsx("div", { className: "a2ui-datetime-input", style: hostStyle, children: _jsxs("section", { className: classMapToString(theme.components.DateTimeInput.container), children: [_jsx("label", { htmlFor: id, className: classMapToString(theme.components.DateTimeInput.label), children: getPlaceholderText() }), _jsx("input", { type: inputType, id: id, value: value, onChange: handleChange, className: classMapToString(theme.components.DateTimeInput.element), style: stylesToObject(theme.additionalStyles?.DateTimeInput) })] }) }));
|
|
66
|
-
});
|
|
67
|
-
export default DateTimeInput;
|
|
68
|
-
//# sourceMappingURL=DateTimeInput.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeInput.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/DateTimeInput.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,aAAa,GAAG,IAAI,CAAC,SAAS,aAAa,CAAC,EACvD,IAAI,EACJ,SAAS,GACmC;IAC5C,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CACnE,IAAI,EACJ,SAAS,CACV,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;IAC9B,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;IACpC,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACtD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC;IAE7C,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IAEtD,wCAAwC;IACxC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC1C,IAAI,aAAa,KAAK,IAAI,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC9D,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,kDAAkD;IAE7E,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,CAAsC,EAAE,EAAE;QACzC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAExB,qCAAqC;QACrC,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,EACD,CAAC,SAAS,EAAE,QAAQ,CAAC,CACtB,CAAC;IAEF,0DAA0D;IAC1D,IAAI,SAAS,GAAuC,MAAM,CAAC;IAC3D,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;QAC7B,SAAS,GAAG,gBAAgB,CAAC;IAC/B,CAAC;SAAM,IAAI,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,SAAS,GAAG,MAAM,CAAC;IACrB,CAAC;IAED,6CAA6C;IAC7C,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;YAC7B,OAAO,aAAa,CAAC;QACvB,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,mDAAmD;IACnD,0DAA0D;IAC1D,iEAAiE;IACjE,+CAA+C;IAC/C,uDAAuD;IACvD,iBAAiB;IACjB,WAAW;IAEX,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,qBAAqB,EAAC,KAAK,EAAE,SAAS,YACnD,mBACE,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,aAErE,gBACE,OAAO,EAAE,EAAE,EACX,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,YAEhE,kBAAkB,EAAE,GACf,EACR,gBACE,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,EACnE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,gBAAgB,EAAE,aAAa,CAAC,GAC5D,IACM,GACN,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Types } from "@a2ui/lit/0.8";
|
|
2
|
-
import type { A2UIComponentProps } from "../../types";
|
|
3
|
-
/**
|
|
4
|
-
* MultipleChoice component - a selection component using a dropdown.
|
|
5
|
-
*
|
|
6
|
-
* Renders a <select> element with options, matching the Lit renderer's behavior.
|
|
7
|
-
* Supports two-way data binding for the selected value.
|
|
8
|
-
*/
|
|
9
|
-
export declare const MultipleChoice: import("react").NamedExoticComponent<A2UIComponentProps<Types.MultipleChoiceNode>>;
|
|
10
|
-
export default MultipleChoice;
|
|
11
|
-
//# sourceMappingURL=MultipleChoice.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MultipleChoice.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/MultipleChoice.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,oFAyEzB,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback, useId, memo } from "react";
|
|
3
|
-
import { useA2UIComponent } from "../../hooks/useA2UIComponent";
|
|
4
|
-
import { classMapToString, stylesToObject } from "../../lib/utils";
|
|
5
|
-
/**
|
|
6
|
-
* MultipleChoice component - a selection component using a dropdown.
|
|
7
|
-
*
|
|
8
|
-
* Renders a <select> element with options, matching the Lit renderer's behavior.
|
|
9
|
-
* Supports two-way data binding for the selected value.
|
|
10
|
-
*/
|
|
11
|
-
export const MultipleChoice = memo(function MultipleChoice({ node, surfaceId, }) {
|
|
12
|
-
const { theme, resolveString, setValue } = useA2UIComponent(node, surfaceId);
|
|
13
|
-
const props = node.properties;
|
|
14
|
-
const id = useId();
|
|
15
|
-
const options = props.options ?? [];
|
|
16
|
-
const selectionsPath = props.selections?.path;
|
|
17
|
-
// Access description from props (Lit component supports it)
|
|
18
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
19
|
-
const description = resolveString(props.description) ?? "Select an item";
|
|
20
|
-
const handleChange = useCallback((e) => {
|
|
21
|
-
// Two-way binding: update data model with array (matches Lit behavior)
|
|
22
|
-
if (selectionsPath) {
|
|
23
|
-
setValue(selectionsPath, [e.target.value]);
|
|
24
|
-
}
|
|
25
|
-
}, [selectionsPath, setValue]);
|
|
26
|
-
// Apply --weight CSS variable on root div (:host equivalent) for flex layouts
|
|
27
|
-
const hostStyle = node.weight !== undefined
|
|
28
|
-
? { "--weight": node.weight }
|
|
29
|
-
: {};
|
|
30
|
-
// Structure mirrors Lit's MultipleChoice component:
|
|
31
|
-
// <div class="a2ui-multiplechoice"> ← :host equivalent
|
|
32
|
-
// <section class="..."> ← container theme classes
|
|
33
|
-
// <label>...</label> ← description label
|
|
34
|
-
// <select>...</select> ← dropdown element
|
|
35
|
-
// </section>
|
|
36
|
-
// </div>
|
|
37
|
-
return (_jsx("div", { className: "a2ui-multiplechoice", style: hostStyle, children: _jsxs("section", { className: classMapToString(theme.components.MultipleChoice.container), children: [_jsx("label", { htmlFor: id, className: classMapToString(theme.components.MultipleChoice.label), children: description }), _jsx("select", { name: "data", id: id, className: classMapToString(theme.components.MultipleChoice.element), style: stylesToObject(theme.additionalStyles?.MultipleChoice), onChange: handleChange, children: options.map((option) => {
|
|
38
|
-
const label = resolveString(option.label);
|
|
39
|
-
return (_jsx("option", { value: option.value, children: label }, option.value));
|
|
40
|
-
}) })] }) }));
|
|
41
|
-
});
|
|
42
|
-
export default MultipleChoice;
|
|
43
|
-
//# sourceMappingURL=MultipleChoice.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MultipleChoice.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/MultipleChoice.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAGjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,cAAc,CAAC,EACzD,IAAI,EACJ,SAAS,GACoC;IAC7C,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;IAC9B,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnB,MAAM,OAAO,GACV,KAAK,CAAC,OAGH,IAAI,EAAE,CAAC;IACb,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC;IAE9C,4DAA4D;IAC5D,8DAA8D;IAC9D,MAAM,WAAW,GACf,aAAa,CAAE,KAAa,CAAC,WAAW,CAAC,IAAI,gBAAgB,CAAC;IAEhE,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,CAAuC,EAAE,EAAE;QAC1C,uEAAuE;QACvE,IAAI,cAAc,EAAE,CAAC;YACnB,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,EACD,CAAC,cAAc,EAAE,QAAQ,CAAC,CAC3B,CAAC;IAEF,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,oDAAoD;IACpD,0DAA0D;IAC1D,iEAAiE;IACjE,2DAA2D;IAC3D,0DAA0D;IAC1D,iBAAiB;IACjB,WAAW;IACX,OAAO,CACL,cAAK,SAAS,EAAC,qBAAqB,EAAC,KAAK,EAAE,SAAS,YACnD,mBACE,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,aAEtE,gBACE,OAAO,EAAE,EAAE,EACX,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,YAEjE,WAAW,GACN,EACR,iBACE,IAAI,EAAC,MAAM,EACX,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,EACpE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAC7D,QAAQ,EAAE,YAAY,YAErB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;wBACtB,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC1C,OAAO,CACL,iBAA2B,KAAK,EAAE,MAAM,CAAC,KAAK,YAC3C,KAAK,IADK,MAAM,CAAC,KAAK,CAEhB,CACV,CAAC;oBACJ,CAAC,CAAC,GACK,IACD,GACN,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Types } from "@a2ui/lit/0.8";
|
|
2
|
-
import type { A2UIComponentProps } from "../../types";
|
|
3
|
-
/**
|
|
4
|
-
* Slider component - a numeric value selector with a range.
|
|
5
|
-
*
|
|
6
|
-
* Supports two-way data binding for the value.
|
|
7
|
-
*/
|
|
8
|
-
export declare const Slider: import("react").NamedExoticComponent<A2UIComponentProps<Types.SliderNode>>;
|
|
9
|
-
export default Slider;
|
|
10
|
-
//# sourceMappingURL=Slider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/Slider.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,MAAM,4EA6FjB,CAAC;AAEH,eAAe,MAAM,CAAC"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useCallback, useEffect, useId, memo } from "react";
|
|
3
|
-
import { useA2UIComponent } from "../../hooks/useA2UIComponent";
|
|
4
|
-
import { classMapToString, stylesToObject } from "../../lib/utils";
|
|
5
|
-
/**
|
|
6
|
-
* Slider component - a numeric value selector with a range.
|
|
7
|
-
*
|
|
8
|
-
* Supports two-way data binding for the value.
|
|
9
|
-
*/
|
|
10
|
-
export const Slider = memo(function Slider({ node, surfaceId, }) {
|
|
11
|
-
const { theme, resolveNumber, resolveString, setValue, getValue } = useA2UIComponent(node, surfaceId);
|
|
12
|
-
const props = node.properties;
|
|
13
|
-
const id = useId();
|
|
14
|
-
const valuePath = props.value?.path;
|
|
15
|
-
const initialValue = resolveNumber(props.value) ?? 0;
|
|
16
|
-
// Match Lit's default values (minValue=0, maxValue=0)
|
|
17
|
-
const minValue = props.minValue ?? 0;
|
|
18
|
-
const maxValue = props.maxValue ?? 0;
|
|
19
|
-
const [value, setLocalValue] = useState(initialValue);
|
|
20
|
-
// Sync with external data model changes (path binding)
|
|
21
|
-
useEffect(() => {
|
|
22
|
-
if (valuePath) {
|
|
23
|
-
const externalValue = getValue(valuePath);
|
|
24
|
-
if (externalValue !== null && Number(externalValue) !== value) {
|
|
25
|
-
setLocalValue(Number(externalValue));
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}, [valuePath, getValue]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
29
|
-
// Sync when literal value changes from props (server-driven updates via surfaceUpdate)
|
|
30
|
-
useEffect(() => {
|
|
31
|
-
if (props.value?.literalNumber !== undefined) {
|
|
32
|
-
setLocalValue(props.value.literalNumber);
|
|
33
|
-
}
|
|
34
|
-
}, [props.value?.literalNumber]);
|
|
35
|
-
const handleChange = useCallback((e) => {
|
|
36
|
-
const newValue = Number(e.target.value);
|
|
37
|
-
setLocalValue(newValue);
|
|
38
|
-
// Two-way binding: update data model
|
|
39
|
-
if (valuePath) {
|
|
40
|
-
setValue(valuePath, newValue);
|
|
41
|
-
}
|
|
42
|
-
}, [valuePath, setValue]);
|
|
43
|
-
// Access label from props if it exists (Lit component supports it but type doesn't define it)
|
|
44
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
45
|
-
const labelValue = props.label;
|
|
46
|
-
const label = labelValue ? resolveString(labelValue) : "";
|
|
47
|
-
// Structure mirrors Lit's Slider component:
|
|
48
|
-
// <div class="a2ui-slider"> ← :host equivalent
|
|
49
|
-
// <section class="..."> ← internal element
|
|
50
|
-
// <label>...</label>
|
|
51
|
-
// <input>...</input>
|
|
52
|
-
// <span>value</span>
|
|
53
|
-
// </section>
|
|
54
|
-
// </div>
|
|
55
|
-
// Apply --weight CSS variable on root div (:host equivalent) for flex layouts
|
|
56
|
-
const hostStyle = node.weight !== undefined
|
|
57
|
-
? { "--weight": node.weight }
|
|
58
|
-
: {};
|
|
59
|
-
return (_jsx("div", { className: "a2ui-slider", style: hostStyle, children: _jsxs("section", { className: classMapToString(theme.components.Slider.container), children: [_jsx("label", { htmlFor: id, className: classMapToString(theme.components.Slider.label), children: label }), _jsx("input", { type: "range", id: id, name: "data", value: value, min: minValue, max: maxValue, onChange: handleChange, className: classMapToString(theme.components.Slider.element), style: stylesToObject(theme.additionalStyles?.Slider) }), _jsx("span", { className: classMapToString(theme.components.Slider.label), children: value })] }) }));
|
|
60
|
-
});
|
|
61
|
-
export default Slider;
|
|
62
|
-
//# sourceMappingURL=Slider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/Slider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Types } from "@a2ui/lit/0.8";
|
|
2
|
-
import type { A2UIComponentProps } from "../../types";
|
|
3
|
-
/**
|
|
4
|
-
* TextField component - an input field for text entry.
|
|
5
|
-
*
|
|
6
|
-
* Supports various input types and two-way data binding.
|
|
7
|
-
*/
|
|
8
|
-
export declare const TextField: import("react").NamedExoticComponent<A2UIComponentProps<Types.TextFieldNode>>;
|
|
9
|
-
export default TextField;
|
|
10
|
-
//# sourceMappingURL=TextField.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/TextField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAMtD;;;;GAIG;AACH,eAAO,MAAM,SAAS,+EAuGpB,CAAC;AAEH,eAAe,SAAS,CAAC"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useCallback, useEffect, useId, memo } from "react";
|
|
3
|
-
import { useA2UIComponent } from "../../hooks/useA2UIComponent";
|
|
4
|
-
import { classMapToString, stylesToObject } from "../../lib/utils";
|
|
5
|
-
/**
|
|
6
|
-
* TextField component - an input field for text entry.
|
|
7
|
-
*
|
|
8
|
-
* Supports various input types and two-way data binding.
|
|
9
|
-
*/
|
|
10
|
-
export const TextField = memo(function TextField({ node, surfaceId, }) {
|
|
11
|
-
const { theme, resolveString, setValue, getValue } = useA2UIComponent(node, surfaceId);
|
|
12
|
-
const props = node.properties;
|
|
13
|
-
const id = useId();
|
|
14
|
-
const label = resolveString(props.label);
|
|
15
|
-
const textPath = props.text?.path;
|
|
16
|
-
const initialValue = resolveString(props.text) ?? "";
|
|
17
|
-
const fieldType = props.type;
|
|
18
|
-
const validationRegexp = props.validationRegexp;
|
|
19
|
-
const [value, setLocalValue] = useState(initialValue);
|
|
20
|
-
// Validation state tracked for potential future use (e.g., error styling)
|
|
21
|
-
const [_isValid, setIsValid] = useState(true);
|
|
22
|
-
// Sync with external data model changes
|
|
23
|
-
useEffect(() => {
|
|
24
|
-
if (textPath) {
|
|
25
|
-
const externalValue = getValue(textPath);
|
|
26
|
-
if (externalValue !== null && String(externalValue) !== value) {
|
|
27
|
-
setLocalValue(String(externalValue));
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}, [textPath, getValue]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
31
|
-
const handleChange = useCallback((e) => {
|
|
32
|
-
const newValue = e.target.value;
|
|
33
|
-
setLocalValue(newValue);
|
|
34
|
-
// Validate if pattern provided
|
|
35
|
-
if (validationRegexp) {
|
|
36
|
-
setIsValid(new RegExp(validationRegexp).test(newValue));
|
|
37
|
-
}
|
|
38
|
-
// Two-way binding: update data model
|
|
39
|
-
if (textPath) {
|
|
40
|
-
setValue(textPath, newValue);
|
|
41
|
-
}
|
|
42
|
-
}, [validationRegexp, textPath, setValue]);
|
|
43
|
-
const inputType = fieldType === "number" ? "number" : fieldType === "date" ? "date" : "text";
|
|
44
|
-
const isTextArea = fieldType === "longText";
|
|
45
|
-
// Structure mirrors Lit's TextField component:
|
|
46
|
-
// <div class="a2ui-textfield"> ← :host equivalent
|
|
47
|
-
// <section class="..."> ← container with theme classes
|
|
48
|
-
// <label>...</label>
|
|
49
|
-
// <input>...</input>
|
|
50
|
-
// </section>
|
|
51
|
-
// </div>
|
|
52
|
-
// Apply --weight CSS variable on root div (:host equivalent) for flex layouts
|
|
53
|
-
const hostStyle = node.weight !== undefined
|
|
54
|
-
? { "--weight": node.weight }
|
|
55
|
-
: {};
|
|
56
|
-
return (_jsx("div", { className: "a2ui-textfield", style: hostStyle, children: _jsxs("section", { className: classMapToString(theme.components.TextField.container), children: [label && (_jsx("label", { htmlFor: id, className: classMapToString(theme.components.TextField.label), children: label })), isTextArea ? (_jsx("textarea", { id: id, value: value, onChange: handleChange, placeholder: "Please enter a value", className: classMapToString(theme.components.TextField.element), style: stylesToObject(theme.additionalStyles?.TextField) })) : (_jsx("input", { type: inputType, id: id, value: value, onChange: handleChange, placeholder: "Please enter a value", className: classMapToString(theme.components.TextField.element), style: stylesToObject(theme.additionalStyles?.TextField) }))] }) }));
|
|
57
|
-
});
|
|
58
|
-
export default TextField;
|
|
59
|
-
//# sourceMappingURL=TextField.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/TextField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { Button } from "./Button";
|
|
2
|
-
export { TextField } from "./TextField";
|
|
3
|
-
export { CheckBox } from "./CheckBox";
|
|
4
|
-
export { Slider } from "./Slider";
|
|
5
|
-
export { DateTimeInput } from "./DateTimeInput";
|
|
6
|
-
export { MultipleChoice } from "./MultipleChoice";
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { Button } from "./Button";
|
|
2
|
-
export { TextField } from "./TextField";
|
|
3
|
-
export { CheckBox } from "./CheckBox";
|
|
4
|
-
export { Slider } from "./Slider";
|
|
5
|
-
export { DateTimeInput } from "./DateTimeInput";
|
|
6
|
-
export { MultipleChoice } from "./MultipleChoice";
|
|
7
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/interactive/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { Types } from "@a2ui/lit/0.8";
|
|
2
|
-
import type { A2UIComponentProps } from "../../types";
|
|
3
|
-
/**
|
|
4
|
-
* Card component - a container that visually groups content.
|
|
5
|
-
*
|
|
6
|
-
* Structure mirrors Lit's Card component:
|
|
7
|
-
* <div class="a2ui-card"> ← :host equivalent
|
|
8
|
-
* <section class="..."> ← theme classes (border, padding, background)
|
|
9
|
-
* {children} ← ::slotted(*) equivalent
|
|
10
|
-
* </section>
|
|
11
|
-
* </div>
|
|
12
|
-
*
|
|
13
|
-
* All styles come from componentSpecificStyles CSS, no inline styles needed.
|
|
14
|
-
*/
|
|
15
|
-
export declare const Card: import("react").NamedExoticComponent<A2UIComponentProps<Types.CardNode>>;
|
|
16
|
-
export default Card;
|
|
17
|
-
//# sourceMappingURL=Card.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/layout/Card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKtD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,IAAI,0EA2Cf,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { memo } from "react";
|
|
3
|
-
import { useA2UIComponent } from "../../hooks/useA2UIComponent";
|
|
4
|
-
import { classMapToString, stylesToObject } from "../../lib/utils";
|
|
5
|
-
import { ComponentNode } from "../../core/ComponentNode";
|
|
6
|
-
/**
|
|
7
|
-
* Card component - a container that visually groups content.
|
|
8
|
-
*
|
|
9
|
-
* Structure mirrors Lit's Card component:
|
|
10
|
-
* <div class="a2ui-card"> ← :host equivalent
|
|
11
|
-
* <section class="..."> ← theme classes (border, padding, background)
|
|
12
|
-
* {children} ← ::slotted(*) equivalent
|
|
13
|
-
* </section>
|
|
14
|
-
* </div>
|
|
15
|
-
*
|
|
16
|
-
* All styles come from componentSpecificStyles CSS, no inline styles needed.
|
|
17
|
-
*/
|
|
18
|
-
export const Card = memo(function Card({ node, surfaceId, }) {
|
|
19
|
-
const { theme } = useA2UIComponent(node, surfaceId);
|
|
20
|
-
const props = node.properties;
|
|
21
|
-
// Card can have either a single child or multiple children
|
|
22
|
-
const rawChildren = props.children ?? (props.child ? [props.child] : []);
|
|
23
|
-
const children = Array.isArray(rawChildren) ? rawChildren : [];
|
|
24
|
-
// Apply --weight CSS variable on root div (:host equivalent) for flex layouts
|
|
25
|
-
const hostStyle = node.weight !== undefined
|
|
26
|
-
? { "--weight": node.weight }
|
|
27
|
-
: {};
|
|
28
|
-
return (_jsx("div", { className: "a2ui-card", style: hostStyle, children: _jsx("section", { className: classMapToString(theme.components.Card), style: stylesToObject(theme.additionalStyles?.Card), children: children.map((child, index) => {
|
|
29
|
-
const childId = typeof child === "object" && child !== null && "id" in child
|
|
30
|
-
? child.id
|
|
31
|
-
: `child-${index}`;
|
|
32
|
-
const childNode = typeof child === "object" && child !== null && "type" in child
|
|
33
|
-
? child
|
|
34
|
-
: null;
|
|
35
|
-
return (_jsx(ComponentNode, { node: childNode, surfaceId: surfaceId }, childId));
|
|
36
|
-
}) }) }));
|
|
37
|
-
});
|
|
38
|
-
export default Card;
|
|
39
|
-
//# sourceMappingURL=Card.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/layout/Card.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;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,EACrC,IAAI,EACJ,SAAS,GAC0B;IACnC,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;IAE9B,2DAA2D;IAC3D,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/D,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,YAElD,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC7B,MAAM,OAAO,GACX,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK;oBAC1D,CAAC,CAAE,KAAgC,CAAC,EAAE;oBACtC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC;gBACvB,MAAM,SAAS,GACb,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK;oBAC5D,CAAC,CAAE,KAAgC;oBACnC,CAAC,CAAC,IAAI,CAAC;gBACX,OAAO,CACL,KAAC,aAAa,IAEZ,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,SAAS,IAFf,OAAO,CAGZ,CACH,CAAC;YACJ,CAAC,CAAC,GACM,GACN,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Types } from "@a2ui/lit/0.8";
|
|
2
|
-
import type { A2UIComponentProps } from "../../types";
|
|
3
|
-
/**
|
|
4
|
-
* Column component - arranges children vertically using flexbox.
|
|
5
|
-
*
|
|
6
|
-
* Supports distribution (justify-content) and alignment (align-items) properties.
|
|
7
|
-
*/
|
|
8
|
-
export declare const Column: import("react").NamedExoticComponent<A2UIComponentProps<Types.ColumnNode>>;
|
|
9
|
-
export default Column;
|
|
10
|
-
//# sourceMappingURL=Column.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Column.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/layout/Column.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKtD;;;;GAIG;AACH,eAAO,MAAM,MAAM,4EAkDjB,CAAC;AAEH,eAAe,MAAM,CAAC"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { memo } from "react";
|
|
3
|
-
import { useA2UIComponent } from "../../hooks/useA2UIComponent";
|
|
4
|
-
import { classMapToString, stylesToObject } from "../../lib/utils";
|
|
5
|
-
import { ComponentNode } from "../../core/ComponentNode";
|
|
6
|
-
/**
|
|
7
|
-
* Column component - arranges children vertically using flexbox.
|
|
8
|
-
*
|
|
9
|
-
* Supports distribution (justify-content) and alignment (align-items) properties.
|
|
10
|
-
*/
|
|
11
|
-
export const Column = memo(function Column({ node, surfaceId, }) {
|
|
12
|
-
const { theme } = useA2UIComponent(node, surfaceId);
|
|
13
|
-
const props = node.properties;
|
|
14
|
-
// Match Lit's default values
|
|
15
|
-
const alignment = props.alignment ?? "stretch";
|
|
16
|
-
const distribution = props.distribution ?? "start";
|
|
17
|
-
const children = Array.isArray(props.children) ? props.children : [];
|
|
18
|
-
// Apply --weight CSS variable on root div (:host equivalent) for flex layouts
|
|
19
|
-
const hostStyle = node.weight !== undefined
|
|
20
|
-
? { "--weight": node.weight }
|
|
21
|
-
: {};
|
|
22
|
-
return (_jsx("div", { className: "a2ui-column", "data-alignment": alignment, "data-distribution": distribution, style: hostStyle, children: _jsx("section", { className: classMapToString(theme.components.Column), style: stylesToObject(theme.additionalStyles?.Column), children: children.map((child, index) => {
|
|
23
|
-
const childId = typeof child === "object" && child !== null && "id" in child
|
|
24
|
-
? child.id
|
|
25
|
-
: `child-${index}`;
|
|
26
|
-
const childNode = typeof child === "object" && child !== null && "type" in child
|
|
27
|
-
? child
|
|
28
|
-
: null;
|
|
29
|
-
return (_jsx(ComponentNode, { node: childNode, surfaceId: surfaceId }, childId));
|
|
30
|
-
}) }) }));
|
|
31
|
-
});
|
|
32
|
-
export default Column;
|
|
33
|
-
//# sourceMappingURL=Column.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Column.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/layout/Column.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;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,MAAM,CAAC,EACzC,IAAI,EACJ,SAAS,GAC4B;IACrC,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;IAE9B,6BAA6B;IAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,SAAS,CAAC;IAC/C,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,OAAO,CAAC;IAEnD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAErE,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,cACE,SAAS,EAAC,aAAa,oBACP,SAAS,uBACN,YAAY,EAC/B,KAAK,EAAE,SAAS,YAEhB,kBACE,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EACpD,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,YAEpD,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC7B,MAAM,OAAO,GACX,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK;oBAC1D,CAAC,CAAE,KAAgC,CAAC,EAAE;oBACtC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC;gBACvB,MAAM,SAAS,GACb,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK;oBAC5D,CAAC,CAAE,KAAgC;oBACnC,CAAC,CAAC,IAAI,CAAC;gBACX,OAAO,CACL,KAAC,aAAa,IAEZ,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,SAAS,IAFf,OAAO,CAGZ,CACH,CAAC;YACJ,CAAC,CAAC,GACM,GACN,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,MAAM,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Types } from "@a2ui/lit/0.8";
|
|
2
|
-
import type { A2UIComponentProps } from "../../types";
|
|
3
|
-
/**
|
|
4
|
-
* List component - renders a scrollable list of items.
|
|
5
|
-
*
|
|
6
|
-
* Supports direction (vertical/horizontal) properties.
|
|
7
|
-
*/
|
|
8
|
-
export declare const List: import("react").NamedExoticComponent<A2UIComponentProps<Types.ListNode>>;
|
|
9
|
-
export default List;
|
|
10
|
-
//# sourceMappingURL=List.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../src/react-renderer/components/layout/List.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKtD;;;;GAIG;AACH,eAAO,MAAM,IAAI,0EA4Cf,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { memo } from "react";
|
|
3
|
-
import { useA2UIComponent } from "../../hooks/useA2UIComponent";
|
|
4
|
-
import { classMapToString, stylesToObject } from "../../lib/utils";
|
|
5
|
-
import { ComponentNode } from "../../core/ComponentNode";
|
|
6
|
-
/**
|
|
7
|
-
* List component - renders a scrollable list of items.
|
|
8
|
-
*
|
|
9
|
-
* Supports direction (vertical/horizontal) properties.
|
|
10
|
-
*/
|
|
11
|
-
export const List = memo(function List({ node, surfaceId, }) {
|
|
12
|
-
const { theme } = useA2UIComponent(node, surfaceId);
|
|
13
|
-
const props = node.properties;
|
|
14
|
-
// Match Lit's default value
|
|
15
|
-
const direction = props.direction ?? "vertical";
|
|
16
|
-
const children = Array.isArray(props.children) ? props.children : [];
|
|
17
|
-
// Apply --weight CSS variable on root div (:host equivalent) for flex layouts
|
|
18
|
-
const hostStyle = node.weight !== undefined
|
|
19
|
-
? { "--weight": node.weight }
|
|
20
|
-
: {};
|
|
21
|
-
return (_jsx("div", { className: "a2ui-list", "data-direction": direction, style: hostStyle, children: _jsx("section", { className: classMapToString(theme.components.List), style: stylesToObject(theme.additionalStyles?.List), children: children.map((child, index) => {
|
|
22
|
-
const childId = typeof child === "object" && child !== null && "id" in child
|
|
23
|
-
? child.id
|
|
24
|
-
: `child-${index}`;
|
|
25
|
-
const childNode = typeof child === "object" && child !== null && "type" in child
|
|
26
|
-
? child
|
|
27
|
-
: null;
|
|
28
|
-
return (_jsx(ComponentNode, { node: childNode, surfaceId: surfaceId }, childId));
|
|
29
|
-
}) }) }));
|
|
30
|
-
});
|
|
31
|
-
export default List;
|
|
32
|
-
//# sourceMappingURL=List.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../../../src/react-renderer/components/layout/List.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;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,EACrC,IAAI,EACJ,SAAS,GAC0B;IACnC,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;IAE9B,4BAA4B;IAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,UAAU,CAAC;IAEhD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAErE,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,oBAAiB,SAAS,EAAE,KAAK,EAAE,SAAS,YACpE,kBACE,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAClD,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAElD,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC7B,MAAM,OAAO,GACX,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,KAAK;oBAC1D,CAAC,CAAE,KAAgC,CAAC,EAAE;oBACtC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC;gBACvB,MAAM,SAAS,GACb,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK;oBAC5D,CAAC,CAAE,KAAgC;oBACnC,CAAC,CAAC,IAAI,CAAC;gBACX,OAAO,CACL,KAAC,aAAa,IAEZ,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,SAAS,IAFf,OAAO,CAGZ,CACH,CAAC;YACJ,CAAC,CAAC,GACM,GACN,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { Types } from "@a2ui/lit/0.8";
|
|
2
|
-
import type { A2UIComponentProps } from "../../types";
|
|
3
|
-
/**
|
|
4
|
-
* Modal component - displays content in a dialog overlay.
|
|
5
|
-
*
|
|
6
|
-
* Matches Lit's rendering approach:
|
|
7
|
-
* - When closed: renders section with entry point child
|
|
8
|
-
* - When open: renders dialog with content child (entry point is replaced)
|
|
9
|
-
*
|
|
10
|
-
* The dialog is rendered in place (no portal) so it stays inside .a2ui-surface
|
|
11
|
-
* and CSS selectors work correctly. showModal() handles the top-layer overlay.
|
|
12
|
-
*/
|
|
13
|
-
export declare const Modal: import("react").NamedExoticComponent<A2UIComponentProps<Types.ModalNode>>;
|
|
14
|
-
export default Modal;
|
|
15
|
-
//# sourceMappingURL=Modal.d.ts.map
|