@tdesign-react/chat 1.0.2-alpha.9 → 1.1.0-alpha.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/es/_chunks/dep-f2051ebd.js +839 -0
- package/es/_chunks/dep-f2051ebd.js.map +1 -0
- package/es/_util/reactify.js +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.js +1 -1
- package/es/chat-engine/components/activity/registry.d.ts +1 -1
- package/es/chat-engine/components/activity/registry.js +1 -1
- package/es/chat-engine/components/activity/registry.js.map +1 -1
- package/es/chat-engine/components/activity/render.d.ts +2 -2
- package/es/chat-engine/components/activity/render.js +1 -1
- package/es/chat-engine/components/activity/render.js.map +1 -1
- package/es/chat-engine/components/activity/types.js +1 -1
- package/es/chat-engine/components/index.d.ts +1 -0
- package/es/chat-engine/components/index.js +57 -9
- 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/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/index.d.ts +127 -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 +549 -0
- package/es/chat-engine/components/json-render/catalog.js +147 -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 +74 -0
- package/es/chat-engine/components/json-render/contexts/actions.js +290 -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 +45 -0
- package/es/chat-engine/components/json-render/contexts/data.js +104 -0
- package/es/chat-engine/components/json-render/contexts/data.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 +151 -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 +29 -0
- package/es/chat-engine/components/json-render/contexts/visibility.js +56 -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 +34 -0
- package/es/chat-engine/components/json-render/index.js +36 -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/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 +69 -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 +39 -2
- package/es/chat-engine/components/provider/agent-state.js.map +1 -1
- package/es/chat-engine/components/toolcall/index.js +32 -2
- package/es/chat-engine/components/toolcall/index.js.map +1 -1
- package/es/chat-engine/components/toolcall/registry.js +1 -1
- package/es/chat-engine/components/toolcall/render.d.ts +1 -1
- package/es/chat-engine/components/toolcall/render.js +33 -4
- 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/agui/activity-manager.d.ts +102 -0
- package/es/chat-engine/core/adapters/agui/activity-manager.js +144 -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 +90 -50
- 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 +22 -2
- package/es/chat-engine/core/adapters/agui/index.js +34 -14
- package/es/chat-engine/core/adapters/agui/index.js.map +1 -1
- package/es/chat-engine/core/adapters/agui/state-manager.js +1 -1
- 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/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 +16 -1
- package/es/chat-engine/core/index.js +174 -17
- 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 +17 -15
- 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 +2 -2
- package/es/chat-engine/core/store/message.js.map +1 -1
- package/es/chat-engine/core/store/model.js +1 -1
- package/es/chat-engine/core/store/reactiveState.js +1 -1
- package/es/chat-engine/core/type.d.ts +18 -2
- 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/index.js +1 -1
- package/es/chat-engine/core/utils/logger.js +1 -1
- 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 +38 -4
- 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 +1 -1
- package/es/chat-engine/hooks/useAgentActivity.js.map +1 -1
- package/es/chat-engine/hooks/useAgentState.js +39 -2
- package/es/chat-engine/hooks/useAgentState.js.map +1 -1
- package/es/chat-engine/hooks/useAgentToolcall.js +1 -1
- package/es/chat-engine/hooks/useChat.d.ts +3 -3
- package/es/chat-engine/hooks/useChat.js +40 -2
- 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 +1 -3
- package/es/chat-engine/index.js +30 -8
- 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 +27 -5
- package/es/index.js.map +1 -1
- package/es/style/index.js +1 -1
- package/package.json +6 -3
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2UI 专用组件注册表
|
|
3
|
+
*
|
|
4
|
+
* 使用 withA2UIBinding HOC 包装原子组件,自动处理 A2UI 协议字段:
|
|
5
|
+
* - valuePath: 值的数据绑定(如 /userInfo/name)
|
|
6
|
+
* - disabledPath: disabled 状态的数据绑定(如 /formDisabled)
|
|
7
|
+
* - action.context: action 参数中的动态数据绑定({ path: '/xxx' } 格式)
|
|
8
|
+
*
|
|
9
|
+
* 与 tdesignRegistry 的区别:
|
|
10
|
+
* - tdesignRegistry: 纯净的 TDesign 组件,用于直接的 json-render schema
|
|
11
|
+
* - a2uiRegistry: 支持 A2UI 协议的组件,用于 A2UI → json-render 转换后的渲染
|
|
12
|
+
*
|
|
13
|
+
* 使用方式:
|
|
14
|
+
* ```tsx
|
|
15
|
+
* // 业务使用 A2UI 协议时
|
|
16
|
+
* const config = createA2UIJsonRenderActivityConfig({
|
|
17
|
+
* registry: a2uiRegistry, // 内置 A2UI 组件
|
|
18
|
+
* // 或扩展自定义组件
|
|
19
|
+
* registry: createA2UIRegistry({
|
|
20
|
+
* MyCustomComponent: withA2UIBinding(MyComponent, { supportsAction: true }),
|
|
21
|
+
* }),
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
import React from 'react';
|
|
26
|
+
import type { ComponentRegistry } from '../renderer';
|
|
27
|
+
/**
|
|
28
|
+
* A2UI TextField 组件
|
|
29
|
+
* 自动支持 valuePath/disabledPath 数据绑定
|
|
30
|
+
*/
|
|
31
|
+
export declare const A2UITextField: React.FC<import("@json-render/react").ComponentRenderProps<Record<string, unknown>>>;
|
|
32
|
+
/**
|
|
33
|
+
* A2UI Button 组件
|
|
34
|
+
* 自动支持 disabledPath 和 action.context 动态绑定
|
|
35
|
+
*/
|
|
36
|
+
export declare const A2UIButton: React.FC<import("@json-render/react").ComponentRenderProps<Record<string, unknown>>>;
|
|
37
|
+
/**
|
|
38
|
+
* A2UI 专用组件注册表
|
|
39
|
+
*
|
|
40
|
+
* 用于 A2UI 协议转换后的渲染,组件自动支持:
|
|
41
|
+
* - valuePath: 值绑定到 dataModel
|
|
42
|
+
* - disabledPath: disabled 状态绑定到 dataModel
|
|
43
|
+
* - action.context: action 参数动态解析
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```tsx
|
|
47
|
+
* import { a2uiRegistry } from './catalog/a2ui-registry';
|
|
48
|
+
*
|
|
49
|
+
* const config = createA2UIJsonRenderActivityConfig({
|
|
50
|
+
* registry: a2uiRegistry, // 使用 A2UI 专用 registry
|
|
51
|
+
* actionHandlers: { ... },
|
|
52
|
+
* });
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export declare const a2uiRegistry: ComponentRegistry;
|
|
56
|
+
/**
|
|
57
|
+
* 创建自定义 A2UI 组件注册表
|
|
58
|
+
*
|
|
59
|
+
* 基于 a2uiRegistry 扩展自定义组件
|
|
60
|
+
* 自定义组件如需支持 A2UI 协议,请使用 withA2UIBinding 包装
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```tsx
|
|
64
|
+
* import { createA2UIRegistry, withA2UIBinding } from '@tdesign-react/chat';
|
|
65
|
+
*
|
|
66
|
+
* // 创建支持 A2UI 的自定义组件
|
|
67
|
+
* const A2UIDatePicker = withA2UIBinding(DatePicker, {
|
|
68
|
+
* valueField: 'value',
|
|
69
|
+
* onChangeField: 'onChange',
|
|
70
|
+
* });
|
|
71
|
+
*
|
|
72
|
+
* const customRegistry = createA2UIRegistry({
|
|
73
|
+
* DatePicker: A2UIDatePicker,
|
|
74
|
+
* });
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
export declare function createA2UIRegistry(customComponents: ComponentRegistry): ComponentRegistry;
|
|
78
|
+
export default a2uiRegistry;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.15
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
8
|
+
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
9
|
+
import 'react';
|
|
10
|
+
import 'tdesign-react';
|
|
11
|
+
export { e as A2UIButton, d as A2UITextField, a as a2uiRegistry, b as createA2UIRegistry, a as default } from '../../../../_chunks/dep-f2051ebd.js';
|
|
12
|
+
import './card.js';
|
|
13
|
+
import './text.js';
|
|
14
|
+
import './layout.js';
|
|
15
|
+
import '@babel/runtime/helpers/typeof';
|
|
16
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
17
|
+
import '../adapters/index.js';
|
|
18
|
+
import '../adapters/a2ui-to-jsonrender.js';
|
|
19
|
+
import '../SurfaceStateManager.js';
|
|
20
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
21
|
+
import '@babel/runtime/helpers/createClass';
|
|
22
|
+
import '../engine.js';
|
|
23
|
+
import '../performance.js';
|
|
24
|
+
import '@babel/runtime/helpers/toConsumableArray';
|
|
25
|
+
import './button.js';
|
|
26
|
+
import '@json-render/core';
|
|
27
|
+
import '../contexts/data.js';
|
|
28
|
+
import '../catalog.js';
|
|
29
|
+
import 'zod';
|
|
30
|
+
import '../contexts/visibility.js';
|
|
31
|
+
import '../contexts/actions.js';
|
|
32
|
+
import '@babel/runtime/helpers/asyncToGenerator';
|
|
33
|
+
import '@babel/runtime/regenerator';
|
|
34
|
+
import '../contexts/validation.js';
|
|
35
|
+
import '../renderer.js';
|
|
36
|
+
//# sourceMappingURL=a2ui-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a2ui-registry.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TDesign Button 组件适配 json-render
|
|
3
|
+
*
|
|
4
|
+
* 这是纯净的 json-render Button 组件,不包含 A2UI 协议绑定逻辑
|
|
5
|
+
* 如需 A2UI 支持,请使用 a2uiRegistry 中的 A2UIButton
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import { ComponentRenderProps } from '@json-render/react';
|
|
9
|
+
/**
|
|
10
|
+
* json-render Button 组件
|
|
11
|
+
* 符合 @json-render/react 的 ComponentRenderProps 接口
|
|
12
|
+
*/
|
|
13
|
+
export declare const JsonRenderButton: React.FC<ComponentRenderProps>;
|
|
14
|
+
export default JsonRenderButton;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.15
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
8
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
9
|
+
import React, { useCallback } from 'react';
|
|
10
|
+
import { Button } from 'tdesign-react';
|
|
11
|
+
|
|
12
|
+
var _excluded = ["label", "variant", "size", "theme", "disabled", "loading", "block", "shape", "ghost", "action", "onClick"];
|
|
13
|
+
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; }
|
|
14
|
+
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; }
|
|
15
|
+
var JsonRenderButton = function JsonRenderButton(_ref) {
|
|
16
|
+
var element = _ref.element,
|
|
17
|
+
children = _ref.children,
|
|
18
|
+
onAction = _ref.onAction,
|
|
19
|
+
parentLoading = _ref.loading;
|
|
20
|
+
var _element$props = element.props,
|
|
21
|
+
label = _element$props.label,
|
|
22
|
+
_element$props$varian = _element$props.variant,
|
|
23
|
+
variant = _element$props$varian === void 0 ? "base" : _element$props$varian,
|
|
24
|
+
_element$props$size = _element$props.size,
|
|
25
|
+
size = _element$props$size === void 0 ? "medium" : _element$props$size,
|
|
26
|
+
_element$props$theme = _element$props.theme,
|
|
27
|
+
theme = _element$props$theme === void 0 ? "default" : _element$props$theme,
|
|
28
|
+
_element$props$disabl = _element$props.disabled,
|
|
29
|
+
disabled = _element$props$disabl === void 0 ? false : _element$props$disabl,
|
|
30
|
+
_element$props$loadin = _element$props.loading,
|
|
31
|
+
loading = _element$props$loadin === void 0 ? false : _element$props$loadin,
|
|
32
|
+
_element$props$block = _element$props.block,
|
|
33
|
+
block = _element$props$block === void 0 ? false : _element$props$block,
|
|
34
|
+
_element$props$shape = _element$props.shape,
|
|
35
|
+
shape = _element$props$shape === void 0 ? "rectangle" : _element$props$shape,
|
|
36
|
+
_element$props$ghost = _element$props.ghost,
|
|
37
|
+
ghost = _element$props$ghost === void 0 ? false : _element$props$ghost,
|
|
38
|
+
action = _element$props.action,
|
|
39
|
+
onClick = _element$props.onClick,
|
|
40
|
+
restProps = _objectWithoutProperties(_element$props, _excluded);
|
|
41
|
+
var handleClick = useCallback(function (e) {
|
|
42
|
+
if (onClick) {
|
|
43
|
+
onClick(e);
|
|
44
|
+
}
|
|
45
|
+
if (action && onAction) {
|
|
46
|
+
var actionObj = typeof action === "string" ? {
|
|
47
|
+
name: action,
|
|
48
|
+
params: {}
|
|
49
|
+
} : action;
|
|
50
|
+
console.log("[JsonRenderButton] \u89E6\u53D1 action:", actionObj);
|
|
51
|
+
onAction(actionObj);
|
|
52
|
+
}
|
|
53
|
+
}, [onClick, action, onAction]);
|
|
54
|
+
var isLoading = loading || parentLoading;
|
|
55
|
+
var content = label || children;
|
|
56
|
+
return /* @__PURE__ */React.createElement(Button, _objectSpread({
|
|
57
|
+
variant: variant,
|
|
58
|
+
size: size,
|
|
59
|
+
theme: theme,
|
|
60
|
+
disabled: disabled,
|
|
61
|
+
loading: isLoading,
|
|
62
|
+
block: block,
|
|
63
|
+
shape: shape,
|
|
64
|
+
ghost: ghost,
|
|
65
|
+
onClick: handleClick
|
|
66
|
+
}, restProps), content);
|
|
67
|
+
};
|
|
68
|
+
JsonRenderButton.displayName = "JsonRenderButton";
|
|
69
|
+
|
|
70
|
+
export { JsonRenderButton, JsonRenderButton as default };
|
|
71
|
+
//# sourceMappingURL=button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.js","sources":["../../../../../../pro-components/chat/chat-engine/components/json-render/catalog/button.tsx"],"sourcesContent":["/**\n * TDesign Button 组件适配 json-render\n * \n * 这是纯净的 json-render Button 组件,不包含 A2UI 协议绑定逻辑\n * 如需 A2UI 支持,请使用 a2uiRegistry 中的 A2UIButton\n */\n\nimport React, { useCallback } from 'react';\nimport { Button } from 'tdesign-react';\nimport type { ButtonProps } from 'tdesign-react';\nimport { ComponentRenderProps } from '@json-render/react';\nimport type { Action } from '@json-render/core';\n\n/**\n * json-render Button 组件\n * 符合 @json-render/react 的 ComponentRenderProps 接口\n */\nexport const JsonRenderButton: React.FC<ComponentRenderProps> = ({\n element,\n children,\n onAction,\n loading: parentLoading,\n}) => {\n const {\n label,\n variant = 'base',\n size = 'medium',\n theme = 'default',\n disabled = false,\n loading = false,\n block = false,\n shape = 'rectangle',\n ghost = false,\n action,\n onClick,\n ...restProps\n } = element.props as ButtonProps & {\n label?: string;\n action?: string | Action;\n [key: string]: any;\n };\n\n // 处理点击事件\n const handleClick = useCallback(\n (e: React.MouseEvent<HTMLButtonElement>) => {\n if (onClick) {\n onClick(e);\n }\n\n if (action && onAction) {\n const actionObj: Action = typeof action === 'string'\n ? { name: action, params: {} }\n : action;\n\n console.log('[JsonRenderButton] 触发 action:', actionObj);\n onAction(actionObj);\n }\n },\n [onClick, action, onAction],\n );\n\n const isLoading = loading || parentLoading;\n const content = label || children;\n\n return (\n <Button\n variant={variant}\n size={size}\n theme={theme}\n disabled={disabled}\n loading={isLoading}\n block={block}\n shape={shape}\n ghost={ghost}\n onClick={handleClick}\n {...restProps}\n >\n {content}\n </Button>\n );\n};\n\nJsonRenderButton.displayName = 'JsonRenderButton';\n\nexport default JsonRenderButton;\n"],"names":["JsonRenderButton","element","_ref","children","onAction","parentLoading","loading","_element$props","props","label","_element$props$varian","variant","_element$props$size","size","_element$props$theme","theme","_element$props$disabl","disabled","_element$props$loadin","_element$props$block","block","_element$props$shape","shape","_element$props$ghost","ghost","action","onClick","restProps","_objectWithoutProperties","_excluded","handleClick","useCallback","e","actionObj","name","params","console","log","isLoading","content","React","createElement","Button","_objectSpread","displayName"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TDesign Card 组件适配 json-render
|
|
3
|
+
*/
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import type { ComponentRenderProps } from '../types';
|
|
6
|
+
/**
|
|
7
|
+
* json-render Card 组件
|
|
8
|
+
* 符合 @json-render/react 的 ComponentRenderProps 接口
|
|
9
|
+
*/
|
|
10
|
+
export declare const JsonRenderCard: React.FC<ComponentRenderProps>;
|
|
11
|
+
export default JsonRenderCard;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.15
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
8
|
+
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
9
|
+
import React from 'react';
|
|
10
|
+
import { Card } from 'tdesign-react';
|
|
11
|
+
|
|
12
|
+
var _excluded = ["title", "subtitle", "description", "avatar", "cover", "actions", "bordered", "size", "loading", "shadow", "hoverable", "header", "footer"];
|
|
13
|
+
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; }
|
|
14
|
+
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; }
|
|
15
|
+
var JsonRenderCard = function JsonRenderCard(_ref) {
|
|
16
|
+
var element = _ref.element,
|
|
17
|
+
children = _ref.children;
|
|
18
|
+
var _element$props = element.props,
|
|
19
|
+
title = _element$props.title,
|
|
20
|
+
subtitle = _element$props.subtitle,
|
|
21
|
+
description = _element$props.description,
|
|
22
|
+
avatar = _element$props.avatar,
|
|
23
|
+
cover = _element$props.cover,
|
|
24
|
+
actions = _element$props.actions,
|
|
25
|
+
_element$props$border = _element$props.bordered,
|
|
26
|
+
bordered = _element$props$border === void 0 ? true : _element$props$border,
|
|
27
|
+
_element$props$size = _element$props.size,
|
|
28
|
+
size = _element$props$size === void 0 ? "medium" : _element$props$size,
|
|
29
|
+
_element$props$loadin = _element$props.loading,
|
|
30
|
+
loading = _element$props$loadin === void 0 ? false : _element$props$loadin,
|
|
31
|
+
_element$props$shadow = _element$props.shadow,
|
|
32
|
+
shadow = _element$props$shadow === void 0 ? false : _element$props$shadow,
|
|
33
|
+
_element$props$hovera = _element$props.hoverable,
|
|
34
|
+
hoverable = _element$props$hovera === void 0 ? false : _element$props$hovera,
|
|
35
|
+
header = _element$props.header,
|
|
36
|
+
footer = _element$props.footer,
|
|
37
|
+
restProps = _objectWithoutProperties(_element$props, _excluded);
|
|
38
|
+
return /* @__PURE__ */React.createElement(Card, _objectSpread({
|
|
39
|
+
title: title,
|
|
40
|
+
subtitle: subtitle,
|
|
41
|
+
description: description,
|
|
42
|
+
avatar: avatar,
|
|
43
|
+
cover: cover,
|
|
44
|
+
actions: actions,
|
|
45
|
+
bordered: bordered,
|
|
46
|
+
size: size,
|
|
47
|
+
loading: loading,
|
|
48
|
+
shadow: shadow,
|
|
49
|
+
hoverable: hoverable,
|
|
50
|
+
header: header,
|
|
51
|
+
footer: footer
|
|
52
|
+
}, restProps), children);
|
|
53
|
+
};
|
|
54
|
+
JsonRenderCard.displayName = "JsonRenderCard";
|
|
55
|
+
|
|
56
|
+
export { JsonRenderCard, JsonRenderCard as default };
|
|
57
|
+
//# sourceMappingURL=card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.js","sources":["../../../../../../pro-components/chat/chat-engine/components/json-render/catalog/card.tsx"],"sourcesContent":["/**\n * TDesign Card 组件适配 json-render\n */\n\nimport React from 'react';\nimport { Card } from 'tdesign-react';\nimport type { CardProps } from 'tdesign-react';\nimport type { ComponentRenderProps } from '../types';\n\n/**\n * json-render Card 组件\n * 符合 @json-render/react 的 ComponentRenderProps 接口\n */\nexport const JsonRenderCard: React.FC<ComponentRenderProps> = ({ element, children }) => {\n const {\n title,\n subtitle,\n description,\n avatar,\n cover,\n actions,\n bordered = true,\n size = 'medium',\n loading = false,\n shadow = false,\n hoverable = false,\n header,\n footer,\n ...restProps\n } = element.props as CardProps;\n\n return (\n <Card\n title={title}\n subtitle={subtitle}\n description={description}\n avatar={avatar}\n cover={cover}\n actions={actions}\n bordered={bordered}\n size={size}\n loading={loading}\n shadow={shadow}\n hoverable={hoverable}\n header={header}\n footer={footer}\n {...restProps}\n >\n {children}\n </Card>\n );\n};\n\nJsonRenderCard.displayName = 'JsonRenderCard';\n\nexport default JsonRenderCard;\n"],"names":["JsonRenderCard","_ref","element","children","_element$props","props","title","subtitle","description","avatar","cover","actions","_element$props$border","bordered","_element$props$size","size","_element$props$loadin","loading","_element$props$shadow","shadow","_element$props$hovera","hoverable","header","footer","restProps","_objectWithoutProperties","_excluded","React","createElement","Card","_objectSpread","displayName"],"mappings":";;;;;;;;;;;;;;IAaaA,cAAiD,GAAA,SAAjDA,cAAiDA,CAAAC,IAAA,EAA2B;AAAA,EAAA,IAAxBC,OAAA,GAAAD,IAAA,CAAAC,OAAA;IAASC,gBAAAA;AAClE,EAAA,IAAAC,cAAA,GAeFF,OAAQ,CAAAG,KAAA;IAdVC,KAAA,GAAAF,cAAA,CAAAE,KAAA;IACAC,QAAA,GAAAH,cAAA,CAAAG,QAAA;IACAC,WAAA,GAAAJ,cAAA,CAAAI,WAAA;IACAC,MAAA,GAAAL,cAAA,CAAAK,MAAA;IACAC,KAAA,GAAAN,cAAA,CAAAM,KAAA;IACAC,OAAA,GAAAP,cAAA,CAAAO,OAAA;IAAAC,qBAAA,GAAAR,cAAA,CACAS,QAAW;AAAXA,IAAAA,QAAW,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAA,IAAA,GAAAA,qBAAA;IAAAE,mBAAA,GAAAV,cAAA,CACXW,IAAO;AAAPA,IAAAA,IAAO,GAAAD,mBAAA,KAAA,KAAA,CAAA,GAAA,QAAA,GAAAA,mBAAA;IAAAE,qBAAA,GAAAZ,cAAA,CACPa,OAAU;AAAVA,IAAAA,OAAU,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,qBAAA;IAAAE,qBAAA,GAAAd,cAAA,CACVe,MAAS;AAATA,IAAAA,MAAS,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,qBAAA;IAAAE,qBAAA,GAAAhB,cAAA,CACTiB,SAAY;AAAZA,IAAAA,SAAY,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,qBAAA;IACZE,MAAA,GAAAlB,cAAA,CAAAkB,MAAA;IACAC,MAAA,GAAAnB,cAAA,CAAAmB,MAAA;AACGC,IAAAA,SAAA,GAAAC,wBAAA,CAAArB,cAAA,EAAAsB,SAAA,CAAA,CAAA;AAGL,EAAA,sBACGC,KAAA,CAAAC,aAAA,CAAAC,IAAA,EAAAC,aAAA,CAAA;AACCxB,IAAAA,KAAA,EAAAA,KAAA;AACAC,IAAAA,QAAA,EAAAA,QAAA;AACAC,IAAAA,WAAA,EAAAA,WAAA;AACAC,IAAAA,MAAA,EAAAA,MAAA;AACAC,IAAAA,KAAA,EAAAA,KAAA;AACAC,IAAAA,OAAA,EAAAA,OAAA;AACAE,IAAAA,QAAA,EAAAA,QAAA;AACAE,IAAAA,IAAA,EAAAA,IAAA;AACAE,IAAAA,OAAA,EAAAA,OAAA;AACAE,IAAAA,MAAA,EAAAA,MAAA;AACAE,IAAAA,SAAA,EAAAA,SAAA;AACAC,IAAAA,MAAA,EAAAA,MAAA;AACAC,IAAAA,MAAA,EAAAA,MAAAA;GACIC,EAAAA,SAAA,CAEHrB,EAAAA,QACH,CAAA,CAAA;AAEJ,EAAA;AAEAH,cAAA,CAAe+B,WAAc,GAAA,gBAAA;;;;"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TDesign ComponentRegistry(React 组件注册表)
|
|
3
|
+
* 用于 json-render 渲染层的组件映射
|
|
4
|
+
*
|
|
5
|
+
* 重要概念区分:
|
|
6
|
+
* - ComponentRegistry(本文件):渲染层,映射组件名到 React 组件(传给 Renderer)
|
|
7
|
+
* - Catalog(catalog.ts):约束层,定义组件 props schema 和 actions 白名单(给 AI/服务端)
|
|
8
|
+
*
|
|
9
|
+
* Registry 分类:
|
|
10
|
+
* - tdesignRegistry: 纯净的 TDesign 组件,用于直接的 json-render schema
|
|
11
|
+
* - a2uiRegistry: 支持 A2UI 协议的组件,自动处理 valuePath/disabledPath/action.context
|
|
12
|
+
*
|
|
13
|
+
* 详见:ARCHITECTURE.md
|
|
14
|
+
*/
|
|
15
|
+
import React from 'react';
|
|
16
|
+
import type { ComponentRegistry, ComponentRenderProps } from '../renderer';
|
|
17
|
+
/**
|
|
18
|
+
* 高性能组件包装器
|
|
19
|
+
* 使用 React.memo + react-fast-compare 实现深比较
|
|
20
|
+
*
|
|
21
|
+
* 原理:
|
|
22
|
+
* - json-render 每次渲染都会创建新的 element 对象引用
|
|
23
|
+
* - 默认的 React.memo 浅比较会认为 props 变化了
|
|
24
|
+
* - 使用 react-fast-compare 进行高效深比较,只在内容真正变化时才重渲染
|
|
25
|
+
*
|
|
26
|
+
* 性能说明(来自 performance_suggestion.md):
|
|
27
|
+
* - react-fast-compare 比 JSON.stringify 更快(短路比较)
|
|
28
|
+
* - 发现第一个不同属性时立即停止,不会遍历整个对象
|
|
29
|
+
* - 处理了循环引用等边缘情况
|
|
30
|
+
*/
|
|
31
|
+
export declare function withStableProps<P extends ComponentRenderProps>(Component: React.ComponentType<P>): React.MemoExoticComponent<React.ComponentType<P>>;
|
|
32
|
+
/**
|
|
33
|
+
* TDesign 内置组件注册表(渲染层)
|
|
34
|
+
*
|
|
35
|
+
* 这是框架内置的原子组件集合,提供基础 UI 渲染能力
|
|
36
|
+
* 业务层可以通过 createCustomRegistry 扩展自定义组件
|
|
37
|
+
*
|
|
38
|
+
* 使用方式:
|
|
39
|
+
* ```tsx
|
|
40
|
+
* import { tdesignRegistry } from '@tdesign-react/chat';
|
|
41
|
+
*
|
|
42
|
+
* const config = createJsonRenderActivityConfig({
|
|
43
|
+
* registry: tdesignRegistry,
|
|
44
|
+
* actionHandlers: { ... },
|
|
45
|
+
* });
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* Schema 示例:
|
|
49
|
+
* ```json
|
|
50
|
+
* {
|
|
51
|
+
* "root": "btn1",
|
|
52
|
+
* "elements": {
|
|
53
|
+
* "btn1": {
|
|
54
|
+
* "key": "btn1",
|
|
55
|
+
* "type": "Button",
|
|
56
|
+
* "props": {
|
|
57
|
+
* "variant": "base",
|
|
58
|
+
* "theme": "primary",
|
|
59
|
+
* "children": "点击我",
|
|
60
|
+
* "action": "submit"
|
|
61
|
+
* }
|
|
62
|
+
* }
|
|
63
|
+
* }
|
|
64
|
+
* }
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare const tdesignRegistry: ComponentRegistry;
|
|
68
|
+
/**
|
|
69
|
+
* createCustomRegistry 配置选项
|
|
70
|
+
*/
|
|
71
|
+
export interface CreateCustomRegistryOptions {
|
|
72
|
+
/**
|
|
73
|
+
* 是否自动包装组件以优化性能
|
|
74
|
+
* 使用 React.memo + react-fast-compare 深比较 element.props
|
|
75
|
+
*
|
|
76
|
+
* @default true
|
|
77
|
+
*/
|
|
78
|
+
enableStableProps?: boolean;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* 创建自定义组件注册表(扩展内置组件)
|
|
82
|
+
*
|
|
83
|
+
* 用于渲染层:扩展自定义业务组件的 React 实现
|
|
84
|
+
*
|
|
85
|
+
* 性能优化(默认开启):
|
|
86
|
+
* - 自动使用 withStableProps 包装组件
|
|
87
|
+
* - 使用 react-fast-compare 进行高效深比较
|
|
88
|
+
* - 业务组件无需手动写 React.memo 比较函数
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```tsx
|
|
92
|
+
* import { createCustomRegistry } from '@tdesign-react/chat';
|
|
93
|
+
* import type { ComponentRenderProps } from '@json-render/react';
|
|
94
|
+
*
|
|
95
|
+
* // 定义自定义组件(无需手动 React.memo)
|
|
96
|
+
* const StatusCard: React.FC<ComponentRenderProps> = ({ element }) => (
|
|
97
|
+
* <div className="status-card">{element.props.status}</div>
|
|
98
|
+
* );
|
|
99
|
+
*
|
|
100
|
+
* const ProgressBar: React.FC<ComponentRenderProps> = ({ element }) => (
|
|
101
|
+
* <div className="progress-bar" style={{ width: `${element.props.percentage}%` }} />
|
|
102
|
+
* );
|
|
103
|
+
*
|
|
104
|
+
* // 扩展 registry(自动优化性能)
|
|
105
|
+
* const customRegistry = createCustomRegistry({
|
|
106
|
+
* StatusCard,
|
|
107
|
+
* ProgressBar,
|
|
108
|
+
* });
|
|
109
|
+
*
|
|
110
|
+
* // 禁用自动优化(如果需要自己控制)
|
|
111
|
+
* const customRegistry = createCustomRegistry(
|
|
112
|
+
* { StatusCard, ProgressBar },
|
|
113
|
+
* { enableStableProps: false }
|
|
114
|
+
* );
|
|
115
|
+
* ```
|
|
116
|
+
*
|
|
117
|
+
* 注意:
|
|
118
|
+
* - 这里只定义渲染层的组件映射
|
|
119
|
+
* - 约束层(Catalog)需要使用 createCustomCatalog 定义(见 catalog.ts)
|
|
120
|
+
* - 两者需要保持组件名称一致
|
|
121
|
+
*/
|
|
122
|
+
export declare function createCustomRegistry(customComponents: ComponentRegistry, options?: CreateCustomRegistryOptions): ComponentRegistry;
|
|
123
|
+
export { tdesignCatalog, createCustomCatalog, tdesignComponentList, tdesignActionList, } from '../catalog';
|
|
124
|
+
export { a2uiRegistry, createA2UIRegistry, A2UITextField, A2UIButton } from './a2ui-registry';
|
|
125
|
+
export { withA2UIBinding } from './a2ui-binding';
|
|
126
|
+
export type { A2UIBindingConfig } from './a2ui-binding';
|
|
127
|
+
export default tdesignRegistry;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.15
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
8
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
9
|
+
import 'react';
|
|
10
|
+
export { e as A2UIButton, d as A2UITextField, a as a2uiRegistry, b as createA2UIRegistry, c as createCustomRegistry, t as default, t as tdesignRegistry, f as withA2UIBinding, w as withStableProps } from '../../../../_chunks/dep-f2051ebd.js';
|
|
11
|
+
import './button.js';
|
|
12
|
+
import './card.js';
|
|
13
|
+
import './text.js';
|
|
14
|
+
import './layout.js';
|
|
15
|
+
export { createCustomCatalog, tdesignActionList, tdesignCatalog, tdesignComponentList } from '../catalog.js';
|
|
16
|
+
import '@babel/runtime/helpers/typeof';
|
|
17
|
+
import '../adapters/index.js';
|
|
18
|
+
import '../adapters/a2ui-to-jsonrender.js';
|
|
19
|
+
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
20
|
+
import '../SurfaceStateManager.js';
|
|
21
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
22
|
+
import '@babel/runtime/helpers/createClass';
|
|
23
|
+
import '../engine.js';
|
|
24
|
+
import '../performance.js';
|
|
25
|
+
import '@babel/runtime/helpers/toConsumableArray';
|
|
26
|
+
import 'tdesign-react';
|
|
27
|
+
import '@json-render/core';
|
|
28
|
+
import '../contexts/data.js';
|
|
29
|
+
import '../contexts/visibility.js';
|
|
30
|
+
import '../contexts/actions.js';
|
|
31
|
+
import '@babel/runtime/helpers/asyncToGenerator';
|
|
32
|
+
import '@babel/runtime/regenerator';
|
|
33
|
+
import '../contexts/validation.js';
|
|
34
|
+
import '../renderer.js';
|
|
35
|
+
import 'zod';
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TDesign Input 组件适配 json-render
|
|
3
|
+
*
|
|
4
|
+
* 这是纯净的 json-render Input 组件,不包含 A2UI 协议绑定逻辑
|
|
5
|
+
* 如需 A2UI 支持,请使用 a2uiRegistry 中的 A2UITextField
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import type { ComponentRenderProps } from '../types';
|
|
9
|
+
/**
|
|
10
|
+
* json-render Input 组件(基础版本,不带数据绑定)
|
|
11
|
+
*/
|
|
12
|
+
export declare const JsonRenderInput: React.FC<ComponentRenderProps>;
|
|
13
|
+
/**
|
|
14
|
+
* json-render TextField 组件(带 label 和 valuePath 数据绑定)
|
|
15
|
+
*
|
|
16
|
+
* 这是标准 json-render 的 TextField,支持 valuePath 但不支持 A2UI 的 disabledPath
|
|
17
|
+
* 如需完整 A2UI 支持,请使用 a2uiRegistry 中的 A2UITextField
|
|
18
|
+
*/
|
|
19
|
+
export declare const JsonRenderTextField: React.FC<ComponentRenderProps>;
|
|
20
|
+
export default JsonRenderInput;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.15
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
8
|
+
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
9
|
+
import 'react';
|
|
10
|
+
import 'tdesign-react';
|
|
11
|
+
export { g as JsonRenderInput, l as JsonRenderTextField, g as default } from '../../../../_chunks/dep-f2051ebd.js';
|
|
12
|
+
import '@json-render/core';
|
|
13
|
+
import '../contexts/data.js';
|
|
14
|
+
import '@babel/runtime/helpers/typeof';
|
|
15
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
16
|
+
import '../adapters/index.js';
|
|
17
|
+
import '../adapters/a2ui-to-jsonrender.js';
|
|
18
|
+
import '../SurfaceStateManager.js';
|
|
19
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
20
|
+
import '@babel/runtime/helpers/createClass';
|
|
21
|
+
import '../engine.js';
|
|
22
|
+
import '../performance.js';
|
|
23
|
+
import '@babel/runtime/helpers/toConsumableArray';
|
|
24
|
+
import './button.js';
|
|
25
|
+
import './card.js';
|
|
26
|
+
import './text.js';
|
|
27
|
+
import './layout.js';
|
|
28
|
+
import '../catalog.js';
|
|
29
|
+
import 'zod';
|
|
30
|
+
import '../contexts/visibility.js';
|
|
31
|
+
import '../contexts/actions.js';
|
|
32
|
+
import '@babel/runtime/helpers/asyncToGenerator';
|
|
33
|
+
import '@babel/runtime/regenerator';
|
|
34
|
+
import '../contexts/validation.js';
|
|
35
|
+
import '../renderer.js';
|
|
36
|
+
//# sourceMappingURL=input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TDesign 布局组件适配 json-render
|
|
3
|
+
* 包含 Row、Col、Space、Column、Divider 等布局组件
|
|
4
|
+
*/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import type { SpaceProps, DividerProps } from 'tdesign-react';
|
|
7
|
+
import type { ComponentRenderProps } from '../types';
|
|
8
|
+
/**
|
|
9
|
+
* json-render Row 组件
|
|
10
|
+
*/
|
|
11
|
+
export declare const JsonRenderRow: React.FC<ComponentRenderProps>;
|
|
12
|
+
/**
|
|
13
|
+
* json-render Col 组件
|
|
14
|
+
*/
|
|
15
|
+
export declare const JsonRenderCol: React.FC<ComponentRenderProps>;
|
|
16
|
+
/**
|
|
17
|
+
* json-render Space 组件
|
|
18
|
+
*/
|
|
19
|
+
export declare const JsonRenderSpace: React.FC<ComponentRenderProps>;
|
|
20
|
+
/**
|
|
21
|
+
* json-render Column 组件
|
|
22
|
+
* 垂直布局的便捷组件(基于 Space direction="vertical")
|
|
23
|
+
*/
|
|
24
|
+
export interface JsonRenderColumnProps extends Omit<SpaceProps, 'direction'> {
|
|
25
|
+
/** 间距大小 */
|
|
26
|
+
gap?: number | string;
|
|
27
|
+
}
|
|
28
|
+
export declare const JsonRenderColumn: React.FC<ComponentRenderProps>;
|
|
29
|
+
/**
|
|
30
|
+
* json-render Divider 组件
|
|
31
|
+
*/
|
|
32
|
+
export declare const JsonRenderDivider: React.FC<DividerProps & {
|
|
33
|
+
children?: React.ReactNode;
|
|
34
|
+
}>;
|
|
35
|
+
declare const _default: {
|
|
36
|
+
JsonRenderRow: React.FC<ComponentRenderProps<Record<string, unknown>>>;
|
|
37
|
+
JsonRenderCol: React.FC<ComponentRenderProps<Record<string, unknown>>>;
|
|
38
|
+
JsonRenderSpace: React.FC<ComponentRenderProps<Record<string, unknown>>>;
|
|
39
|
+
JsonRenderColumn: React.FC<ComponentRenderProps<Record<string, unknown>>>;
|
|
40
|
+
JsonRenderDivider: React.FC<DividerProps & {
|
|
41
|
+
children?: React.ReactNode;
|
|
42
|
+
}>;
|
|
43
|
+
};
|
|
44
|
+
export default _default;
|