@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
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2UI Image 组件
|
|
3
|
+
* A2UI v0.9 标准图片组件
|
|
4
|
+
*/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import type { A2UIImageComponent } from '../../../core/a2ui';
|
|
7
|
+
export interface A2UIImageProps extends Omit<A2UIImageComponent, 'component'> {
|
|
8
|
+
className?: string;
|
|
9
|
+
style?: React.CSSProperties;
|
|
10
|
+
}
|
|
11
|
+
export declare const A2UIImage: React.FC<A2UIImageProps>;
|
|
12
|
+
export default A2UIImage;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.14
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
8
|
+
import React__default, { useMemo } from 'react';
|
|
9
|
+
import { Image } from 'tdesign-react';
|
|
10
|
+
import { useDataBinding } from '../../../hooks/a2ui/useDataBinding.js';
|
|
11
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
12
|
+
import '../../../hooks/a2ui/A2UIContext.js';
|
|
13
|
+
import '../../../core/a2ui/utils/index.js';
|
|
14
|
+
import '../../../core/a2ui/utils/binding.js';
|
|
15
|
+
import '@babel/runtime/helpers/typeof';
|
|
16
|
+
import '../../../core/a2ui/utils/validation.js';
|
|
17
|
+
import '@babel/runtime/helpers/toConsumableArray';
|
|
18
|
+
|
|
19
|
+
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; }
|
|
20
|
+
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; }
|
|
21
|
+
var usageHintSizeMap = {
|
|
22
|
+
icon: {
|
|
23
|
+
width: 24,
|
|
24
|
+
height: 24
|
|
25
|
+
},
|
|
26
|
+
avatar: {
|
|
27
|
+
width: 40,
|
|
28
|
+
height: 40
|
|
29
|
+
},
|
|
30
|
+
smallFeature: {
|
|
31
|
+
width: 80,
|
|
32
|
+
height: 80
|
|
33
|
+
},
|
|
34
|
+
mediumFeature: {
|
|
35
|
+
width: 160,
|
|
36
|
+
height: 160
|
|
37
|
+
},
|
|
38
|
+
largeFeature: {
|
|
39
|
+
width: 320,
|
|
40
|
+
height: 320
|
|
41
|
+
},
|
|
42
|
+
header: {
|
|
43
|
+
width: "100%",
|
|
44
|
+
height: 200
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
var A2UIImage = function A2UIImage(_ref) {
|
|
48
|
+
var id = _ref.id,
|
|
49
|
+
url = _ref.url,
|
|
50
|
+
_ref$fit = _ref.fit,
|
|
51
|
+
fit = _ref$fit === void 0 ? "cover" : _ref$fit,
|
|
52
|
+
usageHint = _ref.usageHint,
|
|
53
|
+
className = _ref.className,
|
|
54
|
+
style = _ref.style;
|
|
55
|
+
var resolvedUrl = useDataBinding(url);
|
|
56
|
+
var sizeStyle = useMemo(function () {
|
|
57
|
+
if (usageHint && typeof usageHint === "string" && usageHintSizeMap[usageHint]) {
|
|
58
|
+
return usageHintSizeMap[usageHint];
|
|
59
|
+
}
|
|
60
|
+
return {};
|
|
61
|
+
}, [usageHint]);
|
|
62
|
+
var isAvatar = usageHint === "avatar";
|
|
63
|
+
return /* @__PURE__ */React__default.createElement(Image, {
|
|
64
|
+
className: className,
|
|
65
|
+
style: _objectSpread(_objectSpread({}, sizeStyle), {}, {
|
|
66
|
+
borderRadius: isAvatar ? "50%" : void 0
|
|
67
|
+
}, style),
|
|
68
|
+
src: resolvedUrl || "",
|
|
69
|
+
fit: fit
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
A2UIImage.displayName = "A2UIImage";
|
|
73
|
+
|
|
74
|
+
export { A2UIImage, A2UIImage as default };
|
|
75
|
+
//# sourceMappingURL=A2UIImage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"A2UIImage.js","sources":["../../../../../../pro-components/chat/chat-engine/components/a2ui/primitives/A2UIImage.tsx"],"sourcesContent":["/**\n * A2UI Image 组件\n * A2UI v0.9 标准图片组件\n */\n\nimport React, { useMemo } from 'react';\nimport { Image } from 'tdesign-react';\nimport { useDataBinding } from '../../../hooks/a2ui/useDataBinding';\nimport type { A2UIImageComponent } from '../../../core/a2ui';\n\nexport interface A2UIImageProps extends Omit<A2UIImageComponent, 'component'> {\n className?: string;\n style?: React.CSSProperties;\n}\n\n// usageHint 到尺寸的映射\nconst usageHintSizeMap: Record<string, { width?: number | string; height?: number | string }> = {\n icon: { width: 24, height: 24 },\n avatar: { width: 40, height: 40 },\n smallFeature: { width: 80, height: 80 },\n mediumFeature: { width: 160, height: 160 },\n largeFeature: { width: 320, height: 320 },\n header: { width: '100%', height: 200 },\n};\n\nexport const A2UIImage: React.FC<A2UIImageProps> = ({\n id,\n url,\n fit = 'cover',\n usageHint,\n className,\n style,\n}) => {\n // 解析 URL\n const resolvedUrl = useDataBinding<string>(url);\n\n // 根据 usageHint 计算尺寸\n const sizeStyle = useMemo(() => {\n if (usageHint && typeof usageHint === 'string' && usageHintSizeMap[usageHint]) {\n return usageHintSizeMap[usageHint];\n }\n return {};\n }, [usageHint]);\n\n // 如果是 avatar,使用圆形\n const isAvatar = usageHint === 'avatar';\n\n return (\n <Image\n className={className}\n style={{\n ...sizeStyle,\n borderRadius: isAvatar ? '50%' : undefined,\n ...style,\n }}\n src={resolvedUrl || ''}\n fit={fit as 'none' | 'fill' | 'contain' | 'cover' | 'scale-down'}\n />\n );\n};\n\nA2UIImage.displayName = 'A2UIImage';\n\nexport default A2UIImage;\n"],"names":["usageHintSizeMap","icon","width","height","avatar","smallFeature","mediumFeature","largeFeature","header","A2UIImage","id","_ref","url","_ref$fit","fit","usageHint","className","style","resolvedUrl","useDataBinding","sizeStyle","useMemo","isAvatar","React","createElement","Image","_objectSpread","borderRadius","src","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;AAgBA,IAAMA,gBAA0F,GAAA;AAC9FC,EAAAA,IAAM,EAAA;AAAEC,IAAAA,KAAO,EAAA,EAAA;AAAIC,IAAAA,QAAQ,EAAA;GAAG;AAC9BC,EAAAA,MAAQ,EAAA;AAAEF,IAAAA,KAAO,EAAA,EAAA;AAAIC,IAAAA,QAAQ,EAAA;GAAG;AAChCE,EAAAA,YAAc,EAAA;AAAEH,IAAAA,KAAO,EAAA,EAAA;AAAIC,IAAAA,QAAQ,EAAA;GAAG;AACtCG,EAAAA,aAAe,EAAA;AAAEJ,IAAAA,KAAO,EAAA,GAAA;AAAKC,IAAAA,QAAQ,GAAA;GAAI;AACzCI,EAAAA,YAAc,EAAA;AAAEL,IAAAA,KAAO,EAAA,GAAA;AAAKC,IAAAA,QAAQ,GAAA;GAAI;AACxCK,EAAAA,MAAQ,EAAA;AAAEN,IAAAA,KAAO,EAAA,MAAA;AAAQC,IAAAA,QAAQ,GAAA;AAAI,GAAA;AACvC,CAAA,CAAA;IAEaM,YAAsC,SAAtCA,gBAOP;AAAA,EAAA,IANJC,EAAA,GAAAC,IAAA,CAAAD,EAAA;IACAE,GAAA,GAAAD,IAAA,CAAAC,GAAA;IAAAC,QAAA,GAAAF,IAAA,CACAG,GAAM;AAANA,IAAAA,GAAM,GAAAD,QAAA,KAAA,KAAA,CAAA,GAAA,OAAA,GAAAA,QAAA;IACNE,SAAA,GAAAJ,IAAA,CAAAI,SAAA;IACAC,SAAA,GAAAL,IAAA,CAAAK,SAAA;IACAC,KAAA,GAAAN,IAAA,CAAAM,KAAA,CAAA;AAGM,EAAA,IAAAC,WAAA,GAAcC,eAAuBP,GAAG,CAAA,CAAA;AAGxC,EAAA,IAAAQ,SAAA,GAAYC,QAAQ,YAAM;IAC9B,IAAIN,SAAa,IAAA,OAAOA,SAAc,KAAA,QAAA,IAAYf,iBAAiBe,SAAY,CAAA,EAAA;MAC7E,OAAOf,gBAAiB,CAAAe,SAAA,CAAA,CAAA;AAC1B,KAAA;AACA,IAAA,OAAO,EAAC,CAAA;AACV,GAAA,EAAG,CAACA,SAAS,CAAC,CAAA,CAAA;AAGd,EAAA,IAAMO,WAAWP,SAAc,KAAA,QAAA,CAAA;AAE/B,EAAA,sBACGQ,cAAA,CAAAC,aAAA,CAAAC,KAAA,EAAA;AACCT,IAAAA,SAAA,EAAAA,SAAA;AACAC,IAAAA,KAAO,EAAAS,aAAA,CAAAA,aAAA,KACFN,SAAA,CAAA,EAAA,EAAA,EAAA;AACHO,MAAAA,YAAA,EAAcL,WAAW,KAAQ,GAAA,KAAA,CAAA;AAAA,KAAA,EAC9BL,KAAA,CACL;IACAW,KAAKV,WAAe,IAAA,EAAA;AACpBJ,IAAAA,GAAA,EAAAA,GAAAA;AACF,GAAA,CAAA,CAAA;AAEJ,EAAA;AAEAL,SAAA,CAAUoB,WAAc,GAAA,WAAA;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2UI Input 组件
|
|
3
|
+
* 复用 TDesign Input,支持双向数据绑定
|
|
4
|
+
*/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import type { A2UIInputComponent } from '../../../core/a2ui';
|
|
7
|
+
export interface A2UIInputProps extends Omit<A2UIInputComponent, 'component'> {
|
|
8
|
+
className?: string;
|
|
9
|
+
style?: React.CSSProperties;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* A2UI Input
|
|
13
|
+
*
|
|
14
|
+
* Props 映射说明:
|
|
15
|
+
* - value -> 支持双向绑定,使用 useTwoWayBinding
|
|
16
|
+
* - disabled/placeholder/type/clearable/status/tips/size/maxlength -> 直接透传 TDesign
|
|
17
|
+
* - label -> TDesign label
|
|
18
|
+
*/
|
|
19
|
+
export declare const A2UIInput: React.FC<A2UIInputProps>;
|
|
20
|
+
export default A2UIInput;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.14
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
8
|
+
import React__default, { useCallback } from 'react';
|
|
9
|
+
import { Input } from 'tdesign-react';
|
|
10
|
+
import { useTwoWayBinding, useDataBinding } from '../../../hooks/a2ui/useDataBinding.js';
|
|
11
|
+
import '../../../hooks/a2ui/A2UIContext.js';
|
|
12
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
13
|
+
import '../../../core/a2ui/utils/index.js';
|
|
14
|
+
import '../../../core/a2ui/utils/binding.js';
|
|
15
|
+
import '@babel/runtime/helpers/typeof';
|
|
16
|
+
import '../../../core/a2ui/utils/validation.js';
|
|
17
|
+
import '@babel/runtime/helpers/toConsumableArray';
|
|
18
|
+
|
|
19
|
+
var A2UIInput = function A2UIInput(_ref) {
|
|
20
|
+
var value = _ref.value,
|
|
21
|
+
placeholder = _ref.placeholder,
|
|
22
|
+
disabled = _ref.disabled,
|
|
23
|
+
label = _ref.label,
|
|
24
|
+
_ref$type = _ref.type,
|
|
25
|
+
type = _ref$type === void 0 ? "text" : _ref$type,
|
|
26
|
+
_ref$clearable = _ref.clearable,
|
|
27
|
+
clearable = _ref$clearable === void 0 ? false : _ref$clearable,
|
|
28
|
+
_ref$status = _ref.status,
|
|
29
|
+
status = _ref$status === void 0 ? "default" : _ref$status,
|
|
30
|
+
tips = _ref.tips,
|
|
31
|
+
_ref$size = _ref.size,
|
|
32
|
+
size = _ref$size === void 0 ? "medium" : _ref$size,
|
|
33
|
+
maxlength = _ref.maxlength,
|
|
34
|
+
className = _ref.className,
|
|
35
|
+
style = _ref.style;
|
|
36
|
+
var _useTwoWayBinding = useTwoWayBinding(value, ""),
|
|
37
|
+
_useTwoWayBinding2 = _slicedToArray(_useTwoWayBinding, 2),
|
|
38
|
+
inputValue = _useTwoWayBinding2[0],
|
|
39
|
+
setInputValue = _useTwoWayBinding2[1];
|
|
40
|
+
var resolvedDisabled = useDataBinding(disabled);
|
|
41
|
+
var handleChange = useCallback(function (val) {
|
|
42
|
+
setInputValue(val);
|
|
43
|
+
}, [setInputValue]);
|
|
44
|
+
return /* @__PURE__ */React__default.createElement(Input, {
|
|
45
|
+
className: className,
|
|
46
|
+
style: style,
|
|
47
|
+
value: inputValue,
|
|
48
|
+
placeholder: placeholder,
|
|
49
|
+
disabled: resolvedDisabled,
|
|
50
|
+
label: label,
|
|
51
|
+
type: type,
|
|
52
|
+
clearable: clearable,
|
|
53
|
+
status: status,
|
|
54
|
+
tips: tips,
|
|
55
|
+
size: size,
|
|
56
|
+
maxlength: maxlength,
|
|
57
|
+
onChange: handleChange
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
A2UIInput.displayName = "A2UIInput";
|
|
61
|
+
|
|
62
|
+
export { A2UIInput, A2UIInput as default };
|
|
63
|
+
//# sourceMappingURL=A2UIInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"A2UIInput.js","sources":["../../../../../../pro-components/chat/chat-engine/components/a2ui/primitives/A2UIInput.tsx"],"sourcesContent":["/**\n * A2UI Input 组件\n * 复用 TDesign Input,支持双向数据绑定\n */\n\nimport React, { useCallback } from 'react';\nimport { Input } from 'tdesign-react';\nimport { useDataBinding, useTwoWayBinding } from '../../../hooks/a2ui/useDataBinding';\nimport type { A2UIInputComponent } from '../../../core/a2ui';\n\nexport interface A2UIInputProps extends Omit<A2UIInputComponent, 'component'> {\n className?: string;\n style?: React.CSSProperties;\n}\n\n/**\n * A2UI Input\n * \n * Props 映射说明:\n * - value -> 支持双向绑定,使用 useTwoWayBinding\n * - disabled/placeholder/type/clearable/status/tips/size/maxlength -> 直接透传 TDesign\n * - label -> TDesign label\n */\nexport const A2UIInput: React.FC<A2UIInputProps> = ({\n value,\n placeholder,\n disabled,\n label,\n type = 'text',\n clearable = false,\n status = 'default',\n tips,\n size = 'medium',\n maxlength,\n className,\n style,\n}) => {\n // 双向绑定值\n const [inputValue, setInputValue] = useTwoWayBinding<string>(value, '');\n \n // 解析其他绑定值\n const resolvedDisabled = useDataBinding<boolean | undefined>(disabled);\n\n // 处理 onChange\n const handleChange = useCallback(\n (val: string) => {\n setInputValue(val);\n },\n [setInputValue]\n );\n\n return (\n <Input\n className={className}\n style={style}\n value={inputValue}\n placeholder={placeholder as string}\n disabled={resolvedDisabled as boolean}\n label={label as React.ReactNode}\n type={type as 'text' | 'password' | 'number' | 'tel' | 'url' | 'search'}\n clearable={clearable as boolean}\n status={status as 'default' | 'error' | 'warning' | 'success'}\n tips={tips as React.ReactNode}\n size={size as 'small' | 'medium' | 'large'}\n maxlength={maxlength as number}\n onChange={handleChange}\n />\n );\n};\n\nA2UIInput.displayName = 'A2UIInput';\n\nexport default A2UIInput;\n"],"names":["A2UIInput","value","_ref","placeholder","disabled","label","_ref$type","type","_ref$clearable","clearable","_ref$status","status","tips","_ref$size","size","maxlength","className","style","_useTwoWayBinding","useTwoWayBinding","_useTwoWayBinding2","_slicedToArray","inputValue","setInputValue","resolvedDisabled","useDataBinding","handleChange","useCallback","val","React","createElement","Input","onChange","displayName"],"mappings":";;;;;;;;;;;;;;;;;;IAuBaA,YAAsC,SAAtCA,gBAaP;AAAA,EAAA,IAZJC,KAAA,GAAAC,IAAA,CAAAD,KAAA;IACAE,WAAA,GAAAD,IAAA,CAAAC,WAAA;IACAC,QAAA,GAAAF,IAAA,CAAAE,QAAA;IACAC,KAAA,GAAAH,IAAA,CAAAG,KAAA;IAAAC,SAAA,GAAAJ,IAAA,CACAK,IAAO;AAAPA,IAAAA,IAAO,GAAAD,SAAA,KAAA,KAAA,CAAA,GAAA,MAAA,GAAAA,SAAA;IAAAE,cAAA,GAAAN,IAAA,CACPO,SAAY;AAAZA,IAAAA,SAAY,GAAAD,cAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,cAAA;IAAAE,WAAA,GAAAR,IAAA,CACZS,MAAS;AAATA,IAAAA,MAAS,GAAAD,WAAA,KAAA,KAAA,CAAA,GAAA,SAAA,GAAAA,WAAA;IACTE,IAAA,GAAAV,IAAA,CAAAU,IAAA;IAAAC,SAAA,GAAAX,IAAA,CACAY,IAAO;AAAPA,IAAAA,IAAO,GAAAD,SAAA,KAAA,KAAA,CAAA,GAAA,QAAA,GAAAA,SAAA;IACPE,SAAA,GAAAb,IAAA,CAAAa,SAAA;IACAC,SAAA,GAAAd,IAAA,CAAAc,SAAA;IACAC,KAAA,GAAAf,IAAA,CAAAe,KAAA,CAAA;AAGA,EAAA,IAAAC,iBAAA,GAAoCC,gBAAA,CAAyBlB,OAAO,EAAE,CAAA;IAAAmB,kBAAA,GAAAC,cAAA,CAAAH,iBAAA,EAAA,CAAA,CAAA;AAA/DI,IAAAA,UAAY,GAAAF,kBAAA,CAAA,CAAA,CAAA;AAAAG,IAAAA,aAAa,GAAAH,kBAAA,CAAA,CAAA,CAAA,CAAA;AAG1B,EAAA,IAAAI,gBAAA,GAAmBC,eAAoCrB,QAAQ,CAAA,CAAA;AAGrE,EAAA,IAAMsB,YAAe,GAAAC,WAAA,CACnB,UAACC,GAAgB,EAAA;IACfL,aAAA,CAAcK,GAAG,CAAA,CAAA;AACnB,GAAA,EACA,CAACL,aAAa,CAChB,CAAA,CAAA;AAEA,EAAA,sBACGM,cAAA,CAAAC,aAAA,CAAAC,KAAA,EAAA;AACCf,IAAAA,SAAA,EAAAA,SAAA;AACAC,IAAAA,KAAA,EAAAA,KAAA;AACAhB,IAAAA,KAAO,EAAAqB,UAAA;AACPnB,IAAAA,WAAA,EAAAA,WAAA;AACAC,IAAAA,QAAU,EAAAoB,gBAAA;AACVnB,IAAAA,KAAA,EAAAA,KAAA;AACAE,IAAAA,IAAA,EAAAA,IAAA;AACAE,IAAAA,SAAA,EAAAA,SAAA;AACAE,IAAAA,MAAA,EAAAA,MAAA;AACAC,IAAAA,IAAA,EAAAA,IAAA;AACAE,IAAAA,IAAA,EAAAA,IAAA;AACAC,IAAAA,SAAA,EAAAA,SAAA;AACAiB,IAAAA,QAAU,EAAAN,YAAAA;AACZ,GAAA,CAAA,CAAA;AAEJ,EAAA;AAEA1B,SAAA,CAAUiC,WAAc,GAAA,WAAA;;;;"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2UI RadioGroup 组件
|
|
3
|
+
* 复用 TDesign RadioGroup,支持双向数据绑定
|
|
4
|
+
*
|
|
5
|
+
* 用于单选场景,选中状态自动同步到数据模型
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import type { Bindable } from '../../../core/a2ui';
|
|
9
|
+
/** 选项定义 */
|
|
10
|
+
export interface A2UIRadioOption {
|
|
11
|
+
/** 选项显示文本 */
|
|
12
|
+
label: Bindable<string>;
|
|
13
|
+
/** 选项值 */
|
|
14
|
+
value: string | number | boolean;
|
|
15
|
+
/** 是否禁用 */
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface A2UIRadioGroupProps {
|
|
19
|
+
id?: string;
|
|
20
|
+
/** 选中值,支持数据绑定 */
|
|
21
|
+
value?: Bindable<string | number | boolean>;
|
|
22
|
+
/** 选项列表 */
|
|
23
|
+
options: A2UIRadioOption[];
|
|
24
|
+
/** 是否禁用 */
|
|
25
|
+
disabled?: Bindable<boolean>;
|
|
26
|
+
/** 组件风格:radio 或 button */
|
|
27
|
+
theme?: 'radio' | 'button';
|
|
28
|
+
/** 按钮形式的变体:outline/primary-filled/default-filled */
|
|
29
|
+
variant?: 'outline' | 'primary-filled' | 'default-filled';
|
|
30
|
+
/** 尺寸 */
|
|
31
|
+
size?: 'small' | 'medium' | 'large';
|
|
32
|
+
/** 是否允许取消选中 */
|
|
33
|
+
allowUncheck?: boolean;
|
|
34
|
+
className?: string;
|
|
35
|
+
style?: React.CSSProperties;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* A2UI RadioGroup
|
|
39
|
+
*
|
|
40
|
+
* 使用示例(A2UI 协议):
|
|
41
|
+
* ```json
|
|
42
|
+
* {
|
|
43
|
+
* "component": "RadioGroup",
|
|
44
|
+
* "id": "user-type",
|
|
45
|
+
* "value": { "path": "/form/userType" },
|
|
46
|
+
* "theme": "button",
|
|
47
|
+
* "variant": "outline",
|
|
48
|
+
* "options": [
|
|
49
|
+
* { "label": "个人用户", "value": "personal" },
|
|
50
|
+
* { "label": "企业用户", "value": "business" }
|
|
51
|
+
* ]
|
|
52
|
+
* }
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export declare const A2UIRadioGroup: React.FC<A2UIRadioGroupProps>;
|
|
56
|
+
export default A2UIRadioGroup;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.14
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _typeof from '@babel/runtime/helpers/typeof';
|
|
8
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
9
|
+
import React__default, { useCallback } from 'react';
|
|
10
|
+
import { RadioGroup } from 'tdesign-react';
|
|
11
|
+
import { useTwoWayBinding, useDataBinding } from '../../../hooks/a2ui/useDataBinding.js';
|
|
12
|
+
import '../../../hooks/a2ui/A2UIContext.js';
|
|
13
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
14
|
+
import '../../../core/a2ui/utils/index.js';
|
|
15
|
+
import '../../../core/a2ui/utils/binding.js';
|
|
16
|
+
import '../../../core/a2ui/utils/validation.js';
|
|
17
|
+
import '@babel/runtime/helpers/toConsumableArray';
|
|
18
|
+
|
|
19
|
+
var A2UIRadioGroup = function A2UIRadioGroup(_ref) {
|
|
20
|
+
var value = _ref.value,
|
|
21
|
+
options = _ref.options,
|
|
22
|
+
disabled = _ref.disabled,
|
|
23
|
+
_ref$theme = _ref.theme,
|
|
24
|
+
theme = _ref$theme === void 0 ? "button" : _ref$theme,
|
|
25
|
+
_ref$variant = _ref.variant,
|
|
26
|
+
variant = _ref$variant === void 0 ? "outline" : _ref$variant,
|
|
27
|
+
_ref$size = _ref.size,
|
|
28
|
+
size = _ref$size === void 0 ? "medium" : _ref$size,
|
|
29
|
+
_ref$allowUncheck = _ref.allowUncheck,
|
|
30
|
+
allowUncheck = _ref$allowUncheck === void 0 ? false : _ref$allowUncheck,
|
|
31
|
+
className = _ref.className,
|
|
32
|
+
style = _ref.style;
|
|
33
|
+
var _useTwoWayBinding = useTwoWayBinding(value, void 0),
|
|
34
|
+
_useTwoWayBinding2 = _slicedToArray(_useTwoWayBinding, 2),
|
|
35
|
+
selectedValue = _useTwoWayBinding2[0],
|
|
36
|
+
setSelectedValue = _useTwoWayBinding2[1];
|
|
37
|
+
var resolvedDisabled = useDataBinding(disabled);
|
|
38
|
+
var handleChange = useCallback(function (val) {
|
|
39
|
+
setSelectedValue(val);
|
|
40
|
+
}, [setSelectedValue]);
|
|
41
|
+
var resolvedOptions = options.map(function (opt) {
|
|
42
|
+
return {
|
|
43
|
+
label: _typeof(opt.label) === "object" && "path" in opt.label ? opt.label : opt.label,
|
|
44
|
+
value: opt.value,
|
|
45
|
+
disabled: opt.disabled
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
return /* @__PURE__ */React__default.createElement(RadioGroup, {
|
|
49
|
+
className: className,
|
|
50
|
+
style: style,
|
|
51
|
+
value: selectedValue,
|
|
52
|
+
options: resolvedOptions,
|
|
53
|
+
disabled: resolvedDisabled,
|
|
54
|
+
theme: theme,
|
|
55
|
+
variant: variant,
|
|
56
|
+
size: size,
|
|
57
|
+
allowUncheck: allowUncheck,
|
|
58
|
+
onChange: handleChange
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
A2UIRadioGroup.displayName = "A2UIRadioGroup";
|
|
62
|
+
|
|
63
|
+
export { A2UIRadioGroup, A2UIRadioGroup as default };
|
|
64
|
+
//# sourceMappingURL=A2UIRadioGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"A2UIRadioGroup.js","sources":["../../../../../../pro-components/chat/chat-engine/components/a2ui/primitives/A2UIRadioGroup.tsx"],"sourcesContent":["/**\n * A2UI RadioGroup 组件\n * 复用 TDesign RadioGroup,支持双向数据绑定\n * \n * 用于单选场景,选中状态自动同步到数据模型\n */\n\nimport React, { useCallback } from 'react';\nimport { RadioGroup } from 'tdesign-react';\nimport { useDataBinding, useTwoWayBinding } from '../../../hooks/a2ui/useDataBinding';\nimport type { Bindable } from '../../../core/a2ui';\n\n/** 选项定义 */\nexport interface A2UIRadioOption {\n /** 选项显示文本 */\n label: Bindable<string>;\n /** 选项值 */\n value: string | number | boolean;\n /** 是否禁用 */\n disabled?: boolean;\n}\n\nexport interface A2UIRadioGroupProps {\n id?: string;\n /** 选中值,支持数据绑定 */\n value?: Bindable<string | number | boolean>;\n /** 选项列表 */\n options: A2UIRadioOption[];\n /** 是否禁用 */\n disabled?: Bindable<boolean>;\n /** 组件风格:radio 或 button */\n theme?: 'radio' | 'button';\n /** 按钮形式的变体:outline/primary-filled/default-filled */\n variant?: 'outline' | 'primary-filled' | 'default-filled';\n /** 尺寸 */\n size?: 'small' | 'medium' | 'large';\n /** 是否允许取消选中 */\n allowUncheck?: boolean;\n className?: string;\n style?: React.CSSProperties;\n}\n\n/**\n * A2UI RadioGroup\n * \n * 使用示例(A2UI 协议):\n * ```json\n * {\n * \"component\": \"RadioGroup\",\n * \"id\": \"user-type\",\n * \"value\": { \"path\": \"/form/userType\" },\n * \"theme\": \"button\",\n * \"variant\": \"outline\",\n * \"options\": [\n * { \"label\": \"个人用户\", \"value\": \"personal\" },\n * { \"label\": \"企业用户\", \"value\": \"business\" }\n * ]\n * }\n * ```\n */\nexport const A2UIRadioGroup: React.FC<A2UIRadioGroupProps> = ({\n value,\n options,\n disabled,\n theme = 'button',\n variant = 'outline',\n size = 'medium',\n allowUncheck = false,\n className,\n style,\n}) => {\n // 双向绑定值\n const [selectedValue, setSelectedValue] = useTwoWayBinding(value, undefined);\n \n // 解析禁用状态\n const resolvedDisabled = useDataBinding(disabled);\n\n // 处理选中变化\n const handleChange = useCallback(\n (val: string | number | boolean) => {\n setSelectedValue(val);\n },\n [setSelectedValue]\n );\n\n // 转换选项格式\n const resolvedOptions = options.map((opt) => ({\n label: typeof opt.label === 'object' && 'path' in opt.label ? opt.label : opt.label,\n value: opt.value,\n disabled: opt.disabled,\n }));\n\n return (\n <RadioGroup\n className={className}\n style={style}\n value={selectedValue}\n options={resolvedOptions as any}\n disabled={resolvedDisabled}\n theme={theme}\n variant={variant}\n size={size}\n allowUncheck={allowUncheck}\n onChange={handleChange}\n />\n );\n};\n\nA2UIRadioGroup.displayName = 'A2UIRadioGroup';\n\nexport default A2UIRadioGroup;\n"],"names":["A2UIRadioGroup","value","_ref","options","disabled","_ref$theme","theme","_ref$variant","variant","_ref$size","size","_ref$allowUncheck","allowUncheck","className","style","_useTwoWayBinding","useTwoWayBinding","_useTwoWayBinding2","_slicedToArray","selectedValue","setSelectedValue","resolvedDisabled","useDataBinding","handleChange","useCallback","val","resolvedOptions","map","opt","label","_typeof","React","createElement","RadioGroup","onChange","displayName"],"mappings":";;;;;;;;;;;;;;;;;;IA4DaA,iBAAgD,SAAhDA,qBAUP;AAAA,EAAA,IATJC,KAAA,GAAAC,IAAA,CAAAD,KAAA;IACAE,OAAA,GAAAD,IAAA,CAAAC,OAAA;IACAC,QAAA,GAAAF,IAAA,CAAAE,QAAA;IAAAC,UAAA,GAAAH,IAAA,CACAI,KAAQ;AAARA,IAAAA,KAAQ,GAAAD,UAAA,KAAA,KAAA,CAAA,GAAA,QAAA,GAAAA,UAAA;IAAAE,YAAA,GAAAL,IAAA,CACRM,OAAU;AAAVA,IAAAA,OAAU,GAAAD,YAAA,KAAA,KAAA,CAAA,GAAA,SAAA,GAAAA,YAAA;IAAAE,SAAA,GAAAP,IAAA,CACVQ,IAAO;AAAPA,IAAAA,IAAO,GAAAD,SAAA,KAAA,KAAA,CAAA,GAAA,QAAA,GAAAA,SAAA;IAAAE,iBAAA,GAAAT,IAAA,CACPU,YAAe;AAAfA,IAAAA,YAAe,GAAAD,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,GAAAA,iBAAA;IACfE,SAAA,GAAAX,IAAA,CAAAW,SAAA;IACAC,KAAA,GAAAZ,IAAA,CAAAY,KAAA,CAAA;EAGA,IAAAC,iBAAA,GAA0CC,gBAAA,CAAiBf,OAAO,KAAS,CAAA,CAAA;IAAAgB,kBAAA,GAAAC,cAAA,CAAAH,iBAAA,EAAA,CAAA,CAAA;AAApEI,IAAAA,aAAe,GAAAF,kBAAA,CAAA,CAAA,CAAA;AAAAG,IAAAA,gBAAgB,GAAAH,kBAAA,CAAA,CAAA,CAAA,CAAA;AAGhC,EAAA,IAAAI,gBAAA,GAAmBC,eAAelB,QAAQ,CAAA,CAAA;AAGhD,EAAA,IAAMmB,YAAe,GAAAC,WAAA,CACnB,UAACC,GAAmC,EAAA;IAClCL,gBAAA,CAAiBK,GAAG,CAAA,CAAA;AACtB,GAAA,EACA,CAACL,gBAAgB,CACnB,CAAA,CAAA;AAGA,EAAA,IAAMM,eAAkB,GAAAvB,OAAA,CAAQwB,GAAI,CAAA,UAACC,GAAS,EAAA;IAAA,OAAA;MAC5CC,KAAA,EAAOC,OAAA,CAAOF,GAAA,CAAIC,KAAU,CAAA,KAAA,QAAA,IAAY,UAAUD,GAAI,CAAAC,KAAA,GAAQD,GAAI,CAAAC,KAAA,GAAQD,GAAI,CAAAC,KAAA;MAC9E5B,OAAO2B,GAAI,CAAA3B,KAAA;MACXG,UAAUwB,GAAI,CAAAxB,QAAAA;KACd,CAAA;AAAA,GAAA,CAAA,CAAA;AAEF,EAAA,sBACG2B,cAAA,CAAAC,aAAA,CAAAC,UAAA,EAAA;AACCpB,IAAAA,SAAA,EAAAA,SAAA;AACAC,IAAAA,KAAA,EAAAA,KAAA;AACAb,IAAAA,KAAO,EAAAkB,aAAA;AACPhB,IAAAA,OAAS,EAAAuB,eAAA;AACTtB,IAAAA,QAAU,EAAAiB,gBAAA;AACVf,IAAAA,KAAA,EAAAA,KAAA;AACAE,IAAAA,OAAA,EAAAA,OAAA;AACAE,IAAAA,IAAA,EAAAA,IAAA;AACAE,IAAAA,YAAA,EAAAA,YAAA;AACAsB,IAAAA,QAAU,EAAAX,YAAAA;AACZ,GAAA,CAAA,CAAA;AAEJ,EAAA;AAEAvB,cAAA,CAAemC,WAAc,GAAA,gBAAA;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2UI Slider 组件
|
|
3
|
+
* A2UI v0.9 标准滑块组件
|
|
4
|
+
*/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import type { A2UISliderComponent } from '../../../core/a2ui';
|
|
7
|
+
export interface A2UISliderProps extends Omit<A2UISliderComponent, 'component'> {
|
|
8
|
+
className?: string;
|
|
9
|
+
style?: React.CSSProperties;
|
|
10
|
+
}
|
|
11
|
+
export declare const A2UISlider: React.FC<A2UISliderProps>;
|
|
12
|
+
export default A2UISlider;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.14
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
8
|
+
import React__default, { useCallback } from 'react';
|
|
9
|
+
import { Slider } from 'tdesign-react';
|
|
10
|
+
import { useDataBinding, useTwoWayBinding } from '../../../hooks/a2ui/useDataBinding.js';
|
|
11
|
+
import '../../../hooks/a2ui/A2UIContext.js';
|
|
12
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
13
|
+
import '../../../core/a2ui/utils/index.js';
|
|
14
|
+
import '../../../core/a2ui/utils/binding.js';
|
|
15
|
+
import '@babel/runtime/helpers/typeof';
|
|
16
|
+
import '../../../core/a2ui/utils/validation.js';
|
|
17
|
+
import '@babel/runtime/helpers/toConsumableArray';
|
|
18
|
+
|
|
19
|
+
var A2UISlider = function A2UISlider(_ref) {
|
|
20
|
+
var id = _ref.id,
|
|
21
|
+
label = _ref.label,
|
|
22
|
+
_ref$min = _ref.min,
|
|
23
|
+
min = _ref$min === void 0 ? 0 : _ref$min,
|
|
24
|
+
_ref$max = _ref.max,
|
|
25
|
+
max = _ref$max === void 0 ? 100 : _ref$max,
|
|
26
|
+
value = _ref.value,
|
|
27
|
+
className = _ref.className,
|
|
28
|
+
style = _ref.style;
|
|
29
|
+
var resolvedLabel = useDataBinding(label);
|
|
30
|
+
var _useTwoWayBinding = useTwoWayBinding(value, min),
|
|
31
|
+
_useTwoWayBinding2 = _slicedToArray(_useTwoWayBinding, 2),
|
|
32
|
+
sliderValue = _useTwoWayBinding2[0],
|
|
33
|
+
setSliderValue = _useTwoWayBinding2[1];
|
|
34
|
+
var handleChange = useCallback(function (val) {
|
|
35
|
+
setSliderValue(val);
|
|
36
|
+
}, [setSliderValue]);
|
|
37
|
+
return /* @__PURE__ */React__default.createElement("div", {
|
|
38
|
+
className: className,
|
|
39
|
+
style: style
|
|
40
|
+
}, resolvedLabel && /* @__PURE__ */React__default.createElement("label", {
|
|
41
|
+
style: {
|
|
42
|
+
display: "block",
|
|
43
|
+
marginBottom: 8
|
|
44
|
+
}
|
|
45
|
+
}, resolvedLabel), /* @__PURE__ */React__default.createElement(Slider, {
|
|
46
|
+
value: sliderValue,
|
|
47
|
+
min: min,
|
|
48
|
+
max: max,
|
|
49
|
+
onChange: handleChange
|
|
50
|
+
}));
|
|
51
|
+
};
|
|
52
|
+
A2UISlider.displayName = "A2UISlider";
|
|
53
|
+
|
|
54
|
+
export { A2UISlider, A2UISlider as default };
|
|
55
|
+
//# sourceMappingURL=A2UISlider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"A2UISlider.js","sources":["../../../../../../pro-components/chat/chat-engine/components/a2ui/primitives/A2UISlider.tsx"],"sourcesContent":["/**\n * A2UI Slider 组件\n * A2UI v0.9 标准滑块组件\n */\n\nimport React, { useCallback } from 'react';\nimport { Slider } from 'tdesign-react';\nimport { useDataBinding, useTwoWayBinding } from '../../../hooks/a2ui/useDataBinding';\nimport type { A2UISliderComponent } from '../../../core/a2ui';\n\nexport interface A2UISliderProps extends Omit<A2UISliderComponent, 'component'> {\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const A2UISlider: React.FC<A2UISliderProps> = ({\n id,\n label,\n min = 0,\n max = 100,\n value,\n className,\n style,\n}) => {\n // 解析标签\n const resolvedLabel = useDataBinding<React.ReactNode>(label);\n // 双向绑定值\n const [sliderValue, setSliderValue] = useTwoWayBinding<number>(value, min as number);\n\n // 处理 onChange\n const handleChange = useCallback(\n (val: number) => {\n setSliderValue(val);\n },\n [setSliderValue]\n );\n\n return (\n <div className={className} style={style}>\n {resolvedLabel && (\n <label style={{ display: 'block', marginBottom: 8 }}>{resolvedLabel}</label>\n )}\n <Slider\n value={sliderValue}\n min={min as number}\n max={max as number}\n onChange={handleChange}\n />\n </div>\n );\n};\n\nA2UISlider.displayName = 'A2UISlider';\n\nexport default A2UISlider;\n"],"names":["A2UISlider","id","_ref","label","_ref$min","min","_ref$max","max","value","className","style","resolvedLabel","useDataBinding","_useTwoWayBinding","useTwoWayBinding","_useTwoWayBinding2","_slicedToArray","sliderValue","setSliderValue","handleChange","useCallback","val","React","createElement","display","marginBottom","Slider","onChange","displayName"],"mappings":";;;;;;;;;;;;;;;;;;IAeaA,aAAwC,SAAxCA,iBAQP;AAAA,EAAA,IAPJC,EAAA,GAAAC,IAAA,CAAAD,EAAA;IACAE,KAAA,GAAAD,IAAA,CAAAC,KAAA;IAAAC,QAAA,GAAAF,IAAA,CACAG,GAAM;AAANA,IAAAA,GAAM,GAAAD,QAAA,KAAA,KAAA,CAAA,GAAA,CAAA,GAAAA,QAAA;IAAAE,QAAA,GAAAJ,IAAA,CACNK,GAAM;AAANA,IAAAA,GAAM,GAAAD,QAAA,KAAA,KAAA,CAAA,GAAA,GAAA,GAAAA,QAAA;IACNE,KAAA,GAAAN,IAAA,CAAAM,KAAA;IACAC,SAAA,GAAAP,IAAA,CAAAO,SAAA;IACAC,KAAA,GAAAR,IAAA,CAAAQ,KAAA,CAAA;AAGM,EAAA,IAAAC,aAAA,GAAgBC,eAAgCT,KAAK,CAAA,CAAA;AAE3D,EAAA,IAAAU,iBAAA,GAAsCC,gBAAA,CAAyBN,OAAOH,GAAa,CAAA;IAAAU,kBAAA,GAAAC,cAAA,CAAAH,iBAAA,EAAA,CAAA,CAAA;AAA5EI,IAAAA,WAAa,GAAAF,kBAAA,CAAA,CAAA,CAAA;AAAAG,IAAAA,cAAc,GAAAH,kBAAA,CAAA,CAAA,CAAA,CAAA;AAGlC,EAAA,IAAMI,YAAe,GAAAC,WAAA,CACnB,UAACC,GAAgB,EAAA;IACfH,cAAA,CAAeG,GAAG,CAAA,CAAA;AACpB,GAAA,EACA,CAACH,cAAc,CACjB,CAAA,CAAA;AAEA,EAAA,sBACGI,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAId,IAAAA,SAAA,EAAAA,SAAA;AAAsBC,IAAAA,KAAA,EAAAA,KAAAA;GAAA,EACxBC,gCACEW,cAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AAAMb,IAAAA,KAAO,EAAA;AAAEc,MAAAA,OAAS,EAAA,OAAA;AAASC,MAAAA,cAAc,CAAA;AAAE,KAAA;GAAI,EAAAd,aAAc,kBAErEW,cAAA,CAAAC,aAAA,CAAAG,MAAA,EAAA;AACClB,IAAAA,KAAO,EAAAS,WAAA;AACPZ,IAAAA,GAAA,EAAAA,GAAA;AACAE,IAAAA,GAAA,EAAAA,GAAA;AACAoB,IAAAA,QAAU,EAAAR,YAAAA;AAAA,GACZ,CACF,CAAA,CAAA;AAEJ,EAAA;AAEAnB,UAAA,CAAW4B,WAAc,GAAA,YAAA;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2UI Text 组件
|
|
3
|
+
* 用于渲染文本内容
|
|
4
|
+
*/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import type { A2UITextComponent } from '../../../core/a2ui';
|
|
7
|
+
export interface A2UITextProps extends Omit<A2UITextComponent, 'component'> {
|
|
8
|
+
className?: string;
|
|
9
|
+
style?: React.CSSProperties;
|
|
10
|
+
}
|
|
11
|
+
export declare const A2UIText: React.FC<A2UITextProps>;
|
|
12
|
+
export default A2UIText;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.14
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
8
|
+
import React__default, { useMemo } from 'react';
|
|
9
|
+
import classNames from 'classnames';
|
|
10
|
+
import { useDataBinding } from '../../../hooks/a2ui/useDataBinding.js';
|
|
11
|
+
import '@babel/runtime/helpers/slicedToArray';
|
|
12
|
+
import '../../../hooks/a2ui/A2UIContext.js';
|
|
13
|
+
import '../../../core/a2ui/utils/index.js';
|
|
14
|
+
import '../../../core/a2ui/utils/binding.js';
|
|
15
|
+
import '@babel/runtime/helpers/typeof';
|
|
16
|
+
import '../../../core/a2ui/utils/validation.js';
|
|
17
|
+
import '@babel/runtime/helpers/toConsumableArray';
|
|
18
|
+
|
|
19
|
+
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; }
|
|
20
|
+
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; }
|
|
21
|
+
var usageHintStyleMap = {
|
|
22
|
+
h1: {
|
|
23
|
+
fontSize: "2em",
|
|
24
|
+
fontWeight: 700,
|
|
25
|
+
margin: "0.67em 0"
|
|
26
|
+
},
|
|
27
|
+
h2: {
|
|
28
|
+
fontSize: "1.5em",
|
|
29
|
+
fontWeight: 600,
|
|
30
|
+
margin: "0.75em 0"
|
|
31
|
+
},
|
|
32
|
+
h3: {
|
|
33
|
+
fontSize: "1.25em",
|
|
34
|
+
fontWeight: 600,
|
|
35
|
+
margin: "0.83em 0"
|
|
36
|
+
},
|
|
37
|
+
h4: {
|
|
38
|
+
fontSize: "1em",
|
|
39
|
+
fontWeight: 600,
|
|
40
|
+
margin: "1.12em 0"
|
|
41
|
+
},
|
|
42
|
+
h5: {
|
|
43
|
+
fontSize: "0.875em",
|
|
44
|
+
fontWeight: 600,
|
|
45
|
+
margin: "1.5em 0"
|
|
46
|
+
},
|
|
47
|
+
caption: {
|
|
48
|
+
fontSize: "0.875em",
|
|
49
|
+
color: "var(--td-text-color-secondary, #666)"
|
|
50
|
+
},
|
|
51
|
+
body: {}
|
|
52
|
+
};
|
|
53
|
+
var variantStyleMap = {
|
|
54
|
+
body: {},
|
|
55
|
+
heading: {
|
|
56
|
+
fontWeight: 600,
|
|
57
|
+
fontSize: "1.25em"
|
|
58
|
+
},
|
|
59
|
+
caption: {
|
|
60
|
+
fontSize: "0.875em",
|
|
61
|
+
color: "var(--td-text-color-secondary, #666)"
|
|
62
|
+
},
|
|
63
|
+
code: {
|
|
64
|
+
fontFamily: "monospace",
|
|
65
|
+
backgroundColor: "var(--td-bg-color-component, #f5f5f5)",
|
|
66
|
+
padding: "2px 6px",
|
|
67
|
+
borderRadius: "4px"
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
var A2UIText = function A2UIText(_ref) {
|
|
71
|
+
var text = _ref.text,
|
|
72
|
+
usageHint = _ref.usageHint,
|
|
73
|
+
variant = _ref.variant,
|
|
74
|
+
className = _ref.className,
|
|
75
|
+
style = _ref.style;
|
|
76
|
+
var resolvedText = useDataBinding(text);
|
|
77
|
+
var computedStyle = useMemo(function () {
|
|
78
|
+
if (usageHint && typeof usageHint === "string") {
|
|
79
|
+
return usageHintStyleMap[usageHint] || {};
|
|
80
|
+
}
|
|
81
|
+
if (variant && typeof variant === "string") {
|
|
82
|
+
return variantStyleMap[variant] || {};
|
|
83
|
+
}
|
|
84
|
+
return {};
|
|
85
|
+
}, [usageHint, variant]);
|
|
86
|
+
var Tag = useMemo(function () {
|
|
87
|
+
if (usageHint === "h1") return "h1";
|
|
88
|
+
if (usageHint === "h2") return "h2";
|
|
89
|
+
if (usageHint === "h3") return "h3";
|
|
90
|
+
if (usageHint === "h4") return "h4";
|
|
91
|
+
if (usageHint === "h5") return "h5";
|
|
92
|
+
if (variant === "heading") return "h3";
|
|
93
|
+
if (variant === "code") return "code";
|
|
94
|
+
return "span";
|
|
95
|
+
}, [usageHint, variant]);
|
|
96
|
+
return /*#__PURE__*/React__default.createElement(Tag, {
|
|
97
|
+
className: classNames("a2ui-text", className),
|
|
98
|
+
style: _objectSpread(_objectSpread({}, computedStyle), style)
|
|
99
|
+
}, resolvedText);
|
|
100
|
+
};
|
|
101
|
+
A2UIText.displayName = "A2UIText";
|
|
102
|
+
|
|
103
|
+
export { A2UIText, A2UIText as default };
|
|
104
|
+
//# sourceMappingURL=A2UIText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"A2UIText.js","sources":["../../../../../../pro-components/chat/chat-engine/components/a2ui/primitives/A2UIText.tsx"],"sourcesContent":["/**\n * A2UI Text 组件\n * 用于渲染文本内容\n */\n\nimport React, { useMemo } from 'react';\nimport classNames from 'classnames';\nimport { useDataBinding } from '../../../hooks/a2ui/useDataBinding';\nimport type { A2UITextComponent } from '../../../core/a2ui';\n\nexport interface A2UITextProps extends Omit<A2UITextComponent, 'component'> {\n className?: string;\n style?: React.CSSProperties;\n}\n\n// A2UI v0.9 usageHint 映射到样式\nconst usageHintStyleMap: Record<string, React.CSSProperties> = {\n h1: { fontSize: '2em', fontWeight: 700, margin: '0.67em 0' },\n h2: { fontSize: '1.5em', fontWeight: 600, margin: '0.75em 0' },\n h3: { fontSize: '1.25em', fontWeight: 600, margin: '0.83em 0' },\n h4: { fontSize: '1em', fontWeight: 600, margin: '1.12em 0' },\n h5: { fontSize: '0.875em', fontWeight: 600, margin: '1.5em 0' },\n caption: { fontSize: '0.875em', color: 'var(--td-text-color-secondary, #666)' },\n body: {},\n};\n\n// 向后兼容旧版 variant\nconst variantStyleMap: Record<string, React.CSSProperties> = {\n body: {},\n heading: { fontWeight: 600, fontSize: '1.25em' },\n caption: { fontSize: '0.875em', color: 'var(--td-text-color-secondary, #666)' },\n code: {\n fontFamily: 'monospace',\n backgroundColor: 'var(--td-bg-color-component, #f5f5f5)',\n padding: '2px 6px',\n borderRadius: '4px',\n },\n};\n\nexport const A2UIText: React.FC<A2UITextProps> = ({\n text,\n usageHint,\n // 向后兼容旧版 variant\n variant,\n className,\n style,\n}: A2UITextProps & { variant?: string }) => {\n // 解析绑定值\n const resolvedText = useDataBinding(text);\n\n // 优先使用 usageHint(A2UI v0.9),其次使用 variant(向后兼容)\n const computedStyle = useMemo(() => {\n if (usageHint && typeof usageHint === 'string') {\n return usageHintStyleMap[usageHint] || {};\n }\n if (variant && typeof variant === 'string') {\n return variantStyleMap[variant] || {};\n }\n return {};\n }, [usageHint, variant]);\n\n // 根据 usageHint 选择标签\n const Tag: keyof JSX.IntrinsicElements = useMemo(() => {\n if (usageHint === 'h1') return 'h1';\n if (usageHint === 'h2') return 'h2';\n if (usageHint === 'h3') return 'h3';\n if (usageHint === 'h4') return 'h4';\n if (usageHint === 'h5') return 'h5';\n if (variant === 'heading') return 'h3';\n if (variant === 'code') return 'code';\n return 'span';\n }, [usageHint, variant]);\n\n return React.createElement(\n Tag,\n {\n className: classNames('a2ui-text', className),\n style: { ...computedStyle, ...style },\n },\n resolvedText as React.ReactNode\n );\n};\n\nA2UIText.displayName = 'A2UIText';\n\nexport default A2UIText;\n"],"names":["usageHintStyleMap","h1","fontSize","fontWeight","margin","h2","h3","h4","h5","caption","color","body","variantStyleMap","heading","code","fontFamily","backgroundColor","padding","borderRadius","A2UIText","text","_ref","usageHint","variant","className","style","resolvedText","useDataBinding","computedStyle","useMemo","Tag","React","createElement","classNames","_objectSpread","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;AAgBA,IAAMA,iBAAyD,GAAA;AAC7DC,EAAAA,IAAI;AAAEC,IAAAA,QAAA,EAAU;AAAOC,IAAAA,UAAY,EAAA,GAAA;AAAKC,IAAAA,QAAQ,UAAA;GAAW;AAC3DC,EAAAA,IAAI;AAAEH,IAAAA,QAAA,EAAU;AAASC,IAAAA,UAAY,EAAA,GAAA;AAAKC,IAAAA,QAAQ,UAAA;GAAW;AAC7DE,EAAAA,IAAI;AAAEJ,IAAAA,QAAA,EAAU;AAAUC,IAAAA,UAAY,EAAA,GAAA;AAAKC,IAAAA,QAAQ,UAAA;GAAW;AAC9DG,EAAAA,IAAI;AAAEL,IAAAA,QAAA,EAAU;AAAOC,IAAAA,UAAY,EAAA,GAAA;AAAKC,IAAAA,QAAQ,UAAA;GAAW;AAC3DI,EAAAA,IAAI;AAAEN,IAAAA,QAAA,EAAU;AAAWC,IAAAA,UAAY,EAAA,GAAA;AAAKC,IAAAA,QAAQ,SAAA;GAAU;AAC9DK,EAAAA,OAAS,EAAA;AAAEP,IAAAA,QAAU,EAAA,SAAA;AAAWQ,IAAAA,OAAO,sCAAA;GAAuC;AAC9EC,EAAAA,MAAM,EAAC;AACT,CAAA,CAAA;AAGA,IAAMC,eAAuD,GAAA;EAC3DD,MAAM,EAAC;AACPE,EAAAA,OAAS,EAAA;AAAEV,IAAAA,UAAY,EAAA,GAAA;AAAKD,IAAAA,UAAU,QAAA;GAAS;AAC/CO,EAAAA,OAAS,EAAA;AAAEP,IAAAA,QAAU,EAAA,SAAA;AAAWQ,IAAAA,OAAO,sCAAA;GAAuC;AAC9EI,EAAAA,IAAM,EAAA;AACJC,IAAAA,UAAY,EAAA,WAAA;AACZC,IAAAA,eAAiB,EAAA,uCAAA;AACjBC,IAAAA,OAAS,EAAA,SAAA;AACTC,IAAAA,YAAc,EAAA,KAAA;AAChB,GAAA;AACF,CAAA,CAAA;IAEaC,WAAoC,SAApCA,eAO+B;AAAA,EAAA,IAN1CC,IAAA,GAAAC,IAAA,CAAAD,IAAA;IACAE,SAAA,GAAAD,IAAA,CAAAC,SAAA;IAEAC,OAAA,GAAAF,IAAA,CAAAE,OAAA;IACAC,SAAA,GAAAH,IAAA,CAAAG,SAAA;IACAC,KAAA,GAAAJ,IAAA,CAAAI,KAAA,CAAA;AAGM,EAAA,IAAAC,YAAA,GAAeC,eAAeP,IAAI,CAAA,CAAA;AAGlC,EAAA,IAAAQ,aAAA,GAAgBC,QAAQ,YAAM;AAC9B,IAAA,IAAAP,SAAA,IAAa,OAAOA,SAAA,KAAc,QAAU,EAAA;AACvC,MAAA,OAAAtB,iBAAA,CAAkBsB,cAAc,EAAC,CAAA;AAC1C,KAAA;AACI,IAAA,IAAAC,OAAA,IAAW,OAAOA,OAAA,KAAY,QAAU,EAAA;AACnC,MAAA,OAAAX,eAAA,CAAgBW,YAAY,EAAC,CAAA;AACtC,KAAA;AACA,IAAA,OAAO,EAAC,CAAA;AACV,GAAG,EAAA,CAACD,SAAW,EAAAC,OAAO,CAAC,CAAA,CAAA;AAGjB,EAAA,IAAAO,GAAA,GAAmCD,QAAQ,YAAM;AACrD,IAAA,IAAIP,SAAc,KAAA,IAAA,EAAa,OAAA,IAAA,CAAA;AAC/B,IAAA,IAAIA,SAAc,KAAA,IAAA,EAAa,OAAA,IAAA,CAAA;AAC/B,IAAA,IAAIA,SAAc,KAAA,IAAA,EAAa,OAAA,IAAA,CAAA;AAC/B,IAAA,IAAIA,SAAc,KAAA,IAAA,EAAa,OAAA,IAAA,CAAA;AAC/B,IAAA,IAAIA,SAAc,KAAA,IAAA,EAAa,OAAA,IAAA,CAAA;AAC/B,IAAA,IAAIC,OAAY,KAAA,SAAA,EAAkB,OAAA,IAAA,CAAA;AAClC,IAAA,IAAIA,OAAY,KAAA,MAAA,EAAe,OAAA,MAAA,CAAA;AACxB,IAAA,OAAA,MAAA,CAAA;AACT,GAAG,EAAA,CAACD,SAAW,EAAAC,OAAO,CAAC,CAAA,CAAA;AAEvB,EAAA,oBAAOQ,cAAM,CAAAC,aAAA,CACXF,GAAA,EACA;AACEN,IAAAA,SAAA,EAAWS,UAAW,CAAA,WAAA,EAAaT,SAAS,CAAA;AAC5CC,IAAAA,KAAO,EAAAS,aAAA,CAAAA,aAAA,CAAKN,EAAAA,EAAAA,aAAA,GAAkBH,KAAM,CAAA;GACtC,EACAC,YACF,CAAA,CAAA;AACF,EAAA;AAEAP,QAAA,CAASgB,WAAc,GAAA,UAAA;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2UI TextField 组件
|
|
3
|
+
* A2UI v0.9 标准输入框组件
|
|
4
|
+
*/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import type { A2UITextFieldComponent } from '../../../core/a2ui';
|
|
7
|
+
export interface A2UITextFieldProps extends Omit<A2UITextFieldComponent, 'component'> {
|
|
8
|
+
className?: string;
|
|
9
|
+
style?: React.CSSProperties;
|
|
10
|
+
}
|
|
11
|
+
export declare const A2UITextField: React.FC<A2UITextFieldProps>;
|
|
12
|
+
export default A2UITextField;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tdesign v1.0.2-alpha.14
|
|
3
|
+
* (c) 2026 tdesign
|
|
4
|
+
* @license MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
8
|
+
import React__default, { useCallback } from 'react';
|
|
9
|
+
import { Textarea, Input } from 'tdesign-react';
|
|
10
|
+
import { useDataBinding, useTwoWayBinding } from '../../../hooks/a2ui/useDataBinding.js';
|
|
11
|
+
import '../../../hooks/a2ui/A2UIContext.js';
|
|
12
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
13
|
+
import '../../../core/a2ui/utils/index.js';
|
|
14
|
+
import '../../../core/a2ui/utils/binding.js';
|
|
15
|
+
import '@babel/runtime/helpers/typeof';
|
|
16
|
+
import '../../../core/a2ui/utils/validation.js';
|
|
17
|
+
import '@babel/runtime/helpers/toConsumableArray';
|
|
18
|
+
|
|
19
|
+
var A2UITextField = function A2UITextField(_ref) {
|
|
20
|
+
var id = _ref.id,
|
|
21
|
+
label = _ref.label,
|
|
22
|
+
text = _ref.text,
|
|
23
|
+
_ref$usageHint = _ref.usageHint,
|
|
24
|
+
usageHint = _ref$usageHint === void 0 ? "shortText" : _ref$usageHint,
|
|
25
|
+
validationRegexp = _ref.validationRegexp,
|
|
26
|
+
placeholder = _ref.placeholder,
|
|
27
|
+
disabled = _ref.disabled,
|
|
28
|
+
className = _ref.className,
|
|
29
|
+
style = _ref.style;
|
|
30
|
+
var resolvedLabel = useDataBinding(label);
|
|
31
|
+
var _useTwoWayBinding = useTwoWayBinding(text, ""),
|
|
32
|
+
_useTwoWayBinding2 = _slicedToArray(_useTwoWayBinding, 2),
|
|
33
|
+
inputValue = _useTwoWayBinding2[0],
|
|
34
|
+
setInputValue = _useTwoWayBinding2[1];
|
|
35
|
+
var resolvedDisabled = useDataBinding(disabled);
|
|
36
|
+
var handleChange = useCallback(function (val) {
|
|
37
|
+
if (validationRegexp && typeof validationRegexp === "string") {
|
|
38
|
+
var regex = new RegExp(validationRegexp);
|
|
39
|
+
if (!regex.test(val) && val !== "") {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
setInputValue(val);
|
|
44
|
+
}, [setInputValue, validationRegexp]);
|
|
45
|
+
if (usageHint === "longText") {
|
|
46
|
+
return /* @__PURE__ */React__default.createElement("div", {
|
|
47
|
+
className: className,
|
|
48
|
+
style: style
|
|
49
|
+
}, resolvedLabel && /* @__PURE__ */React__default.createElement("label", {
|
|
50
|
+
style: {
|
|
51
|
+
display: "block",
|
|
52
|
+
marginBottom: 4
|
|
53
|
+
}
|
|
54
|
+
}, resolvedLabel), /* @__PURE__ */React__default.createElement(Textarea, {
|
|
55
|
+
value: inputValue,
|
|
56
|
+
placeholder: placeholder,
|
|
57
|
+
disabled: resolvedDisabled,
|
|
58
|
+
onChange: handleChange,
|
|
59
|
+
autosize: {
|
|
60
|
+
minRows: 3,
|
|
61
|
+
maxRows: 10
|
|
62
|
+
}
|
|
63
|
+
}));
|
|
64
|
+
}
|
|
65
|
+
var inputType = usageHint === "obscured" ? "password" : usageHint === "number" ? "number" : "text";
|
|
66
|
+
return /* @__PURE__ */React__default.createElement(Input, {
|
|
67
|
+
className: className,
|
|
68
|
+
style: style,
|
|
69
|
+
value: inputValue,
|
|
70
|
+
placeholder: placeholder,
|
|
71
|
+
disabled: resolvedDisabled,
|
|
72
|
+
label: resolvedLabel,
|
|
73
|
+
type: inputType,
|
|
74
|
+
onChange: handleChange
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
A2UITextField.displayName = "A2UITextField";
|
|
78
|
+
|
|
79
|
+
export { A2UITextField, A2UITextField as default };
|
|
80
|
+
//# sourceMappingURL=A2UITextField.js.map
|