@tdesign-react/chat 1.0.2-alpha.9 → 1.1.0-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/es/_chunks/dep-870f0d35.js +839 -0
- package/es/_chunks/dep-870f0d35.js.map +1 -0
- 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 +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 +559 -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 +36 -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,290 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.1.0-alpha.1
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
8
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
9
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
10
|
+
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
11
|
+
import React, { createContext, useState, useCallback, useMemo, useContext } from 'react';
|
|
12
|
+
import { executeAction, resolveAction } from '@json-render/core';
|
|
13
|
+
import { useData } from './data.js';
|
|
14
|
+
import '@babel/runtime/helpers/typeof';
|
|
15
|
+
|
|
16
|
+
"use client";
|
|
17
|
+
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
|
+
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
|
+
var ActionContext = /*#__PURE__*/createContext(null);
|
|
20
|
+
function ActionProvider(_ref) {
|
|
21
|
+
var _ref$handlers = _ref.handlers,
|
|
22
|
+
initialHandlers = _ref$handlers === void 0 ? {} : _ref$handlers,
|
|
23
|
+
navigate = _ref.navigate,
|
|
24
|
+
children = _ref.children;
|
|
25
|
+
var _useData = useData(),
|
|
26
|
+
data = _useData.data,
|
|
27
|
+
set = _useData.set;
|
|
28
|
+
var _useState = useState(initialHandlers),
|
|
29
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
30
|
+
handlers = _useState2[0],
|
|
31
|
+
setHandlers = _useState2[1];
|
|
32
|
+
var _useState3 = useState(/* @__PURE__ */new Set()),
|
|
33
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
34
|
+
loadingActions = _useState4[0],
|
|
35
|
+
setLoadingActions = _useState4[1];
|
|
36
|
+
var _useState5 = useState(null),
|
|
37
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
38
|
+
pendingConfirmation = _useState6[0],
|
|
39
|
+
setPendingConfirmation = _useState6[1];
|
|
40
|
+
var registerHandler = useCallback(function (name, handler) {
|
|
41
|
+
setHandlers(function (prev) {
|
|
42
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, name, handler));
|
|
43
|
+
});
|
|
44
|
+
}, []);
|
|
45
|
+
var execute = useCallback(/*#__PURE__*/function () {
|
|
46
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(action) {
|
|
47
|
+
var resolved, handler;
|
|
48
|
+
return _regeneratorRuntime.wrap(function (_context4) {
|
|
49
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
50
|
+
case 0:
|
|
51
|
+
resolved = resolveAction(action, data);
|
|
52
|
+
handler = handlers[resolved.name];
|
|
53
|
+
if (handler) {
|
|
54
|
+
_context4.next = 1;
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
console.warn("No handler registered for action: ".concat(resolved.name));
|
|
58
|
+
return _context4.abrupt("return");
|
|
59
|
+
case 1:
|
|
60
|
+
if (!resolved.confirm) {
|
|
61
|
+
_context4.next = 2;
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
return _context4.abrupt("return", new Promise(function (_resolve, _reject) {
|
|
65
|
+
setPendingConfirmation({
|
|
66
|
+
action: resolved,
|
|
67
|
+
handler: handler,
|
|
68
|
+
resolve: function resolve() {
|
|
69
|
+
setPendingConfirmation(null);
|
|
70
|
+
_resolve();
|
|
71
|
+
},
|
|
72
|
+
reject: function reject() {
|
|
73
|
+
setPendingConfirmation(null);
|
|
74
|
+
_reject(new Error("Action cancelled"));
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}).then(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
78
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
79
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
80
|
+
case 0:
|
|
81
|
+
setLoadingActions(function (prev) {
|
|
82
|
+
return new Set(prev).add(resolved.name);
|
|
83
|
+
});
|
|
84
|
+
_context2.prev = 1;
|
|
85
|
+
_context2.next = 2;
|
|
86
|
+
return executeAction({
|
|
87
|
+
action: resolved,
|
|
88
|
+
handler: handler,
|
|
89
|
+
setData: set,
|
|
90
|
+
navigate: navigate,
|
|
91
|
+
executeAction: function () {
|
|
92
|
+
var _executeAction = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(name) {
|
|
93
|
+
var subAction;
|
|
94
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
95
|
+
while (1) switch (_context.prev = _context.next) {
|
|
96
|
+
case 0:
|
|
97
|
+
subAction = {
|
|
98
|
+
name: name
|
|
99
|
+
};
|
|
100
|
+
_context.next = 1;
|
|
101
|
+
return execute(subAction);
|
|
102
|
+
case 1:
|
|
103
|
+
case "end":
|
|
104
|
+
return _context.stop();
|
|
105
|
+
}
|
|
106
|
+
}, _callee);
|
|
107
|
+
}));
|
|
108
|
+
function executeAction(_x2) {
|
|
109
|
+
return _executeAction.apply(this, arguments);
|
|
110
|
+
}
|
|
111
|
+
return executeAction;
|
|
112
|
+
}()
|
|
113
|
+
});
|
|
114
|
+
case 2:
|
|
115
|
+
_context2.prev = 2;
|
|
116
|
+
setLoadingActions(function (prev) {
|
|
117
|
+
var next = new Set(prev);
|
|
118
|
+
next["delete"](resolved.name);
|
|
119
|
+
return next;
|
|
120
|
+
});
|
|
121
|
+
return _context2.finish(2);
|
|
122
|
+
case 3:
|
|
123
|
+
case "end":
|
|
124
|
+
return _context2.stop();
|
|
125
|
+
}
|
|
126
|
+
}, _callee2, null, [[1,, 2, 3]]);
|
|
127
|
+
}))));
|
|
128
|
+
case 2:
|
|
129
|
+
setLoadingActions(function (prev) {
|
|
130
|
+
return new Set(prev).add(resolved.name);
|
|
131
|
+
});
|
|
132
|
+
_context4.prev = 3;
|
|
133
|
+
_context4.next = 4;
|
|
134
|
+
return executeAction({
|
|
135
|
+
action: resolved,
|
|
136
|
+
handler: handler,
|
|
137
|
+
setData: set,
|
|
138
|
+
navigate: navigate,
|
|
139
|
+
executeAction: function () {
|
|
140
|
+
var _executeAction2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(name) {
|
|
141
|
+
var subAction;
|
|
142
|
+
return _regeneratorRuntime.wrap(function (_context3) {
|
|
143
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
144
|
+
case 0:
|
|
145
|
+
subAction = {
|
|
146
|
+
name: name
|
|
147
|
+
};
|
|
148
|
+
_context3.next = 1;
|
|
149
|
+
return execute(subAction);
|
|
150
|
+
case 1:
|
|
151
|
+
case "end":
|
|
152
|
+
return _context3.stop();
|
|
153
|
+
}
|
|
154
|
+
}, _callee3);
|
|
155
|
+
}));
|
|
156
|
+
function executeAction(_x3) {
|
|
157
|
+
return _executeAction2.apply(this, arguments);
|
|
158
|
+
}
|
|
159
|
+
return executeAction;
|
|
160
|
+
}()
|
|
161
|
+
});
|
|
162
|
+
case 4:
|
|
163
|
+
_context4.prev = 4;
|
|
164
|
+
setLoadingActions(function (prev) {
|
|
165
|
+
var next = new Set(prev);
|
|
166
|
+
next["delete"](resolved.name);
|
|
167
|
+
return next;
|
|
168
|
+
});
|
|
169
|
+
return _context4.finish(4);
|
|
170
|
+
case 5:
|
|
171
|
+
case "end":
|
|
172
|
+
return _context4.stop();
|
|
173
|
+
}
|
|
174
|
+
}, _callee4, null, [[3,, 4, 5]]);
|
|
175
|
+
}));
|
|
176
|
+
return function (_x) {
|
|
177
|
+
return _ref2.apply(this, arguments);
|
|
178
|
+
};
|
|
179
|
+
}(), [data, handlers, set, navigate]);
|
|
180
|
+
var confirm = useCallback(function () {
|
|
181
|
+
pendingConfirmation === null || pendingConfirmation === void 0 || pendingConfirmation.resolve();
|
|
182
|
+
}, [pendingConfirmation]);
|
|
183
|
+
var cancel = useCallback(function () {
|
|
184
|
+
pendingConfirmation === null || pendingConfirmation === void 0 || pendingConfirmation.reject();
|
|
185
|
+
}, [pendingConfirmation]);
|
|
186
|
+
var value = useMemo(function () {
|
|
187
|
+
return {
|
|
188
|
+
handlers: handlers,
|
|
189
|
+
loadingActions: loadingActions,
|
|
190
|
+
pendingConfirmation: pendingConfirmation,
|
|
191
|
+
execute: execute,
|
|
192
|
+
confirm: confirm,
|
|
193
|
+
cancel: cancel,
|
|
194
|
+
registerHandler: registerHandler
|
|
195
|
+
};
|
|
196
|
+
}, [handlers, loadingActions, pendingConfirmation, execute, confirm, cancel, registerHandler]);
|
|
197
|
+
return /* @__PURE__ */React.createElement(ActionContext.Provider, {
|
|
198
|
+
value: value
|
|
199
|
+
}, children);
|
|
200
|
+
}
|
|
201
|
+
function useActions() {
|
|
202
|
+
var ctx = useContext(ActionContext);
|
|
203
|
+
if (!ctx) {
|
|
204
|
+
throw new Error("useActions must be used within an ActionProvider");
|
|
205
|
+
}
|
|
206
|
+
return ctx;
|
|
207
|
+
}
|
|
208
|
+
function useAction(action) {
|
|
209
|
+
var _useActions = useActions(),
|
|
210
|
+
execute = _useActions.execute,
|
|
211
|
+
loadingActions = _useActions.loadingActions;
|
|
212
|
+
var isLoading = loadingActions.has(action.name);
|
|
213
|
+
var executeAction2 = useCallback(function () {
|
|
214
|
+
return execute(action);
|
|
215
|
+
}, [execute, action]);
|
|
216
|
+
return {
|
|
217
|
+
execute: executeAction2,
|
|
218
|
+
isLoading: isLoading
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
function ConfirmDialog(_ref4) {
|
|
222
|
+
var _confirm$cancelLabel, _confirm$confirmLabel;
|
|
223
|
+
var confirm = _ref4.confirm,
|
|
224
|
+
onConfirm = _ref4.onConfirm,
|
|
225
|
+
onCancel = _ref4.onCancel;
|
|
226
|
+
var isDanger = confirm.variant === "danger";
|
|
227
|
+
return /* @__PURE__ */React.createElement("div", {
|
|
228
|
+
style: {
|
|
229
|
+
position: "fixed",
|
|
230
|
+
inset: 0,
|
|
231
|
+
backgroundColor: "rgba(0, 0, 0, 0.5)",
|
|
232
|
+
display: "flex",
|
|
233
|
+
alignItems: "center",
|
|
234
|
+
justifyContent: "center",
|
|
235
|
+
zIndex: 50
|
|
236
|
+
},
|
|
237
|
+
onClick: onCancel
|
|
238
|
+
}, /* @__PURE__ */React.createElement("div", {
|
|
239
|
+
style: {
|
|
240
|
+
backgroundColor: "white",
|
|
241
|
+
borderRadius: "8px",
|
|
242
|
+
padding: "24px",
|
|
243
|
+
maxWidth: "400px",
|
|
244
|
+
width: "100%",
|
|
245
|
+
boxShadow: "0 20px 25px -5px rgba(0, 0, 0, 0.1)"
|
|
246
|
+
},
|
|
247
|
+
onClick: function onClick(e) {
|
|
248
|
+
return e.stopPropagation();
|
|
249
|
+
}
|
|
250
|
+
}, /* @__PURE__ */React.createElement("h3", {
|
|
251
|
+
style: {
|
|
252
|
+
margin: "0 0 8px 0",
|
|
253
|
+
fontSize: "18px",
|
|
254
|
+
fontWeight: 600
|
|
255
|
+
}
|
|
256
|
+
}, confirm.title), /* @__PURE__ */React.createElement("p", {
|
|
257
|
+
style: {
|
|
258
|
+
margin: "0 0 24px 0",
|
|
259
|
+
color: "#6b7280"
|
|
260
|
+
}
|
|
261
|
+
}, confirm.message), /* @__PURE__ */React.createElement("div", {
|
|
262
|
+
style: {
|
|
263
|
+
display: "flex",
|
|
264
|
+
gap: "12px",
|
|
265
|
+
justifyContent: "flex-end"
|
|
266
|
+
}
|
|
267
|
+
}, /* @__PURE__ */React.createElement("button", {
|
|
268
|
+
onClick: onCancel,
|
|
269
|
+
style: {
|
|
270
|
+
padding: "8px 16px",
|
|
271
|
+
borderRadius: "6px",
|
|
272
|
+
border: "1px solid #d1d5db",
|
|
273
|
+
backgroundColor: "white",
|
|
274
|
+
cursor: "pointer"
|
|
275
|
+
}
|
|
276
|
+
}, (_confirm$cancelLabel = confirm.cancelLabel) !== null && _confirm$cancelLabel !== void 0 ? _confirm$cancelLabel : "Cancel"), /* @__PURE__ */React.createElement("button", {
|
|
277
|
+
onClick: onConfirm,
|
|
278
|
+
style: {
|
|
279
|
+
padding: "8px 16px",
|
|
280
|
+
borderRadius: "6px",
|
|
281
|
+
border: "none",
|
|
282
|
+
backgroundColor: isDanger ? "#dc2626" : "#3b82f6",
|
|
283
|
+
color: "white",
|
|
284
|
+
cursor: "pointer"
|
|
285
|
+
}
|
|
286
|
+
}, (_confirm$confirmLabel = confirm.confirmLabel) !== null && _confirm$confirmLabel !== void 0 ? _confirm$confirmLabel : "Confirm"))));
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
export { ActionProvider, ConfirmDialog, useAction, useActions };
|
|
290
|
+
//# sourceMappingURL=actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.js","sources":["../../../../../../pro-components/chat/chat-engine/components/json-render/contexts/actions.tsx"],"sourcesContent":["\"use client\";\n\nimport React, {\n createContext,\n useContext,\n useState,\n useCallback,\n useMemo,\n type ReactNode,\n} from \"react\";\nimport {\n resolveAction,\n executeAction,\n type Action,\n type ActionHandler,\n type ActionConfirm,\n type ResolvedAction,\n} from \"@json-render/core\";\nimport { useData } from \"./data\";\n\n/**\n * Pending confirmation state\n */\nexport interface PendingConfirmation {\n /** The resolved action */\n action: ResolvedAction;\n /** The action handler */\n handler: ActionHandler;\n /** Resolve callback */\n resolve: () => void;\n /** Reject callback */\n reject: () => void;\n}\n\n/**\n * Action context value\n */\nexport interface ActionContextValue {\n /** Registered action handlers */\n handlers: Record<string, ActionHandler>;\n /** Currently loading action names */\n loadingActions: Set<string>;\n /** Pending confirmation dialog */\n pendingConfirmation: PendingConfirmation | null;\n /** Execute an action */\n execute: (action: Action) => Promise<void>;\n /** Confirm the pending action */\n confirm: () => void;\n /** Cancel the pending action */\n cancel: () => void;\n /** Register an action handler */\n registerHandler: (name: string, handler: ActionHandler) => void;\n}\n\nconst ActionContext = createContext<ActionContextValue | null>(null);\n\n/**\n * Props for ActionProvider\n */\nexport interface ActionProviderProps {\n /** Initial action handlers */\n handlers?: Record<string, ActionHandler>;\n /** Navigation function */\n navigate?: (path: string) => void;\n children: ReactNode;\n}\n\n/**\n * Provider for action execution\n */\nexport function ActionProvider({\n handlers: initialHandlers = {},\n navigate,\n children,\n}: ActionProviderProps) {\n const { data, set } = useData();\n const [handlers, setHandlers] =\n useState<Record<string, ActionHandler>>(initialHandlers);\n const [loadingActions, setLoadingActions] = useState<Set<string>>(new Set());\n const [pendingConfirmation, setPendingConfirmation] =\n useState<PendingConfirmation | null>(null);\n\n const registerHandler = useCallback(\n (name: string, handler: ActionHandler) => {\n setHandlers((prev) => ({ ...prev, [name]: handler }));\n },\n [],\n );\n\n const execute = useCallback(\n async (action: Action) => {\n const resolved = resolveAction(action, data);\n const handler = handlers[resolved.name];\n\n if (!handler) {\n console.warn(`No handler registered for action: ${resolved.name}`);\n return;\n }\n\n // If confirmation is required, show dialog\n if (resolved.confirm) {\n return new Promise<void>((resolve, reject) => {\n setPendingConfirmation({\n action: resolved,\n handler,\n resolve: () => {\n setPendingConfirmation(null);\n resolve();\n },\n reject: () => {\n setPendingConfirmation(null);\n reject(new Error(\"Action cancelled\"));\n },\n });\n }).then(async () => {\n setLoadingActions((prev) => new Set(prev).add(resolved.name));\n try {\n await executeAction({\n action: resolved,\n handler,\n setData: set,\n navigate,\n executeAction: async (name) => {\n const subAction: Action = { name };\n await execute(subAction);\n },\n });\n } finally {\n setLoadingActions((prev) => {\n const next = new Set(prev);\n next.delete(resolved.name);\n return next;\n });\n }\n });\n }\n\n // Execute immediately\n setLoadingActions((prev) => new Set(prev).add(resolved.name));\n try {\n await executeAction({\n action: resolved,\n handler,\n setData: set,\n navigate,\n executeAction: async (name) => {\n const subAction: Action = { name };\n await execute(subAction);\n },\n });\n } finally {\n setLoadingActions((prev) => {\n const next = new Set(prev);\n next.delete(resolved.name);\n return next;\n });\n }\n },\n [data, handlers, set, navigate],\n );\n\n const confirm = useCallback(() => {\n pendingConfirmation?.resolve();\n }, [pendingConfirmation]);\n\n const cancel = useCallback(() => {\n pendingConfirmation?.reject();\n }, [pendingConfirmation]);\n\n const value = useMemo<ActionContextValue>(\n () => ({\n handlers,\n loadingActions,\n pendingConfirmation,\n execute,\n confirm,\n cancel,\n registerHandler,\n }),\n [\n handlers,\n loadingActions,\n pendingConfirmation,\n execute,\n confirm,\n cancel,\n registerHandler,\n ],\n );\n\n return (\n <ActionContext.Provider value={value}>{children}</ActionContext.Provider>\n );\n}\n\n/**\n * Hook to access action context\n */\nexport function useActions(): ActionContextValue {\n const ctx = useContext(ActionContext);\n if (!ctx) {\n throw new Error(\"useActions must be used within an ActionProvider\");\n }\n return ctx;\n}\n\n/**\n * Hook to execute an action\n */\nexport function useAction(action: Action): {\n execute: () => Promise<void>;\n isLoading: boolean;\n} {\n const { execute, loadingActions } = useActions();\n const isLoading = loadingActions.has(action.name);\n\n const executeAction = useCallback(() => execute(action), [execute, action]);\n\n return { execute: executeAction, isLoading };\n}\n\n/**\n * Props for ConfirmDialog component\n */\nexport interface ConfirmDialogProps {\n /** The confirmation config */\n confirm: ActionConfirm;\n /** Called when confirmed */\n onConfirm: () => void;\n /** Called when cancelled */\n onCancel: () => void;\n}\n\n/**\n * Default confirmation dialog component\n */\nexport function ConfirmDialog({\n confirm,\n onConfirm,\n onCancel,\n}: ConfirmDialogProps) {\n const isDanger = confirm.variant === \"danger\";\n\n return (\n <div\n style={{\n position: \"fixed\",\n inset: 0,\n backgroundColor: \"rgba(0, 0, 0, 0.5)\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n zIndex: 50,\n }}\n onClick={onCancel}\n >\n <div\n style={{\n backgroundColor: \"white\",\n borderRadius: \"8px\",\n padding: \"24px\",\n maxWidth: \"400px\",\n width: \"100%\",\n boxShadow: \"0 20px 25px -5px rgba(0, 0, 0, 0.1)\",\n }}\n onClick={(e) => e.stopPropagation()}\n >\n <h3\n style={{\n margin: \"0 0 8px 0\",\n fontSize: \"18px\",\n fontWeight: 600,\n }}\n >\n {confirm.title}\n </h3>\n <p\n style={{\n margin: \"0 0 24px 0\",\n color: \"#6b7280\",\n }}\n >\n {confirm.message}\n </p>\n <div\n style={{\n display: \"flex\",\n gap: \"12px\",\n justifyContent: \"flex-end\",\n }}\n >\n <button\n onClick={onCancel}\n style={{\n padding: \"8px 16px\",\n borderRadius: \"6px\",\n border: \"1px solid #d1d5db\",\n backgroundColor: \"white\",\n cursor: \"pointer\",\n }}\n >\n {confirm.cancelLabel ?? \"Cancel\"}\n </button>\n <button\n onClick={onConfirm}\n style={{\n padding: \"8px 16px\",\n borderRadius: \"6px\",\n border: \"none\",\n backgroundColor: isDanger ? \"#dc2626\" : \"#3b82f6\",\n color: \"white\",\n cursor: \"pointer\",\n }}\n >\n {confirm.confirmLabel ?? \"Confirm\"}\n </button>\n </div>\n </div>\n </div>\n );\n}\n"],"names":["ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","ActionContext","createContext","ActionProvider","_ref","_ref$handlers","handlers","initialHandlers","navigate","children","_useData","useData","data","set","_useState","useState","_useState2","_slicedToArray","setHandlers","_useState3","Set","_useState4","loadingActions","setLoadingActions","_useState5","_useState6","pendingConfirmation","setPendingConfirmation","registerHandler","useCallback","name","handler","prev","execute","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee4","action","resolved","wrap","_context4","next","resolveAction","console","warn","concat","abrupt","confirm","Promise","resolve","reject","Error","then","_callee2","_context2","add","executeAction","setData","_executeAction","_callee","subAction","_context","stop","_x2","finish","_executeAction2","_callee3","_context3","_x3","_x","cancel","value","useMemo","React","createElement","Provider","useActions","ctx","useContext","useAction","_useActions","isLoading","has","ConfirmDialog","_ref4","_confirm$cancelLabel","_confirm$confirmLabel","onConfirm","onCancel","isDanger","variant","style","position","inset","backgroundColor","display","alignItems","justifyContent","zIndex","onClick","borderRadius","padding","maxWidth","width","boxShadow","stopPropagation","margin","fontSize","fontWeight","title","color","message","gap","border","cursor","cancelLabel","confirmLabel"],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import { type DataModel, type AuthState } from "@json-render/core";
|
|
3
|
+
/**
|
|
4
|
+
* Data context value
|
|
5
|
+
*/
|
|
6
|
+
export interface DataContextValue {
|
|
7
|
+
/** The current data model */
|
|
8
|
+
data: DataModel;
|
|
9
|
+
/** Auth state for visibility evaluation */
|
|
10
|
+
authState?: AuthState;
|
|
11
|
+
/** Get a value by path */
|
|
12
|
+
get: (path: string) => unknown;
|
|
13
|
+
/** Set a value by path */
|
|
14
|
+
set: (path: string, value: unknown) => void;
|
|
15
|
+
/** Update multiple values at once */
|
|
16
|
+
update: (updates: Record<string, unknown>) => void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Props for DataProvider
|
|
20
|
+
*/
|
|
21
|
+
export interface DataProviderProps {
|
|
22
|
+
/** Initial data model */
|
|
23
|
+
initialData?: DataModel;
|
|
24
|
+
/** Auth state */
|
|
25
|
+
authState?: AuthState;
|
|
26
|
+
/** Callback when data changes */
|
|
27
|
+
onDataChange?: (path: string, value: unknown) => void;
|
|
28
|
+
children: ReactNode;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Provider for data model context
|
|
32
|
+
*/
|
|
33
|
+
export declare function DataProvider({ initialData, authState, onDataChange, children, }: DataProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
/**
|
|
35
|
+
* Hook to access the data context
|
|
36
|
+
*/
|
|
37
|
+
export declare function useData(): DataContextValue;
|
|
38
|
+
/**
|
|
39
|
+
* Hook to get a value from the data model
|
|
40
|
+
*/
|
|
41
|
+
export declare function useDataValue<T>(path: string): T | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Hook to get and set a value from the data model (like useState)
|
|
44
|
+
*/
|
|
45
|
+
export declare function useDataBinding<T>(path: string): [T | undefined, (value: T) => void];
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.1.0-alpha.1
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _typeof from '@babel/runtime/helpers/typeof';
|
|
8
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
9
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
10
|
+
import React, { createContext, useState, useEffect, useCallback, useMemo, useContext } from 'react';
|
|
11
|
+
import { getByPath, setByPath } from '@json-render/core';
|
|
12
|
+
|
|
13
|
+
"use client";
|
|
14
|
+
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; }
|
|
15
|
+
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; }
|
|
16
|
+
var DataContext = /*#__PURE__*/createContext(null);
|
|
17
|
+
function DataProvider(_ref) {
|
|
18
|
+
var _ref$initialData = _ref.initialData,
|
|
19
|
+
initialData = _ref$initialData === void 0 ? {} : _ref$initialData,
|
|
20
|
+
authState = _ref.authState,
|
|
21
|
+
onDataChange = _ref.onDataChange,
|
|
22
|
+
children = _ref.children;
|
|
23
|
+
var _useState = useState(initialData),
|
|
24
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
25
|
+
data = _useState2[0],
|
|
26
|
+
setData = _useState2[1];
|
|
27
|
+
useEffect(function () {
|
|
28
|
+
setData(function (prev) {
|
|
29
|
+
var next = _objectSpread({}, prev);
|
|
30
|
+
for (var _i = 0, _Object$entries = Object.entries(initialData); _i < _Object$entries.length; _i++) {
|
|
31
|
+
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
|
|
32
|
+
key = _Object$entries$_i[0],
|
|
33
|
+
value2 = _Object$entries$_i[1];
|
|
34
|
+
if (_typeof(value2) === "object" && value2 !== null && !Array.isArray(value2) && _typeof(next[key]) === "object" && next[key] !== null) {
|
|
35
|
+
next[key] = _objectSpread(_objectSpread({}, next[key]), value2);
|
|
36
|
+
} else {
|
|
37
|
+
next[key] = value2;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return next;
|
|
41
|
+
});
|
|
42
|
+
}, [initialData]);
|
|
43
|
+
var get = useCallback(function (path) {
|
|
44
|
+
return getByPath(data, path);
|
|
45
|
+
}, [data]);
|
|
46
|
+
var set = useCallback(function (path, value2) {
|
|
47
|
+
setData(function (prev) {
|
|
48
|
+
var next = _objectSpread({}, prev);
|
|
49
|
+
setByPath(next, path, value2);
|
|
50
|
+
return next;
|
|
51
|
+
});
|
|
52
|
+
onDataChange === null || onDataChange === void 0 || onDataChange(path, value2);
|
|
53
|
+
}, [onDataChange]);
|
|
54
|
+
var update = useCallback(function (updates) {
|
|
55
|
+
setData(function (prev) {
|
|
56
|
+
var next = _objectSpread({}, prev);
|
|
57
|
+
for (var _i2 = 0, _Object$entries2 = Object.entries(updates); _i2 < _Object$entries2.length; _i2++) {
|
|
58
|
+
var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2),
|
|
59
|
+
path = _Object$entries2$_i[0],
|
|
60
|
+
value2 = _Object$entries2$_i[1];
|
|
61
|
+
setByPath(next, path, value2);
|
|
62
|
+
onDataChange === null || onDataChange === void 0 || onDataChange(path, value2);
|
|
63
|
+
}
|
|
64
|
+
return next;
|
|
65
|
+
});
|
|
66
|
+
}, [onDataChange]);
|
|
67
|
+
var value = useMemo(function () {
|
|
68
|
+
return {
|
|
69
|
+
data: data,
|
|
70
|
+
authState: authState,
|
|
71
|
+
get: get,
|
|
72
|
+
set: set,
|
|
73
|
+
update: update
|
|
74
|
+
};
|
|
75
|
+
}, [data, authState, get, set, update]);
|
|
76
|
+
return /* @__PURE__ */React.createElement(DataContext.Provider, {
|
|
77
|
+
value: value
|
|
78
|
+
}, children);
|
|
79
|
+
}
|
|
80
|
+
function useData() {
|
|
81
|
+
var ctx = useContext(DataContext);
|
|
82
|
+
if (!ctx) {
|
|
83
|
+
throw new Error("useData must be used within a DataProvider");
|
|
84
|
+
}
|
|
85
|
+
return ctx;
|
|
86
|
+
}
|
|
87
|
+
function useDataValue(path) {
|
|
88
|
+
var _useData = useData(),
|
|
89
|
+
get = _useData.get;
|
|
90
|
+
return get(path);
|
|
91
|
+
}
|
|
92
|
+
function useDataBinding(path) {
|
|
93
|
+
var _useData2 = useData(),
|
|
94
|
+
get = _useData2.get,
|
|
95
|
+
set = _useData2.set;
|
|
96
|
+
var value = get(path);
|
|
97
|
+
var setValue = useCallback(function (newValue) {
|
|
98
|
+
return set(path, newValue);
|
|
99
|
+
}, [path, set]);
|
|
100
|
+
return [value, setValue];
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export { DataProvider, useData, useDataBinding, useDataValue };
|
|
104
|
+
//# sourceMappingURL=data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.js","sources":["../../../../../../pro-components/chat/chat-engine/components/json-render/contexts/data.tsx"],"sourcesContent":["\"use client\";\n\nimport React, {\n createContext,\n useContext,\n useState,\n useCallback,\n useMemo,\n useEffect,\n type ReactNode,\n} from \"react\";\nimport {\n getByPath,\n setByPath,\n type DataModel,\n type AuthState,\n} from \"@json-render/core\";\n\n/**\n * Data context value\n */\nexport interface DataContextValue {\n /** The current data model */\n data: DataModel;\n /** Auth state for visibility evaluation */\n authState?: AuthState;\n /** Get a value by path */\n get: (path: string) => unknown;\n /** Set a value by path */\n set: (path: string, value: unknown) => void;\n /** Update multiple values at once */\n update: (updates: Record<string, unknown>) => void;\n}\n\nconst DataContext = createContext<DataContextValue | null>(null);\n\n/**\n * Props for DataProvider\n */\nexport interface DataProviderProps {\n /** Initial data model */\n initialData?: DataModel;\n /** Auth state */\n authState?: AuthState;\n /** Callback when data changes */\n onDataChange?: (path: string, value: unknown) => void;\n children: ReactNode;\n}\n\n/**\n * Provider for data model context\n */\nexport function DataProvider({\n initialData = {},\n authState,\n onDataChange,\n children,\n}: DataProviderProps) {\n const [data, setData] = useState<DataModel>(initialData);\n\n // Sync initialData changes into internal state\n // This allows server-driven updates (e.g., A2UI updateDataModel) to reflect in the UI\n useEffect(() => {\n setData((prev) => {\n // Deep merge initialData into current state (preserves user input)\n const next = { ...prev };\n for (const [key, value] of Object.entries(initialData)) {\n if (typeof value === 'object' && value !== null && !Array.isArray(value) && typeof next[key] === 'object' && next[key] !== null) {\n next[key] = { ...next[key] as object, ...value as object };\n } else {\n next[key] = value;\n }\n }\n return next;\n });\n }, [initialData]);\n\n const get = useCallback((path: string) => getByPath(data, path), [data]);\n\n const set = useCallback(\n (path: string, value: unknown) => {\n setData((prev) => {\n const next = { ...prev };\n setByPath(next, path, value);\n return next;\n });\n onDataChange?.(path, value);\n },\n [onDataChange],\n );\n\n const update = useCallback(\n (updates: Record<string, unknown>) => {\n setData((prev) => {\n const next = { ...prev };\n for (const [path, value] of Object.entries(updates)) {\n setByPath(next, path, value);\n onDataChange?.(path, value);\n }\n return next;\n });\n },\n [onDataChange],\n );\n\n const value = useMemo<DataContextValue>(\n () => ({\n data,\n authState,\n get,\n set,\n update,\n }),\n [data, authState, get, set, update],\n );\n\n return <DataContext.Provider value={value}>{children}</DataContext.Provider>;\n}\n\n/**\n * Hook to access the data context\n */\nexport function useData(): DataContextValue {\n const ctx = useContext(DataContext);\n if (!ctx) {\n throw new Error(\"useData must be used within a DataProvider\");\n }\n return ctx;\n}\n\n/**\n * Hook to get a value from the data model\n */\nexport function useDataValue<T>(path: string): T | undefined {\n const { get } = useData();\n return get(path) as T | undefined;\n}\n\n/**\n * Hook to get and set a value from the data model (like useState)\n */\nexport function useDataBinding<T>(\n path: string,\n): [T | undefined, (value: T) => void] {\n const { get, set } = useData();\n const value = get(path) as T | undefined;\n const setValue = useCallback(\n (newValue: T) => set(path, newValue),\n [path, set],\n );\n return [value, setValue];\n}\n"],"names":["ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","DataContext","createContext","DataProvider","_ref","_ref$initialData","initialData","authState","onDataChange","children","_useState","useState","_useState2","_slicedToArray","data","setData","useEffect","prev","next","_i","_Object$entries","entries","_Object$entries$_i","key","value","_typeof","Array","isArray","get","useCallback","path","getByPath","set","setByPath","update","updates","_i2","_Object$entries2","_Object$entries2$_i","useMemo","React","createElement","Provider","useData","ctx","useContext","Error","useDataValue","_useData","useDataBinding","_useData2","setValue","newValue"],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import { type ValidationConfig, type ValidationFunction, type ValidationResult } from "@json-render/core";
|
|
3
|
+
/**
|
|
4
|
+
* Field validation state
|
|
5
|
+
*/
|
|
6
|
+
export interface FieldValidationState {
|
|
7
|
+
/** Whether the field has been touched */
|
|
8
|
+
touched: boolean;
|
|
9
|
+
/** Whether the field has been validated */
|
|
10
|
+
validated: boolean;
|
|
11
|
+
/** Validation result */
|
|
12
|
+
result: ValidationResult | null;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Validation context value
|
|
16
|
+
*/
|
|
17
|
+
export interface ValidationContextValue {
|
|
18
|
+
/** Custom validation functions from catalog */
|
|
19
|
+
customFunctions: Record<string, ValidationFunction>;
|
|
20
|
+
/** Validation state by field path */
|
|
21
|
+
fieldStates: Record<string, FieldValidationState>;
|
|
22
|
+
/** Validate a field */
|
|
23
|
+
validate: (path: string, config: ValidationConfig) => ValidationResult;
|
|
24
|
+
/** Mark field as touched */
|
|
25
|
+
touch: (path: string) => void;
|
|
26
|
+
/** Clear validation for a field */
|
|
27
|
+
clear: (path: string) => void;
|
|
28
|
+
/** Validate all fields */
|
|
29
|
+
validateAll: () => boolean;
|
|
30
|
+
/** Register field config */
|
|
31
|
+
registerField: (path: string, config: ValidationConfig) => void;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Props for ValidationProvider
|
|
35
|
+
*/
|
|
36
|
+
export interface ValidationProviderProps {
|
|
37
|
+
/** Custom validation functions from catalog */
|
|
38
|
+
customFunctions?: Record<string, ValidationFunction>;
|
|
39
|
+
children: ReactNode;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Provider for validation
|
|
43
|
+
*/
|
|
44
|
+
export declare function ValidationProvider({ customFunctions, children, }: ValidationProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
/**
|
|
46
|
+
* Hook to access validation context
|
|
47
|
+
*/
|
|
48
|
+
export declare function useValidation(): ValidationContextValue;
|
|
49
|
+
/**
|
|
50
|
+
* Hook to get validation state for a field
|
|
51
|
+
*/
|
|
52
|
+
export declare function useFieldValidation(path: string, config?: ValidationConfig): {
|
|
53
|
+
state: FieldValidationState;
|
|
54
|
+
validate: () => ValidationResult;
|
|
55
|
+
touch: () => void;
|
|
56
|
+
clear: () => void;
|
|
57
|
+
errors: string[];
|
|
58
|
+
isValid: boolean;
|
|
59
|
+
};
|