@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,151 @@
|
|
|
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 _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
9
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
10
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
11
|
+
import React, { createContext, useState, useCallback, useMemo, useContext } from 'react';
|
|
12
|
+
import { runValidation } from '@json-render/core';
|
|
13
|
+
import { useData } from './data.js';
|
|
14
|
+
|
|
15
|
+
"use client";
|
|
16
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
17
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
18
|
+
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; }
|
|
19
|
+
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; }
|
|
20
|
+
var ValidationContext = /*#__PURE__*/createContext(null);
|
|
21
|
+
function ValidationProvider(_ref) {
|
|
22
|
+
var _ref$customFunctions = _ref.customFunctions,
|
|
23
|
+
customFunctions = _ref$customFunctions === void 0 ? {} : _ref$customFunctions,
|
|
24
|
+
children = _ref.children;
|
|
25
|
+
var _useData = useData(),
|
|
26
|
+
data = _useData.data,
|
|
27
|
+
authState = _useData.authState;
|
|
28
|
+
var _useState = useState({}),
|
|
29
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
30
|
+
fieldStates = _useState2[0],
|
|
31
|
+
setFieldStates = _useState2[1];
|
|
32
|
+
var _useState3 = useState({}),
|
|
33
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
34
|
+
fieldConfigs = _useState4[0],
|
|
35
|
+
setFieldConfigs = _useState4[1];
|
|
36
|
+
var registerField = useCallback(function (path, config) {
|
|
37
|
+
setFieldConfigs(function (prev) {
|
|
38
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, path, config));
|
|
39
|
+
});
|
|
40
|
+
}, []);
|
|
41
|
+
var validate = useCallback(function (path, config) {
|
|
42
|
+
var value2 = data[path.split("/").filter(Boolean).join(".")];
|
|
43
|
+
var result = runValidation(config, {
|
|
44
|
+
value: value2,
|
|
45
|
+
dataModel: data,
|
|
46
|
+
customFunctions: customFunctions,
|
|
47
|
+
authState: authState
|
|
48
|
+
});
|
|
49
|
+
setFieldStates(function (prev) {
|
|
50
|
+
var _prev$path$touched, _prev$path;
|
|
51
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, path, {
|
|
52
|
+
touched: (_prev$path$touched = (_prev$path = prev[path]) === null || _prev$path === void 0 ? void 0 : _prev$path.touched) !== null && _prev$path$touched !== void 0 ? _prev$path$touched : true,
|
|
53
|
+
validated: true,
|
|
54
|
+
result: result
|
|
55
|
+
}));
|
|
56
|
+
});
|
|
57
|
+
return result;
|
|
58
|
+
}, [data, customFunctions, authState]);
|
|
59
|
+
var touch = useCallback(function (path) {
|
|
60
|
+
setFieldStates(function (prev) {
|
|
61
|
+
var _prev$path$validated, _prev$path2, _prev$path$result, _prev$path3;
|
|
62
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, path, _objectSpread(_objectSpread({}, prev[path]), {}, {
|
|
63
|
+
touched: true,
|
|
64
|
+
validated: (_prev$path$validated = (_prev$path2 = prev[path]) === null || _prev$path2 === void 0 ? void 0 : _prev$path2.validated) !== null && _prev$path$validated !== void 0 ? _prev$path$validated : false,
|
|
65
|
+
result: (_prev$path$result = (_prev$path3 = prev[path]) === null || _prev$path3 === void 0 ? void 0 : _prev$path3.result) !== null && _prev$path$result !== void 0 ? _prev$path$result : null
|
|
66
|
+
})));
|
|
67
|
+
});
|
|
68
|
+
}, []);
|
|
69
|
+
var clear = useCallback(function (path) {
|
|
70
|
+
setFieldStates(function (prev) {
|
|
71
|
+
var _ = prev[path],
|
|
72
|
+
rest = _objectWithoutProperties(prev, [path].map(_toPropertyKey));
|
|
73
|
+
return rest;
|
|
74
|
+
});
|
|
75
|
+
}, []);
|
|
76
|
+
var validateAll = useCallback(function () {
|
|
77
|
+
var allValid = true;
|
|
78
|
+
for (var _i = 0, _Object$entries = Object.entries(fieldConfigs); _i < _Object$entries.length; _i++) {
|
|
79
|
+
var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
|
|
80
|
+
path = _Object$entries$_i[0],
|
|
81
|
+
config = _Object$entries$_i[1];
|
|
82
|
+
var result = validate(path, config);
|
|
83
|
+
if (!result.valid) {
|
|
84
|
+
allValid = false;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return allValid;
|
|
88
|
+
}, [fieldConfigs, validate]);
|
|
89
|
+
var value = useMemo(function () {
|
|
90
|
+
return {
|
|
91
|
+
customFunctions: customFunctions,
|
|
92
|
+
fieldStates: fieldStates,
|
|
93
|
+
validate: validate,
|
|
94
|
+
touch: touch,
|
|
95
|
+
clear: clear,
|
|
96
|
+
validateAll: validateAll,
|
|
97
|
+
registerField: registerField
|
|
98
|
+
};
|
|
99
|
+
}, [customFunctions, fieldStates, validate, touch, clear, validateAll, registerField]);
|
|
100
|
+
return /* @__PURE__ */React.createElement(ValidationContext.Provider, {
|
|
101
|
+
value: value
|
|
102
|
+
}, children);
|
|
103
|
+
}
|
|
104
|
+
function useValidation() {
|
|
105
|
+
var ctx = useContext(ValidationContext);
|
|
106
|
+
if (!ctx) {
|
|
107
|
+
throw new Error("useValidation must be used within a ValidationProvider");
|
|
108
|
+
}
|
|
109
|
+
return ctx;
|
|
110
|
+
}
|
|
111
|
+
function useFieldValidation(path, config) {
|
|
112
|
+
var _fieldStates$path, _state$result$errors, _state$result, _state$result$valid, _state$result2;
|
|
113
|
+
var _useValidation = useValidation(),
|
|
114
|
+
fieldStates = _useValidation.fieldStates,
|
|
115
|
+
validateField = _useValidation.validate,
|
|
116
|
+
touchField = _useValidation.touch,
|
|
117
|
+
clearField = _useValidation.clear,
|
|
118
|
+
registerField = _useValidation.registerField;
|
|
119
|
+
React.useEffect(function () {
|
|
120
|
+
if (config) {
|
|
121
|
+
registerField(path, config);
|
|
122
|
+
}
|
|
123
|
+
}, [path, config, registerField]);
|
|
124
|
+
var state = (_fieldStates$path = fieldStates[path]) !== null && _fieldStates$path !== void 0 ? _fieldStates$path : {
|
|
125
|
+
touched: false,
|
|
126
|
+
validated: false,
|
|
127
|
+
result: null
|
|
128
|
+
};
|
|
129
|
+
var validate = useCallback(function () {
|
|
130
|
+
return validateField(path, config !== null && config !== void 0 ? config : {
|
|
131
|
+
checks: []
|
|
132
|
+
});
|
|
133
|
+
}, [path, config, validateField]);
|
|
134
|
+
var touch = useCallback(function () {
|
|
135
|
+
return touchField(path);
|
|
136
|
+
}, [path, touchField]);
|
|
137
|
+
var clear = useCallback(function () {
|
|
138
|
+
return clearField(path);
|
|
139
|
+
}, [path, clearField]);
|
|
140
|
+
return {
|
|
141
|
+
state: state,
|
|
142
|
+
validate: validate,
|
|
143
|
+
touch: touch,
|
|
144
|
+
clear: clear,
|
|
145
|
+
errors: (_state$result$errors = (_state$result = state.result) === null || _state$result === void 0 ? void 0 : _state$result.errors) !== null && _state$result$errors !== void 0 ? _state$result$errors : [],
|
|
146
|
+
isValid: (_state$result$valid = (_state$result2 = state.result) === null || _state$result2 === void 0 ? void 0 : _state$result2.valid) !== null && _state$result$valid !== void 0 ? _state$result$valid : true
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export { ValidationProvider, useFieldValidation, useValidation };
|
|
151
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sources":["../../../../../../pro-components/chat/chat-engine/components/json-render/contexts/validation.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 runValidation,\n type ValidationConfig,\n type ValidationFunction,\n type ValidationResult,\n} from \"@json-render/core\";\nimport { useData } from \"./data\";\n\n/**\n * Field validation state\n */\nexport interface FieldValidationState {\n /** Whether the field has been touched */\n touched: boolean;\n /** Whether the field has been validated */\n validated: boolean;\n /** Validation result */\n result: ValidationResult | null;\n}\n\n/**\n * Validation context value\n */\nexport interface ValidationContextValue {\n /** Custom validation functions from catalog */\n customFunctions: Record<string, ValidationFunction>;\n /** Validation state by field path */\n fieldStates: Record<string, FieldValidationState>;\n /** Validate a field */\n validate: (path: string, config: ValidationConfig) => ValidationResult;\n /** Mark field as touched */\n touch: (path: string) => void;\n /** Clear validation for a field */\n clear: (path: string) => void;\n /** Validate all fields */\n validateAll: () => boolean;\n /** Register field config */\n registerField: (path: string, config: ValidationConfig) => void;\n}\n\nconst ValidationContext = createContext<ValidationContextValue | null>(null);\n\n/**\n * Props for ValidationProvider\n */\nexport interface ValidationProviderProps {\n /** Custom validation functions from catalog */\n customFunctions?: Record<string, ValidationFunction>;\n children: ReactNode;\n}\n\n/**\n * Provider for validation\n */\nexport function ValidationProvider({\n customFunctions = {},\n children,\n}: ValidationProviderProps) {\n const { data, authState } = useData();\n const [fieldStates, setFieldStates] = useState<\n Record<string, FieldValidationState>\n >({});\n const [fieldConfigs, setFieldConfigs] = useState<\n Record<string, ValidationConfig>\n >({});\n\n const registerField = useCallback(\n (path: string, config: ValidationConfig) => {\n setFieldConfigs((prev) => ({ ...prev, [path]: config }));\n },\n [],\n );\n\n const validate = useCallback(\n (path: string, config: ValidationConfig): ValidationResult => {\n const value = data[path.split(\"/\").filter(Boolean).join(\".\")];\n const result = runValidation(config, {\n value,\n dataModel: data,\n customFunctions,\n authState,\n });\n\n setFieldStates((prev) => ({\n ...prev,\n [path]: {\n touched: prev[path]?.touched ?? true,\n validated: true,\n result,\n },\n }));\n\n return result;\n },\n [data, customFunctions, authState],\n );\n\n const touch = useCallback((path: string) => {\n setFieldStates((prev) => ({\n ...prev,\n [path]: {\n ...prev[path],\n touched: true,\n validated: prev[path]?.validated ?? false,\n result: prev[path]?.result ?? null,\n },\n }));\n }, []);\n\n const clear = useCallback((path: string) => {\n setFieldStates((prev) => {\n const { [path]: _, ...rest } = prev;\n return rest;\n });\n }, []);\n\n const validateAll = useCallback(() => {\n let allValid = true;\n\n for (const [path, config] of Object.entries(fieldConfigs)) {\n const result = validate(path, config);\n if (!result.valid) {\n allValid = false;\n }\n }\n\n return allValid;\n }, [fieldConfigs, validate]);\n\n const value = useMemo<ValidationContextValue>(\n () => ({\n customFunctions,\n fieldStates,\n validate,\n touch,\n clear,\n validateAll,\n registerField,\n }),\n [\n customFunctions,\n fieldStates,\n validate,\n touch,\n clear,\n validateAll,\n registerField,\n ],\n );\n\n return (\n <ValidationContext.Provider value={value}>\n {children}\n </ValidationContext.Provider>\n );\n}\n\n/**\n * Hook to access validation context\n */\nexport function useValidation(): ValidationContextValue {\n const ctx = useContext(ValidationContext);\n if (!ctx) {\n throw new Error(\"useValidation must be used within a ValidationProvider\");\n }\n return ctx;\n}\n\n/**\n * Hook to get validation state for a field\n */\nexport function useFieldValidation(\n path: string,\n config?: ValidationConfig,\n): {\n state: FieldValidationState;\n validate: () => ValidationResult;\n touch: () => void;\n clear: () => void;\n errors: string[];\n isValid: boolean;\n} {\n const {\n fieldStates,\n validate: validateField,\n touch: touchField,\n clear: clearField,\n registerField,\n } = useValidation();\n\n // Register field on mount\n React.useEffect(() => {\n if (config) {\n registerField(path, config);\n }\n }, [path, config, registerField]);\n\n const state = fieldStates[path] ?? {\n touched: false,\n validated: false,\n result: null,\n };\n\n const validate = useCallback(\n () => validateField(path, config ?? { checks: [] }),\n [path, config, validateField],\n );\n\n const touch = useCallback(() => touchField(path), [path, touchField]);\n const clear = useCallback(() => clearField(path), [path, clearField]);\n\n return {\n state,\n validate,\n touch,\n clear,\n errors: state.result?.errors ?? [],\n isValid: state.result?.valid ?? true,\n };\n}\n"],"names":["_toPropertyKey","t","i","_toPrimitive","_typeof","r","e","Symbol","toPrimitive","call","TypeError","String","Number","ownKeys","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","ValidationContext","createContext","ValidationProvider","_ref","_ref$customFunctions","customFunctions","children","_useData","useData","data","authState","_useState","useState","_useState2","_slicedToArray","fieldStates","setFieldStates","_useState3","_useState4","fieldConfigs","setFieldConfigs","registerField","useCallback","path","config","prev","validate","value","split","Boolean","join","result","runValidation","dataModel","_prev$path$touched","_prev$path","touched","validated","touch","_prev$path$validated","_prev$path2","_prev$path$result","_prev$path3","clear","_","rest","_objectWithoutProperties","map","validateAll","allValid","_i","_Object$entries","entries","_Object$entries$_i","valid","useMemo","React","createElement","Provider","useValidation","ctx","useContext","Error","useFieldValidation","_fieldStates$path","_state$result$errors","_state$result","_state$result$valid","_state$result2","_useValidation","validateField","touchField","clearField","useEffect","state","checks","errors","isValid"],"mappings":";;;;;;;;;;;;;;AAAA,YAAA,CAAA;AAAA,SAAAA,cAAAC,CAAAA,CAAA,EAAAC,EAAAA,IAAAA,CAAA,GAAAC,YAAA,CAAAF,CAAA,EAAA,QAAA,CAAA,CAAA,CAAA,OAAA,QAAA,IAAAG,OAAA,CAAAF,CAAA,CAAAA,GAAAA,CAAA,GAAAA,CAAA,GAAA,EAAA,CAAA,EAAA;AAAA,SAAAC,YAAAA,CAAAF,CAAA,EAAAI,CAAA,oBAAAD,OAAA,CAAAH,CAAA,CAAAA,IAAAA,CAAAA,CAAA,SAAAA,CAAA,CAAA,CAAA,IAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,CAAA,CAAA,CAAA,IAAA,KAAA,CAAA,KAAAF,CAAA,EAAA,EAAA,IAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAD,SAAAA,CAAAA,CAAAA,CAAAA,IAAAA,QAAAA,IAAAA,OAAA,CAAAF,CAAA,UAAAA,CAAA,CAAA,CAAA,MAAA,IAAAQ,SAAA,CAAAL,8CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,OAAAA,CAAAA,QAAAA,KAAAA,CAAA,GAAAM,MAAA,GAAAC,MAAA,EAAAX,CAAA,CAAA,CAAA,EAAA;AAAA,SAAAY,OAAAA,CAAAP,CAAA,EAAAD,CAAA,EAAA,EAAA,IAAAJ,CAAA,GAAAa,MAAA,CAAAC,IAAA,CAAAT,CAAA,OAAAQ,MAAA,CAAAE,qBAAA,EAAA,EAAA,IAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAV,CAAA,CAAA,CAAA,CAAAD,CAAA,KAAAY,CAAA,GAAAA,CAAA,CAAAC,MAAA,CAAAb,UAAAA,CAAA,EAAAS,EAAAA,OAAAA,MAAA,CAAAK,wBAAA,CAAAb,CAAA,EAAAD,CAAA,EAAAe,UAAA,CAAA,EAAA,CAAA,CAAA,EAAAnB,CAAA,CAAAoB,IAAA,CAAAC,KAAA,CAAArB,CAAA,EAAAgB,CAAA,CAAA,CAAA,EAAA,CAAA,OAAAhB,CAAA,CAAA,EAAA;AAAA,SAAAsB,cAAAjB,CAAA,EAAA,EAAA,KAAA,IAAAD,CAAA,GAAAA,CAAAA,EAAAA,CAAA,GAAAmB,SAAA,CAAAC,MAAA,EAAApB,CAAA,EAAAJ,EAAAA,EAAAA,IAAAA,CAAA,WAAAuB,SAAA,CAAAnB,CAAA,CAAAmB,GAAAA,SAAA,CAAAnB,CAAA,QAAAA,CAAA,GAAA,CAAA,GAAAQ,OAAA,CAAAC,MAAA,CAAAb,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAAyB,OAAA,CAAArB,UAAAA,CAAA,IAAAsB,eAAA,CAAArB,CAAA,EAAAD,CAAA,EAAAJ,CAAA,CAAAI,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,GAAAS,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAvB,CAAA,EAAAQ,MAAA,CAAAc,yBAAA,CAAA3B,CAAA,KAAAY,OAAA,CAAAC,MAAA,CAAAb,CAAA,CAAAyB,CAAAA,CAAAA,OAAA,WAAArB,CAAA,EAAA,EAAAS,MAAA,CAAAgB,cAAA,CAAAxB,CAAA,EAAAD,CAAA,EAAAS,MAAA,CAAAK,wBAAA,CAAAlB,CAAA,EAAAI,CAAA,iBAAAC,CAAA,CAAA,EAAA;AAkDA,IAAMyB,iBAAA,gBAAoBC,cAA6C,IAAI,CAAA,CAAA;AAcpE,SAASC,kBAAmBA,CAAAC,IAAA,EAGP;AAAA,EAAA,IAAAC,oBAAA,GAAAD,IAAA,CAF1BE;AAAAA,IAAAA,oDAAkB,EAAC,GAAAD,oBAAA;IACnBE,QAAA,GAAAH,IAAA,CAAAG,QAAA,CAAA;AAEA,EAAA,IAAAC,QAAA,GAA4BC,OAAQ,EAAA;IAA5BC,IAAA,GAAAF,QAAA,CAAAE,IAAA;IAAMC,SAAU,GAAAH,QAAA,CAAVG,SAAU,CAAA;AACxB,EAAA,IAAAC,SAAA,GAAsCC,QAAA,CAEpC,EAAE,CAAA;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAFGI,IAAAA,WAAa,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAAG,IAAAA,cAAc,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAGlC,EAAA,IAAAI,UAAA,GAAwCL,QAAA,CAEtC,EAAE,CAAA;IAAAM,UAAA,GAAAJ,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAFGE,IAAAA,YAAc,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAAE,IAAAA,eAAe,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;EAIpC,IAAMG,aAAgB,GAAAC,WAAA,CACpB,UAACC,MAAcC,MAA6B,EAAA;IAC1BJ,eAAA,CAAA,UAACK;yCAAeA,EAAAA,EAAAA,+BAAOF,IAAA,EAAOC;KAAS,CAAA,CAAA;GACzD,EACA,EACF,CAAA,CAAA;EAEA,IAAME,QAAW,GAAAJ,WAAA,CACf,UAACC,MAAcC,MAA+C,EAAA;IACtDG,IAAAA,MAAAA,GAAQlB,IAAK,CAAAc,IAAA,CAAKK,KAAM,CAAA,GAAG,EAAEzC,MAAO,CAAA0C,OAAO,CAAE,CAAAC,IAAA,CAAK,GAAG,CAAA,CAAA,CAAA;AACrD,IAAA,IAAAC,MAAA,GAASC,cAAcR,MAAQ,EAAA;AACnCG,MAAAA,KAAAA,EAAAA,MAAAA;AACAM,MAAAA,SAAW,EAAAxB,IAAA;AACXJ,MAAAA,eAAA,EAAAA,eAAA;AACAK,MAAAA,SAAA,EAAAA,SAAAA;AACF,KAAC,CAAA,CAAA;IAEDM,cAAA,CAAe,UAACS,IAAU,EAAA;MAAA,IAAAS,kBAAA,EAAAC,UAAA,CAAA;MAAA,OAAA3C,aAAA,CAAAA,aAAA,CAAA,EAAA,EACrBiC,IAAA,CAAA7B,EAAAA,EAAAA,EAAAA,eAAA,CACF2B,EAAAA,EAAAA,IAAO,EAAA;QACNa,OAAA,EAAA,CAAAF,kBAAA,GAAAC,CAAAA,UAAA,GAASV,IAAK,CAAAF,IAAA,CAAA,MAAA,IAAA,IAAAY,UAAA,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAA,CAAYC,OAAW,MAAA,IAAA,IAAAF,kBAAA,KAAAA,KAAAA,CAAAA,GAAAA,kBAAA,GAAA,IAAA;AAChCG,QAAAA,SAAW,EAAA,IAAA;AACXN,QAAAA,MAAA,EAAAA,MAAAA;OACF,CAAA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAEK,IAAA,OAAAA,MAAA,CAAA;GACT,EACA,CAACtB,IAAM,EAAAJ,eAAA,EAAiBK,SAAS,CACnC,CAAA,CAAA;AAEM,EAAA,IAAA4B,KAAA,GAAQhB,WAAY,CAAA,UAACC,IAAiB,EAAA;IAC1CP,cAAA,CAAe,UAACS,IAAU,EAAA;AAAA,MAAA,IAAAc,oBAAA,EAAAC,WAAA,EAAAC,iBAAA,EAAAC,WAAA,CAAA;AAAA,MAAA,OAAAlD,aAAA,CAAAA,aAAA,CACrBiC,EAAAA,EAAAA,IAAA,OAAA7B,eAAA,CAAA,EAAA,EACF2B,IAAO,EAAA/B,aAAA,CAAAA,aAAA,KACHiC,IAAK,CAAAF,IAAA,CAAA,CAAA,EAAA,EAAA,EAAA;AACRa,QAAAA,OAAS,EAAA,IAAA;QACTC,SAAA,EAAA,CAAAE,oBAAA,GAAAC,CAAAA,WAAA,GAAWf,IAAK,CAAAF,IAAA,CAAA,MAAA,IAAA,IAAAiB,WAAA,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAA,CAAYH,SAAa,MAAA,IAAA,IAAAE,oBAAA,KAAAA,KAAAA,CAAAA,GAAAA,oBAAA,GAAA,KAAA;AACpCR,QAAAA,MAAA,GAAAU,iBAAA,GAAA,CAAAC,WAAA,GAAQjB,IAAK,CAAAF,IAAA,CAAA,cAAAmB,WAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,WAAA,CAAYX,MAAU,cAAAU,iBAAA,KAAA,KAAA,CAAA,GAAAA,iBAAA,GAAA,IAAA;AAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KAEhC,CAAA,CAAA;GACJ,EAAG,EAAE,CAAA,CAAA;AAEC,EAAA,IAAAE,KAAA,GAAQrB,WAAY,CAAA,UAACC,IAAiB,EAAA;IAC1CP,cAAA,CAAe,UAACS,IAAS,EAAA;AACvB,MAAA,IAAgBmB,CAAM,GAASnB,IAAA,CAAtBF,IAAA,CAAA;QAAasB,IAAA,GAAAC,wBAAA,CAASrB,IAAA,GAAtBF,IAAA,CAAA,CAAAwB,GAAA,CAAA9E,cAAA,CAAA,CAAA,CAAA;AACF,MAAA,OAAA4E,IAAA,CAAA;AACT,KAAC,CAAA,CAAA;GACH,EAAG,EAAE,CAAA,CAAA;AAEC,EAAA,IAAAG,WAAA,GAAc1B,YAAY,YAAM;IACpC,IAAI2B,QAAW,GAAA,IAAA,CAAA;AAEf,IAAA,KAAA,IAAAC,EAAA,GAAAC,CAAAA,EAAAA,eAAA,GAA6BpE,MAAO,CAAAqE,OAAA,CAAQjC,YAAY,CAAG,EAAA+B,EAAA,GAAAC,eAAA,CAAAzD,MAAA,EAAAwD,EAAA,EAAA,EAAA;AAA3D,MAAA,IAAAG,kBAAA,GAAAvC,cAAA,CAAAqC,eAAA,CAAAD,EAAA,CAAA,EAAA,CAAA,CAAA;AAAY3B,QAAAA,IAAM,GAAA8B,kBAAA,CAAA,CAAA,CAAA;AAAA7B,QAAAA,MAAM,GAAA6B,kBAAA,CAAA,CAAA,CAAA,CAAA;AAChB,MAAA,IAAAtB,MAAA,GAASL,QAAS,CAAAH,IAAA,EAAMC,MAAM,CAAA,CAAA;AAChC,MAAA,IAAA,CAACO,OAAOuB,KAAO,EAAA;AACNL,QAAAA,QAAA,GAAA,KAAA,CAAA;AACb,OAAA;AACF,KAAA;AAEO,IAAA,OAAAA,QAAA,CAAA;AACT,GAAG,EAAA,CAAC9B,YAAc,EAAAO,QAAQ,CAAC,CAAA,CAAA;EAE3B,IAAMC,KAAQ,GAAA4B,OAAA,CACZ,YAAA;IAAA,OAAO;AACLlD,MAAAA,eAAA,EAAAA,eAAA;AACAU,MAAAA,WAAA,EAAAA,WAAA;AACAW,MAAAA,QAAA,EAAAA,QAAA;AACAY,MAAAA,KAAA,EAAAA,KAAA;AACAK,MAAAA,KAAA,EAAAA,KAAA;AACAK,MAAAA,WAAA,EAAAA,WAAA;AACA3B,MAAAA,aAAA,EAAAA,aAAAA;KACF,CAAA;AAAA,GAAA,EACA,CACEhB,eAAA,EACAU,WAAA,EACAW,QAAA,EACAY,KAAA,EACAK,KAAA,EACAK,WAAA,EACA3B,aAAA,CAEJ,CAAA,CAAA;EAGE,sBAAAmC,KAAA,CAAAC,aAAA,CAACzD,kBAAkB0D,QAAlB,EAAA;AAA2B/B,IAAAA,KAAA,EAAAA,KAAAA;GAAA,EACzBrB,QACH,CAAA,CAAA;AAEJ,CAAA;AAKO,SAASqD,aAAwCA,GAAA;AAChD,EAAA,IAAAC,GAAA,GAAMC,WAAW7D,iBAAiB,CAAA,CAAA;EACxC,IAAI,CAAC4D,GAAK,EAAA;AACF,IAAA,MAAA,IAAIE,MAAM,wDAAwD,CAAA,CAAA;AAC1E,GAAA;AACO,EAAA,OAAAF,GAAA,CAAA;AACT,CAAA;AAKgB,SAAAG,kBAAAA,CACdxC,MACAC,MAQA,EAAA;EAAA,IAAAwC,iBAAA,EAAAC,oBAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,cAAA,CAAA;AACM,EAAA,IAAAC,cAAA,GAMFV,aAAc,EAAA;IALhB5C,WAAA,GAAAsD,cAAA,CAAAtD,WAAA;IACUuD,aAAA,GAAAD,cAAA,CAAV3C,QAAU;IACH6C,UAAA,GAAAF,cAAA,CAAP/B,KAAO;IACAkC,UAAA,GAAAH,cAAA,CAAP1B,KAAO;IACPtB,aAAA,GAAAgD,cAAA,CAAAhD,aAAA,CAAA;EAIFmC,KAAA,CAAMiB,UAAU,YAAM;AACpB,IAAA,IAAIjD,MAAQ,EAAA;AACVH,MAAAA,aAAA,CAAcE,MAAMC,MAAM,CAAA,CAAA;AAC5B,KAAA;GACC,EAAA,CAACD,IAAM,EAAAC,MAAA,EAAQH,aAAa,CAAC,CAAA,CAAA;AAE1B,EAAA,IAAAqD,KAAA,GAAA,CAAAV,iBAAA,GAAQjD,YAAYQ,IAAS,CAAA,MAAAyC,IAAAA,IAAAA,iBAAA,KAAAA,KAAAA,CAAAA,GAAAA,iBAAA,GAAA;AACjC5B,IAAAA,OAAS,EAAA,KAAA;AACTC,IAAAA,SAAW,EAAA,KAAA;AACXN,IAAAA,MAAQ,EAAA,IAAA;GACV,CAAA;EAEA,IAAML,QAAW,GAAAJ,WAAA,CACf,YAAA;IAAA,OAAMgD,cAAc/C,IAAM,EAAAC,MAAA,KAAAA,IAAAA,IAAAA,MAAA,KAAAA,KAAAA,CAAAA,GAAAA,MAAA,GAAU;AAAEmD,MAAAA,MAAQ,EAAA,EAAA;AAAG,KAAC,CAAA,CAAA;AAAA,GAAA,EAClD,CAACpD,IAAM,EAAAC,MAAA,EAAQ8C,aAAa,CAC9B,CAAA,CAAA;EAEM,IAAAhC,KAAA,GAAQhB,YAAY,YAAA;IAAA,OAAMiD,UAAA,CAAWhD,IAAI,CAAG,CAAA;AAAA,GAAA,EAAA,CAACA,IAAM,EAAAgD,UAAU,CAAC,CAAA,CAAA;EAC9D,IAAA5B,KAAA,GAAQrB,YAAY,YAAA;IAAA,OAAMkD,UAAA,CAAWjD,IAAI,CAAG,CAAA;AAAA,GAAA,EAAA,CAACA,IAAM,EAAAiD,UAAU,CAAC,CAAA,CAAA;EAE7D,OAAA;AACLE,IAAAA,KAAA,EAAAA,KAAA;AACAhD,IAAAA,QAAA,EAAAA,QAAA;AACAY,IAAAA,KAAA,EAAAA,KAAA;AACAK,IAAAA,KAAA,EAAAA,KAAA;AACAiC,IAAAA,MAAQ,GAAAX,oBAAA,GAAA,CAAAC,aAAA,GAAAQ,KAAA,CAAM3C,MAAQ,MAAA,IAAA,IAAAmC,aAAA,KAAdA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,aAAA,CAAcU,MAAA,MAAA,IAAA,IAAAX,oBAAA,KAAAA,KAAAA,CAAAA,GAAAA,oBAAA,GAAU,EAAC;AACjCY,IAAAA,OAAA,GAAAV,mBAAA,GAAA,CAAAC,cAAA,GAASM,KAAM,CAAA3C,MAAA,MAAA,IAAA,IAAAqC,cAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,cAAA,CAAcd,KAAS,cAAAa,mBAAA,KAAA,KAAA,CAAA,GAAAA,mBAAA,GAAA,IAAA;GAClC,CAAA;AACF;;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import { type VisibilityCondition, type VisibilityContext as CoreVisibilityContext } from "@json-render/core";
|
|
3
|
+
/**
|
|
4
|
+
* Visibility context value
|
|
5
|
+
*/
|
|
6
|
+
export interface VisibilityContextValue {
|
|
7
|
+
/** Evaluate a visibility condition */
|
|
8
|
+
isVisible: (condition: VisibilityCondition | undefined) => boolean;
|
|
9
|
+
/** The underlying visibility context */
|
|
10
|
+
ctx: CoreVisibilityContext;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Props for VisibilityProvider
|
|
14
|
+
*/
|
|
15
|
+
export interface VisibilityProviderProps {
|
|
16
|
+
children: ReactNode;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Provider for visibility evaluation
|
|
20
|
+
*/
|
|
21
|
+
export declare function VisibilityProvider({ children }: VisibilityProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
/**
|
|
23
|
+
* Hook to access visibility evaluation
|
|
24
|
+
*/
|
|
25
|
+
export declare function useVisibility(): VisibilityContextValue;
|
|
26
|
+
/**
|
|
27
|
+
* Hook to check if a condition is visible
|
|
28
|
+
*/
|
|
29
|
+
export declare function useIsVisible(condition: VisibilityCondition | undefined): boolean;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.1.0-alpha.1
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import React, { createContext, useMemo, useContext } from 'react';
|
|
8
|
+
import { evaluateVisibility } from '@json-render/core';
|
|
9
|
+
import { useData } from './data.js';
|
|
10
|
+
import '@babel/runtime/helpers/typeof';
|
|
11
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
12
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
13
|
+
|
|
14
|
+
"use client";
|
|
15
|
+
var VisibilityContext = /*#__PURE__*/createContext(null);
|
|
16
|
+
function VisibilityProvider(_ref) {
|
|
17
|
+
var children = _ref.children;
|
|
18
|
+
var _useData = useData(),
|
|
19
|
+
data = _useData.data,
|
|
20
|
+
authState = _useData.authState;
|
|
21
|
+
var ctx = useMemo(function () {
|
|
22
|
+
return {
|
|
23
|
+
dataModel: data,
|
|
24
|
+
authState: authState
|
|
25
|
+
};
|
|
26
|
+
}, [data, authState]);
|
|
27
|
+
var isVisible = useMemo(function () {
|
|
28
|
+
return function (condition) {
|
|
29
|
+
return evaluateVisibility(condition, ctx);
|
|
30
|
+
};
|
|
31
|
+
}, [ctx]);
|
|
32
|
+
var value = useMemo(function () {
|
|
33
|
+
return {
|
|
34
|
+
isVisible: isVisible,
|
|
35
|
+
ctx: ctx
|
|
36
|
+
};
|
|
37
|
+
}, [isVisible, ctx]);
|
|
38
|
+
return /* @__PURE__ */React.createElement(VisibilityContext.Provider, {
|
|
39
|
+
value: value
|
|
40
|
+
}, children);
|
|
41
|
+
}
|
|
42
|
+
function useVisibility() {
|
|
43
|
+
var ctx = useContext(VisibilityContext);
|
|
44
|
+
if (!ctx) {
|
|
45
|
+
throw new Error("useVisibility must be used within a VisibilityProvider");
|
|
46
|
+
}
|
|
47
|
+
return ctx;
|
|
48
|
+
}
|
|
49
|
+
function useIsVisible(condition) {
|
|
50
|
+
var _useVisibility = useVisibility(),
|
|
51
|
+
isVisible = _useVisibility.isVisible;
|
|
52
|
+
return isVisible(condition);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export { VisibilityProvider, useIsVisible, useVisibility };
|
|
56
|
+
//# sourceMappingURL=visibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visibility.js","sources":["../../../../../../pro-components/chat/chat-engine/components/json-render/contexts/visibility.tsx"],"sourcesContent":["\"use client\";\n\nimport React, {\n createContext,\n useContext,\n useMemo,\n type ReactNode,\n} from \"react\";\nimport {\n evaluateVisibility,\n type VisibilityCondition,\n type VisibilityContext as CoreVisibilityContext,\n} from \"@json-render/core\";\nimport { useData } from \"./data\";\n\n/**\n * Visibility context value\n */\nexport interface VisibilityContextValue {\n /** Evaluate a visibility condition */\n isVisible: (condition: VisibilityCondition | undefined) => boolean;\n /** The underlying visibility context */\n ctx: CoreVisibilityContext;\n}\n\nconst VisibilityContext = createContext<VisibilityContextValue | null>(null);\n\n/**\n * Props for VisibilityProvider\n */\nexport interface VisibilityProviderProps {\n children: ReactNode;\n}\n\n/**\n * Provider for visibility evaluation\n */\nexport function VisibilityProvider({ children }: VisibilityProviderProps) {\n const { data, authState } = useData();\n\n const ctx: CoreVisibilityContext = useMemo(\n () => ({\n dataModel: data,\n authState,\n }),\n [data, authState],\n );\n\n const isVisible = useMemo(\n () => (condition: VisibilityCondition | undefined) =>\n evaluateVisibility(condition, ctx),\n [ctx],\n );\n\n const value = useMemo<VisibilityContextValue>(\n () => ({ isVisible, ctx }),\n [isVisible, ctx],\n );\n\n return (\n <VisibilityContext.Provider value={value}>\n {children}\n </VisibilityContext.Provider>\n );\n}\n\n/**\n * Hook to access visibility evaluation\n */\nexport function useVisibility(): VisibilityContextValue {\n const ctx = useContext(VisibilityContext);\n if (!ctx) {\n throw new Error(\"useVisibility must be used within a VisibilityProvider\");\n }\n return ctx;\n}\n\n/**\n * Hook to check if a condition is visible\n */\nexport function useIsVisible(\n condition: VisibilityCondition | undefined,\n): boolean {\n const { isVisible } = useVisibility();\n return isVisible(condition);\n}\n"],"names":["VisibilityContext","createContext","VisibilityProvider","_ref","children","_useData","useData","data","authState","ctx","useMemo","dataModel","isVisible","condition","evaluateVisibility","value","React","createElement","Provider","useVisibility","useContext","Error","useIsVisible","_useVisibility"],"mappings":";;;;;;;;;;;;;AAAA,YAAA,CAAA;AAyBA,IAAMA,iBAAA,gBAAoBC,cAA6C,IAAI,CAAA,CAAA;AAY3D,SAAAC,kBAAAA,CAAAC,IAAA,EAA0D;AAAA,EAAA,IAArCC,QAAA,GAAAD,IAAA,CAAAC,QAAA,CAAA;AACnC,EAAA,IAAAC,QAAA,GAA4BC,OAAQ,EAAA;IAA5BC,IAAA,GAAAF,QAAA,CAAAE,IAAA;IAAMC,SAAU,GAAAH,QAAA,CAAVG,SAAU,CAAA;EAExB,IAAMC,GAA6B,GAAAC,OAAA,CACjC,YAAA;IAAA,OAAO;AACLC,MAAAA,SAAW,EAAAJ,IAAA;AACXC,MAAAA,SAAA,EAAAA,SAAAA;KACF,CAAA;AAAA,GAAA,EACA,CAACD,MAAMC,SAAS,CAClB,CAAA,CAAA;EAEA,IAAMI,SAAY,GAAAF,OAAA,CAChB,YAAA;AAAA,IAAA,OAAM,UAACG,SACL,EAAA;AAAA,MAAA,OAAAC,kBAAA,CAAmBD,WAAWJ,GAAG,CAAA,CAAA;AAAA,KAAA,CAAA;GACnC,EAAA,CAACA,GAAG,CACN,CAAA,CAAA;EAEA,IAAMM,KAAQ,GAAAL,OAAA,CACZ,YAAA;IAAA,OAAO;AAAEE,MAAAA,SAAA,EAAAA,SAAA;AAAWH,MAAAA,GAAI,EAAJA,GAAAA;KAAI,CAAA;AAAA,GAAA,EACxB,CAACG,WAAWH,GAAG,CACjB,CAAA,CAAA;EAGE,sBAAAO,KAAA,CAAAC,aAAA,CAACjB,kBAAkBkB,QAAlB,EAAA;AAA2BH,IAAAA,KAAA,EAAAA,KAAAA;GAAA,EACzBX,QACH,CAAA,CAAA;AAEJ,CAAA;AAKO,SAASe,aAAwCA,GAAA;AAChD,EAAA,IAAAV,GAAA,GAAMW,WAAWpB,iBAAiB,CAAA,CAAA;EACxC,IAAI,CAACS,GAAK,EAAA;AACF,IAAA,MAAA,IAAIY,MAAM,wDAAwD,CAAA,CAAA;AAC1E,GAAA;AACO,EAAA,OAAAZ,GAAA,CAAA;AACT,CAAA;AAKO,SAASa,aACdT,SACS,EAAA;AACH,EAAA,IAAAU,cAAA,GAAgBJ,aAAc,EAAA;IAA5BP,SAAU,GAAAW,cAAA,CAAVX,SAAU,CAAA;EAClB,OAAOA,UAAUC,SAAS,CAAA,CAAA;AAC5B;;;;"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* json-render 引擎封装
|
|
3
|
+
* 提供高性能的增量渲染能力
|
|
4
|
+
*/
|
|
5
|
+
import type { UIElement } from '@json-render/core';
|
|
6
|
+
import type { ComponentRegistry } from './renderer';
|
|
7
|
+
import type { JsonRenderSchema, DeltaInfo } from './types';
|
|
8
|
+
/**
|
|
9
|
+
* json-render 引擎管理器
|
|
10
|
+
* 负责 Schema 缓存、增量更新和性能优化
|
|
11
|
+
*/
|
|
12
|
+
export declare class JsonRenderEngine {
|
|
13
|
+
private currentSchema;
|
|
14
|
+
private registry;
|
|
15
|
+
constructor(registry: ComponentRegistry);
|
|
16
|
+
/**
|
|
17
|
+
* 全量渲染
|
|
18
|
+
* 用于 ACTIVITY_SNAPSHOT 事件
|
|
19
|
+
*/
|
|
20
|
+
setSchema(schema: JsonRenderSchema): void;
|
|
21
|
+
/**
|
|
22
|
+
* 获取当前 Schema
|
|
23
|
+
*/
|
|
24
|
+
getSchema(): JsonRenderSchema | null;
|
|
25
|
+
/**
|
|
26
|
+
* 增量更新
|
|
27
|
+
* 用于 ACTIVITY_DELTA 事件
|
|
28
|
+
*
|
|
29
|
+
* @param newSchema 应用 JSON Patch 后的完整 Schema
|
|
30
|
+
* @param deltaInfo 增量信息(可选,用于进一步优化)
|
|
31
|
+
*/
|
|
32
|
+
patchSchema(newSchema: JsonRenderSchema, deltaInfo?: DeltaInfo): void;
|
|
33
|
+
/**
|
|
34
|
+
* 重置引擎状态
|
|
35
|
+
*/
|
|
36
|
+
reset(): void;
|
|
37
|
+
/**
|
|
38
|
+
* 获取组件注册表
|
|
39
|
+
*/
|
|
40
|
+
getRegistry(): ComponentRegistry;
|
|
41
|
+
/**
|
|
42
|
+
* 更新组件注册表
|
|
43
|
+
*/
|
|
44
|
+
updateRegistry(registry: ComponentRegistry): void;
|
|
45
|
+
/**
|
|
46
|
+
* 验证 Schema 是否有效
|
|
47
|
+
*/
|
|
48
|
+
validateSchema(schema: JsonRenderSchema): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* 提取增量元素(基于 deltaInfo)
|
|
51
|
+
* 用于性能优化场景
|
|
52
|
+
*/
|
|
53
|
+
extractDeltaElements(schema: JsonRenderSchema, deltaInfo: DeltaInfo): Record<string, UIElement>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* 创建 json-render 引擎实例
|
|
57
|
+
*/
|
|
58
|
+
export declare function createJsonRenderEngine(registry: ComponentRegistry): JsonRenderEngine;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.1.0-alpha.1
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
8
|
+
import _createClass from '@babel/runtime/helpers/createClass';
|
|
9
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
10
|
+
|
|
11
|
+
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; }
|
|
12
|
+
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; }
|
|
13
|
+
var JsonRenderEngine = /*#__PURE__*/function () {
|
|
14
|
+
function JsonRenderEngine(registry) {
|
|
15
|
+
_classCallCheck(this, JsonRenderEngine);
|
|
16
|
+
_defineProperty(this, "currentSchema", null);
|
|
17
|
+
this.registry = registry;
|
|
18
|
+
}
|
|
19
|
+
return _createClass(JsonRenderEngine, [{
|
|
20
|
+
key: "setSchema",
|
|
21
|
+
value: function setSchema(schema) {
|
|
22
|
+
this.currentSchema = schema;
|
|
23
|
+
}
|
|
24
|
+
}, {
|
|
25
|
+
key: "getSchema",
|
|
26
|
+
value: function getSchema() {
|
|
27
|
+
return this.currentSchema;
|
|
28
|
+
}
|
|
29
|
+
}, {
|
|
30
|
+
key: "patchSchema",
|
|
31
|
+
value: function patchSchema(newSchema, deltaInfo) {
|
|
32
|
+
if (!this.currentSchema) {
|
|
33
|
+
this.currentSchema = newSchema;
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
this.currentSchema = newSchema;
|
|
37
|
+
if (deltaInfo) {
|
|
38
|
+
console.debug("[json-render] \u589E\u91CF\u66F4\u65B0\u8303\u56F4:", deltaInfo);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}, {
|
|
42
|
+
key: "reset",
|
|
43
|
+
value: function reset() {
|
|
44
|
+
this.currentSchema = null;
|
|
45
|
+
}
|
|
46
|
+
}, {
|
|
47
|
+
key: "getRegistry",
|
|
48
|
+
value: function getRegistry() {
|
|
49
|
+
return this.registry;
|
|
50
|
+
}
|
|
51
|
+
}, {
|
|
52
|
+
key: "updateRegistry",
|
|
53
|
+
value: function updateRegistry(registry) {
|
|
54
|
+
this.registry = _objectSpread(_objectSpread({}, this.registry), registry);
|
|
55
|
+
}
|
|
56
|
+
}, {
|
|
57
|
+
key: "validateSchema",
|
|
58
|
+
value: function validateSchema(schema) {
|
|
59
|
+
if (!schema || !schema.root || !schema.elements) {
|
|
60
|
+
console.error("[json-render] Schema \u9A8C\u8BC1\u5931\u8D25\uFF1A\u7F3A\u5C11 root \u6216 elements");
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
var rootElement = schema.elements[schema.root];
|
|
64
|
+
if (!rootElement) {
|
|
65
|
+
console.error("[json-render] Schema \u9A8C\u8BC1\u5931\u8D25\uFF1Aroot \u5143\u7D20\u4E0D\u5B58\u5728");
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
}, {
|
|
71
|
+
key: "extractDeltaElements",
|
|
72
|
+
value: function extractDeltaElements(schema, deltaInfo) {
|
|
73
|
+
var elementKeys = Object.keys(schema.elements);
|
|
74
|
+
var deltaKeys = elementKeys.slice(deltaInfo.fromIndex, deltaInfo.toIndex);
|
|
75
|
+
var deltaElements = {};
|
|
76
|
+
deltaKeys.forEach(function (key) {
|
|
77
|
+
deltaElements[key] = schema.elements[key];
|
|
78
|
+
});
|
|
79
|
+
return deltaElements;
|
|
80
|
+
}
|
|
81
|
+
}]);
|
|
82
|
+
}();
|
|
83
|
+
function createJsonRenderEngine(registry) {
|
|
84
|
+
return new JsonRenderEngine(registry);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export { JsonRenderEngine, createJsonRenderEngine };
|
|
88
|
+
//# sourceMappingURL=engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sources":["../../../../../pro-components/chat/chat-engine/components/json-render/engine.ts"],"sourcesContent":["/**\n * json-render 引擎封装\n * 提供高性能的增量渲染能力\n */\n\nimport type { UIElement } from '@json-render/core';\nimport type { ComponentRegistry } from './renderer';\nimport type { JsonRenderSchema, DeltaInfo } from './types';\n\n/**\n * json-render 引擎管理器\n * 负责 Schema 缓存、增量更新和性能优化\n */\nexport class JsonRenderEngine {\n private currentSchema: JsonRenderSchema | null = null;\n private registry: ComponentRegistry;\n\n constructor(registry: ComponentRegistry) {\n this.registry = registry;\n }\n\n /**\n * 全量渲染\n * 用于 ACTIVITY_SNAPSHOT 事件\n */\n setSchema(schema: JsonRenderSchema): void {\n this.currentSchema = schema;\n }\n\n /**\n * 获取当前 Schema\n */\n getSchema(): JsonRenderSchema | null {\n return this.currentSchema;\n }\n\n /**\n * 增量更新\n * 用于 ACTIVITY_DELTA 事件\n * \n * @param newSchema 应用 JSON Patch 后的完整 Schema\n * @param deltaInfo 增量信息(可选,用于进一步优化)\n */\n patchSchema(newSchema: JsonRenderSchema, deltaInfo?: DeltaInfo): void {\n if (!this.currentSchema) {\n // 如果没有初始 Schema,直接设置\n this.currentSchema = newSchema;\n return;\n }\n\n // 更新 Schema(json-render 的 Renderer 会自动处理 diff)\n this.currentSchema = newSchema;\n\n // 如果有 deltaInfo,可以在这里做进一步优化\n if (deltaInfo) {\n console.debug('[json-render] 增量更新范围:', deltaInfo);\n // 未来可以基于 deltaInfo 实现更细粒度的优化\n }\n }\n\n /**\n * 重置引擎状态\n */\n reset(): void {\n this.currentSchema = null;\n }\n\n /**\n * 获取组件注册表\n */\n getRegistry(): ComponentRegistry {\n return this.registry;\n }\n\n /**\n * 更新组件注册表\n */\n updateRegistry(registry: ComponentRegistry): void {\n this.registry = { ...this.registry, ...registry };\n }\n\n /**\n * 验证 Schema 是否有效\n */\n validateSchema(schema: JsonRenderSchema): boolean {\n if (!schema || !schema.root || !schema.elements) {\n console.error('[json-render] Schema 验证失败:缺少 root 或 elements');\n return false;\n }\n\n const rootElement = schema.elements[schema.root];\n if (!rootElement) {\n console.error('[json-render] Schema 验证失败:root 元素不存在');\n return false;\n }\n\n return true;\n }\n\n /**\n * 提取增量元素(基于 deltaInfo)\n * 用于性能优化场景\n */\n extractDeltaElements(schema: JsonRenderSchema, deltaInfo: DeltaInfo): Record<string, UIElement> {\n const elementKeys = Object.keys(schema.elements);\n const deltaKeys = elementKeys.slice(deltaInfo.fromIndex, deltaInfo.toIndex);\n \n const deltaElements: Record<string, UIElement> = {};\n deltaKeys.forEach((key) => {\n deltaElements[key] = schema.elements[key];\n });\n \n return deltaElements;\n }\n}\n\n/**\n * 创建 json-render 引擎实例\n */\nexport function createJsonRenderEngine(registry: ComponentRegistry): JsonRenderEngine {\n return new JsonRenderEngine(registry);\n}\n"],"names":["JsonRenderEngine","registry","_classCallCheck","_defineProperty","_createClass","key","value","setSchema","schema","currentSchema","getSchema","patchSchema","newSchema","deltaInfo","console","debug","reset","getRegistry","updateRegistry","validateSchema","root","elements","error","rootElement","extractDeltaElements","elementKeys","Object","keys","deltaKeys","slice","fromIndex","toIndex","deltaElements","forEach","createJsonRenderEngine"],"mappings":";;;;;;;;;;;;AAaO,IAAMA,gBAAiB,gBAAA,YAAA;EAI5B,SAAAA,gBAAAA,CAAYC,QAA6B,EAAA;AAAAC,IAAAA,eAAA,OAAAF,gBAAA,CAAA,CAAA;AAAAG,IAAAA,eAAA,wBAHQ,IAAA,CAAA,CAAA;IAI/C,IAAA,CAAKF,QAAW,GAAAA,QAAA,CAAA;AAClB,GAAA;EAAA,OAAAG,YAAA,CAAAJ,gBAAA,EAAA,CAAA;IAAAK,GAAA,EAAA,WAAA;AAAAC,IAAAA,KAAA,EAMA,SAAAC,UAAUC,MAAgC,EAAA;MACxC,IAAA,CAAKC,aAAgB,GAAAD,MAAA,CAAA;AACvB,KAAA;AAAA,GAAA,EAAA;IAAAH,GAAA,EAAA,WAAA;AAAAC,IAAAA,KAAA,EAKA,SAAAI,SAAqCA,GAAA;MACnC,OAAO,IAAK,CAAAD,aAAA,CAAA;AACd,KAAA;AAAA,GAAA,EAAA;IAAAJ,GAAA,EAAA,aAAA;AAAAC,IAAAA,KAAA,EASA,SAAAK,WAAAA,CAAYC,WAA6BC,SAA6B,EAAA;AAChE,MAAA,IAAA,CAAC,KAAKJ,aAAe,EAAA;QAEvB,IAAA,CAAKA,aAAgB,GAAAG,SAAA,CAAA;AACrB,QAAA,OAAA;AACF,OAAA;MAGA,IAAA,CAAKH,aAAgB,GAAAG,SAAA,CAAA;AAGrB,MAAA,IAAIC,SAAW,EAAA;AACLC,QAAAA,OAAA,CAAAC,KAAA,CAAM,uDAAyBF,SAAS,CAAA,CAAA;AAElD,OAAA;AACF,KAAA;AAAA,GAAA,EAAA;IAAAR,GAAA,EAAA,OAAA;AAAAC,IAAAA,KAAA,EAKA,SAAAU,KAAcA,GAAA;MACZ,IAAA,CAAKP,aAAgB,GAAA,IAAA,CAAA;AACvB,KAAA;AAAA,GAAA,EAAA;IAAAJ,GAAA,EAAA,aAAA;AAAAC,IAAAA,KAAA,EAKA,SAAAW,WAAiCA,GAAA;MAC/B,OAAO,IAAK,CAAAhB,QAAA,CAAA;AACd,KAAA;AAAA,GAAA,EAAA;IAAAI,GAAA,EAAA,gBAAA;AAAAC,IAAAA,KAAA,EAKA,SAAAY,eAAejB,QAAmC,EAAA;AAChD,MAAA,IAAA,CAAKA,uCAAgB,EAAA,EAAA,IAAK,CAAAA,QAAA,CAAaA,EAAAA,QAAS,CAAA,CAAA;AAClD,KAAA;AAAA,GAAA,EAAA;IAAAI,GAAA,EAAA,gBAAA;AAAAC,IAAAA,KAAA,EAKA,SAAAa,eAAeX,MAAmC,EAAA;AAChD,MAAA,IAAI,CAACA,MAAU,IAAA,CAACA,OAAOY,IAAQ,IAAA,CAACZ,OAAOa,QAAU,EAAA;AAC/CP,QAAAA,OAAA,CAAQQ,MAAM,sFAA8C,CAAA,CAAA;AACrD,QAAA,OAAA,KAAA,CAAA;AACT,OAAA;MAEM,IAAAC,WAAA,GAAcf,MAAO,CAAAa,QAAA,CAASb,MAAO,CAAAY,IAAA,CAAA,CAAA;MAC3C,IAAI,CAACG,WAAa,EAAA;AAChBT,QAAAA,OAAA,CAAQQ,MAAM,wFAAsC,CAAA,CAAA;AAC7C,QAAA,OAAA,KAAA,CAAA;AACT,OAAA;AAEO,MAAA,OAAA,IAAA,CAAA;AACT,KAAA;AAAA,GAAA,EAAA;IAAAjB,GAAA,EAAA,sBAAA;AAAAC,IAAAA,KAAA,EAMA,SAAAkB,oBAAAA,CAAqBhB,QAA0BK,SAAiD,EAAA;MAC9F,IAAMY,WAAc,GAAAC,MAAA,CAAOC,IAAK,CAAAnB,MAAA,CAAOa,QAAQ,CAAA,CAAA;AAC/C,MAAA,IAAMO,YAAYH,WAAY,CAAAI,KAAA,CAAMhB,SAAU,CAAAiB,SAAA,EAAWjB,UAAUkB,OAAO,CAAA,CAAA;MAE1E,IAAMC,gBAA2C,EAAC,CAAA;AACxCJ,MAAAA,SAAA,CAAAK,OAAA,CAAQ,UAAC5B,GAAQ,EAAA;QACX2B,aAAA,CAAA3B,GAAA,CAAA,GAAOG,OAAOa,QAAS,CAAAhB,GAAA,CAAA,CAAA;AACvC,OAAC,CAAA,CAAA;AAEM,MAAA,OAAA2B,aAAA,CAAA;AACT,KAAA;AAAA,GAAA,CAAA,CAAA,CAAA;AAAA,CAAA,GAAA;AAMK,SAASE,uBAAuBjC,QAA+C,EAAA;AAC7E,EAAA,OAAA,IAAID,iBAAiBC,QAAQ,CAAA,CAAA;AACtC;;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* json-render 集成模块入口
|
|
3
|
+
* 导出所有核心 API 和类型
|
|
4
|
+
*/
|
|
5
|
+
export { JsonRenderActivityRenderer } from './JsonRenderActivityRenderer';
|
|
6
|
+
export type { JsonRenderActivityRendererProps } from './JsonRenderActivityRenderer';
|
|
7
|
+
export { A2UIJsonRenderActivityRenderer } from './A2UIJsonRenderActivityRenderer';
|
|
8
|
+
export type { A2UIJsonRenderActivityRendererProps } from './A2UIJsonRenderActivityRenderer';
|
|
9
|
+
export { JsonRenderEngine, createJsonRenderEngine } from './engine';
|
|
10
|
+
export { PerformanceMonitor, globalPerformanceMonitor, checkPerformance, PERFORMANCE_THRESHOLDS, } from './performance';
|
|
11
|
+
export type { PerformanceMetrics } from './performance';
|
|
12
|
+
export type { JsonRenderSchema, ComponentCatalog, JsonRenderContext, DeltaInfo, JsonRenderActivityProps, A2UIAdapterConfig, } from './types';
|
|
13
|
+
export { createCustomRegistry, tdesignRegistry, withStableProps } from './catalog/index';
|
|
14
|
+
export type { CreateCustomRegistryOptions } from './catalog/index';
|
|
15
|
+
export { tdesignCatalog, createCustomCatalog, tdesignComponentList, tdesignActionList, generateCatalogPrompt, } from './catalog/index';
|
|
16
|
+
export type { Catalog } from '@json-render/core';
|
|
17
|
+
export type { PromptTemplateMode, CustomTemplateGenerator, ComponentDoc, NormalizedComponentDoc } from './catalog';
|
|
18
|
+
export { a2uiRegistry, createA2UIRegistry, A2UITextField, A2UIButton } from './catalog/index';
|
|
19
|
+
export { withA2UIBinding } from './catalog/index';
|
|
20
|
+
export type { A2UIBindingConfig } from './catalog/index';
|
|
21
|
+
export { JsonRenderButton } from './catalog/button';
|
|
22
|
+
export { JsonRenderInput } from './catalog/input';
|
|
23
|
+
export { JsonRenderCard } from './catalog/card';
|
|
24
|
+
export { JsonRenderRow, JsonRenderCol, JsonRenderSpace, JsonRenderDivider, } from './catalog/layout';
|
|
25
|
+
export { createJsonRenderActivityConfig, defaultJsonRenderActivityConfig, createA2UIJsonRenderActivityConfig, defaultA2UIJsonRenderActivityConfig, } from './config';
|
|
26
|
+
export type { JsonRenderActivityConfigOptions } from './config';
|
|
27
|
+
export * from './adapters';
|
|
28
|
+
export { surfaceStateManager, SurfaceStateManager } from './SurfaceStateManager';
|
|
29
|
+
export type { SurfaceCache, SurfaceSubscriber } from './SurfaceStateManager';
|
|
30
|
+
export { createJsonRenderActivityConfig as default } from './config';
|
|
31
|
+
export { DataProvider, useData, useDataValue, useDataBinding, type DataContextValue, type DataProviderProps, } from "./contexts/data";
|
|
32
|
+
export { VisibilityProvider, useVisibility, useIsVisible, type VisibilityContextValue, type VisibilityProviderProps, } from "./contexts/visibility";
|
|
33
|
+
export { ActionProvider, useActions, useAction, ConfirmDialog, type ActionContextValue, type ActionProviderProps, type PendingConfirmation, type ConfirmDialogProps, } from "./contexts/actions";
|
|
34
|
+
export { ValidationProvider, useValidation, useFieldValidation, type ValidationContextValue, type ValidationProviderProps, type FieldValidationState, } from "./contexts/validation";
|
|
35
|
+
export { Renderer, JSONUIProvider, createRendererFromCatalog, type ComponentRenderProps, type ComponentRenderer, type ComponentRegistry, type RendererProps, type JSONUIProviderProps, } from "./renderer";
|
|
36
|
+
export * from './catalog';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.1.0-alpha.1
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export { e as A2UIButton, A as A2UIJsonRenderActivityRenderer, d as A2UITextField, J as JsonRenderActivityRenderer, g as JsonRenderInput, a as a2uiRegistry, j as createA2UIJsonRenderActivityConfig, b as createA2UIRegistry, c as createCustomRegistry, h as createJsonRenderActivityConfig, h as default, k as defaultA2UIJsonRenderActivityConfig, i as defaultJsonRenderActivityConfig, t as tdesignRegistry, f as withA2UIBinding, w as withStableProps } from '../../../_chunks/dep-870f0d35.js';
|
|
8
|
+
export { JsonRenderEngine, createJsonRenderEngine } from './engine.js';
|
|
9
|
+
export { PERFORMANCE_THRESHOLDS, PerformanceMonitor, checkPerformance, globalPerformanceMonitor } from './performance.js';
|
|
10
|
+
export { JsonRenderButton } from './catalog/button.js';
|
|
11
|
+
export { JsonRenderCard } from './catalog/card.js';
|
|
12
|
+
export { JsonRenderCol, JsonRenderDivider, JsonRenderRow, JsonRenderSpace } from './catalog/layout.js';
|
|
13
|
+
import './adapters/index.js';
|
|
14
|
+
export { SurfaceStateManager, surfaceStateManager } from './SurfaceStateManager.js';
|
|
15
|
+
export { DataProvider, useData, useDataBinding, useDataValue } from './contexts/data.js';
|
|
16
|
+
export { VisibilityProvider, useIsVisible, useVisibility } from './contexts/visibility.js';
|
|
17
|
+
export { ActionProvider, ConfirmDialog, useAction, useActions } from './contexts/actions.js';
|
|
18
|
+
export { ValidationProvider, useFieldValidation, useValidation } from './contexts/validation.js';
|
|
19
|
+
export { JSONUIProvider, Renderer, createRendererFromCatalog } from './renderer.js';
|
|
20
|
+
export { createCustomCatalog, generateCatalogPrompt, tdesignActionList, tdesignCatalog, tdesignComponentList } from './catalog.js';
|
|
21
|
+
export { default as A2UIAdapter, applyA2UIDataUpdate, applyA2UIUpdates, convertA2UIMessagesToJsonRender } from './adapters/a2ui-to-jsonrender.js';
|
|
22
|
+
import 'react';
|
|
23
|
+
import '@babel/runtime/helpers/typeof';
|
|
24
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
25
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
26
|
+
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
27
|
+
import 'tdesign-react';
|
|
28
|
+
import '@json-render/core';
|
|
29
|
+
import './catalog/text.js';
|
|
30
|
+
import '@babel/runtime/helpers/classCallCheck';
|
|
31
|
+
import '@babel/runtime/helpers/createClass';
|
|
32
|
+
import '@babel/runtime/helpers/toConsumableArray';
|
|
33
|
+
import '@babel/runtime/helpers/asyncToGenerator';
|
|
34
|
+
import '@babel/runtime/regenerator';
|
|
35
|
+
import 'zod';
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* json-render 性能监控和优化工具
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 性能指标
|
|
6
|
+
*/
|
|
7
|
+
export interface PerformanceMetrics {
|
|
8
|
+
/** 渲染类型 */
|
|
9
|
+
type: 'snapshot' | 'delta';
|
|
10
|
+
/** 渲染开始时间 */
|
|
11
|
+
startTime: number;
|
|
12
|
+
/** 渲染结束时间 */
|
|
13
|
+
endTime: number;
|
|
14
|
+
/** 渲染耗时(ms) */
|
|
15
|
+
duration: number;
|
|
16
|
+
/** Schema 元素数量 */
|
|
17
|
+
elementCount: number;
|
|
18
|
+
/** 增量信息(仅 delta 类型) */
|
|
19
|
+
deltaInfo?: {
|
|
20
|
+
fromIndex: number;
|
|
21
|
+
toIndex: number;
|
|
22
|
+
newElementsCount: number;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 性能监控器
|
|
27
|
+
*/
|
|
28
|
+
export declare class PerformanceMonitor {
|
|
29
|
+
private metrics;
|
|
30
|
+
private maxMetricsCount;
|
|
31
|
+
/**
|
|
32
|
+
* 开始性能测量
|
|
33
|
+
*/
|
|
34
|
+
start(): () => PerformanceMetrics;
|
|
35
|
+
/**
|
|
36
|
+
* 添加性能指标
|
|
37
|
+
*/
|
|
38
|
+
private addMetric;
|
|
39
|
+
/**
|
|
40
|
+
* 获取所有指标
|
|
41
|
+
*/
|
|
42
|
+
getMetrics(): PerformanceMetrics[];
|
|
43
|
+
/**
|
|
44
|
+
* 获取平均渲染时间
|
|
45
|
+
*/
|
|
46
|
+
getAverageDuration(type?: 'snapshot' | 'delta'): number;
|
|
47
|
+
/**
|
|
48
|
+
* 获取最近 N 次渲染的平均时间
|
|
49
|
+
*/
|
|
50
|
+
getRecentAverageDuration(count?: number): number;
|
|
51
|
+
/**
|
|
52
|
+
* 获取性能统计摘要
|
|
53
|
+
*/
|
|
54
|
+
getSummary(): {
|
|
55
|
+
totalRenders: number;
|
|
56
|
+
snapshotRenders: number;
|
|
57
|
+
deltaRenders: number;
|
|
58
|
+
avgSnapshotDuration: number;
|
|
59
|
+
avgDeltaDuration: number;
|
|
60
|
+
recentAvgDuration: number;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* 重置所有指标
|
|
64
|
+
*/
|
|
65
|
+
reset(): void;
|
|
66
|
+
/**
|
|
67
|
+
* 打印性能摘要
|
|
68
|
+
*/
|
|
69
|
+
printSummary(): void;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* 全局性能监控实例
|
|
73
|
+
*/
|
|
74
|
+
export declare const globalPerformanceMonitor: PerformanceMonitor;
|
|
75
|
+
/**
|
|
76
|
+
* 性能警告阈值(ms)
|
|
77
|
+
*/
|
|
78
|
+
export declare const PERFORMANCE_THRESHOLDS: {
|
|
79
|
+
snapshot: number;
|
|
80
|
+
delta: number;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* 检查性能并发出警告
|
|
84
|
+
*/
|
|
85
|
+
export declare function checkPerformance(metric: PerformanceMetrics): void;
|
|
86
|
+
declare const _default: {
|
|
87
|
+
PerformanceMonitor: typeof PerformanceMonitor;
|
|
88
|
+
globalPerformanceMonitor: PerformanceMonitor;
|
|
89
|
+
checkPerformance: typeof checkPerformance;
|
|
90
|
+
};
|
|
91
|
+
export default _default;
|