@tdesign-react/chat 1.0.2-alpha.9 → 1.0.3-alpha.2
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/CHANGELOG.md +14 -1
- package/README.md +76 -22
- package/es/_chunks/dep-076af7c3.js +438 -0
- package/es/_chunks/dep-076af7c3.js.map +1 -0
- package/es/_chunks/dep-1007ac80.js +205 -0
- package/es/_chunks/dep-1007ac80.js.map +1 -0
- package/es/_chunks/dep-16520c2b.js +1247 -0
- package/es/_chunks/dep-16520c2b.js.map +1 -0
- package/es/_chunks/dep-1743bd61.js +438 -0
- package/es/_chunks/dep-1743bd61.js.map +1 -0
- package/es/_chunks/dep-1ca64fef.js +1247 -0
- package/es/_chunks/dep-1ca64fef.js.map +1 -0
- package/es/_chunks/dep-24472232.js +839 -0
- package/es/_chunks/dep-24472232.js.map +1 -0
- package/es/_chunks/dep-3864b369.js +839 -0
- package/es/_chunks/dep-3864b369.js.map +1 -0
- package/es/_chunks/dep-3e40d789.js +169 -0
- package/es/_chunks/dep-3e40d789.js.map +1 -0
- package/es/_chunks/dep-4dedfbef.js +438 -0
- package/es/_chunks/dep-4dedfbef.js.map +1 -0
- package/es/_chunks/dep-56f5e08e.js +448 -0
- package/es/_chunks/dep-56f5e08e.js.map +1 -0
- package/es/_chunks/dep-5b6b17d0.js +169 -0
- package/es/_chunks/dep-5b6b17d0.js.map +1 -0
- package/es/_chunks/dep-688e4aaa.js +438 -0
- package/es/_chunks/dep-688e4aaa.js.map +1 -0
- package/es/_chunks/dep-870f0d35.js +839 -0
- package/es/_chunks/dep-870f0d35.js.map +1 -0
- package/es/_chunks/dep-96eca06f.js +169 -0
- package/es/_chunks/dep-96eca06f.js.map +1 -0
- package/es/_chunks/dep-ba3bd553.js +169 -0
- package/es/_chunks/dep-ba3bd553.js.map +1 -0
- package/es/_chunks/dep-bcb234a1.js +839 -0
- package/es/_chunks/dep-bcb234a1.js.map +1 -0
- package/es/_chunks/dep-de8ac730.js +1247 -0
- package/es/_chunks/dep-de8ac730.js.map +1 -0
- package/es/_chunks/dep-e9dbff09.js +1247 -0
- package/es/_chunks/dep-e9dbff09.js.map +1 -0
- package/es/_chunks/dep-ebc4cf30.js +1247 -0
- package/es/_chunks/dep-ebc4cf30.js.map +1 -0
- package/es/_chunks/dep-f2051ebd.js +839 -0
- package/es/_chunks/dep-f2051ebd.js.map +1 -0
- package/es/_chunks/dep-f691a67e.js +438 -0
- package/es/_chunks/dep-f691a67e.js.map +1 -0
- package/es/_chunks/dep-f8016301.js +169 -0
- package/es/_chunks/dep-f8016301.js.map +1 -0
- package/es/_util/reactify.js +33 -13
- package/es/_util/reactify.js.map +1 -1
- package/es/_util/useDynamicStyle.js +1 -1
- package/es/attachments/index.js +1 -1
- package/es/chat-actionbar/index.js +1 -1
- package/es/chat-engine/components/a2ui/A2UIActivityRenderer.d.ts +196 -0
- package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js +301 -0
- package/es/chat-engine/components/a2ui/A2UIActivityRenderer.js.map +1 -0
- package/es/chat-engine/components/a2ui/A2UIComponentRenderer.d.ts +37 -0
- package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js +116 -0
- package/es/chat-engine/components/a2ui/A2UIComponentRenderer.js.map +1 -0
- package/es/chat-engine/components/a2ui/A2UIErrorBoundary.d.ts +42 -0
- package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js +113 -0
- package/es/chat-engine/components/a2ui/A2UIErrorBoundary.js.map +1 -0
- package/es/chat-engine/components/a2ui/A2UISkeleton.d.ts +60 -0
- package/es/chat-engine/components/a2ui/A2UISkeleton.js +197 -0
- package/es/chat-engine/components/a2ui/A2UISkeleton.js.map +1 -0
- package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.d.ts +44 -0
- package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js +139 -0
- package/es/chat-engine/components/a2ui/A2UISurfaceRenderer.js.map +1 -0
- package/es/chat-engine/components/a2ui/containers/A2UICard.d.ts +22 -0
- package/es/chat-engine/components/a2ui/containers/A2UICard.js +82 -0
- package/es/chat-engine/components/a2ui/containers/A2UICard.js.map +1 -0
- package/es/chat-engine/components/a2ui/containers/A2UIColumn.d.ts +18 -0
- package/es/chat-engine/components/a2ui/containers/A2UIColumn.js +81 -0
- package/es/chat-engine/components/a2ui/containers/A2UIColumn.js.map +1 -0
- package/es/chat-engine/components/a2ui/containers/A2UIList.d.ts +14 -0
- package/es/chat-engine/components/a2ui/containers/A2UIList.js +62 -0
- package/es/chat-engine/components/a2ui/containers/A2UIList.js.map +1 -0
- package/es/chat-engine/components/a2ui/containers/A2UIRow.d.ts +20 -0
- package/es/chat-engine/components/a2ui/containers/A2UIRow.js +84 -0
- package/es/chat-engine/components/a2ui/containers/A2UIRow.js.map +1 -0
- package/es/chat-engine/components/a2ui/containers/A2UITabs.d.ts +14 -0
- package/es/chat-engine/components/a2ui/containers/A2UITabs.js +69 -0
- package/es/chat-engine/components/a2ui/containers/A2UITabs.js.map +1 -0
- package/es/chat-engine/components/a2ui/containers/index.d.ts +8 -0
- package/es/chat-engine/components/a2ui/containers/index.js +30 -0
- package/es/chat-engine/components/a2ui/containers/index.js.map +1 -0
- package/es/chat-engine/components/a2ui/index.d.ts +11 -0
- package/es/chat-engine/components/a2ui/index.js +62 -0
- package/es/chat-engine/components/a2ui/index.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIButton.d.ts +33 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIButton.js +80 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIButton.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.d.ts +12 -0
- package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js +43 -0
- package/es/chat-engine/components/a2ui/primitives/A2UICheckBox.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.d.ts +50 -0
- package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js +54 -0
- package/es/chat-engine/components/a2ui/primitives/A2UICheckboxGroup.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.d.ts +13 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js +89 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIChoicePicker.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIDivider.d.ts +12 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js +25 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIDivider.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIIcon.d.ts +13 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js +138942 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIIcon.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIImage.d.ts +12 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIImage.js +75 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIImage.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIInput.d.ts +20 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIInput.js +63 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIInput.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.d.ts +56 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js +64 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIRadioGroup.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UISlider.d.ts +12 -0
- package/es/chat-engine/components/a2ui/primitives/A2UISlider.js +55 -0
- package/es/chat-engine/components/a2ui/primitives/A2UISlider.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIText.d.ts +12 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIText.js +104 -0
- package/es/chat-engine/components/a2ui/primitives/A2UIText.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/A2UITextField.d.ts +12 -0
- package/es/chat-engine/components/a2ui/primitives/A2UITextField.js +80 -0
- package/es/chat-engine/components/a2ui/primitives/A2UITextField.js.map +1 -0
- package/es/chat-engine/components/a2ui/primitives/index.d.ts +15 -0
- package/es/chat-engine/components/a2ui/primitives/index.js +39 -0
- package/es/chat-engine/components/a2ui/primitives/index.js.map +1 -0
- package/es/chat-engine/components/a2ui/registry.d.ts +35 -0
- package/es/chat-engine/components/a2ui/registry.js +74 -0
- package/es/chat-engine/components/a2ui/registry.js.map +1 -0
- package/es/chat-engine/components/activity/index.d.ts +0 -1
- package/es/chat-engine/components/activity/index.js +10 -5
- package/es/chat-engine/components/activity/index.js.map +1 -1
- package/es/chat-engine/components/activity/registry.d.ts +7 -41
- package/es/chat-engine/components/activity/registry.js +23 -77
- package/es/chat-engine/components/activity/registry.js.map +1 -1
- package/es/chat-engine/components/activity/render.d.ts +5 -1
- package/es/chat-engine/components/activity/render.js +33 -71
- package/es/chat-engine/components/activity/render.js.map +1 -1
- package/es/chat-engine/components/activity/types.d.ts +0 -3
- package/es/chat-engine/components/activity/types.js +1 -1
- package/es/chat-engine/components/index.js +16 -11
- package/es/chat-engine/components/index.js.map +1 -1
- package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +36 -0
- package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +36 -0
- package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +1 -0
- package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +46 -0
- package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +36 -0
- package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +1 -0
- package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +113 -0
- package/es/chat-engine/components/json-render/SurfaceStateManager.js +195 -0
- package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +1 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +49 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +307 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +1 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +96 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-types.js +7 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +1 -0
- package/es/chat-engine/components/json-render/adapters/index.d.ts +7 -0
- package/es/chat-engine/components/json-render/adapters/index.js +11 -0
- package/es/chat-engine/components/json-render/adapters/index.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +64 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +36 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +78 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +36 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/atomic/button.d.ts +14 -0
- package/es/chat-engine/components/json-render/catalog/atomic/button.js +71 -0
- package/es/chat-engine/components/json-render/catalog/atomic/button.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/atomic/card.d.ts +11 -0
- package/es/chat-engine/components/json-render/catalog/atomic/card.js +57 -0
- package/es/chat-engine/components/json-render/catalog/atomic/card.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/atomic/input.d.ts +20 -0
- package/es/chat-engine/components/json-render/catalog/atomic/input.js +76 -0
- package/es/chat-engine/components/json-render/catalog/atomic/input.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/atomic/layout.d.ts +44 -0
- package/es/chat-engine/components/json-render/catalog/atomic/layout.js +129 -0
- package/es/chat-engine/components/json-render/catalog/atomic/layout.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/atomic/text.d.ts +11 -0
- package/es/chat-engine/components/json-render/catalog/atomic/text.js +31 -0
- package/es/chat-engine/components/json-render/catalog/atomic/text.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/button.d.ts +14 -0
- package/es/chat-engine/components/json-render/catalog/button.js +71 -0
- package/es/chat-engine/components/json-render/catalog/button.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/card.d.ts +11 -0
- package/es/chat-engine/components/json-render/catalog/card.js +57 -0
- package/es/chat-engine/components/json-render/catalog/card.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.d.ts +614 -0
- package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js +779 -0
- package/es/chat-engine/components/json-render/catalog/catalog-to-prompt.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/index.d.ts +128 -0
- package/es/chat-engine/components/json-render/catalog/index.js +36 -0
- package/es/chat-engine/components/json-render/catalog/index.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/input.d.ts +20 -0
- package/es/chat-engine/components/json-render/catalog/input.js +36 -0
- package/es/chat-engine/components/json-render/catalog/input.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/layout.d.ts +44 -0
- package/es/chat-engine/components/json-render/catalog/layout.js +129 -0
- package/es/chat-engine/components/json-render/catalog/layout.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/text.d.ts +11 -0
- package/es/chat-engine/components/json-render/catalog/text.js +31 -0
- package/es/chat-engine/components/json-render/catalog/text.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog.d.ts +614 -0
- package/es/chat-engine/components/json-render/catalog.js +779 -0
- package/es/chat-engine/components/json-render/catalog.js.map +1 -0
- package/es/chat-engine/components/json-render/config.d.ts +154 -0
- package/es/chat-engine/components/json-render/config.js +36 -0
- package/es/chat-engine/components/json-render/config.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/actions.d.ts +79 -0
- package/es/chat-engine/components/json-render/contexts/actions.js +313 -0
- package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/data.d.ts +137 -0
- package/es/chat-engine/components/json-render/contexts/data.js +183 -0
- package/es/chat-engine/components/json-render/contexts/data.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/index.d.ts +4 -0
- package/es/chat-engine/components/json-render/contexts/index.js +27 -0
- package/es/chat-engine/components/json-render/contexts/index.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/store.d.ts +67 -0
- package/es/chat-engine/components/json-render/contexts/store.js +104 -0
- package/es/chat-engine/components/json-render/contexts/store.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/tree.d.ts +44 -0
- package/es/chat-engine/components/json-render/contexts/tree.js +78 -0
- package/es/chat-engine/components/json-render/contexts/tree.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/validation.d.ts +59 -0
- package/es/chat-engine/components/json-render/contexts/validation.js +159 -0
- package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/visibility.d.ts +39 -0
- package/es/chat-engine/components/json-render/contexts/visibility.js +66 -0
- package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -0
- package/es/chat-engine/components/json-render/engine.d.ts +58 -0
- package/es/chat-engine/components/json-render/engine.js +88 -0
- package/es/chat-engine/components/json-render/engine.js.map +1 -0
- package/es/chat-engine/components/json-render/index.d.ts +13 -0
- package/es/chat-engine/components/json-render/index.js +76 -0
- package/es/chat-engine/components/json-render/index.js.map +1 -0
- package/es/chat-engine/components/json-render/performance.d.ts +91 -0
- package/es/chat-engine/components/json-render/performance.js +135 -0
- package/es/chat-engine/components/json-render/performance.js.map +1 -0
- package/es/chat-engine/components/json-render/registry/a2ui-binding.d.ts +64 -0
- package/es/chat-engine/components/json-render/registry/a2ui-binding.js +76 -0
- package/es/chat-engine/components/json-render/registry/a2ui-binding.js.map +1 -0
- package/es/chat-engine/components/json-render/registry/a2ui-registry.d.ts +78 -0
- package/es/chat-engine/components/json-render/registry/a2ui-registry.js +76 -0
- package/es/chat-engine/components/json-render/registry/a2ui-registry.js.map +1 -0
- package/es/chat-engine/components/json-render/registry/config.d.ts +142 -0
- package/es/chat-engine/components/json-render/registry/config.js +76 -0
- package/es/chat-engine/components/json-render/registry/config.js.map +1 -0
- package/es/chat-engine/components/json-render/registry/index.d.ts +137 -0
- package/es/chat-engine/components/json-render/registry/index.js +76 -0
- package/es/chat-engine/components/json-render/registry/index.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.d.ts +35 -0
- package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js +271 -0
- package/es/chat-engine/components/json-render/renderer/A2UIJsonRenderActivityRenderer.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.d.ts +44 -0
- package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js +63 -0
- package/es/chat-engine/components/json-render/renderer/JsonRenderActivityRenderer.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.d.ts +44 -0
- package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js +131 -0
- package/es/chat-engine/components/json-render/renderer/JsonUIRenderer.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer/_index.d.ts +71 -0
- package/es/chat-engine/components/json-render/renderer/_index.js +133 -0
- package/es/chat-engine/components/json-render/renderer/_index.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer/index.d.ts +71 -0
- package/es/chat-engine/components/json-render/renderer/index.js +125 -0
- package/es/chat-engine/components/json-render/renderer/index.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer.d.ts +71 -0
- package/es/chat-engine/components/json-render/renderer.js +124 -0
- package/es/chat-engine/components/json-render/renderer.js.map +1 -0
- package/es/chat-engine/components/json-render/types.d.ts +87 -0
- package/es/chat-engine/components/json-render/types.js +7 -0
- package/es/chat-engine/components/json-render/types.js.map +1 -0
- package/es/chat-engine/components/provider/agent-state.js +1 -1
- package/es/chat-engine/components/shared/ComponentErrorBoundary.d.ts +25 -0
- package/es/chat-engine/components/shared/ComponentErrorBoundary.js +58 -0
- package/es/chat-engine/components/shared/ComponentErrorBoundary.js.map +1 -0
- package/es/chat-engine/components/shared/createRegistry.d.ts +36 -0
- package/es/chat-engine/components/shared/createRegistry.js +72 -0
- package/es/chat-engine/components/shared/createRegistry.js.map +1 -0
- package/es/chat-engine/components/shared/index.d.ts +4 -0
- package/es/chat-engine/components/shared/index.js +18 -0
- package/es/chat-engine/components/shared/index.js.map +1 -0
- package/es/chat-engine/components/shared/useRegistrationListener.d.ts +22 -0
- package/es/chat-engine/components/shared/useRegistrationListener.js +45 -0
- package/es/chat-engine/components/shared/useRegistrationListener.js.map +1 -0
- package/es/chat-engine/components/toolcall/index.d.ts +1 -1
- package/es/chat-engine/components/toolcall/index.js +12 -8
- package/es/chat-engine/components/toolcall/index.js.map +1 -1
- package/es/chat-engine/components/toolcall/registry.d.ts +6 -32
- package/es/chat-engine/components/toolcall/registry.js +23 -67
- package/es/chat-engine/components/toolcall/registry.js.map +1 -1
- package/es/chat-engine/components/toolcall/render.d.ts +1 -1
- package/es/chat-engine/components/toolcall/render.js +30 -79
- package/es/chat-engine/components/toolcall/render.js.map +1 -1
- package/es/chat-engine/components/toolcall/types.js +1 -1
- package/es/chat-engine/core/a2ui/index.d.ts +10 -0
- package/es/chat-engine/core/a2ui/index.js +24 -0
- package/es/chat-engine/core/a2ui/index.js.map +1 -0
- package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
- package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js +438 -0
- package/es/chat-engine/core/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
- package/es/chat-engine/core/a2ui/processor/ComponentTree.d.ts +53 -0
- package/es/chat-engine/core/a2ui/processor/ComponentTree.js +158 -0
- package/es/chat-engine/core/a2ui/processor/ComponentTree.js.map +1 -0
- package/es/chat-engine/core/a2ui/processor/DataStore.d.ts +63 -0
- package/es/chat-engine/core/a2ui/processor/DataStore.js +172 -0
- package/es/chat-engine/core/a2ui/processor/DataStore.js.map +1 -0
- package/es/chat-engine/core/a2ui/processor/PathResolver.d.ts +47 -0
- package/es/chat-engine/core/a2ui/processor/PathResolver.js +99 -0
- package/es/chat-engine/core/a2ui/processor/PathResolver.js.map +1 -0
- package/es/chat-engine/core/a2ui/types/index.d.ts +4 -0
- package/es/chat-engine/core/a2ui/types/index.js +9 -0
- package/es/chat-engine/core/a2ui/types/index.js.map +1 -0
- package/es/chat-engine/core/a2ui/types/types.d.ts +770 -0
- package/es/chat-engine/core/a2ui/types/types.js +104 -0
- package/es/chat-engine/core/a2ui/types/types.js.map +1 -0
- package/es/chat-engine/core/a2ui/utils/binding.d.ts +34 -0
- package/es/chat-engine/core/a2ui/utils/binding.js +1784 -0
- package/es/chat-engine/core/a2ui/utils/binding.js.map +1 -0
- package/es/chat-engine/core/a2ui/utils/index.d.ts +5 -0
- package/es/chat-engine/core/a2ui/utils/index.js +13 -0
- package/es/chat-engine/core/a2ui/utils/index.js.map +1 -0
- package/es/chat-engine/core/a2ui/utils/validation.d.ts +70 -0
- package/es/chat-engine/core/a2ui/utils/validation.js +333 -0
- package/es/chat-engine/core/a2ui/utils/validation.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/index.d.ts +10 -0
- package/es/chat-engine/core/adapters/a2ui/index.js +24 -0
- package/es/chat-engine/core/adapters/a2ui/index.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.d.ts +197 -0
- package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js +438 -0
- package/es/chat-engine/core/adapters/a2ui/processor/A2uiMessageProcessor.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.d.ts +53 -0
- package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js +158 -0
- package/es/chat-engine/core/adapters/a2ui/processor/ComponentTree.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/processor/DataStore.d.ts +63 -0
- package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js +172 -0
- package/es/chat-engine/core/adapters/a2ui/processor/DataStore.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.d.ts +47 -0
- package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js +99 -0
- package/es/chat-engine/core/adapters/a2ui/processor/PathResolver.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/types/index.d.ts +4 -0
- package/es/chat-engine/core/adapters/a2ui/types/index.js +9 -0
- package/es/chat-engine/core/adapters/a2ui/types/index.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/types/types.d.ts +770 -0
- package/es/chat-engine/core/adapters/a2ui/types/types.js +104 -0
- package/es/chat-engine/core/adapters/a2ui/types/types.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/utils/binding.d.ts +34 -0
- package/es/chat-engine/core/adapters/a2ui/utils/binding.js +1784 -0
- package/es/chat-engine/core/adapters/a2ui/utils/binding.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/utils/index.d.ts +5 -0
- package/es/chat-engine/core/adapters/a2ui/utils/index.js +13 -0
- package/es/chat-engine/core/adapters/a2ui/utils/index.js.map +1 -0
- package/es/chat-engine/core/adapters/a2ui/utils/validation.d.ts +70 -0
- package/es/chat-engine/core/adapters/a2ui/utils/validation.js +333 -0
- package/es/chat-engine/core/adapters/a2ui/utils/validation.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/ActivityManager.d.ts +93 -0
- package/es/chat-engine/core/adapters/agui/ActivityManager.js +148 -0
- package/es/chat-engine/core/adapters/agui/ActivityManager.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/StateManager.d.ts +99 -0
- package/es/chat-engine/core/adapters/agui/StateManager.js +172 -0
- package/es/chat-engine/core/adapters/agui/StateManager.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/activity-manager.d.ts +102 -0
- package/es/chat-engine/core/adapters/agui/activity-manager.js +150 -0
- package/es/chat-engine/core/adapters/agui/activity-manager.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/event-mapper.d.ts +42 -2
- package/es/chat-engine/core/adapters/agui/event-mapper.js +94 -52
- package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -1
- package/es/chat-engine/core/adapters/agui/events.d.ts +222 -222
- package/es/chat-engine/core/adapters/agui/events.js +34 -34
- package/es/chat-engine/core/adapters/agui/events.js.map +1 -1
- package/es/chat-engine/core/adapters/agui/index.d.ts +21 -4
- package/es/chat-engine/core/adapters/agui/index.js +48 -23
- package/es/chat-engine/core/adapters/agui/index.js.map +1 -1
- package/es/chat-engine/core/adapters/agui/state-manager.js +7 -1
- package/es/chat-engine/core/adapters/agui/state-manager.js.map +1 -1
- package/es/chat-engine/core/adapters/agui/types/events.d.ts +1570 -0
- package/es/chat-engine/core/adapters/agui/types/events.js +15 -0
- package/es/chat-engine/core/adapters/agui/types/events.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/types/index.d.ts +854 -0
- package/es/chat-engine/core/adapters/agui/types/index.js +279 -0
- package/es/chat-engine/core/adapters/agui/types/index.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/types.d.ts +57 -56
- package/es/chat-engine/core/adapters/agui/types.js +5 -5
- package/es/chat-engine/core/adapters/agui/types.js.map +1 -1
- package/es/chat-engine/core/adapters/agui/utils.d.ts +9 -3
- package/es/chat-engine/core/adapters/agui/utils.js +23 -4
- package/es/chat-engine/core/adapters/agui/utils.js.map +1 -1
- package/es/chat-engine/core/adapters/index.d.ts +5 -0
- package/es/chat-engine/core/adapters/index.js +34 -0
- package/es/chat-engine/core/adapters/index.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.d.ts +114 -0
- package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js +194 -0
- package/es/chat-engine/core/adapters/json-render/SurfaceStateManager.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.d.ts +49 -0
- package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js +307 -0
- package/es/chat-engine/core/adapters/json-render/a2ui-to-jsonrender.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/engine.d.ts +58 -0
- package/es/chat-engine/core/adapters/json-render/engine.js +88 -0
- package/es/chat-engine/core/adapters/json-render/engine.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/index.d.ts +8 -0
- package/es/chat-engine/core/adapters/json-render/index.js +18 -0
- package/es/chat-engine/core/adapters/json-render/index.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/types/a2ui.d.ts +96 -0
- package/es/chat-engine/core/adapters/json-render/types/a2ui.js +7 -0
- package/es/chat-engine/core/adapters/json-render/types/a2ui.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/types/core.d.ts +49 -0
- package/es/chat-engine/core/adapters/json-render/types/core.js +7 -0
- package/es/chat-engine/core/adapters/json-render/types/core.js.map +1 -0
- package/es/chat-engine/core/adapters/json-render/types/index.d.ts +5 -0
- package/es/chat-engine/core/adapters/json-render/types/index.js +9 -0
- package/es/chat-engine/core/adapters/json-render/types/index.js.map +1 -0
- package/es/chat-engine/core/event-bus/ChatEventBus.d.ts +88 -0
- package/es/chat-engine/core/event-bus/ChatEventBus.js +295 -0
- package/es/chat-engine/core/event-bus/ChatEventBus.js.map +1 -0
- package/es/chat-engine/core/event-bus/index.d.ts +5 -0
- package/es/chat-engine/core/event-bus/index.js +13 -0
- package/es/chat-engine/core/event-bus/index.js.map +1 -0
- package/es/chat-engine/core/event-bus/types.d.ts +230 -0
- package/es/chat-engine/core/event-bus/types.js +32 -0
- package/es/chat-engine/core/event-bus/types.js.map +1 -0
- package/es/chat-engine/core/index.d.ts +17 -2
- package/es/chat-engine/core/index.js +185 -22
- package/es/chat-engine/core/index.js.map +1 -1
- package/es/chat-engine/core/processor/index.js +1 -1
- package/es/chat-engine/core/server/batch-client.js +1 -1
- package/es/chat-engine/core/server/connection-manager.js +1 -1
- package/es/chat-engine/core/server/errors.js +1 -1
- package/es/chat-engine/core/server/index.js +1 -1
- package/es/chat-engine/core/server/llm-service.js +4 -2
- package/es/chat-engine/core/server/llm-service.js.map +1 -1
- package/es/chat-engine/core/server/sse-client.js +1 -1
- package/es/chat-engine/core/server/sse-parser.js +1 -1
- package/es/chat-engine/core/server/types.js +1 -1
- package/es/chat-engine/core/store/message.js +6 -2
- package/es/chat-engine/core/store/message.js.map +1 -1
- package/es/chat-engine/core/store/model.js +2 -1
- package/es/chat-engine/core/store/model.js.map +1 -1
- package/es/chat-engine/core/store/reactiveState.d.ts +4 -0
- package/es/chat-engine/core/store/reactiveState.js +15 -1235
- package/es/chat-engine/core/store/reactiveState.js.map +1 -1
- package/es/chat-engine/core/type.d.ts +25 -1
- package/es/chat-engine/core/type.js +1 -1
- package/es/chat-engine/core/utils/eventEmitter.js +1 -1
- package/es/chat-engine/core/utils/immutable-patch.d.ts +61 -0
- package/es/chat-engine/core/utils/immutable-patch.js +147 -0
- package/es/chat-engine/core/utils/immutable-patch.js.map +1 -0
- package/es/chat-engine/core/utils/index.d.ts +7 -2
- package/es/chat-engine/core/utils/index.js +9 -883
- package/es/chat-engine/core/utils/index.js.map +1 -1
- package/es/chat-engine/core/utils/json-patch/helpers.d.ts +41 -0
- package/es/chat-engine/core/utils/json-patch/helpers.js +164 -0
- package/es/chat-engine/core/utils/json-patch/helpers.js.map +1 -0
- package/es/chat-engine/core/utils/json-patch/index.d.ts +115 -0
- package/es/chat-engine/core/utils/json-patch/index.js +387 -0
- package/es/chat-engine/core/utils/json-patch/index.js.map +1 -0
- package/es/chat-engine/core/utils/logger.js +1 -1
- package/es/chat-engine/core/utils/performance.d.ts +94 -0
- package/es/chat-engine/core/utils/performance.js +205 -0
- package/es/chat-engine/core/utils/performance.js.map +1 -0
- package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +90 -0
- package/es/chat-engine/hooks/a2ui/A2UIContext.js +97 -0
- package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +1 -0
- package/es/chat-engine/hooks/a2ui/index.d.ts +12 -0
- package/es/chat-engine/hooks/a2ui/index.js +19 -0
- package/es/chat-engine/hooks/a2ui/index.js.map +1 -0
- package/es/chat-engine/hooks/a2ui/useA2UIAction.d.ts +40 -0
- package/es/chat-engine/hooks/a2ui/useA2UIAction.js +74 -0
- package/es/chat-engine/hooks/a2ui/useA2UIAction.js.map +1 -0
- package/es/chat-engine/hooks/a2ui/useA2UISurface.d.ts +36 -0
- package/es/chat-engine/hooks/a2ui/useA2UISurface.js +39 -0
- package/es/chat-engine/hooks/a2ui/useA2UISurface.js.map +1 -0
- package/es/chat-engine/hooks/a2ui/useDataBinding.d.ts +53 -0
- package/es/chat-engine/hooks/a2ui/useDataBinding.js +111 -0
- package/es/chat-engine/hooks/a2ui/useDataBinding.js.map +1 -0
- package/es/chat-engine/hooks/index.js +8 -1
- package/es/chat-engine/hooks/index.js.map +1 -1
- package/es/chat-engine/hooks/useAgentActivity.d.ts +1 -2
- package/es/chat-engine/hooks/useAgentActivity.js +10 -2
- package/es/chat-engine/hooks/useAgentActivity.js.map +1 -1
- package/es/chat-engine/hooks/useAgentState.js +1 -1
- package/es/chat-engine/hooks/useAgentState.js.map +1 -1
- package/es/chat-engine/hooks/useAgentToolcall.js +10 -2
- package/es/chat-engine/hooks/useAgentToolcall.js.map +1 -1
- package/es/chat-engine/hooks/useChat.d.ts +1 -1
- package/es/chat-engine/hooks/useChat.js +3 -3
- package/es/chat-engine/hooks/useChat.js.map +1 -1
- package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +56 -0
- package/es/chat-engine/hooks/useJsonRenderActivity.js +63 -0
- package/es/chat-engine/hooks/useJsonRenderActivity.js.map +1 -0
- package/es/chat-engine/index.d.ts +2 -4
- package/es/chat-engine/index.js +14 -34
- package/es/chat-engine/index.js.map +1 -1
- package/es/chat-filecard/index.js +1 -1
- package/es/chat-loading/index.js +1 -1
- package/es/chat-markdown/index.js +1 -1
- package/es/chat-message/index.js +1 -1
- package/es/chat-sender/index.js +1 -1
- package/es/chat-thinking/index.js +1 -1
- package/es/chatbot/docs/react-best-practice.d.ts +13 -0
- package/es/chatbot/index.js +1 -1
- package/es/index.js +13 -31
- package/es/index.js.map +1 -1
- package/es/style/index.js +1 -1
- package/package.json +10 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"A2UITextField.js","sources":["../../../../../../pro-components/chat/chat-engine/components/a2ui/primitives/A2UITextField.tsx"],"sourcesContent":["/**\n * A2UI TextField 组件\n * A2UI v0.9 标准输入框组件\n */\n\nimport React, { useCallback } from 'react';\nimport { Input, Textarea } from 'tdesign-react';\nimport { useDataBinding, useTwoWayBinding } from '../../../hooks/a2ui/useDataBinding';\nimport type { A2UITextFieldComponent } from '../../../core/a2ui';\n\nexport interface A2UITextFieldProps extends Omit<A2UITextFieldComponent, 'component'> {\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const A2UITextField: React.FC<A2UITextFieldProps> = ({\n id,\n label,\n text,\n usageHint = 'shortText',\n validationRegexp,\n placeholder,\n disabled,\n className,\n style,\n}) => {\n // 解析标签\n const resolvedLabel = useDataBinding<React.ReactNode>(label);\n // 双向绑定文本值\n const [inputValue, setInputValue] = useTwoWayBinding<string>(text, '');\n // 解析禁用状态\n const resolvedDisabled = useDataBinding<boolean | undefined>(disabled);\n\n // 处理 onChange\n const handleChange = useCallback(\n (val: string) => {\n // 如果有验证正则,进行验证\n if (validationRegexp && typeof validationRegexp === 'string') {\n const regex = new RegExp(validationRegexp);\n if (!regex.test(val) && val !== '') {\n return; // 不符合正则,不更新\n }\n }\n setInputValue(val);\n },\n [setInputValue, validationRegexp]\n );\n\n // 根据 usageHint 决定渲染组件\n if (usageHint === 'longText') {\n return (\n <div className={className} style={style}>\n {resolvedLabel && (\n <label style={{ display: 'block', marginBottom: 4 }}>{resolvedLabel}</label>\n )}\n <Textarea\n value={inputValue as string}\n placeholder={placeholder as string}\n disabled={resolvedDisabled as boolean}\n onChange={handleChange}\n autosize={{ minRows: 3, maxRows: 10 }}\n />\n </div>\n );\n }\n\n // shortText, number, obscured 使用 Input\n const inputType = usageHint === 'obscured' ? 'password' : usageHint === 'number' ? 'number' : 'text';\n\n return (\n <Input\n className={className}\n style={style}\n value={inputValue as string}\n placeholder={placeholder as string}\n disabled={resolvedDisabled as boolean}\n label={resolvedLabel}\n type={inputType}\n onChange={handleChange}\n />\n );\n};\n\nA2UITextField.displayName = 'A2UITextField';\n\nexport default A2UITextField;\n"],"names":["A2UITextField","id","_ref","label","text","_ref$usageHint","usageHint","validationRegexp","placeholder","disabled","className","style","resolvedLabel","useDataBinding","_useTwoWayBinding","useTwoWayBinding","_useTwoWayBinding2","_slicedToArray","inputValue","setInputValue","resolvedDisabled","handleChange","useCallback","val","regex","RegExp","test","React","createElement","display","marginBottom","Textarea","value","onChange","autosize","minRows","maxRows","inputType","Input","type","displayName"],"mappings":";;;;;;;;;;;;;;;;;;IAeaA,gBAA8C,SAA9CA,oBAUP;AAAA,EAAA,IATJC,EAAA,GAAAC,IAAA,CAAAD,EAAA;IACAE,KAAA,GAAAD,IAAA,CAAAC,KAAA;IACAC,IAAA,GAAAF,IAAA,CAAAE,IAAA;IAAAC,cAAA,GAAAH,IAAA,CACAI,SAAY;AAAZA,IAAAA,SAAY,GAAAD,cAAA,KAAA,KAAA,CAAA,GAAA,WAAA,GAAAA,cAAA;IACZE,gBAAA,GAAAL,IAAA,CAAAK,gBAAA;IACAC,WAAA,GAAAN,IAAA,CAAAM,WAAA;IACAC,QAAA,GAAAP,IAAA,CAAAO,QAAA;IACAC,SAAA,GAAAR,IAAA,CAAAQ,SAAA;IACAC,KAAA,GAAAT,IAAA,CAAAS,KAAA,CAAA;AAGM,EAAA,IAAAC,aAAA,GAAgBC,eAAgCV,KAAK,CAAA,CAAA;AAE3D,EAAA,IAAAW,iBAAA,GAAoCC,gBAAA,CAAyBX,MAAM,EAAE,CAAA;IAAAY,kBAAA,GAAAC,cAAA,CAAAH,iBAAA,EAAA,CAAA,CAAA;AAA9DI,IAAAA,UAAY,GAAAF,kBAAA,CAAA,CAAA,CAAA;AAAAG,IAAAA,aAAa,GAAAH,kBAAA,CAAA,CAAA,CAAA,CAAA;AAE1B,EAAA,IAAAI,gBAAA,GAAmBP,eAAoCJ,QAAQ,CAAA,CAAA;AAGrE,EAAA,IAAMY,YAAe,GAAAC,WAAA,CACnB,UAACC,GAAgB,EAAA;AAEX,IAAA,IAAAhB,gBAAA,IAAoB,OAAOA,gBAAA,KAAqB,QAAU,EAAA;AACtD,MAAA,IAAAiB,KAAA,GAAQ,IAAIC,MAAA,CAAOlB,gBAAgB,CAAA,CAAA;MACzC,IAAI,CAACiB,KAAM,CAAAE,IAAA,CAAKH,GAAG,CAAA,IAAKA,QAAQ,EAAI,EAAA;AAClC,QAAA,OAAA;AACF,OAAA;AACF,KAAA;IACAJ,aAAA,CAAcI,GAAG,CAAA,CAAA;AACnB,GAAA,EACA,CAACJ,eAAeZ,gBAAgB,CAClC,CAAA,CAAA;EAGA,IAAID,cAAc,UAAY,EAAA;AAC5B,IAAA,sBACGqB,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAIlB,MAAAA,SAAA,EAAAA,SAAA;AAAsBC,MAAAA,KAAA,EAAAA,KAAAA;KAAA,EACxBC,gCACEe,cAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AAAMjB,MAAAA,KAAO,EAAA;AAAEkB,QAAAA,OAAS,EAAA,OAAA;AAASC,QAAAA,cAAc,CAAA;AAAE,OAAA;KAAI,EAAAlB,aAAc,kBAErEe,cAAA,CAAAC,aAAA,CAAAG,QAAA,EAAA;AACCC,MAAAA,KAAO,EAAAd,UAAA;AACPV,MAAAA,WAAA,EAAAA,WAAA;AACAC,MAAAA,QAAU,EAAAW,gBAAA;AACVa,MAAAA,QAAU,EAAAZ,YAAA;AACVa,MAAAA,QAAU,EAAA;AAAEC,QAAAA,OAAS,EAAA,CAAA;AAAGC,QAAAA,SAAS,EAAA;AAAG,OAAA;AAAA,KACtC,CACF,CAAA,CAAA;AAEJ,GAAA;AAGA,EAAA,IAAMC,YAAY/B,SAAc,KAAA,UAAA,GAAa,UAAa,GAAAA,SAAA,KAAc,WAAW,QAAW,GAAA,MAAA,CAAA;AAE9F,EAAA,sBACGqB,cAAA,CAAAC,aAAA,CAAAU,KAAA,EAAA;AACC5B,IAAAA,SAAA,EAAAA,SAAA;AACAC,IAAAA,KAAA,EAAAA,KAAA;AACAqB,IAAAA,KAAO,EAAAd,UAAA;AACPV,IAAAA,WAAA,EAAAA,WAAA;AACAC,IAAAA,QAAU,EAAAW,gBAAA;AACVjB,IAAAA,KAAO,EAAAS,aAAA;AACP2B,IAAAA,IAAM,EAAAF,SAAA;AACNJ,IAAAA,QAAU,EAAAZ,YAAAA;AACZ,GAAA,CAAA,CAAA;AAEJ,EAAA;AAEArB,aAAA,CAAcwC,WAAc,GAAA,eAAA;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2UI 基础组件导出
|
|
3
|
+
*/
|
|
4
|
+
export { A2UIText, type A2UITextProps } from './A2UIText';
|
|
5
|
+
export { A2UIImage, type A2UIImageProps } from './A2UIImage';
|
|
6
|
+
export { A2UIIcon, type A2UIIconProps } from './A2UIIcon';
|
|
7
|
+
export { A2UIButton, type A2UIButtonProps } from './A2UIButton';
|
|
8
|
+
export { A2UIInput, type A2UIInputProps } from './A2UIInput';
|
|
9
|
+
export { A2UITextField, type A2UITextFieldProps } from './A2UITextField';
|
|
10
|
+
export { A2UICheckBox, type A2UICheckBoxProps } from './A2UICheckBox';
|
|
11
|
+
export { A2UIChoicePicker, type A2UIChoicePickerProps } from './A2UIChoicePicker';
|
|
12
|
+
export { A2UISlider, type A2UISliderProps } from './A2UISlider';
|
|
13
|
+
export { A2UIRadioGroup, type A2UIRadioGroupProps } from './A2UIRadioGroup';
|
|
14
|
+
export { A2UICheckboxGroup, type A2UICheckboxGroupProps } from './A2UICheckboxGroup';
|
|
15
|
+
export { A2UIDivider, type A2UIDividerProps } from './A2UIDivider';
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.14
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export { A2UIText } from './A2UIText.js';
|
|
8
|
+
export { A2UIImage } from './A2UIImage.js';
|
|
9
|
+
export { A2UIIcon } from './A2UIIcon.js';
|
|
10
|
+
export { A2UIButton } from './A2UIButton.js';
|
|
11
|
+
export { A2UIInput } from './A2UIInput.js';
|
|
12
|
+
export { A2UITextField } from './A2UITextField.js';
|
|
13
|
+
export { A2UICheckBox } from './A2UICheckBox.js';
|
|
14
|
+
export { A2UIChoicePicker } from './A2UIChoicePicker.js';
|
|
15
|
+
export { A2UISlider } from './A2UISlider.js';
|
|
16
|
+
export { A2UIRadioGroup } from './A2UIRadioGroup.js';
|
|
17
|
+
export { A2UICheckboxGroup } from './A2UICheckboxGroup.js';
|
|
18
|
+
export { A2UIDivider } from './A2UIDivider.js';
|
|
19
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
20
|
+
import 'react';
|
|
21
|
+
import 'classnames';
|
|
22
|
+
import '../../../hooks/a2ui/useDataBinding.js';
|
|
23
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
24
|
+
import '../../../hooks/a2ui/A2UIContext.js';
|
|
25
|
+
import '../../../core/a2ui/utils/index.js';
|
|
26
|
+
import '../../../core/a2ui/utils/binding.js';
|
|
27
|
+
import '@babel/runtime/helpers/typeof';
|
|
28
|
+
import '../../../core/a2ui/utils/validation.js';
|
|
29
|
+
import '@babel/runtime/helpers/toConsumableArray';
|
|
30
|
+
import 'tdesign-react';
|
|
31
|
+
import '../../../hooks/a2ui/useA2UIAction.js';
|
|
32
|
+
import '../A2UIComponentRenderer.js';
|
|
33
|
+
import '../A2UIErrorBoundary.js';
|
|
34
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
35
|
+
import '@babel/runtime/helpers/createClass';
|
|
36
|
+
import '@babel/runtime/helpers/possibleConstructorReturn';
|
|
37
|
+
import '@babel/runtime/helpers/getPrototypeOf';
|
|
38
|
+
import '@babel/runtime/helpers/inherits';
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2UI 默认组件注册表
|
|
3
|
+
* 将 A2UI 组件类型映射到 TDesign 实现
|
|
4
|
+
*/
|
|
5
|
+
import type { ComponentRegistry } from '../../hooks/a2ui/A2UIContext';
|
|
6
|
+
/**
|
|
7
|
+
* 默认组件注册表
|
|
8
|
+
*
|
|
9
|
+
* 组件类型名称遵循 A2UI v0.9 协议规范
|
|
10
|
+
*/
|
|
11
|
+
export declare const defaultComponentRegistry: ComponentRegistry;
|
|
12
|
+
/**
|
|
13
|
+
* 创建自定义组件注册表
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```tsx
|
|
17
|
+
* const customRegistry = createComponentRegistry({
|
|
18
|
+
* ...defaultComponentRegistry,
|
|
19
|
+
* Button: MyCustomButton, // 覆盖默认 Button
|
|
20
|
+
* CustomWidget: MyWidget, // 添加自定义组件
|
|
21
|
+
* });
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function createComponentRegistry(components: ComponentRegistry): ComponentRegistry;
|
|
25
|
+
/**
|
|
26
|
+
* 扩展默认注册表
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```tsx
|
|
30
|
+
* const registry = extendComponentRegistry({
|
|
31
|
+
* CustomWidget: MyWidget,
|
|
32
|
+
* });
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare function extendComponentRegistry(extensions: Partial<ComponentRegistry>): ComponentRegistry;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.14
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
8
|
+
import { A2UIText } from './primitives/A2UIText.js';
|
|
9
|
+
import { A2UIImage } from './primitives/A2UIImage.js';
|
|
10
|
+
import { A2UIIcon } from './primitives/A2UIIcon.js';
|
|
11
|
+
import { A2UIButton } from './primitives/A2UIButton.js';
|
|
12
|
+
import { A2UIInput } from './primitives/A2UIInput.js';
|
|
13
|
+
import { A2UITextField } from './primitives/A2UITextField.js';
|
|
14
|
+
import { A2UICheckBox } from './primitives/A2UICheckBox.js';
|
|
15
|
+
import { A2UIChoicePicker } from './primitives/A2UIChoicePicker.js';
|
|
16
|
+
import { A2UISlider } from './primitives/A2UISlider.js';
|
|
17
|
+
import { A2UIRadioGroup } from './primitives/A2UIRadioGroup.js';
|
|
18
|
+
import { A2UICheckboxGroup } from './primitives/A2UICheckboxGroup.js';
|
|
19
|
+
import { A2UIDivider } from './primitives/A2UIDivider.js';
|
|
20
|
+
import { A2UICard } from './containers/A2UICard.js';
|
|
21
|
+
import { A2UIRow } from './containers/A2UIRow.js';
|
|
22
|
+
import { A2UIColumn } from './containers/A2UIColumn.js';
|
|
23
|
+
import { A2UIList } from './containers/A2UIList.js';
|
|
24
|
+
import { A2UITabs } from './containers/A2UITabs.js';
|
|
25
|
+
import 'react';
|
|
26
|
+
import 'classnames';
|
|
27
|
+
import '../../hooks/a2ui/useDataBinding.js';
|
|
28
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
29
|
+
import '../../hooks/a2ui/A2UIContext.js';
|
|
30
|
+
import '../../core/a2ui/utils/index.js';
|
|
31
|
+
import '../../core/a2ui/utils/binding.js';
|
|
32
|
+
import '@babel/runtime/helpers/typeof';
|
|
33
|
+
import '../../core/a2ui/utils/validation.js';
|
|
34
|
+
import '@babel/runtime/helpers/toConsumableArray';
|
|
35
|
+
import 'tdesign-react';
|
|
36
|
+
import '../../hooks/a2ui/useA2UIAction.js';
|
|
37
|
+
import './A2UIComponentRenderer.js';
|
|
38
|
+
import './A2UIErrorBoundary.js';
|
|
39
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
40
|
+
import '@babel/runtime/helpers/createClass';
|
|
41
|
+
import '@babel/runtime/helpers/possibleConstructorReturn';
|
|
42
|
+
import '@babel/runtime/helpers/getPrototypeOf';
|
|
43
|
+
import '@babel/runtime/helpers/inherits';
|
|
44
|
+
|
|
45
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
46
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
47
|
+
var defaultComponentRegistry = {
|
|
48
|
+
Text: A2UIText,
|
|
49
|
+
Image: A2UIImage,
|
|
50
|
+
Icon: A2UIIcon,
|
|
51
|
+
Button: A2UIButton,
|
|
52
|
+
TextField: A2UITextField,
|
|
53
|
+
CheckBox: A2UICheckBox,
|
|
54
|
+
ChoicePicker: A2UIChoicePicker,
|
|
55
|
+
Slider: A2UISlider,
|
|
56
|
+
Divider: A2UIDivider,
|
|
57
|
+
Card: A2UICard,
|
|
58
|
+
Row: A2UIRow,
|
|
59
|
+
Column: A2UIColumn,
|
|
60
|
+
List: A2UIList,
|
|
61
|
+
Tabs: A2UITabs,
|
|
62
|
+
Input: A2UIInput,
|
|
63
|
+
RadioGroup: A2UIRadioGroup,
|
|
64
|
+
CheckboxGroup: A2UICheckboxGroup
|
|
65
|
+
};
|
|
66
|
+
function createComponentRegistry(components) {
|
|
67
|
+
return _objectSpread({}, components);
|
|
68
|
+
}
|
|
69
|
+
function extendComponentRegistry(extensions) {
|
|
70
|
+
return _objectSpread(_objectSpread({}, defaultComponentRegistry), extensions);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export { createComponentRegistry, defaultComponentRegistry, extendComponentRegistry };
|
|
74
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sources":["../../../../../pro-components/chat/chat-engine/components/a2ui/registry.ts"],"sourcesContent":["/**\n * A2UI 默认组件注册表\n * 将 A2UI 组件类型映射到 TDesign 实现\n */\n\nimport type { ComponentRegistry } from '../../hooks/a2ui/A2UIContext';\n\n// Display 组件\nimport { A2UIText } from './primitives/A2UIText';\nimport { A2UIImage } from './primitives/A2UIImage';\nimport { A2UIIcon } from './primitives/A2UIIcon';\n\n// Interactive 组件\nimport { A2UIButton } from './primitives/A2UIButton';\nimport { A2UIInput } from './primitives/A2UIInput';\nimport { A2UITextField } from './primitives/A2UITextField';\nimport { A2UICheckBox } from './primitives/A2UICheckBox';\nimport { A2UIChoicePicker } from './primitives/A2UIChoicePicker';\nimport { A2UISlider } from './primitives/A2UISlider';\nimport { A2UIRadioGroup } from './primitives/A2UIRadioGroup';\nimport { A2UICheckboxGroup } from './primitives/A2UICheckboxGroup';\nimport { A2UIDivider } from './primitives/A2UIDivider';\n\n// 容器组件\nimport { A2UICard } from './containers/A2UICard';\nimport { A2UIRow } from './containers/A2UIRow';\nimport { A2UIColumn } from './containers/A2UIColumn';\nimport { A2UIList } from './containers/A2UIList';\nimport { A2UITabs } from './containers/A2UITabs';\n\n/**\n * 默认组件注册表\n * \n * 组件类型名称遵循 A2UI v0.9 协议规范\n */\nexport const defaultComponentRegistry: ComponentRegistry = {\n // ===== Display 组件 =====\n Text: A2UIText,\n Image: A2UIImage,\n Icon: A2UIIcon,\n\n // ===== Interactive 组件 =====\n Button: A2UIButton,\n TextField: A2UITextField,\n CheckBox: A2UICheckBox,\n ChoicePicker: A2UIChoicePicker,\n Slider: A2UISlider,\n Divider: A2UIDivider,\n\n // ===== Layout 组件 =====\n Card: A2UICard,\n Row: A2UIRow,\n Column: A2UIColumn,\n List: A2UIList,\n Tabs: A2UITabs,\n\n // ===== TDesign 扩展(向后兼容)=====\n Input: A2UIInput,\n RadioGroup: A2UIRadioGroup,\n CheckboxGroup: A2UICheckboxGroup,\n};\n\n/**\n * 创建自定义组件注册表\n * \n * @example\n * ```tsx\n * const customRegistry = createComponentRegistry({\n * ...defaultComponentRegistry,\n * Button: MyCustomButton, // 覆盖默认 Button\n * CustomWidget: MyWidget, // 添加自定义组件\n * });\n * ```\n */\nexport function createComponentRegistry(\n components: ComponentRegistry\n): ComponentRegistry {\n return { ...components };\n}\n\n/**\n * 扩展默认注册表\n * \n * @example\n * ```tsx\n * const registry = extendComponentRegistry({\n * CustomWidget: MyWidget,\n * });\n * ```\n */\nexport function extendComponentRegistry(\n extensions: Partial<ComponentRegistry>\n): ComponentRegistry {\n return {\n ...defaultComponentRegistry,\n ...extensions,\n };\n}\n"],"names":["defaultComponentRegistry","Text","A2UIText","Image","A2UIImage","Icon","A2UIIcon","Button","A2UIButton","TextField","A2UITextField","CheckBox","A2UICheckBox","ChoicePicker","A2UIChoicePicker","Slider","A2UISlider","Divider","A2UIDivider","Card","A2UICard","Row","A2UIRow","Column","A2UIColumn","List","A2UIList","Tabs","A2UITabs","Input","A2UIInput","RadioGroup","A2UIRadioGroup","CheckboxGroup","A2UICheckboxGroup","createComponentRegistry","components","_objectSpread","extendComponentRegistry","extensions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCO,IAAMA,wBAA8C,GAAA;AAEzDC,EAAAA,IAAM,EAAAC,QAAA;AACNC,EAAAA,KAAO,EAAAC,SAAA;AACPC,EAAAA,IAAM,EAAAC,QAAA;AAGNC,EAAAA,MAAQ,EAAAC,UAAA;AACRC,EAAAA,SAAW,EAAAC,aAAA;AACXC,EAAAA,QAAU,EAAAC,YAAA;AACVC,EAAAA,YAAc,EAAAC,gBAAA;AACdC,EAAAA,MAAQ,EAAAC,UAAA;AACRC,EAAAA,OAAS,EAAAC,WAAA;AAGTC,EAAAA,IAAM,EAAAC,QAAA;AACNC,EAAAA,GAAK,EAAAC,OAAA;AACLC,EAAAA,MAAQ,EAAAC,UAAA;AACRC,EAAAA,IAAM,EAAAC,QAAA;AACNC,EAAAA,IAAM,EAAAC,QAAA;AAGNC,EAAAA,KAAO,EAAAC,SAAA;AACPC,EAAAA,UAAY,EAAAC,cAAA;AACZC,EAAAA,aAAe,EAAAC,iBAAAA;AACjB,EAAA;AAcO,SAASC,wBACdC,UACmB,EAAA;EACZ,OAAAC,aAAA,KAAKD,UAAW,CAAA,CAAA;AACzB,CAAA;AAYO,SAASE,wBACdC,UACmB,EAAA;AACZ,EAAA,OAAAF,aAAA,CAAAA,aAAA,CACFrC,EAAAA,EAAAA,wBAAA,GACAuC,UAAA,CAAA,CAAA;AAEP;;;;"}
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* tdesign v1.0.2
|
|
2
|
+
* tdesign v1.0.2
|
|
3
3
|
* (c) 2026 tdesign
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import './types.js';
|
|
8
|
-
export { activityRegistry } from './registry.js';
|
|
8
|
+
export { ACTIVITY_EVENT_DETAIL_KEY, ACTIVITY_REGISTERED_EVENT, activityRegistry } from './registry.js';
|
|
9
9
|
export { ActivityRenderer } from './render.js';
|
|
10
|
-
import '
|
|
11
|
-
import '
|
|
10
|
+
import '../shared/index.js';
|
|
11
|
+
import '../shared/createRegistry.js';
|
|
12
12
|
import '@babel/runtime/helpers/defineProperty';
|
|
13
13
|
import 'react';
|
|
14
|
-
import '
|
|
14
|
+
import '../shared/ComponentErrorBoundary.js';
|
|
15
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
16
|
+
import '@babel/runtime/helpers/createClass';
|
|
15
17
|
import '@babel/runtime/helpers/possibleConstructorReturn';
|
|
16
18
|
import '@babel/runtime/helpers/getPrototypeOf';
|
|
17
19
|
import '@babel/runtime/helpers/inherits';
|
|
20
|
+
import '../shared/useRegistrationListener.js';
|
|
21
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
22
|
+
import 'react-fast-compare';
|
|
18
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,44 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import type { ActivityConfig, ActivityComponentProps } from './types';
|
|
2
|
+
/** Activity 注册事件名称 */
|
|
3
|
+
export declare const ACTIVITY_REGISTERED_EVENT = "activity-registered";
|
|
4
|
+
/** Activity 注册事件 detail 键名 */
|
|
5
|
+
export declare const ACTIVITY_EVENT_DETAIL_KEY = "activityType";
|
|
3
6
|
/**
|
|
4
7
|
* Activity 注册表管理器
|
|
5
|
-
*
|
|
8
|
+
* 业务方注册具体的 activityType(如 json-render-main-card),精确匹配
|
|
6
9
|
*/
|
|
7
|
-
declare
|
|
8
|
-
private registry;
|
|
9
|
-
private renderFunctionCache;
|
|
10
|
-
/**
|
|
11
|
-
* 注册一个 Activity 配置
|
|
12
|
-
*/
|
|
13
|
-
register<TContent = any>(config: ActivityConfig<TContent>): void;
|
|
14
|
-
/**
|
|
15
|
-
* 获取指定类型的 Activity 配置
|
|
16
|
-
*/
|
|
17
|
-
get(activityType: string): ActivityConfig | undefined;
|
|
18
|
-
/**
|
|
19
|
-
* 获取或创建缓存的组件渲染函数
|
|
20
|
-
*/
|
|
21
|
-
getRenderFunction(activityType: string): React.MemoExoticComponent<React.ComponentType<ActivityComponentProps>> | null;
|
|
22
|
-
/**
|
|
23
|
-
* 获取所有已注册的 Activity 配置
|
|
24
|
-
*/
|
|
25
|
-
getAll(): ActivityRegistry;
|
|
26
|
-
/**
|
|
27
|
-
* 取消注册指定的 Activity
|
|
28
|
-
*/
|
|
29
|
-
unregister(activityType: string): void;
|
|
30
|
-
/**
|
|
31
|
-
* 清空所有注册的 Activity
|
|
32
|
-
*/
|
|
33
|
-
clear(): void;
|
|
34
|
-
/**
|
|
35
|
-
* 检查指定类型是否已注册
|
|
36
|
-
*/
|
|
37
|
-
has(activityType: string): boolean;
|
|
38
|
-
/**
|
|
39
|
-
* 获取所有已注册的 Activity 类型
|
|
40
|
-
*/
|
|
41
|
-
getRegisteredTypes(): string[];
|
|
42
|
-
}
|
|
43
|
-
export declare const activityRegistry: ActivityRegistryManager;
|
|
44
|
-
export {};
|
|
10
|
+
export declare const activityRegistry: import("../shared").IRegistryManager<ActivityConfig<any>, ActivityComponentProps<any>>;
|
|
@@ -1,85 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* tdesign v1.0.2
|
|
2
|
+
* tdesign v1.0.2
|
|
3
3
|
* (c) 2026 tdesign
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
7
|
+
import '../shared/index.js';
|
|
8
|
+
import { createRegistryManager } from '../shared/createRegistry.js';
|
|
9
|
+
import '../shared/ComponentErrorBoundary.js';
|
|
10
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
11
|
+
import '@babel/runtime/helpers/createClass';
|
|
12
|
+
import '@babel/runtime/helpers/possibleConstructorReturn';
|
|
13
|
+
import '@babel/runtime/helpers/getPrototypeOf';
|
|
14
|
+
import '@babel/runtime/helpers/inherits';
|
|
15
|
+
import 'react';
|
|
16
|
+
import '../shared/useRegistrationListener.js';
|
|
17
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
18
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
11
19
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
var
|
|
15
|
-
function
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
key: "register",
|
|
22
|
-
value: function register(config) {
|
|
23
|
-
var existingConfig = this.registry[config.activityType];
|
|
24
|
-
if (existingConfig && existingConfig.component !== config.component) {
|
|
25
|
-
this.renderFunctionCache["delete"](config.activityType);
|
|
26
|
-
}
|
|
27
|
-
this.registry[config.activityType] = config;
|
|
28
|
-
window.dispatchEvent(new CustomEvent("activity-registered", {
|
|
29
|
-
detail: {
|
|
30
|
-
activityType: config.activityType
|
|
31
|
-
}
|
|
32
|
-
}));
|
|
33
|
-
}
|
|
34
|
-
}, {
|
|
35
|
-
key: "get",
|
|
36
|
-
value: function get(activityType) {
|
|
37
|
-
return this.registry[activityType];
|
|
38
|
-
}
|
|
39
|
-
}, {
|
|
40
|
-
key: "getRenderFunction",
|
|
41
|
-
value: function getRenderFunction(activityType) {
|
|
42
|
-
var config = this.registry[activityType];
|
|
43
|
-
if (!config) return null;
|
|
44
|
-
var memoizedComponent = this.renderFunctionCache.get(activityType);
|
|
45
|
-
if (!memoizedComponent) {
|
|
46
|
-
memoizedComponent = /*#__PURE__*/React.memo(function (props) {
|
|
47
|
-
return /*#__PURE__*/React.createElement(config.component, props);
|
|
48
|
-
});
|
|
49
|
-
this.renderFunctionCache.set(activityType, memoizedComponent);
|
|
50
|
-
}
|
|
51
|
-
return memoizedComponent;
|
|
52
|
-
}
|
|
53
|
-
}, {
|
|
54
|
-
key: "getAll",
|
|
55
|
-
value: function getAll() {
|
|
56
|
-
return _objectSpread({}, this.registry);
|
|
57
|
-
}
|
|
58
|
-
}, {
|
|
59
|
-
key: "unregister",
|
|
60
|
-
value: function unregister(activityType) {
|
|
61
|
-
delete this.registry[activityType];
|
|
62
|
-
this.renderFunctionCache["delete"](activityType);
|
|
63
|
-
}
|
|
64
|
-
}, {
|
|
65
|
-
key: "clear",
|
|
66
|
-
value: function clear() {
|
|
67
|
-
this.registry = {};
|
|
68
|
-
this.renderFunctionCache.clear();
|
|
69
|
-
}
|
|
70
|
-
}, {
|
|
71
|
-
key: "has",
|
|
72
|
-
value: function has(activityType) {
|
|
73
|
-
return activityType in this.registry;
|
|
74
|
-
}
|
|
75
|
-
}, {
|
|
76
|
-
key: "getRegisteredTypes",
|
|
77
|
-
value: function getRegisteredTypes() {
|
|
78
|
-
return Object.keys(this.registry);
|
|
79
|
-
}
|
|
80
|
-
}]);
|
|
81
|
-
}();
|
|
82
|
-
var activityRegistry = new ActivityRegistryManager();
|
|
20
|
+
var ACTIVITY_REGISTERED_EVENT = "activity-registered";
|
|
21
|
+
var ACTIVITY_EVENT_DETAIL_KEY = "activityType";
|
|
22
|
+
var activityRegistry = createRegistryManager({
|
|
23
|
+
getKey: function getKey(config) {
|
|
24
|
+
return config.activityType;
|
|
25
|
+
},
|
|
26
|
+
eventName: ACTIVITY_REGISTERED_EVENT,
|
|
27
|
+
eventDetailKey: ACTIVITY_EVENT_DETAIL_KEY
|
|
28
|
+
});
|
|
83
29
|
|
|
84
|
-
export { activityRegistry };
|
|
30
|
+
export { ACTIVITY_EVENT_DETAIL_KEY, ACTIVITY_REGISTERED_EVENT, activityRegistry };
|
|
85
31
|
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sources":["../../../../../pro-components/chat/chat-engine/components/activity/registry.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"registry.js","sources":["../../../../../pro-components/chat/chat-engine/components/activity/registry.ts"],"sourcesContent":["import { createRegistryManager } from '../shared';\nimport type { ActivityConfig, ActivityComponentProps } from './types';\n\n/** Activity 注册事件名称 */\nexport const ACTIVITY_REGISTERED_EVENT = 'activity-registered';\n\n/** Activity 注册事件 detail 键名 */\nexport const ACTIVITY_EVENT_DETAIL_KEY = 'activityType';\n\n/**\n * Activity 注册表管理器\n * 业务方注册具体的 activityType(如 json-render-main-card),精确匹配\n */\nexport const activityRegistry = createRegistryManager<ActivityConfig, ActivityComponentProps>({\n getKey: (config) => config.activityType,\n eventName: ACTIVITY_REGISTERED_EVENT,\n eventDetailKey: ACTIVITY_EVENT_DETAIL_KEY,\n});\n"],"names":["ACTIVITY_REGISTERED_EVENT","ACTIVITY_EVENT_DETAIL_KEY","activityRegistry","createRegistryManager","getKey","config","activityType","eventName","eventDetailKey"],"mappings":";;;;;;;;;;;;;;;;;;;AAIO,IAAMA,yBAA4B,GAAA,sBAAA;AAGlC,IAAMC,yBAA4B,GAAA,eAAA;AAM5BC,IAAAA,mBAAmBC,qBAA8D,CAAA;AAC5FC,EAAAA,MAAA,EAAQ,SAARA,MAAAA,CAASC,MAAA,EAAA;IAAA,OAAWA,MAAO,CAAAC,YAAA,CAAA;AAAA,GAAA;AAC3BC,EAAAA,SAAW,EAAAP,yBAAA;AACXQ,EAAAA,cAAgB,EAAAP,yBAAAA;AAClB,CAAC;;;;"}
|
|
@@ -5,7 +5,11 @@ interface ActivityRendererProps {
|
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
7
|
* Activity 渲染器组件
|
|
8
|
-
* 根据 activityType
|
|
8
|
+
* 根据 activityType 精确匹配查找注册的组件进行渲染
|
|
9
|
+
*
|
|
10
|
+
* 性能优化:
|
|
11
|
+
* - 使用 react-fast-compare 替代 JSON.stringify 进行深比较
|
|
12
|
+
* - 短路比较,发现差异立即停止,对大型 JSON 树性能提升显著
|
|
9
13
|
*/
|
|
10
14
|
export declare const ActivityRenderer: React.NamedExoticComponent<ActivityRendererProps>;
|
|
11
15
|
export {};
|
|
@@ -1,58 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* tdesign v1.0.2
|
|
2
|
+
* tdesign v1.0.2
|
|
3
3
|
* (c) 2026 tdesign
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
8
|
+
import React, { useMemo } from 'react';
|
|
9
|
+
import isEqual from 'react-fast-compare';
|
|
10
|
+
import { ACTIVITY_REGISTERED_EVENT, ACTIVITY_EVENT_DETAIL_KEY, activityRegistry } from './registry.js';
|
|
11
|
+
import '../shared/index.js';
|
|
12
|
+
import { useRegistrationListener } from '../shared/useRegistrationListener.js';
|
|
13
|
+
import { ComponentErrorBoundary } from '../shared/ComponentErrorBoundary.js';
|
|
14
|
+
import '../shared/createRegistry.js';
|
|
15
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
16
|
+
import '@babel/runtime/helpers/createClass';
|
|
17
|
+
import '@babel/runtime/helpers/possibleConstructorReturn';
|
|
18
|
+
import '@babel/runtime/helpers/getPrototypeOf';
|
|
19
|
+
import '@babel/runtime/helpers/inherits';
|
|
20
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
16
21
|
|
|
17
22
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
18
23
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
19
|
-
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
20
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
21
|
-
var ActivityErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
22
|
-
function ActivityErrorBoundary(props) {
|
|
23
|
-
var _this;
|
|
24
|
-
_classCallCheck(this, ActivityErrorBoundary);
|
|
25
|
-
_this = _callSuper(this, ActivityErrorBoundary, [props]);
|
|
26
|
-
_this.state = {
|
|
27
|
-
hasError: false,
|
|
28
|
-
error: null
|
|
29
|
-
};
|
|
30
|
-
return _this;
|
|
31
|
-
}
|
|
32
|
-
_inherits(ActivityErrorBoundary, _Component);
|
|
33
|
-
return _createClass(ActivityErrorBoundary, [{
|
|
34
|
-
key: "componentDidCatch",
|
|
35
|
-
value: function componentDidCatch(error, errorInfo) {
|
|
36
|
-
console.error("[ActivityRenderer] Error in activity \"".concat(this.props.activityType, "\":"), error, errorInfo);
|
|
37
|
-
}
|
|
38
|
-
}, {
|
|
39
|
-
key: "render",
|
|
40
|
-
value: function render() {
|
|
41
|
-
if (this.state.hasError) {
|
|
42
|
-
return null;
|
|
43
|
-
}
|
|
44
|
-
return this.props.children;
|
|
45
|
-
}
|
|
46
|
-
}], [{
|
|
47
|
-
key: "getDerivedStateFromError",
|
|
48
|
-
value: function getDerivedStateFromError(error) {
|
|
49
|
-
return {
|
|
50
|
-
hasError: true,
|
|
51
|
-
error: error
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
}]);
|
|
55
|
-
}(Component);
|
|
56
24
|
var DefaultActivityRenderer = function DefaultActivityRenderer(_ref) {
|
|
57
25
|
var activity = _ref.activity;
|
|
58
26
|
console.warn("[ActivityRenderer] Unknown activity type: ".concat(activity.activityType), activity.content);
|
|
@@ -60,12 +28,13 @@ var DefaultActivityRenderer = function DefaultActivityRenderer(_ref) {
|
|
|
60
28
|
};
|
|
61
29
|
var ActivityRenderer = /*#__PURE__*/React.memo(function (_ref2) {
|
|
62
30
|
var activity = _ref2.activity;
|
|
63
|
-
var
|
|
64
|
-
|
|
31
|
+
var _useRegistrationListe = useRegistrationListener({
|
|
32
|
+
componentKey: activity.activityType,
|
|
33
|
+
eventName: ACTIVITY_REGISTERED_EVENT,
|
|
34
|
+
eventDetailKey: ACTIVITY_EVENT_DETAIL_KEY,
|
|
35
|
+
getRenderFunction: activityRegistry.getRenderFunction
|
|
65
36
|
}),
|
|
66
|
-
|
|
67
|
-
isRegistered = _useState2[0],
|
|
68
|
-
setIsRegistered = _useState2[1];
|
|
37
|
+
MemoizedComponent = _useRegistrationListe.MemoizedComponent;
|
|
69
38
|
var componentProps = useMemo(function () {
|
|
70
39
|
return {
|
|
71
40
|
activityType: activity.activityType,
|
|
@@ -73,33 +42,26 @@ var ActivityRenderer = /*#__PURE__*/React.memo(function (_ref2) {
|
|
|
73
42
|
messageId: activity.messageId || ""
|
|
74
43
|
};
|
|
75
44
|
}, [activity.activityType, activity.content, activity.messageId]);
|
|
76
|
-
useEffect(function () {
|
|
77
|
-
if (!isRegistered) {
|
|
78
|
-
var handleRegistered = function handleRegistered(event) {
|
|
79
|
-
var _event$detail;
|
|
80
|
-
if (((_event$detail = event.detail) === null || _event$detail === void 0 ? void 0 : _event$detail.activityType) === activity.activityType) {
|
|
81
|
-
setIsRegistered(true);
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
window.addEventListener("activity-registered", handleRegistered);
|
|
85
|
-
return function () {
|
|
86
|
-
window.removeEventListener("activity-registered", handleRegistered);
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
}, [activity.activityType, isRegistered]);
|
|
90
|
-
var MemoizedComponent = useMemo(function () {
|
|
91
|
-
return activityRegistry.getRenderFunction(activity.activityType);
|
|
92
|
-
}, [activity.activityType, isRegistered]);
|
|
93
45
|
if (!MemoizedComponent) {
|
|
94
46
|
return /* @__PURE__ */React.createElement(DefaultActivityRenderer, {
|
|
95
47
|
activity: activity
|
|
96
48
|
});
|
|
97
49
|
}
|
|
98
|
-
return /* @__PURE__ */React.createElement(
|
|
99
|
-
|
|
50
|
+
return /* @__PURE__ */React.createElement(ComponentErrorBoundary, {
|
|
51
|
+
componentName: activity.activityType,
|
|
52
|
+
logPrefix: "ActivityRenderer"
|
|
100
53
|
}, /* @__PURE__ */React.createElement(MemoizedComponent, _objectSpread({}, componentProps)));
|
|
101
54
|
}, function (prevProps, nextProps) {
|
|
102
|
-
|
|
55
|
+
if (prevProps.activity.activityType !== nextProps.activity.activityType) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
if (prevProps.activity.messageId !== nextProps.activity.messageId) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
if (prevProps.activity.content === nextProps.activity.content) {
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
return isEqual(prevProps.activity.content, nextProps.activity.content);
|
|
103
65
|
});
|
|
104
66
|
ActivityRenderer.displayName = "ActivityRenderer";
|
|
105
67
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sources":["../../../../../pro-components/chat/chat-engine/components/activity/render.tsx"],"sourcesContent":["import React, {
|
|
1
|
+
{"version":3,"file":"render.js","sources":["../../../../../pro-components/chat/chat-engine/components/activity/render.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport isEqual from 'react-fast-compare';\nimport type { ActivityComponentProps } from './types';\nimport { activityRegistry, ACTIVITY_REGISTERED_EVENT, ACTIVITY_EVENT_DETAIL_KEY } from './registry';\nimport { ComponentErrorBoundary, useRegistrationListener } from '../shared';\nimport { type ActivityData } from 'tdesign-web-components/lib/chat-engine';\n\ninterface ActivityRendererProps {\n activity: ActivityData;\n}\n\n/**\n * 默认的 Activity 渲染器\n * 当没有注册对应类型的组件时使用\n * TODO: 后续支持配置化的默认 UI\n */\nconst DefaultActivityRenderer: React.FC<ActivityRendererProps> = ({ activity }) => {\n // 空白兜底,仅在控制台输出警告\n console.warn(`[ActivityRenderer] Unknown activity type: ${activity.activityType}`, activity.content);\n return null;\n};\n\n/**\n * Activity 渲染器组件\n * 根据 activityType 精确匹配查找注册的组件进行渲染\n *\n * 性能优化:\n * - 使用 react-fast-compare 替代 JSON.stringify 进行深比较\n * - 短路比较,发现差异立即停止,对大型 JSON 树性能提升显著\n */\nexport const ActivityRenderer = React.memo<ActivityRendererProps>(\n ({ activity }) => {\n // 使用公共 Hook 监听动态注册\n const { MemoizedComponent } = useRegistrationListener<ActivityComponentProps>({\n componentKey: activity.activityType,\n eventName: ACTIVITY_REGISTERED_EVENT,\n eventDetailKey: ACTIVITY_EVENT_DETAIL_KEY,\n getRenderFunction: activityRegistry.getRenderFunction,\n });\n\n // 缓存组件 props\n const componentProps = useMemo<ActivityComponentProps>(\n () => ({\n activityType: activity.activityType,\n content: activity.content,\n messageId: activity.messageId || '',\n }),\n [activity.activityType, activity.content, activity.messageId],\n );\n\n // 如果没有注册对应的组件,使用默认渲染器\n if (!MemoizedComponent) {\n return <DefaultActivityRenderer activity={activity} />;\n }\n\n return (\n <ComponentErrorBoundary componentName={activity.activityType} logPrefix=\"ActivityRenderer\">\n <MemoizedComponent {...componentProps} />\n </ComponentErrorBoundary>\n );\n },\n (prevProps, nextProps) => {\n // 1. activityType 变化必须重渲染\n if (prevProps.activity.activityType !== nextProps.activity.activityType) {\n return false;\n }\n // 2. messageId 变化必须重渲染\n if (prevProps.activity.messageId !== nextProps.activity.messageId) {\n return false;\n }\n // 3. content 引用相同,跳过渲染\n if (prevProps.activity.content === nextProps.activity.content) {\n return true;\n }\n // 4. 使用 react-fast-compare 进行高效深比较\n // 比 JSON.stringify 快 3-5 倍,且能正确处理循环引用\n return isEqual(prevProps.activity.content, nextProps.activity.content);\n },\n);\n\nActivityRenderer.displayName = 'ActivityRenderer';"],"names":["DefaultActivityRenderer","_ref","activity","console","warn","concat","activityType","content","ActivityRenderer","React","memo","_ref2","_useRegistrationListe","useRegistrationListener","componentKey","eventName","ACTIVITY_REGISTERED_EVENT","eventDetailKey","ACTIVITY_EVENT_DETAIL_KEY","getRenderFunction","activityRegistry","MemoizedComponent","componentProps","useMemo","messageId","createElement","ComponentErrorBoundary","componentName","logPrefix","_objectSpread","prevProps","nextProps","isEqual","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgBA,IAAMA,uBAA2D,GAAA,SAA3DA,uBAA2DA,CAAAC,IAAA,EAAkB;AAAA,EAAA,IAAfC,QAAA,GAAAD,IAAA,CAAAC,QAAA,CAAA;AAElEC,EAAAA,OAAA,CAAQC,IAAK,CAAAC,4CAAAA,CAAAA,MAAA,CAA6CH,QAAS,CAAAI,YAAA,CAAgBJ,EAAAA,SAASK,OAAO,CAAA,CAAA;AAC5F,EAAA,OAAA,IAAA,CAAA;AACT,CAAA,CAAA;AAUO,IAAMC,gCAAmBC,KAAM,CAAAC,IAAA,CACpC,UAAAC,KAAA,EAAkB;AAAA,EAAA,IAAfT,QAAA,GAAAS,KAAA,CAAAT,QAAA,CAAA;EAEK,IAAAU,qBAAA,GAAwBC,uBAAgD,CAAA;MAC5EC,cAAcZ,QAAS,CAAAI,YAAA;AACvBS,MAAAA,SAAW,EAAAC,yBAAA;AACXC,MAAAA,cAAgB,EAAAC,yBAAA;MAChBC,mBAAmBC,gBAAiB,CAAAD,iBAAAA;AACtC,KAAC,CAAA;IALOE,iBAAkB,GAAAT,qBAAA,CAAlBS,iBAAkB,CAAA;EAQ1B,IAAMC,cAAiB,GAAAC,OAAA,CACrB,YAAA;IAAA,OAAO;MACLjB,cAAcJ,QAAS,CAAAI,YAAA;MACvBC,SAASL,QAAS,CAAAK,OAAA;AAClBiB,MAAAA,SAAA,EAAWtB,SAASsB,SAAa,IAAA,EAAA;KACnC,CAAA;AAAA,GAAA,EACA,CAACtB,QAAS,CAAAI,YAAA,EAAcJ,QAAS,CAAAK,OAAA,EAASL,SAASsB,SAAS,CAC9D,CAAA,CAAA;EAGA,IAAI,CAACH,iBAAmB,EAAA;AACtB,IAAA,sBAAQZ,KAAA,CAAAgB,aAAA,CAAAzB,uBAAA,EAAA;AAAwBE,MAAAA,QAAA,EAAAA,QAAAA;AAAoB,KAAA,CAAA,CAAA;AACtD,GAAA;AAEA,EAAA,sBACGO,KAAA,CAAAgB,aAAA,CAAAC,sBAAA,EAAA;IAAuBC,eAAezB,QAAS,CAAAI,YAAA;AAAcsB,IAAAA,SAAU,EAAA,kBAAA;AAAA,GAAA,iBACrEnB,KAAA,CAAAgB,aAAA,CAAAJ,iBAAA,EAAAQ,aAAA,CAAA,EAAA,EAAsBP,cAAA,CAAgB,CACzC,CAAA,CAAA;AAEJ,CAAA,EACA,UAACQ,WAAWC,SAAc,EAAA;EAExB,IAAID,SAAU,CAAA5B,QAAA,CAASI,YAAiB,KAAAyB,SAAA,CAAU7B,SAASI,YAAc,EAAA;AAChE,IAAA,OAAA,KAAA,CAAA;AACT,GAAA;EAEA,IAAIwB,SAAU,CAAA5B,QAAA,CAASsB,SAAc,KAAAO,SAAA,CAAU7B,SAASsB,SAAW,EAAA;AAC1D,IAAA,OAAA,KAAA,CAAA;AACT,GAAA;EAEA,IAAIM,SAAU,CAAA5B,QAAA,CAASK,OAAY,KAAAwB,SAAA,CAAU7B,SAASK,OAAS,EAAA;AACtD,IAAA,OAAA,IAAA,CAAA;AACT,GAAA;AAGA,EAAA,OAAOyB,QAAQF,SAAU,CAAA5B,QAAA,CAASK,OAAS,EAAAwB,SAAA,CAAU7B,SAASK,OAAO,CAAA,CAAA;AACvE,CACF,EAAA;AAEAC,gBAAA,CAAiByB,WAAc,GAAA,kBAAA;;;;"}
|