@tdesign-react/chat 1.0.2-alpha.8 → 1.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/_chunks/dep-f2051ebd.js +839 -0
- package/es/_chunks/dep-f2051ebd.js.map +1 -0
- package/es/_util/reactify.d.ts +1 -2
- package/es/_util/reactify.js +81 -231
- package/es/_util/reactify.js.map +1 -1
- package/es/_util/useDynamicStyle.js +1 -1
- package/es/attachments/index.js +4 -6
- package/es/attachments/index.js.map +1 -1
- package/es/chat-actionbar/_example-js/base.d.ts +2 -0
- package/es/chat-actionbar/_example-js/custom.d.ts +2 -0
- package/es/chat-actionbar/_example-js/style.d.ts +2 -0
- package/es/chat-actionbar/index.js +4 -6
- package/es/chat-actionbar/index.js.map +1 -1
- package/es/chat-attachments/_example-js/base.d.ts +2 -0
- package/es/chat-attachments/_example-js/scroll-x.d.ts +2 -0
- package/es/chat-attachments/_example-js/scroll-y.d.ts +2 -0
- package/es/chat-attachments/index.js +3 -1
- package/es/chat-attachments/index.js.map +1 -1
- package/es/chat-engine/_example-js/agui-basic.d.ts +10 -0
- package/es/chat-engine/_example-js/agui-comprehensive.d.ts +2 -0
- package/es/chat-engine/_example-js/agui-test.d.ts +11 -0
- package/es/chat-engine/_example-js/agui-toolcall.d.ts +5 -0
- package/es/chat-engine/_example-js/agui-videoclip.d.ts +8 -0
- package/es/chat-engine/_example-js/agui.d.ts +1 -0
- package/es/chat-engine/_example-js/basic.d.ts +9 -0
- package/es/chat-engine/_example-js/components/HotelCard.d.ts +3 -0
- package/es/chat-engine/_example-js/components/HumanInputForm.d.ts +6 -0
- package/es/chat-engine/_example-js/components/HumanInputResult.d.ts +3 -0
- package/es/chat-engine/_example-js/components/ItineraryCard.d.ts +3 -0
- package/es/chat-engine/_example-js/components/PlanningStatePanel.d.ts +4 -0
- package/es/chat-engine/_example-js/components/Toolcall.d.ts +4 -0
- package/es/chat-engine/_example-js/components/WeatherCard.d.ts +3 -0
- package/es/chat-engine/_example-js/components/login.d.ts +1 -0
- package/es/chat-engine/_example-js/comprehensive.d.ts +12 -0
- package/es/chat-engine/_example-js/custom-content.d.ts +1 -0
- package/es/chat-engine/_example-js/hookComponent.d.ts +1 -0
- package/es/chat-engine/_example-js/initial-messages.d.ts +9 -0
- package/es/chat-engine/_example-js/instance-methods.d.ts +13 -0
- package/es/chat-engine/_example-js/travel-actions.d.ts +91 -0
- package/es/chat-engine/_example-js/travelToolcall.d.ts +1 -0
- 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/{chatbot/components/toolcall → chat-engine/components/activity}/index.d.ts +1 -0
- package/es/chat-engine/components/activity/index.js +18 -0
- package/es/chat-engine/components/activity/index.js.map +1 -0
- package/es/chat-engine/components/activity/registry.d.ts +44 -0
- package/es/{chatbot/components/toolcall → chat-engine/components/activity}/registry.js +32 -22
- package/es/chat-engine/components/activity/registry.js.map +1 -0
- package/es/chat-engine/components/activity/render.d.ts +11 -0
- package/es/chat-engine/components/activity/render.js +107 -0
- package/es/chat-engine/components/activity/render.js.map +1 -0
- package/es/chat-engine/components/activity/types.d.ts +32 -0
- package/es/chat-engine/components/activity/types.js +7 -0
- package/es/chat-engine/components/activity/types.js.map +1 -0
- package/es/chat-engine/components/index.d.ts +4 -0
- package/es/chat-engine/components/index.js +76 -0
- package/es/chat-engine/components/index.js.map +1 -0
- package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.d.ts +36 -0
- package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js +36 -0
- package/es/chat-engine/components/json-render/A2UIJsonRenderActivityRenderer.js.map +1 -0
- package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.d.ts +46 -0
- package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js +36 -0
- package/es/chat-engine/components/json-render/JsonRenderActivityRenderer.js.map +1 -0
- package/es/chat-engine/components/json-render/SurfaceStateManager.d.ts +113 -0
- package/es/chat-engine/components/json-render/SurfaceStateManager.js +195 -0
- package/es/chat-engine/components/json-render/SurfaceStateManager.js.map +1 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.d.ts +49 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js +307 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-to-jsonrender.js.map +1 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-types.d.ts +96 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-types.js +7 -0
- package/es/chat-engine/components/json-render/adapters/a2ui-types.js.map +1 -0
- package/es/chat-engine/components/json-render/adapters/index.d.ts +7 -0
- package/es/chat-engine/components/json-render/adapters/index.js +11 -0
- package/es/chat-engine/components/json-render/adapters/index.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-binding.d.ts +64 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-binding.js +36 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-binding.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-registry.d.ts +78 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-registry.js +36 -0
- package/es/chat-engine/components/json-render/catalog/a2ui-registry.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/button.d.ts +14 -0
- package/es/chat-engine/components/json-render/catalog/button.js +71 -0
- package/es/chat-engine/components/json-render/catalog/button.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/card.d.ts +11 -0
- package/es/chat-engine/components/json-render/catalog/card.js +57 -0
- package/es/chat-engine/components/json-render/catalog/card.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/index.d.ts +127 -0
- package/es/chat-engine/components/json-render/catalog/index.js +36 -0
- package/es/chat-engine/components/json-render/catalog/index.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/input.d.ts +20 -0
- package/es/chat-engine/components/json-render/catalog/input.js +36 -0
- package/es/chat-engine/components/json-render/catalog/input.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/layout.d.ts +44 -0
- package/es/chat-engine/components/json-render/catalog/layout.js +129 -0
- package/es/chat-engine/components/json-render/catalog/layout.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog/text.d.ts +11 -0
- package/es/chat-engine/components/json-render/catalog/text.js +31 -0
- package/es/chat-engine/components/json-render/catalog/text.js.map +1 -0
- package/es/chat-engine/components/json-render/catalog.d.ts +549 -0
- package/es/chat-engine/components/json-render/catalog.js +147 -0
- package/es/chat-engine/components/json-render/catalog.js.map +1 -0
- package/es/chat-engine/components/json-render/config.d.ts +154 -0
- package/es/chat-engine/components/json-render/config.js +36 -0
- package/es/chat-engine/components/json-render/config.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/actions.d.ts +74 -0
- package/es/chat-engine/components/json-render/contexts/actions.js +290 -0
- package/es/chat-engine/components/json-render/contexts/actions.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/data.d.ts +45 -0
- package/es/chat-engine/components/json-render/contexts/data.js +104 -0
- package/es/chat-engine/components/json-render/contexts/data.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/validation.d.ts +59 -0
- package/es/chat-engine/components/json-render/contexts/validation.js +151 -0
- package/es/chat-engine/components/json-render/contexts/validation.js.map +1 -0
- package/es/chat-engine/components/json-render/contexts/visibility.d.ts +29 -0
- package/es/chat-engine/components/json-render/contexts/visibility.js +56 -0
- package/es/chat-engine/components/json-render/contexts/visibility.js.map +1 -0
- package/es/chat-engine/components/json-render/engine.d.ts +58 -0
- package/es/chat-engine/components/json-render/engine.js +88 -0
- package/es/chat-engine/components/json-render/engine.js.map +1 -0
- package/es/chat-engine/components/json-render/index.d.ts +34 -0
- package/es/chat-engine/components/json-render/index.js +36 -0
- package/es/chat-engine/components/json-render/index.js.map +1 -0
- package/es/chat-engine/components/json-render/performance.d.ts +91 -0
- package/es/chat-engine/components/json-render/performance.js +135 -0
- package/es/chat-engine/components/json-render/performance.js.map +1 -0
- package/es/chat-engine/components/json-render/renderer.d.ts +71 -0
- package/es/chat-engine/components/json-render/renderer.js +124 -0
- package/es/chat-engine/components/json-render/renderer.js.map +1 -0
- package/es/chat-engine/components/json-render/types.d.ts +69 -0
- package/es/chat-engine/components/json-render/types.js +7 -0
- package/es/chat-engine/components/json-render/types.js.map +1 -0
- package/es/chat-engine/components/provider/agent-state.js +39 -2
- package/es/chat-engine/components/provider/agent-state.js.map +1 -1
- package/es/chat-engine/components/toolcall/index.js +35 -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 +102 -26
- 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 +149 -0
- package/es/chat-engine/core/adapters/agui/event-mapper.js +415 -0
- package/es/chat-engine/core/adapters/agui/event-mapper.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/events.d.ts +1550 -0
- package/es/chat-engine/core/adapters/agui/events.js +199 -0
- package/es/chat-engine/core/adapters/agui/events.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/index.d.ts +95 -0
- package/es/chat-engine/core/adapters/agui/index.js +195 -0
- package/es/chat-engine/core/adapters/agui/index.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/state-manager.d.ts +99 -0
- package/es/chat-engine/core/adapters/agui/state-manager.js +168 -0
- package/es/chat-engine/core/adapters/agui/state-manager.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/types.d.ts +818 -0
- package/es/chat-engine/core/adapters/agui/types.js +95 -0
- package/es/chat-engine/core/adapters/agui/types.js.map +1 -0
- package/es/chat-engine/core/adapters/agui/utils.d.ts +203 -0
- package/es/chat-engine/core/adapters/agui/utils.js +330 -0
- package/es/chat-engine/core/adapters/agui/utils.js.map +1 -0
- package/es/chat-engine/core/event-bus/ChatEventBus.d.ts +88 -0
- package/es/chat-engine/core/event-bus/ChatEventBus.js +295 -0
- package/es/chat-engine/core/event-bus/ChatEventBus.js.map +1 -0
- package/es/chat-engine/core/event-bus/index.d.ts +5 -0
- package/es/chat-engine/core/event-bus/index.js +13 -0
- package/es/chat-engine/core/event-bus/index.js.map +1 -0
- package/es/chat-engine/core/event-bus/types.d.ts +230 -0
- package/es/chat-engine/core/event-bus/types.js +32 -0
- package/es/chat-engine/core/event-bus/types.js.map +1 -0
- package/es/chat-engine/core/index.d.ts +147 -0
- package/es/chat-engine/core/index.js +754 -0
- package/es/chat-engine/core/index.js.map +1 -0
- package/es/chat-engine/core/processor/index.d.ts +20 -0
- package/es/chat-engine/core/processor/index.js +146 -0
- package/es/chat-engine/core/processor/index.js.map +1 -0
- package/es/chat-engine/core/server/batch-client.d.ts +20 -0
- package/es/chat-engine/core/server/batch-client.js +114 -0
- package/es/chat-engine/core/server/batch-client.js.map +1 -0
- package/es/chat-engine/core/server/connection-manager.d.ts +39 -0
- package/es/chat-engine/core/server/connection-manager.js +84 -0
- package/es/chat-engine/core/server/connection-manager.js.map +1 -0
- package/es/chat-engine/core/server/errors.d.ts +22 -0
- package/es/chat-engine/core/server/errors.js +80 -0
- package/es/chat-engine/core/server/errors.js.map +1 -0
- package/es/chat-engine/core/server/index.d.ts +11 -0
- package/es/chat-engine/core/server/index.js +26 -0
- package/es/chat-engine/core/server/index.js.map +1 -0
- package/es/chat-engine/core/server/llm-service.d.ts +44 -0
- package/es/chat-engine/core/server/llm-service.js +200 -0
- package/es/chat-engine/core/server/llm-service.js.map +1 -0
- package/es/chat-engine/core/server/sse-client.d.ts +77 -0
- package/es/chat-engine/core/server/sse-client.js +362 -0
- package/es/chat-engine/core/server/sse-client.js.map +1 -0
- package/es/chat-engine/core/server/sse-parser.d.ts +49 -0
- package/es/chat-engine/core/server/sse-parser.js +116 -0
- package/es/chat-engine/core/server/sse-parser.js.map +1 -0
- package/es/chat-engine/core/server/types.d.ts +54 -0
- package/es/chat-engine/core/server/types.js +28 -0
- package/es/chat-engine/core/server/types.js.map +1 -0
- package/es/chat-engine/core/store/message.d.ts +27 -0
- package/es/chat-engine/core/store/message.js +263 -0
- package/es/chat-engine/core/store/message.js.map +1 -0
- package/es/chat-engine/core/store/model.d.ts +8 -0
- package/es/chat-engine/core/store/model.js +65 -0
- package/es/chat-engine/core/store/model.js.map +1 -0
- package/es/chat-engine/core/store/reactiveState.d.ts +52 -0
- package/es/chat-engine/core/store/reactiveState.js +1359 -0
- package/es/chat-engine/core/store/reactiveState.js.map +1 -0
- package/es/chat-engine/core/type.d.ts +271 -0
- package/es/chat-engine/core/type.js +7 -0
- package/es/chat-engine/core/type.js.map +1 -0
- package/es/chat-engine/core/utils/eventEmitter.d.ts +10 -0
- package/es/chat-engine/core/utils/eventEmitter.js +67 -0
- package/es/chat-engine/core/utils/eventEmitter.js.map +1 -0
- package/es/chat-engine/core/utils/index.d.ts +33 -0
- package/es/chat-engine/core/utils/index.js +999 -0
- package/es/chat-engine/core/utils/index.js.map +1 -0
- package/es/chat-engine/core/utils/logger.d.ts +30 -0
- package/es/chat-engine/core/utils/logger.js +87 -0
- package/es/chat-engine/core/utils/logger.js.map +1 -0
- package/es/chat-engine/hooks/a2ui/A2UIContext.d.ts +90 -0
- package/es/chat-engine/hooks/a2ui/A2UIContext.js +97 -0
- package/es/chat-engine/hooks/a2ui/A2UIContext.js.map +1 -0
- package/es/chat-engine/hooks/a2ui/index.d.ts +12 -0
- package/es/chat-engine/hooks/a2ui/index.js +19 -0
- package/es/chat-engine/hooks/a2ui/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.d.ts +4 -0
- package/es/chat-engine/hooks/index.js +54 -0
- package/es/chat-engine/hooks/index.js.map +1 -0
- package/es/chat-engine/hooks/useAgentActivity.d.ts +15 -0
- package/es/chat-engine/hooks/useAgentActivity.js +73 -0
- package/es/chat-engine/hooks/useAgentActivity.js.map +1 -0
- 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 +41 -3
- package/es/chat-engine/hooks/useChat.js.map +1 -1
- package/es/chat-engine/hooks/useJsonRenderActivity.d.ts +56 -0
- package/es/chat-engine/hooks/useJsonRenderActivity.js +63 -0
- package/es/chat-engine/hooks/useJsonRenderActivity.js.map +1 -0
- package/es/chat-engine/index.d.ts +3 -3
- package/es/chat-engine/index.js +61 -5
- package/es/chat-engine/index.js.map +1 -1
- package/es/chat-filecard/_example-js/base.d.ts +1 -0
- package/es/chat-filecard/index.js +4 -6
- package/es/chat-filecard/index.js.map +1 -1
- package/es/chat-loading/_example-js/base.d.ts +2 -0
- package/es/chat-loading/_example-js/text.d.ts +2 -0
- package/es/chat-loading/index.js +4 -6
- package/es/chat-loading/index.js.map +1 -1
- package/es/chat-markdown/_example-js/base.d.ts +1 -0
- package/es/chat-markdown/_example-js/custom.d.ts +2 -0
- package/es/chat-markdown/_example-js/event.d.ts +1 -0
- package/es/chat-markdown/_example-js/footnote.d.ts +2 -0
- package/es/chat-markdown/_example-js/plugin.d.ts +2 -0
- package/es/chat-markdown/_example-js/theme.d.ts +2 -0
- package/es/chat-markdown/index.js +4 -6
- package/es/chat-markdown/index.js.map +1 -1
- package/es/chat-message/_example-js/action.d.ts +1 -0
- package/es/chat-message/_example-js/base.d.ts +1 -0
- package/es/chat-message/_example-js/configure.d.ts +1 -0
- package/es/chat-message/_example-js/content.d.ts +1 -0
- package/es/chat-message/_example-js/custom.d.ts +1 -0
- package/es/chat-message/_example-js/handle-actions.d.ts +7 -0
- package/es/chat-message/_example-js/status.d.ts +1 -0
- package/es/chat-message/_example-js/think.d.ts +1 -0
- package/es/chat-message/index.js +4 -6
- package/es/chat-message/index.js.map +1 -1
- package/es/chat-sender/_example-js/attachment.d.ts +2 -0
- package/es/chat-sender/_example-js/base.d.ts +2 -0
- package/es/chat-sender/_example-js/custom.d.ts +2 -0
- package/es/chat-sender/index.js +4 -6
- package/es/chat-sender/index.js.map +1 -1
- package/es/chat-thinking/_example-js/base.d.ts +1 -0
- package/es/chat-thinking/_example-js/style.d.ts +1 -0
- package/es/chat-thinking/index.js +4 -6
- package/es/chat-thinking/index.js.map +1 -1
- package/es/chatbot/_example-js/agent.d.ts +1 -0
- package/es/chatbot/_example-js/agui.d.ts +13 -0
- package/es/chatbot/_example-js/backup/travel.d.ts +1 -0
- package/es/chatbot/_example-js/basic.d.ts +1 -0
- package/es/chatbot/_example-js/code.d.ts +1 -0
- package/es/chatbot/_example-js/components/ItineraryCard.d.ts +3 -0
- package/es/chatbot/_example-js/components/login.d.ts +1 -0
- package/es/chatbot/_example-js/comprehensive.d.ts +1 -0
- package/es/chatbot/_example-js/custom-content.d.ts +1 -0
- package/es/chatbot/_example-js/custom-merge.d.ts +1 -0
- package/es/chatbot/_example-js/custom.d.ts +1 -0
- package/es/chatbot/_example-js/docs.d.ts +1 -0
- package/es/chatbot/_example-js/image.d.ts +1 -0
- package/es/chatbot/_example-js/initial-messages.d.ts +9 -0
- package/es/chatbot/_example-js/instance-methods.d.ts +14 -0
- package/es/chatbot/_example-js/nostream.d.ts +1 -0
- package/es/chatbot/_example-js/quick-start.d.ts +9 -0
- package/es/chatbot/_example-js/research.d.ts +1 -0
- package/es/chatbot/_example-js/role-message-config.d.ts +22 -0
- package/es/chatbot/_example-js/sender-config.d.ts +20 -0
- package/es/chatbot/_example-js/service-config.d.ts +17 -0
- package/es/chatbot/_example-js/simple.d.ts +1 -0
- package/es/chatbot/_example-js/utils/messageRenderer.d.ts +5 -0
- package/es/chatbot/docs/react-best-practice.d.ts +13 -0
- package/es/chatbot/index.js +4 -6
- package/es/chatbot/index.js.map +1 -1
- package/es/index.js +59 -9
- package/es/index.js.map +1 -1
- package/es/style/index.js +1 -1
- package/package.json +6 -3
- package/es/chatbot/components/provider/agent-state.d.ts +0 -5
- package/es/chatbot/components/provider/agent-state.js +0 -28
- package/es/chatbot/components/provider/agent-state.js.map +0 -1
- package/es/chatbot/components/toolcall/index.js +0 -19
- package/es/chatbot/components/toolcall/registry.d.ts +0 -35
- package/es/chatbot/components/toolcall/registry.js.map +0 -1
- package/es/chatbot/components/toolcall/render.d.ts +0 -13
- package/es/chatbot/components/toolcall/render.js +0 -207
- package/es/chatbot/components/toolcall/render.js.map +0 -1
- package/es/chatbot/components/toolcall/types.d.ts +0 -57
- package/es/chatbot/components/toolcall/types.js +0 -15
- package/es/chatbot/components/toolcall/types.js.map +0 -1
- package/es/chatbot/hooks/useAgentState.d.ts +0 -40
- package/es/chatbot/hooks/useAgentState.js +0 -76
- package/es/chatbot/hooks/useAgentState.js.map +0 -1
- package/es/chatbot/hooks/useAgentToolcall.d.ts +0 -28
- package/es/chatbot/hooks/useAgentToolcall.js +0 -78
- package/es/chatbot/hooks/useAgentToolcall.js.map +0 -1
- package/es/chatbot/hooks/useChat.d.ts +0 -11
- package/es/chatbot/hooks/useChat.js +0 -66
- package/es/chatbot/hooks/useChat.js.map +0 -1
- /package/es/{chatbot/components/toolcall → chat-engine/hooks/a2ui}/index.js.map +0 -0
package/es/_util/reactify.js
CHANGED
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* tdesign v1.0.2-alpha.
|
|
2
|
+
* tdesign v1.0.2-alpha.15
|
|
3
3
|
* (c) 2026 tdesign
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
7
8
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
8
|
-
import
|
|
9
|
+
import _typeof from '@babel/runtime/helpers/typeof';
|
|
10
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
9
11
|
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
10
12
|
import _createClass from '@babel/runtime/helpers/createClass';
|
|
11
13
|
import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstructorReturn';
|
|
12
14
|
import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
|
|
13
15
|
import _inherits from '@babel/runtime/helpers/inherits';
|
|
14
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
15
|
-
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
16
|
-
import _typeof from '@babel/runtime/helpers/typeof';
|
|
17
16
|
import React, { createRef, createElement, Component, forwardRef } from 'react';
|
|
18
|
-
import ReactDOM from 'react-dom';
|
|
19
17
|
import { createRoot } from 'react-dom/client';
|
|
20
18
|
|
|
21
19
|
var _excluded = ["children", "className"];
|
|
@@ -23,75 +21,28 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
23
21
|
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; }
|
|
24
22
|
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
25
23
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
26
|
-
var
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
var isReact19Plus = function isReact19Plus() {
|
|
30
|
-
var majorVersion = parseInt(React.version.split(".")[0], 10);
|
|
31
|
-
return majorVersion >= 19;
|
|
24
|
+
var hyphenateRE = /\B([A-Z])/g;
|
|
25
|
+
var hyphenate = function hyphenate(string) {
|
|
26
|
+
return string.replace(hyphenateRE, "-$1").toLowerCase();
|
|
32
27
|
};
|
|
33
|
-
var
|
|
34
|
-
|
|
35
|
-
if (
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
rootCache.set(container, cached);
|
|
42
|
-
}
|
|
43
|
-
return {
|
|
44
|
-
render: function render(element) {
|
|
45
|
-
if (cached.lastElement !== element) {
|
|
46
|
-
cached.root.render(element);
|
|
47
|
-
cached.lastElement = element;
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
unmount: function unmount() {
|
|
51
|
-
cached.root.unmount();
|
|
52
|
-
rootCache["delete"](container);
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
return {
|
|
57
|
-
render: function render(element) {
|
|
58
|
-
ReactDOM.render(element, container);
|
|
59
|
-
},
|
|
60
|
-
unmount: function unmount() {
|
|
61
|
-
ReactDOM.unmountComponentAtNode(container);
|
|
62
|
-
}
|
|
63
|
-
};
|
|
28
|
+
var styleObjectToString = function styleObjectToString(style) {
|
|
29
|
+
if (!style) return "";
|
|
30
|
+
if (typeof style === "string") return style;
|
|
31
|
+
return Object.keys(style).reduce(function (acc, key) {
|
|
32
|
+
var value = style[key];
|
|
33
|
+
var cssKey = key.replace(hyphenateRE, "-$1").toLowerCase();
|
|
34
|
+
return acc.concat("".concat(cssKey, ":").concat(value));
|
|
35
|
+
}, []).join(";");
|
|
64
36
|
};
|
|
65
|
-
var isReactElement = function isReactElement(
|
|
66
|
-
return
|
|
37
|
+
var isReactElement = function isReactElement(node) {
|
|
38
|
+
return /*#__PURE__*/React.isValidElement(node);
|
|
67
39
|
};
|
|
68
40
|
var isValidReactNode = function isValidReactNode(node) {
|
|
69
41
|
return node !== null && node !== void 0 && (typeof node === "string" || typeof node === "number" || typeof node === "boolean" || isReactElement(node) || Array.isArray(node));
|
|
70
42
|
};
|
|
71
|
-
var
|
|
72
|
-
|
|
73
|
-
return
|
|
74
|
-
}
|
|
75
|
-
var styleObjectToString = function styleObjectToString(style) {
|
|
76
|
-
if (!style || _typeof(style) !== "object") return "";
|
|
77
|
-
var unitlessKeys = /* @__PURE__ */new Set(["animationIterationCount", "boxFlex", "boxFlexGroup", "boxOrdinalGroup", "columnCount", "fillOpacity", "flex", "flexGrow", "flexShrink", "fontWeight", "lineClamp", "lineHeight", "opacity", "order", "orphans", "tabSize", "widows", "zIndex", "zoom"]);
|
|
78
|
-
return Object.entries(style).filter(function (_ref) {
|
|
79
|
-
var _ref2 = _slicedToArray(_ref, 2),
|
|
80
|
-
value = _ref2[1];
|
|
81
|
-
return value != null && value !== "";
|
|
82
|
-
}).map(function (_ref3) {
|
|
83
|
-
var _ref4 = _slicedToArray(_ref3, 2),
|
|
84
|
-
key = _ref4[0],
|
|
85
|
-
value = _ref4[1];
|
|
86
|
-
var cssKey = key.replace(/[A-Z]/g, function (m) {
|
|
87
|
-
return "-".concat(m.toLowerCase());
|
|
88
|
-
});
|
|
89
|
-
var cssValue = value;
|
|
90
|
-
if (typeof value === "number" && value !== 0 && !unitlessKeys.has(key)) {
|
|
91
|
-
cssValue = "".concat(value, "px");
|
|
92
|
-
}
|
|
93
|
-
return "".concat(cssKey, ":").concat(cssValue, ";");
|
|
94
|
-
}).join(" ");
|
|
43
|
+
var isReact19Plus = function isReact19Plus() {
|
|
44
|
+
var version = React.version.split(".")[0];
|
|
45
|
+
return parseInt(version, 10) >= 19;
|
|
95
46
|
};
|
|
96
47
|
var reactify = function reactify(WC) {
|
|
97
48
|
var Reactify = /*#__PURE__*/function (_Component) {
|
|
@@ -99,10 +50,8 @@ var reactify = function reactify(WC) {
|
|
|
99
50
|
var _this;
|
|
100
51
|
_classCallCheck(this, Reactify);
|
|
101
52
|
_this = _callSuper(this, Reactify, [props]);
|
|
102
|
-
_defineProperty(_this, "processingSlots", /* @__PURE__ */new Set());
|
|
103
|
-
_defineProperty(_this, "lastRenderedElements", /* @__PURE__ */new Map());
|
|
104
53
|
_this.eventHandlers = [];
|
|
105
|
-
_this.
|
|
54
|
+
_this.slotInstances = /* @__PURE__ */new Map();
|
|
106
55
|
var innerRef = props.innerRef;
|
|
107
56
|
_this.ref = innerRef || /*#__PURE__*/createRef();
|
|
108
57
|
return _this;
|
|
@@ -121,27 +70,12 @@ var reactify = function reactify(WC) {
|
|
|
121
70
|
var _this2 = this;
|
|
122
71
|
var webComponent = this.ref.current;
|
|
123
72
|
if (!webComponent) return;
|
|
124
|
-
if (this.processingSlots.has(prop)) {
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
var currentRenderer = this.slotRenderers.get(prop);
|
|
128
|
-
if (currentRenderer && this.isSameReactElement(prop, val)) {
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
this.processingSlots.add(prop);
|
|
132
|
-
if (isValidReactNode(val)) {
|
|
133
|
-
this.lastRenderedElements.set(prop, val);
|
|
134
|
-
}
|
|
135
|
-
if (currentRenderer) {
|
|
136
|
-
this.cleanupSlotRenderer(prop);
|
|
137
|
-
}
|
|
138
73
|
if (typeof val === "function") {
|
|
139
74
|
var renderSlot = function renderSlot(params) {
|
|
140
75
|
var reactNode = val(params);
|
|
141
76
|
return _this2.renderReactNodeToSlot(reactNode, prop);
|
|
142
77
|
};
|
|
143
78
|
webComponent[prop] = renderSlot;
|
|
144
|
-
this.processingSlots["delete"](prop);
|
|
145
79
|
} else if (isValidReactNode(val)) {
|
|
146
80
|
webComponent[prop] = true;
|
|
147
81
|
Promise.resolve().then(function () {
|
|
@@ -149,180 +83,96 @@ var reactify = function reactify(WC) {
|
|
|
149
83
|
webComponent.update();
|
|
150
84
|
}
|
|
151
85
|
_this2.renderReactNodeToSlot(val, prop);
|
|
152
|
-
_this2.processingSlots["delete"](prop);
|
|
153
86
|
});
|
|
87
|
+
} else {
|
|
88
|
+
this.cleanupSlotRenderer(prop);
|
|
154
89
|
}
|
|
155
90
|
}
|
|
156
91
|
}, {
|
|
157
92
|
key: "cleanupSlotRenderer",
|
|
158
93
|
value: function cleanupSlotRenderer(slotName) {
|
|
159
|
-
var
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
}
|
|
168
|
-
}, {
|
|
169
|
-
key: "safeCleanupRenderer",
|
|
170
|
-
value: function safeCleanupRenderer(cleanup) {
|
|
171
|
-
try {
|
|
172
|
-
cleanup();
|
|
173
|
-
} catch (error) {
|
|
174
|
-
console.warn("Error cleaning up React renderer:", error);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
}, {
|
|
178
|
-
key: "clearSlotContainers",
|
|
179
|
-
value: function clearSlotContainers(slotName) {
|
|
180
|
-
var webComponent = this.ref.current;
|
|
181
|
-
if (!webComponent) return;
|
|
182
|
-
var containers = webComponent.querySelectorAll("[slot=\"".concat(slotName, "\"]"));
|
|
183
|
-
containers.forEach(function (container) {
|
|
184
|
-
if (container.parentNode) {
|
|
185
|
-
container.parentNode.removeChild(container);
|
|
94
|
+
var instance = this.slotInstances.get(slotName);
|
|
95
|
+
if (instance) {
|
|
96
|
+
setTimeout(function () {
|
|
97
|
+
instance.root.unmount();
|
|
98
|
+
}, 0);
|
|
99
|
+
if (instance.container.parentNode === this.ref.current) {
|
|
100
|
+
var _this$ref$current2;
|
|
101
|
+
(_this$ref$current2 = this.ref.current) === null || _this$ref$current2 === void 0 || _this$ref$current2.removeChild(instance.container);
|
|
186
102
|
}
|
|
187
|
-
|
|
188
|
-
}
|
|
189
|
-
}, {
|
|
190
|
-
key: "isSameReactElement",
|
|
191
|
-
value: function isSameReactElement(prop, val) {
|
|
192
|
-
var lastElement = this.lastRenderedElements.get(prop);
|
|
193
|
-
if (!lastElement || !isValidReactNode(val)) {
|
|
194
|
-
return false;
|
|
103
|
+
this.slotInstances["delete"](slotName);
|
|
195
104
|
}
|
|
196
|
-
if (lastElement === val) {
|
|
197
|
-
return true;
|
|
198
|
-
}
|
|
199
|
-
if (/*#__PURE__*/React.isValidElement(lastElement) && /*#__PURE__*/React.isValidElement(val)) {
|
|
200
|
-
var typeMatch = lastElement.type === val.type;
|
|
201
|
-
var keyMatch = lastElement.key === val.key;
|
|
202
|
-
var propsMatch = JSON.stringify(lastElement.props) === JSON.stringify(val.props);
|
|
203
|
-
return typeMatch && keyMatch && propsMatch;
|
|
204
|
-
}
|
|
205
|
-
return false;
|
|
206
105
|
}
|
|
207
106
|
}, {
|
|
208
107
|
key: "renderReactNodeToSlot",
|
|
209
108
|
value: function renderReactNodeToSlot(reactNode, slotName) {
|
|
210
|
-
var _this4 = this;
|
|
211
109
|
var webComponent = this.ref.current;
|
|
212
110
|
if (!webComponent) return;
|
|
213
|
-
var
|
|
214
|
-
if (
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
var cleanupFn = null;
|
|
222
|
-
if (isValidReactNode(reactNode)) {
|
|
223
|
-
if (/*#__PURE__*/React.isValidElement(reactNode)) {
|
|
224
|
-
try {
|
|
225
|
-
var renderer = createRenderer(container);
|
|
226
|
-
renderer.render(reactNode);
|
|
227
|
-
cleanupFn = function cleanupFn() {
|
|
228
|
-
try {
|
|
229
|
-
renderer.unmount();
|
|
230
|
-
} catch (error) {
|
|
231
|
-
console.warn("Error unmounting React renderer:", error);
|
|
232
|
-
}
|
|
233
|
-
};
|
|
234
|
-
} catch (error) {
|
|
235
|
-
console.warn("Error creating React renderer:", error);
|
|
236
|
-
}
|
|
237
|
-
} else if (typeof reactNode === "string" || typeof reactNode === "number") {
|
|
238
|
-
container.textContent = String(reactNode);
|
|
239
|
-
cleanupFn = function cleanupFn() {
|
|
240
|
-
container.textContent = "";
|
|
241
|
-
};
|
|
242
|
-
} else if (Array.isArray(reactNode)) {
|
|
243
|
-
try {
|
|
244
|
-
var _renderer = createRenderer(container);
|
|
245
|
-
var wrapper = /*#__PURE__*/React.createElement.apply(React, ["div", {
|
|
246
|
-
style: {
|
|
247
|
-
display: "contents"
|
|
248
|
-
}
|
|
249
|
-
}].concat(_toConsumableArray(reactNode.filter(isValidReactNode))));
|
|
250
|
-
_renderer.render(wrapper);
|
|
251
|
-
cleanupFn = function cleanupFn() {
|
|
252
|
-
try {
|
|
253
|
-
_renderer.unmount();
|
|
254
|
-
} catch (error) {
|
|
255
|
-
console.warn("Error unmounting React renderer:", error);
|
|
256
|
-
}
|
|
257
|
-
};
|
|
258
|
-
} catch (error) {
|
|
259
|
-
console.warn("Error creating React renderer for array:", error);
|
|
260
|
-
}
|
|
111
|
+
var instance = this.slotInstances.get(slotName);
|
|
112
|
+
if (!instance) {
|
|
113
|
+
var container = webComponent.querySelector("[slot=\"".concat(slotName, "\"]"));
|
|
114
|
+
if (!container) {
|
|
115
|
+
container = document.createElement("div");
|
|
116
|
+
container.style.display = "contents";
|
|
117
|
+
container.setAttribute("slot", slotName);
|
|
118
|
+
webComponent.appendChild(container);
|
|
261
119
|
}
|
|
120
|
+
var root = createRoot(container);
|
|
121
|
+
instance = {
|
|
122
|
+
container: container,
|
|
123
|
+
root: root
|
|
124
|
+
};
|
|
125
|
+
this.slotInstances.set(slotName, instance);
|
|
262
126
|
}
|
|
263
|
-
|
|
264
|
-
_this4.lastRenderedElements["delete"](slotName);
|
|
265
|
-
Promise.resolve().then(function () {
|
|
266
|
-
if (cleanupFn) {
|
|
267
|
-
cleanupFn();
|
|
268
|
-
}
|
|
269
|
-
if (container.parentNode) {
|
|
270
|
-
container.parentNode.removeChild(container);
|
|
271
|
-
}
|
|
272
|
-
});
|
|
273
|
-
});
|
|
127
|
+
instance.root.render(reactNode);
|
|
274
128
|
}
|
|
275
129
|
}, {
|
|
276
130
|
key: "update",
|
|
277
131
|
value: function update() {
|
|
278
|
-
var
|
|
132
|
+
var _this3 = this;
|
|
279
133
|
this.clearEventHandlers();
|
|
280
134
|
if (!this.ref.current) return;
|
|
281
|
-
Object.entries(this.props).forEach(function (
|
|
282
|
-
var
|
|
283
|
-
prop =
|
|
284
|
-
val =
|
|
135
|
+
Object.entries(this.props).forEach(function (_ref) {
|
|
136
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
137
|
+
prop = _ref2[0],
|
|
138
|
+
val = _ref2[1];
|
|
285
139
|
if (["innerRef", "children"].includes(prop)) return;
|
|
286
140
|
if (typeof val === "function" && prop.match(/^on[A-Za-z]/)) {
|
|
287
141
|
var eventName = prop.slice(2);
|
|
288
142
|
var omiEventName = eventName[0].toLowerCase() + eventName.slice(1);
|
|
289
|
-
|
|
143
|
+
_this3.setEvent(omiEventName, val);
|
|
290
144
|
return;
|
|
291
145
|
}
|
|
292
|
-
if (
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
}
|
|
296
|
-
if (isReactElement(val) && !prop.match(/^on[A-Za-z]/) && !prop.match(/^render[A-Za-z]/)) {
|
|
297
|
-
var _this5$ref$current;
|
|
298
|
-
var componentClass = (_this5$ref$current = _this5.ref.current) === null || _this5$ref$current === void 0 ? void 0 : _this5$ref$current.constructor;
|
|
146
|
+
if (isReactElement(val) && !prop.match(/^on[A-Za-z]/)) {
|
|
147
|
+
var _this3$ref$current;
|
|
148
|
+
var componentClass = (_this3$ref$current = _this3.ref.current) === null || _this3$ref$current === void 0 ? void 0 : _this3$ref$current.constructor;
|
|
299
149
|
var declaredSlots = (componentClass === null || componentClass === void 0 ? void 0 : componentClass.slotProps) || [];
|
|
300
150
|
if (declaredSlots.includes(prop) || prop.endsWith("Slot")) {
|
|
301
|
-
|
|
151
|
+
_this3.handleSlotProp(prop, val);
|
|
302
152
|
return;
|
|
303
153
|
}
|
|
304
154
|
}
|
|
305
155
|
if (_typeof(val) === "object" && val !== null) {
|
|
306
156
|
if (prop === "style") {
|
|
307
|
-
var
|
|
308
|
-
(
|
|
157
|
+
var _this3$ref$current2;
|
|
158
|
+
(_this3$ref$current2 = _this3.ref.current) === null || _this3$ref$current2 === void 0 || _this3$ref$current2.setAttribute("style", styleObjectToString(val));
|
|
309
159
|
return;
|
|
310
160
|
}
|
|
311
|
-
|
|
161
|
+
_this3.ref.current[prop] = val;
|
|
312
162
|
return;
|
|
313
163
|
}
|
|
314
164
|
if (typeof val === "function") {
|
|
315
|
-
|
|
165
|
+
_this3.ref.current[prop] = val;
|
|
316
166
|
return;
|
|
317
167
|
}
|
|
318
168
|
if (prop.match(hyphenateRE)) {
|
|
319
|
-
var
|
|
320
|
-
(
|
|
321
|
-
(
|
|
169
|
+
var _this3$ref$current3, _this3$ref$current4;
|
|
170
|
+
(_this3$ref$current3 = _this3.ref.current) === null || _this3$ref$current3 === void 0 || _this3$ref$current3.setAttribute(hyphenate(prop), val);
|
|
171
|
+
(_this3$ref$current4 = _this3.ref.current) === null || _this3$ref$current4 === void 0 || _this3$ref$current4.removeAttribute(prop);
|
|
322
172
|
return;
|
|
323
173
|
}
|
|
324
174
|
if (!isReact19Plus()) {
|
|
325
|
-
|
|
175
|
+
_this3.ref.current[prop] = val;
|
|
326
176
|
}
|
|
327
177
|
});
|
|
328
178
|
}
|
|
@@ -340,30 +190,30 @@ var reactify = function reactify(WC) {
|
|
|
340
190
|
key: "componentWillUnmount",
|
|
341
191
|
value: function componentWillUnmount() {
|
|
342
192
|
this.clearEventHandlers();
|
|
343
|
-
this.
|
|
193
|
+
this.clearSlotInstances();
|
|
344
194
|
}
|
|
345
195
|
}, {
|
|
346
196
|
key: "clearEventHandlers",
|
|
347
197
|
value: function clearEventHandlers() {
|
|
348
|
-
var
|
|
349
|
-
this.eventHandlers.forEach(function (
|
|
350
|
-
var
|
|
351
|
-
var
|
|
352
|
-
event =
|
|
353
|
-
handler =
|
|
354
|
-
(
|
|
198
|
+
var _this4 = this;
|
|
199
|
+
this.eventHandlers.forEach(function (_ref3) {
|
|
200
|
+
var _this4$ref$current;
|
|
201
|
+
var _ref4 = _slicedToArray(_ref3, 2),
|
|
202
|
+
event = _ref4[0],
|
|
203
|
+
handler = _ref4[1];
|
|
204
|
+
(_this4$ref$current = _this4.ref.current) === null || _this4$ref$current === void 0 || _this4$ref$current.removeEventListener(event, handler);
|
|
355
205
|
});
|
|
356
206
|
this.eventHandlers = [];
|
|
357
207
|
}
|
|
358
208
|
}, {
|
|
359
|
-
key: "
|
|
360
|
-
value: function
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
209
|
+
key: "clearSlotInstances",
|
|
210
|
+
value: function clearSlotInstances() {
|
|
211
|
+
this.slotInstances.forEach(function (instance) {
|
|
212
|
+
setTimeout(function () {
|
|
213
|
+
instance.root.unmount();
|
|
214
|
+
}, 0);
|
|
364
215
|
});
|
|
365
|
-
this.
|
|
366
|
-
this.processingSlots.clear();
|
|
216
|
+
this.slotInstances.clear();
|
|
367
217
|
}
|
|
368
218
|
}, {
|
|
369
219
|
key: "render",
|
|
@@ -387,5 +237,5 @@ var reactify = function reactify(WC) {
|
|
|
387
237
|
});
|
|
388
238
|
};
|
|
389
239
|
|
|
390
|
-
export { reactify as default
|
|
240
|
+
export { reactify as default };
|
|
391
241
|
//# sourceMappingURL=reactify.js.map
|
package/es/_util/reactify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactify.js","sources":["../../../pro-components/chat/_util/reactify.tsx"],"sourcesContent":["import React, { Component, createRef, createElement, forwardRef } from 'react';\nimport ReactDOM from 'react-dom';\nimport { createRoot } from 'react-dom/client';\n\n// 检测 React 版本\nconst isReact18Plus = () => typeof createRoot !== 'undefined';\nconst isReact19Plus = (): boolean => {\n const majorVersion = parseInt(React.version.split('.')[0], 10);\n return majorVersion >= 19;\n};\n\n// 增强版本的缓存管理\nconst rootCache = new WeakMap<\n HTMLElement,\n {\n root: ReturnType<typeof createRoot>;\n lastElement?: React.ReactElement;\n }\n>();\n\nconst createRenderer = (container: HTMLElement) => {\n if (isReact18Plus()) {\n let cached = rootCache.get(container);\n if (!cached) {\n cached = { root: createRoot(container) };\n rootCache.set(container, cached);\n }\n\n return {\n render: (element: React.ReactElement) => {\n // 可选:避免相同元素的重复渲染\n if (cached.lastElement !== element) {\n cached.root.render(element);\n cached.lastElement = element;\n }\n },\n unmount: () => {\n cached.root.unmount();\n rootCache.delete(container);\n },\n };\n }\n\n // React 17的实现\n return {\n render: (element: React.ReactElement) => {\n ReactDOM.render(element, container);\n },\n unmount: () => {\n ReactDOM.unmountComponentAtNode(container);\n },\n };\n};\n\n// 检查是否是React元素\nconst isReactElement = (obj: any): obj is React.ReactElement =>\n obj && typeof obj === 'object' && obj.$$typeof && obj.$$typeof.toString().includes('react');\n\n// 检查是否是有效的React节点\nconst isValidReactNode = (node: any): node is React.ReactNode =>\n node !== null &&\n node !== undefined &&\n (typeof node === 'string' ||\n typeof node === 'number' ||\n typeof node === 'boolean' ||\n isReactElement(node) ||\n Array.isArray(node));\n\ntype AnyProps = {\n [key: string]: any;\n};\n\nconst hyphenateRE = /\\B([A-Z])/g;\n\nexport function hyphenate(str: string): string {\n return str.replace(hyphenateRE, '-$1').toLowerCase();\n}\n\nconst styleObjectToString = (style: any) => {\n if (!style || typeof style !== 'object') return '';\n\n const unitlessKeys = new Set([\n 'animationIterationCount',\n 'boxFlex',\n 'boxFlexGroup',\n 'boxOrdinalGroup',\n 'columnCount',\n 'fillOpacity',\n 'flex',\n 'flexGrow',\n 'flexShrink',\n 'fontWeight',\n 'lineClamp',\n 'lineHeight',\n 'opacity',\n 'order',\n 'orphans',\n 'tabSize',\n 'widows',\n 'zIndex',\n 'zoom',\n ]);\n\n return Object.entries(style)\n .filter(([, value]) => value != null && value !== '') // 过滤无效值\n .map(([key, value]) => {\n // 转换驼峰式为连字符格式\n const cssKey = key.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`);\n\n // 处理数值类型值\n let cssValue = value;\n if (typeof value === 'number' && value !== 0 && !unitlessKeys.has(key)) {\n cssValue = `${value}px`;\n }\n\n return `${cssKey}:${cssValue};`;\n })\n .join(' ');\n};\n\nconst reactify = <T extends AnyProps = AnyProps>(\n WC: string,\n): React.ForwardRefExoticComponent<Omit<T, 'ref'> & React.RefAttributes<HTMLElement | undefined>> => {\n class Reactify extends Component<AnyProps> {\n eventHandlers: [string, EventListener][];\n\n slotRenderers: Map<string, () => void>;\n\n ref: React.RefObject<HTMLElement>;\n\n constructor(props: AnyProps) {\n super(props);\n this.eventHandlers = [];\n this.slotRenderers = new Map();\n const { innerRef } = props;\n this.ref = innerRef || createRef();\n }\n\n setEvent(event: string, val: EventListener) {\n this.eventHandlers.push([event, val]);\n this.ref.current?.addEventListener(event, val);\n }\n\n // 防止重复处理的标记\n private processingSlots = new Set<string>();\n\n // 处理slot相关的prop\n handleSlotProp(prop: string, val: any) {\n const webComponent = this.ref.current as any;\n if (!webComponent) return;\n\n // 防止重复处理同一个slot\n if (this.processingSlots.has(prop)) {\n return;\n }\n\n // 检查是否需要更新(避免相同内容的重复渲染)\n const currentRenderer = this.slotRenderers.get(prop);\n if (currentRenderer && this.isSameReactElement(prop, val)) {\n return; // 相同内容,跳过更新\n }\n\n // 标记正在处理\n this.processingSlots.add(prop);\n\n // 立即缓存新元素,防止重复调用\n if (isValidReactNode(val)) {\n this.lastRenderedElements.set(prop, val);\n }\n\n // 清理旧的渲染器\n if (currentRenderer) {\n this.cleanupSlotRenderer(prop);\n }\n\n // 如果val是函数,为WebComponent提供一个函数,该函数返回渲染后的DOM\n if (typeof val === 'function') {\n const renderSlot = (params?: any) => {\n const reactNode = val(params);\n return this.renderReactNodeToSlot(reactNode, prop);\n };\n webComponent[prop] = renderSlot;\n // 函数类型处理完成后立即移除标记\n this.processingSlots.delete(prop);\n }\n // 如果val是ReactNode,直接渲染到slot\n else if (isValidReactNode(val)) {\n // 先设置属性,让组件知道这个prop有值\n webComponent[prop] = true;\n\n // 使用微任务延迟渲染,确保在当前渲染周期完成后执行\n Promise.resolve().then(() => {\n if (webComponent.update) {\n webComponent.update();\n }\n this.renderReactNodeToSlot(val, prop);\n // 渲染完成后移除处理标记\n this.processingSlots.delete(prop);\n });\n }\n }\n\n // 清理slot渲染器的统一方法\n private cleanupSlotRenderer(slotName: string) {\n const renderer = this.slotRenderers.get(slotName);\n if (!renderer) return;\n\n // 立即清理DOM容器\n this.clearSlotContainers(slotName);\n\n // 总是异步清理React渲染器,避免竞态条件\n Promise.resolve().then(() => {\n this.safeCleanupRenderer(renderer);\n });\n\n this.slotRenderers.delete(slotName);\n }\n\n // 安全清理渲染器\n // eslint-disable-next-line class-methods-use-this\n private safeCleanupRenderer(cleanup: () => void) {\n try {\n cleanup();\n } catch (error) {\n console.warn('Error cleaning up React renderer:', error);\n }\n }\n\n // 立即清理指定slot的所有容器\n private clearSlotContainers(slotName: string) {\n const webComponent = this.ref.current;\n if (!webComponent) return;\n\n // 查找并移除所有匹配的slot容器\n const containers = webComponent.querySelectorAll(`[slot=\"${slotName}\"]`);\n containers.forEach((container: Element) => {\n if (container.parentNode) {\n container.parentNode.removeChild(container);\n }\n });\n }\n\n // 缓存最后渲染的React元素,用于比较\n private lastRenderedElements = new Map<string, any>();\n\n // 检查是否是相同的React元素\n private isSameReactElement(prop: string, val: any): boolean {\n const lastElement = this.lastRenderedElements.get(prop);\n\n if (!lastElement || !isValidReactNode(val)) {\n return false;\n }\n\n // 简单比较:如果是相同的React元素引用,则认为相同\n if (lastElement === val) {\n return true;\n }\n\n // 对于React元素,比较type、key和props\n if (React.isValidElement(lastElement) && React.isValidElement(val)) {\n const typeMatch = lastElement.type === val.type;\n const keyMatch = lastElement.key === val.key;\n const propsMatch = JSON.stringify(lastElement.props) === JSON.stringify(val.props);\n return typeMatch && keyMatch && propsMatch;\n }\n\n return false;\n }\n\n // 将React节点渲染到slot中\n renderReactNodeToSlot(reactNode: React.ReactNode, slotName: string) {\n const webComponent = this.ref.current;\n if (!webComponent) return;\n\n // 检查是否已经有相同的slot容器存在,避免重复创建\n const existingContainers = webComponent.querySelectorAll(`[slot=\"${slotName}\"]`);\n if (existingContainers.length > 0) {\n return;\n }\n\n // 直接创建容器并添加到Web Component中\n const container = document.createElement('div');\n container.style.display = 'contents'; // 不影响布局\n container.setAttribute('slot', slotName); // 设置slot属性,Web Components会自动处理\n\n // 将容器添加到Web Component中\n webComponent.appendChild(container);\n\n // 根据不同类型的reactNode创建不同的清理函数\n let cleanupFn: (() => void) | null = null;\n\n if (isValidReactNode(reactNode)) {\n if (React.isValidElement(reactNode)) {\n try {\n const renderer = createRenderer(container);\n renderer.render(reactNode);\n cleanupFn = () => {\n try {\n renderer.unmount();\n } catch (error) {\n console.warn('Error unmounting React renderer:', error);\n }\n };\n } catch (error) {\n console.warn('Error creating React renderer:', error);\n }\n } else if (typeof reactNode === 'string' || typeof reactNode === 'number') {\n container.textContent = String(reactNode);\n cleanupFn = () => {\n container.textContent = '';\n };\n } else if (Array.isArray(reactNode)) {\n try {\n const renderer = createRenderer(container);\n const wrapper = React.createElement(\n 'div',\n { style: { display: 'contents' } },\n ...reactNode.filter(isValidReactNode),\n );\n renderer.render(wrapper);\n cleanupFn = () => {\n try {\n renderer.unmount();\n } catch (error) {\n console.warn('Error unmounting React renderer:', error);\n }\n };\n } catch (error) {\n console.warn('Error creating React renderer for array:', error);\n }\n }\n }\n\n // 保存cleanup函数\n this.slotRenderers.set(slotName, () => {\n // 清理缓存\n this.lastRenderedElements.delete(slotName);\n // 异步unmount避免竞态条件\n Promise.resolve().then(() => {\n if (cleanupFn) {\n cleanupFn();\n }\n if (container.parentNode) {\n container.parentNode.removeChild(container);\n }\n });\n });\n }\n\n update() {\n this.clearEventHandlers();\n if (!this.ref.current) return;\n\n Object.entries(this.props).forEach(([prop, val]) => {\n if (['innerRef', 'children'].includes(prop)) return;\n\n // event handler\n if (typeof val === 'function' && prop.match(/^on[A-Za-z]/)) {\n const eventName = prop.slice(2);\n const omiEventName = eventName[0].toLowerCase() + eventName.slice(1);\n this.setEvent(omiEventName, val as EventListener);\n return;\n }\n\n // render functions or slot props\n if (typeof val === 'function' && prop.match(/^render[A-Za-z]/)) {\n this.handleSlotProp(prop, val);\n return;\n }\n\n // 检查是否是slot prop(通过组件的slotProps静态属性或Slot后缀)\n if (isReactElement(val) && !prop.match(/^on[A-Za-z]/) && !prop.match(/^render[A-Za-z]/)) {\n const componentClass = this.ref.current?.constructor as any;\n const declaredSlots = componentClass?.slotProps || [];\n\n if (declaredSlots.includes(prop) || prop.endsWith('Slot')) {\n this.handleSlotProp(prop, val);\n return;\n }\n }\n\n // Complex object处理\n if (typeof val === 'object' && val !== null) {\n // style特殊处理\n if (prop === 'style') {\n this.ref.current?.setAttribute('style', styleObjectToString(val));\n return;\n }\n // 其他复杂对象直接设置为属性\n (this.ref.current as any)[prop] = val;\n return;\n }\n\n // 函数类型但不是事件处理器也不是render函数的,直接设置为属性\n if (typeof val === 'function') {\n (this.ref.current as any)[prop] = val;\n return;\n }\n\n // camel case to kebab-case for attributes\n if (prop.match(hyphenateRE)) {\n this.ref.current?.setAttribute(hyphenate(prop), val);\n this.ref.current?.removeAttribute(prop);\n return;\n }\n if (!isReact19Plus()) {\n (this.ref.current as any)[prop] = val;\n }\n });\n }\n\n componentDidUpdate() {\n this.update();\n }\n\n componentDidMount() {\n this.update();\n }\n\n componentWillUnmount() {\n this.clearEventHandlers();\n this.clearSlotRenderers();\n }\n\n clearEventHandlers() {\n this.eventHandlers.forEach(([event, handler]) => {\n this.ref.current?.removeEventListener(event, handler);\n });\n this.eventHandlers = [];\n }\n\n clearSlotRenderers() {\n this.slotRenderers.forEach((cleanup) => {\n this.safeCleanupRenderer(cleanup);\n });\n this.slotRenderers.clear();\n this.processingSlots.clear();\n }\n\n render() {\n const { children, className, ...rest } = this.props;\n\n return createElement(WC, { class: className, ...rest, ref: this.ref }, children);\n }\n }\n\n return forwardRef<HTMLElement, AnyProps>((props, ref) =>\n createElement(Reactify, { ...props, innerRef: ref }),\n ) as React.ForwardRefExoticComponent<Omit<T, 'ref'> & React.RefAttributes<HTMLElement | undefined>>;\n};\n\nexport default reactify;\n"],"names":["isReact18Plus","createRoot","isReact19Plus","majorVersion","parseInt","React","version","split","rootCache","WeakMap","createRenderer","container","cached","get","root","set","render","element","lastElement","unmount","ReactDOM","unmountComponentAtNode","isReactElement","obj","_typeof","$$typeof","toString","includes","isValidReactNode","node","Array","isArray","hyphenateRE","hyphenate","str","replace","toLowerCase","styleObjectToString","style","unitlessKeys","Set","Object","entries","filter","_ref","_ref2","_slicedToArray","value","map","_ref3","_ref4","key","cssKey","m","concat","cssValue","has","join","reactify","WC","Reactify","props","_this","_classCallCheck","_callSuper","_defineProperty","Map","eventHandlers","slotRenderers","innerRef","ref","createRef","_inherits","_Component","_createClass","setEvent","event","val","_this$ref$current","push","current","addEventListener","handleSlotProp","prop","_this2","webComponent","processingSlots","currentRenderer","isSameReactElement","add","lastRenderedElements","cleanupSlotRenderer","renderSlot","params","reactNode","renderReactNodeToSlot","Promise","resolve","then","update","slotName","_this3","renderer","clearSlotContainers","safeCleanupRenderer","cleanup","error","console","warn","containers","querySelectorAll","forEach","parentNode","removeChild","isValidElement","typeMatch","type","keyMatch","propsMatch","JSON","stringify","_this4","existingContainers","length","document","createElement","display","setAttribute","appendChild","cleanupFn","textContent","String","wrapper","apply","_toConsumableArray","_this5","clearEventHandlers","_ref5","_ref6","match","eventName","slice","omiEventName","_this5$ref$current","componentClass","constructor","declaredSlots","slotProps","endsWith","_this5$ref$current2","_this5$ref$current3","_this5$ref$current4","removeAttribute","componentDidUpdate","componentDidMount","componentWillUnmount","clearSlotRenderers","_this6","_ref7","_this6$ref$current","_ref8","handler","removeEventListener","_this7","clear","_this$props","children","className","rest","_objectWithoutProperties","_excluded","_objectSpread","Component","forwardRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reactify.js","sources":["../../../pro-components/chat/_util/reactify.tsx"],"sourcesContent":["import React, { Component, createRef, createElement, forwardRef } from 'react';\nimport { createRoot, Root } from 'react-dom/client';\n\ntype AnyProps = {\n [key: string]: any;\n};\n\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = (string: string) => string.replace(hyphenateRE, '-$1').toLowerCase();\n\nconst styleObjectToString = (style: any) => {\n if (!style) return '';\n if (typeof style === 'string') return style;\n return Object.keys(style)\n .reduce((acc: string[], key) => {\n const value = style[key];\n const cssKey = key.replace(hyphenateRE, '-$1').toLowerCase();\n return acc.concat(`${cssKey}:${value}`);\n }, [])\n .join(';');\n};\n\nconst isReactElement = (node: any): boolean => {\n return React.isValidElement(node);\n};\n\nconst isValidReactNode = (node: any): node is React.ReactNode =>\n node !== null &&\n node !== undefined &&\n (typeof node === 'string' ||\n typeof node === 'number' ||\n typeof node === 'boolean' ||\n isReactElement(node) ||\n Array.isArray(node));\n\nconst isReact19Plus = () => {\n const version = React.version.split('.')[0];\n return parseInt(version, 10) >= 19;\n};\n\nconst reactify = <T extends AnyProps = AnyProps>(\n WC: string,\n): React.ForwardRefExoticComponent<React.PropsWithoutRef<T> & React.RefAttributes<HTMLElement>> => {\n class Reactify extends Component<T> {\n eventHandlers: [string, EventListener][];\n\n // 使用 Map 缓存每个 slot 的 React Root 实例\n slotInstances: Map<\n string,\n {\n root: Root;\n container: HTMLElement;\n }\n >;\n\n ref: React.RefObject<HTMLElement>;\n\n constructor(props: T) {\n super(props);\n this.eventHandlers = [];\n this.slotInstances = new Map();\n const { innerRef } = props;\n this.ref = innerRef || createRef();\n }\n\n setEvent(event: string, val: EventListener) {\n this.eventHandlers.push([event, val]);\n this.ref.current?.addEventListener(event, val);\n }\n\n // 处理slot相关的prop\n handleSlotProp(prop: string, val: any) {\n const webComponent = this.ref.current as any;\n if (!webComponent) return;\n\n // 如果val是函数,为WebComponent提供一个函数,该函数返回渲染后的DOM\n if (typeof val === 'function') {\n const renderSlot = (params?: any) => {\n const reactNode = val(params);\n // 函数式 slot 每次调用可能产生新内容,这里简化处理,\n // 实际场景中可能需要更复杂的挂载逻辑,或者 WebComponent 内部处理了 DOM 挂载\n // 这里保持原逻辑或根据 WebComponent 行为调整\n return this.renderReactNodeToSlot(reactNode, prop);\n };\n webComponent[prop] = renderSlot;\n }\n // 如果val是ReactNode,直接渲染到slot\n else if (isValidReactNode(val)) {\n // 先设置属性,让组件知道这个prop有值\n webComponent[prop] = true;\n\n // 使用微任务延迟渲染,确保在当前渲染周期完成后执行\n Promise.resolve().then(() => {\n if (webComponent.update) {\n webComponent.update();\n }\n this.renderReactNodeToSlot(val, prop);\n });\n } else {\n this.cleanupSlotRenderer(prop);\n }\n }\n\n // 清理slot渲染器的统一方法\n private cleanupSlotRenderer(slotName: string) {\n const instance = this.slotInstances.get(slotName);\n if (instance) {\n // React 18 使用 root.unmount()\n setTimeout(() => {\n instance.root.unmount();\n }, 0);\n\n if (instance.container.parentNode === this.ref.current) {\n this.ref.current?.removeChild(instance.container);\n }\n this.slotInstances.delete(slotName);\n }\n }\n\n // 将React节点渲染到slot中\n renderReactNodeToSlot(reactNode: React.ReactNode, slotName: string) {\n const webComponent = this.ref.current;\n if (!webComponent) return;\n\n let instance = this.slotInstances.get(slotName);\n\n if (!instance) {\n // 检查是否已经有相同的slot容器存在\n let container = webComponent.querySelector(`[slot=\"${slotName}\"]`) as HTMLElement;\n if (!container) {\n container = document.createElement('div');\n container.style.display = 'contents';\n container.setAttribute('slot', slotName);\n webComponent.appendChild(container);\n }\n\n // 创建 React Root\n const root = createRoot(container);\n\n instance = {\n container,\n root,\n };\n this.slotInstances.set(slotName, instance);\n }\n\n // 复用 root 进行增量更新,React 会自动处理 Diff,避免 DOM 销毁重建\n instance.root.render(reactNode);\n }\n\n update() {\n this.clearEventHandlers();\n if (!this.ref.current) return;\n\n Object.entries(this.props).forEach(([prop, val]) => {\n if (['innerRef', 'children'].includes(prop)) return;\n\n // event handler\n if (typeof val === 'function' && prop.match(/^on[A-Za-z]/)) {\n const eventName = prop.slice(2);\n const omiEventName = eventName[0].toLowerCase() + eventName.slice(1);\n this.setEvent(omiEventName, val as EventListener);\n return;\n }\n\n // 检查是否是slot prop\n if (isReactElement(val) && !prop.match(/^on[A-Za-z]/)) {\n const componentClass = this.ref.current?.constructor as any;\n const declaredSlots = componentClass?.slotProps || [];\n\n if (declaredSlots.includes(prop) || prop.endsWith('Slot')) {\n this.handleSlotProp(prop, val);\n return;\n }\n }\n\n // Complex object处理\n if (typeof val === 'object' && val !== null) {\n // style特殊处理\n if (prop === 'style') {\n this.ref.current?.setAttribute('style', styleObjectToString(val));\n return;\n }\n // 其他复杂对象直接设置为属性\n (this.ref.current as any)[prop] = val;\n return;\n }\n\n // 函数类型但不是事件处理器也不是render函数的,直接设置为属性\n if (typeof val === 'function') {\n (this.ref.current as any)[prop] = val;\n return;\n }\n\n // camel case to kebab-case for attributes\n if (prop.match(hyphenateRE)) {\n this.ref.current?.setAttribute(hyphenate(prop), val);\n this.ref.current?.removeAttribute(prop);\n return;\n }\n if (!isReact19Plus()) {\n (this.ref.current as any)[prop] = val;\n }\n });\n }\n\n componentDidUpdate() {\n this.update();\n }\n\n componentDidMount() {\n this.update();\n }\n\n componentWillUnmount() {\n this.clearEventHandlers();\n this.clearSlotInstances();\n }\n\n clearEventHandlers() {\n this.eventHandlers.forEach(([event, handler]) => {\n this.ref.current?.removeEventListener(event, handler);\n });\n this.eventHandlers = [];\n }\n\n clearSlotInstances() {\n this.slotInstances.forEach((instance) => {\n // 卸载时清理\n setTimeout(() => {\n instance.root.unmount();\n }, 0);\n });\n this.slotInstances.clear();\n }\n\n render() {\n const { children, className, ...rest } = this.props;\n return createElement(WC, { class: className, ...rest, ref: this.ref }, children);\n }\n }\n\n return forwardRef<HTMLElement, T>((props, ref) =>\n createElement(Reactify, { ...props, innerRef: ref } as T & { innerRef: React.ForwardedRef<HTMLElement> }),\n );\n};\n\nexport default reactify;\n"],"names":["hyphenateRE","hyphenate","string","replace","toLowerCase","styleObjectToString","style","Object","keys","reduce","acc","key","value","cssKey","concat","join","isReactElement","node","React","isValidElement","isValidReactNode","Array","isArray","isReact19Plus","version","split","parseInt","reactify","WC","Reactify","props","_this","_classCallCheck","_callSuper","eventHandlers","slotInstances","Map","innerRef","ref","createRef","_inherits","_Component","_createClass","setEvent","event","val","_this$ref$current","push","current","addEventListener","handleSlotProp","prop","_this2","webComponent","renderSlot","params","reactNode","renderReactNodeToSlot","Promise","resolve","then","update","cleanupSlotRenderer","slotName","instance","get","setTimeout","root","unmount","container","parentNode","_this$ref$current2","removeChild","querySelector","document","createElement","display","setAttribute","appendChild","createRoot","set","render","_this3","clearEventHandlers","entries","forEach","_ref","_ref2","_slicedToArray","includes","match","eventName","slice","omiEventName","_this3$ref$current","componentClass","constructor","declaredSlots","slotProps","endsWith","_typeof","_this3$ref$current2","_this3$ref$current3","_this3$ref$current4","removeAttribute","componentDidUpdate","componentDidMount","componentWillUnmount","clearSlotInstances","_this4","_ref3","_this4$ref$current","_ref4","handler","removeEventListener","clear","_this$props","children","className","rest","_objectWithoutProperties","_excluded","_objectSpread","Component","forwardRef"],"mappings":"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"}
|
package/es/attachments/index.js
CHANGED
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* tdesign v1.0.2-alpha.
|
|
2
|
+
* tdesign v1.0.2-alpha.15
|
|
3
3
|
* (c) 2026 tdesign
|
|
4
4
|
* @license MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import 'tdesign-web-components/lib/attachments';
|
|
8
8
|
import reactify from '../_util/reactify.js';
|
|
9
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
9
10
|
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
10
|
-
import '@babel/runtime/helpers/
|
|
11
|
+
import '@babel/runtime/helpers/typeof';
|
|
12
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
11
13
|
import '@babel/runtime/helpers/classCallCheck';
|
|
12
14
|
import '@babel/runtime/helpers/createClass';
|
|
13
15
|
import '@babel/runtime/helpers/possibleConstructorReturn';
|
|
14
16
|
import '@babel/runtime/helpers/getPrototypeOf';
|
|
15
17
|
import '@babel/runtime/helpers/inherits';
|
|
16
|
-
import '@babel/runtime/helpers/defineProperty';
|
|
17
|
-
import '@babel/runtime/helpers/slicedToArray';
|
|
18
|
-
import '@babel/runtime/helpers/typeof';
|
|
19
18
|
import 'react';
|
|
20
|
-
import 'react-dom';
|
|
21
19
|
import 'react-dom/client';
|
|
22
20
|
|
|
23
21
|
var Attachments = reactify("t-attachments");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../pro-components/chat/attachments/index.ts"],"sourcesContent":["import { TdAttachmentsProps } from 'tdesign-web-components';\nimport 'tdesign-web-components/lib/attachments';\nimport reactify from '../_util/reactify';\n\nexport const Attachments: React.ForwardRefExoticComponent<\n Omit<TdAttachmentsProps, 'ref'> & React.RefAttributes<HTMLElement | undefined>\n> = reactify<TdAttachmentsProps>('t-attachments');\n\nexport default Attachments;\n\nexport type { TdAttachmentsProps, TdAttachmentItem } from 'tdesign-web-components';\n"],"names":["Attachments","reactify"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../pro-components/chat/attachments/index.ts"],"sourcesContent":["import { TdAttachmentsProps } from 'tdesign-web-components';\nimport 'tdesign-web-components/lib/attachments';\nimport reactify from '../_util/reactify';\n\nexport const Attachments: React.ForwardRefExoticComponent<\n Omit<TdAttachmentsProps, 'ref'> & React.RefAttributes<HTMLElement | undefined>\n> = reactify<TdAttachmentsProps>('t-attachments');\n\nexport default Attachments;\n\nexport type { TdAttachmentsProps, TdAttachmentItem } from 'tdesign-web-components';\n"],"names":["Attachments","reactify"],"mappings":";;;;;;;;;;;;;;;;;;;;IAIaA,WAAA,GAETC,SAA6B,eAAe;;;;"}
|