@wildo-ai/presets-components 1.0.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/dist/esm/components/actions/action-bar.d.ts +8 -0
- package/dist/esm/components/actions/action-bar.d.ts.map +1 -0
- package/dist/esm/components/actions/action-bar.js +125 -0
- package/dist/esm/components/actions/action-bar.js.map +1 -0
- package/dist/esm/components/actions/action-button.d.ts +8 -0
- package/dist/esm/components/actions/action-button.d.ts.map +1 -0
- package/dist/esm/components/actions/action-button.js +36 -0
- package/dist/esm/components/actions/action-button.js.map +1 -0
- package/dist/esm/components/actions/button-group.d.ts +7 -0
- package/dist/esm/components/actions/button-group.d.ts.map +1 -0
- package/dist/esm/components/actions/button-group.js +34 -0
- package/dist/esm/components/actions/button-group.js.map +1 -0
- package/dist/esm/components/actions/button.d.ts +5 -0
- package/dist/esm/components/actions/button.d.ts.map +1 -0
- package/dist/esm/components/actions/button.js +38 -0
- package/dist/esm/components/actions/button.js.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.d.ts +3 -0
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.js +136 -0
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.js.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/artifact.d.ts +13 -0
- package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/artifact.js +52 -0
- package/dist/esm/components/ai-elements/artifacts/artifact.js.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/code-block.d.ts +17 -0
- package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/code-block.js +114 -0
- package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/image.d.ts +4 -0
- package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/image.js +4 -0
- package/dist/esm/components/ai-elements/artifacts/image.js.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts +31 -0
- package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/web-preview.js +93 -0
- package/dist/esm/components/ai-elements/artifacts/web-preview.js.map +1 -0
- package/dist/esm/components/ai-elements/chat/conversation.d.ts +3 -0
- package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/chat/conversation.js +32 -0
- package/dist/esm/components/ai-elements/chat/conversation.js.map +1 -0
- package/dist/esm/components/ai-elements/chat/message.d.ts +3 -0
- package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/chat/message.js +138 -0
- package/dist/esm/components/ai-elements/chat/message.js.map +1 -0
- package/dist/esm/components/ai-elements/chat/prompt-input.d.ts +144 -0
- package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/chat/prompt-input.js +622 -0
- package/dist/esm/components/ai-elements/chat/prompt-input.js.map +1 -0
- package/dist/esm/components/ai-elements/chat/sources.d.ts +11 -0
- package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/chat/sources.js +23 -0
- package/dist/esm/components/ai-elements/chat/sources.js.map +1 -0
- package/dist/esm/components/ai-elements/chat/suggestion.d.ts +5 -0
- package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/chat/suggestion.js +12 -0
- package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -0
- package/dist/esm/components/ai-elements/decision/approval.d.ts +51 -0
- package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/decision/approval.js +95 -0
- package/dist/esm/components/ai-elements/decision/approval.js.map +1 -0
- package/dist/esm/components/ai-elements/decision/decision-request.d.ts +31 -0
- package/dist/esm/components/ai-elements/decision/decision-request.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/decision/decision-request.js +135 -0
- package/dist/esm/components/ai-elements/decision/decision-request.js.map +1 -0
- package/dist/esm/components/ai-elements/execution/confirmation.d.ts +10 -0
- package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/execution/confirmation.js +59 -0
- package/dist/esm/components/ai-elements/execution/confirmation.js.map +1 -0
- package/dist/esm/components/ai-elements/execution/queue.d.ts +3 -0
- package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/execution/queue.js +90 -0
- package/dist/esm/components/ai-elements/execution/queue.js.map +1 -0
- package/dist/esm/components/ai-elements/execution/task.d.ts +3 -0
- package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/execution/task.js +25 -0
- package/dist/esm/components/ai-elements/execution/task.js.map +1 -0
- package/dist/esm/components/ai-elements/execution/tool.d.ts +3 -0
- package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/execution/tool.js +87 -0
- package/dist/esm/components/ai-elements/execution/tool.js.map +1 -0
- package/dist/esm/components/ai-elements/graph/canvas.d.ts +10 -0
- package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/graph/canvas.js +5 -0
- package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -0
- package/dist/esm/components/ai-elements/graph/connection.d.ts +3 -0
- package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/graph/connection.js +4 -0
- package/dist/esm/components/ai-elements/graph/connection.js.map +1 -0
- package/dist/esm/components/ai-elements/graph/controls.d.ts +6 -0
- package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/graph/controls.js +11 -0
- package/dist/esm/components/ai-elements/graph/controls.js.map +1 -0
- package/dist/esm/components/ai-elements/graph/edge.d.ts +13 -0
- package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/graph/edge.js +88 -0
- package/dist/esm/components/ai-elements/graph/edge.js.map +1 -0
- package/dist/esm/components/ai-elements/graph/node.d.ts +23 -0
- package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/graph/node.js +11 -0
- package/dist/esm/components/ai-elements/graph/node.js.map +1 -0
- package/dist/esm/components/ai-elements/graph/panel.d.ts +7 -0
- package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/graph/panel.js +14 -0
- package/dist/esm/components/ai-elements/graph/panel.js.map +1 -0
- package/dist/esm/components/ai-elements/graph/toolbar.d.ts +7 -0
- package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/graph/toolbar.js +5 -0
- package/dist/esm/components/ai-elements/graph/toolbar.js.map +1 -0
- package/dist/esm/components/ai-elements/meta/agent.d.ts +100 -0
- package/dist/esm/components/ai-elements/meta/agent.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/meta/agent.js +111 -0
- package/dist/esm/components/ai-elements/meta/agent.js.map +1 -0
- package/dist/esm/components/ai-elements/meta/context.d.ts +33 -0
- package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/meta/context.js +195 -0
- package/dist/esm/components/ai-elements/meta/context.js.map +1 -0
- package/dist/esm/components/ai-elements/meta/model-selector.d.ts +36 -0
- package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/meta/model-selector.js +22 -0
- package/dist/esm/components/ai-elements/meta/model-selector.js.map +1 -0
- package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts +15 -0
- package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/meta/open-in-chat.js +111 -0
- package/dist/esm/components/ai-elements/meta/open-in-chat.js.map +1 -0
- package/dist/esm/components/ai-elements/shared/loader.d.ts +5 -0
- package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/shared/loader.js +5 -0
- package/dist/esm/components/ai-elements/shared/loader.js.map +1 -0
- package/dist/esm/components/ai-elements/shared/shimmer.d.ts +11 -0
- package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/shared/shimmer.js +19 -0
- package/dist/esm/components/ai-elements/shared/shimmer.js.map +1 -0
- package/dist/esm/components/ai-elements/stream/execution-stream.d.ts +24 -0
- package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/stream/execution-stream.js +41 -0
- package/dist/esm/components/ai-elements/stream/execution-stream.js.map +1 -0
- package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts +29 -0
- package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/trace/chain-of-thought.js +69 -0
- package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -0
- package/dist/esm/components/ai-elements/trace/checkpoint.d.ts +14 -0
- package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/trace/checkpoint.js +21 -0
- package/dist/esm/components/ai-elements/trace/checkpoint.js.map +1 -0
- package/dist/esm/components/ai-elements/trace/inline-citation.d.ts +38 -0
- package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/trace/inline-citation.js +81 -0
- package/dist/esm/components/ai-elements/trace/inline-citation.js.map +1 -0
- package/dist/esm/components/ai-elements/trace/plan.d.ts +19 -0
- package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/trace/plan.js +42 -0
- package/dist/esm/components/ai-elements/trace/plan.js.map +1 -0
- package/dist/esm/components/ai-elements/trace/reasoning.d.ts +16 -0
- package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/trace/reasoning.js +89 -0
- package/dist/esm/components/ai-elements/trace/reasoning.js.map +1 -0
- package/dist/esm/components/app/app-layout-main-container.d.ts +4 -0
- package/dist/esm/components/app/app-layout-main-container.d.ts.map +1 -0
- package/dist/esm/components/app/app-layout-main-container.js +22 -0
- package/dist/esm/components/app/app-layout-main-container.js.map +1 -0
- package/dist/esm/components/app/public-layout-main-container.d.ts +4 -0
- package/dist/esm/components/app/public-layout-main-container.d.ts.map +1 -0
- package/dist/esm/components/app/public-layout-main-container.js +10 -0
- package/dist/esm/components/app/public-layout-main-container.js.map +1 -0
- package/dist/esm/components/billing/billing-format.utils.d.ts +21 -0
- package/dist/esm/components/billing/billing-format.utils.d.ts.map +1 -0
- package/dist/esm/components/billing/billing-format.utils.js +35 -0
- package/dist/esm/components/billing/billing-format.utils.js.map +1 -0
- package/dist/esm/components/billing/billing-invoice-history.d.ts +13 -0
- package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -0
- package/dist/esm/components/billing/billing-invoice-history.js +55 -0
- package/dist/esm/components/billing/billing-invoice-history.js.map +1 -0
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts +13 -0
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +1 -0
- package/dist/esm/components/billing/billing-plan-change-preview.js +44 -0
- package/dist/esm/components/billing/billing-plan-change-preview.js.map +1 -0
- package/dist/esm/components/billing/billing-portal-link.d.ts +10 -0
- package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -0
- package/dist/esm/components/billing/billing-portal-link.js +35 -0
- package/dist/esm/components/billing/billing-portal-link.js.map +1 -0
- package/dist/esm/components/billing/billing-pricing-table.d.ts +16 -0
- package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -0
- package/dist/esm/components/billing/billing-pricing-table.js +74 -0
- package/dist/esm/components/billing/billing-pricing-table.js.map +1 -0
- package/dist/esm/components/billing/billing-promotion-code-input.d.ts +10 -0
- package/dist/esm/components/billing/billing-promotion-code-input.d.ts.map +1 -0
- package/dist/esm/components/billing/billing-promotion-code-input.js +68 -0
- package/dist/esm/components/billing/billing-promotion-code-input.js.map +1 -0
- package/dist/esm/components/billing/billing-subscription-status.d.ts +13 -0
- package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -0
- package/dist/esm/components/billing/billing-subscription-status.js +58 -0
- package/dist/esm/components/billing/billing-subscription-status.js.map +1 -0
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts +13 -0
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -0
- package/dist/esm/components/billing/billing-usage-dashboard.js +49 -0
- package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -0
- package/dist/esm/components/data-display/avatar.d.ts +3 -0
- package/dist/esm/components/data-display/avatar.d.ts.map +1 -0
- package/dist/esm/components/data-display/avatar.js +24 -0
- package/dist/esm/components/data-display/avatar.js.map +1 -0
- package/dist/esm/components/data-display/badge.d.ts +5 -0
- package/dist/esm/components/data-display/badge.d.ts.map +1 -0
- package/dist/esm/components/data-display/badge.js +24 -0
- package/dist/esm/components/data-display/badge.js.map +1 -0
- package/dist/esm/components/data-display/description-list.d.ts +5 -0
- package/dist/esm/components/data-display/description-list.d.ts.map +1 -0
- package/dist/esm/components/data-display/description-list.js +36 -0
- package/dist/esm/components/data-display/description-list.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts +17 -0
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js +93 -0
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts +19 -0
- package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-boolean.js +53 -0
- package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-code.d.ts +22 -0
- package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-code.js +90 -0
- package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-date.d.ts +13 -0
- package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-date.js +16 -0
- package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts +13 -0
- package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-datetime.js +16 -0
- package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-duration.d.ts +16 -0
- package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-duration.js +36 -0
- package/dist/esm/components/data-display/formatters/display-field-duration.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-enum.d.ts +16 -0
- package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-enum.js +80 -0
- package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts +14 -0
- package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-file-audio.js +33 -0
- package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts +14 -0
- package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-file-document.js +57 -0
- package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts +17 -0
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.js +87 -0
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts +15 -0
- package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-file-image.js +48 -0
- package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts +14 -0
- package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-file-video.js +34 -0
- package/dist/esm/components/data-display/formatters/display-field-file-video.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-file.d.ts +33 -0
- package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-file.js +240 -0
- package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-format.utils.d.ts +43 -0
- package/dist/esm/components/data-display/formatters/display-field-format.utils.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-format.utils.js +113 -0
- package/dist/esm/components/data-display/formatters/display-field-format.utils.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-money.d.ts +19 -0
- package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-money.js +88 -0
- package/dist/esm/components/data-display/formatters/display-field-money.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-number.d.ts +16 -0
- package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-number.js +87 -0
- package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-phone.d.ts +15 -0
- package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-phone.js +31 -0
- package/dist/esm/components/data-display/formatters/display-field-phone.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts +16 -0
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.js +117 -0
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts +13 -0
- package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-range-date.js +35 -0
- package/dist/esm/components/data-display/formatters/display-field-range-date.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts +13 -0
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.js +35 -0
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts +16 -0
- package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-range-money.js +83 -0
- package/dist/esm/components/data-display/formatters/display-field-range-money.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts +13 -0
- package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-range-number.js +35 -0
- package/dist/esm/components/data-display/formatters/display-field-range-number.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts +13 -0
- package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-range-time.js +38 -0
- package/dist/esm/components/data-display/formatters/display-field-range-time.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-string.d.ts +16 -0
- package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-string.js +86 -0
- package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-time.d.ts +13 -0
- package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-time.js +20 -0
- package/dist/esm/components/data-display/formatters/display-field-time.js.map +1 -0
- package/dist/esm/components/feedback/celebration-overlay.d.ts +20 -0
- package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -0
- package/dist/esm/components/feedback/celebration-overlay.js +46 -0
- package/dist/esm/components/feedback/celebration-overlay.js.map +1 -0
- package/dist/esm/components/feedback/danger-zone.d.ts +4 -0
- package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -0
- package/dist/esm/components/feedback/danger-zone.js +16 -0
- package/dist/esm/components/feedback/danger-zone.js.map +1 -0
- package/dist/esm/components/feedback/empty-state.d.ts +14 -0
- package/dist/esm/components/feedback/empty-state.d.ts.map +1 -0
- package/dist/esm/components/feedback/empty-state.js +24 -0
- package/dist/esm/components/feedback/empty-state.js.map +1 -0
- package/dist/esm/components/feedback/error-display.d.ts +5 -0
- package/dist/esm/components/feedback/error-display.d.ts.map +1 -0
- package/dist/esm/components/feedback/error-display.js +38 -0
- package/dist/esm/components/feedback/error-display.js.map +1 -0
- package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts +13 -0
- package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -0
- package/dist/esm/components/feedback/features/feature-limit-indicator.js +19 -0
- package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -0
- package/dist/esm/components/feedback/features/feature-lock-badge.d.ts +10 -0
- package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -0
- package/dist/esm/components/feedback/features/feature-lock-badge.js +29 -0
- package/dist/esm/components/feedback/features/feature-lock-badge.js.map +1 -0
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts +10 -0
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -0
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.js +6 -0
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.js.map +1 -0
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts +12 -0
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -0
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js +45 -0
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -0
- package/dist/esm/components/feedback/loading-overlay.d.ts +13 -0
- package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -0
- package/dist/esm/components/feedback/loading-overlay.js +19 -0
- package/dist/esm/components/feedback/loading-overlay.js.map +1 -0
- package/dist/esm/components/feedback/loading-spinner.d.ts +11 -0
- package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -0
- package/dist/esm/components/feedback/loading-spinner.js +17 -0
- package/dist/esm/components/feedback/loading-spinner.js.map +1 -0
- package/dist/esm/components/feedback/notification-center.d.ts +14 -0
- package/dist/esm/components/feedback/notification-center.d.ts.map +1 -0
- package/dist/esm/components/feedback/notification-center.js +45 -0
- package/dist/esm/components/feedback/notification-center.js.map +1 -0
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts +5 -0
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -0
- package/dist/esm/components/feedback/operations-confirm-critical.js +23 -0
- package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -0
- package/dist/esm/components/feedback/progress.d.ts +5 -0
- package/dist/esm/components/feedback/progress.d.ts.map +1 -0
- package/dist/esm/components/feedback/progress.js +22 -0
- package/dist/esm/components/feedback/progress.js.map +1 -0
- package/dist/esm/components/feedback/skeleton.d.ts +4 -0
- package/dist/esm/components/feedback/skeleton.d.ts.map +1 -0
- package/dist/esm/components/feedback/skeleton.js +10 -0
- package/dist/esm/components/feedback/skeleton.js.map +1 -0
- package/dist/esm/components/feedback/toast.d.ts +5 -0
- package/dist/esm/components/feedback/toast.d.ts.map +1 -0
- package/dist/esm/components/feedback/toast.js +12 -0
- package/dist/esm/components/feedback/toast.js.map +1 -0
- package/dist/esm/components/form/autosave-indicator.d.ts +15 -0
- package/dist/esm/components/form/autosave-indicator.d.ts.map +1 -0
- package/dist/esm/components/form/autosave-indicator.js +43 -0
- package/dist/esm/components/form/autosave-indicator.js.map +1 -0
- package/dist/esm/components/form/chromes/field.d.ts +23 -0
- package/dist/esm/components/form/chromes/field.d.ts.map +1 -0
- package/dist/esm/components/form/chromes/field.js +84 -0
- package/dist/esm/components/form/chromes/field.js.map +1 -0
- package/dist/esm/components/form/chromes/form-primitive.d.ts +14 -0
- package/dist/esm/components/form/chromes/form-primitive.d.ts.map +1 -0
- package/dist/esm/components/form/chromes/form-primitive.js +38 -0
- package/dist/esm/components/form/chromes/form-primitive.js.map +1 -0
- package/dist/esm/components/form/combobox.d.ts +6 -0
- package/dist/esm/components/form/combobox.d.ts.map +1 -0
- package/dist/esm/components/form/combobox.js +138 -0
- package/dist/esm/components/form/combobox.js.map +1 -0
- package/dist/esm/components/form/controls/boolean/checkbox.d.ts +3 -0
- package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -0
- package/dist/esm/components/form/controls/boolean/checkbox.js +49 -0
- package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -0
- package/dist/esm/components/form/controls/boolean/switch.d.ts +3 -0
- package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -0
- package/dist/esm/components/form/controls/boolean/switch.js +56 -0
- package/dist/esm/components/form/controls/boolean/switch.js.map +1 -0
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts +5 -0
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -0
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.js +63 -0
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.js.map +1 -0
- package/dist/esm/components/form/controls/boolean/toggle.d.ts +5 -0
- package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -0
- package/dist/esm/components/form/controls/boolean/toggle.js +41 -0
- package/dist/esm/components/form/controls/boolean/toggle.js.map +1 -0
- package/dist/esm/components/form/controls/date-time/calendar.d.ts +6 -0
- package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -0
- package/dist/esm/components/form/controls/date-time/calendar.js +129 -0
- package/dist/esm/components/form/controls/date-time/calendar.js.map +1 -0
- package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts +11 -0
- package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -0
- package/dist/esm/components/form/controls/date-time/date-range-picker.js +89 -0
- package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -0
- package/dist/esm/components/form/controls/date-time/datepicker.d.ts +5 -0
- package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -0
- package/dist/esm/components/form/controls/date-time/datepicker.js +62 -0
- package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -0
- package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts +11 -0
- package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -0
- package/dist/esm/components/form/controls/date-time/datetime-picker.js +161 -0
- package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -0
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts +11 -0
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -0
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.js +200 -0
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -0
- package/dist/esm/components/form/controls/date-time/time-picker.d.ts +11 -0
- package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -0
- package/dist/esm/components/form/controls/date-time/time-picker.js +169 -0
- package/dist/esm/components/form/controls/date-time/time-picker.js.map +1 -0
- package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts +11 -0
- package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -0
- package/dist/esm/components/form/controls/date-time/time-range-picker.js +232 -0
- package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -0
- package/dist/esm/components/form/controls/enum/radio.d.ts +7 -0
- package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -0
- package/dist/esm/components/form/controls/enum/radio.js +65 -0
- package/dist/esm/components/form/controls/enum/radio.js.map +1 -0
- package/dist/esm/components/form/controls/enum/select-multiple.d.ts +7 -0
- package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -0
- package/dist/esm/components/form/controls/enum/select-multiple.js +59 -0
- package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -0
- package/dist/esm/components/form/controls/enum/select.d.ts +27 -0
- package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -0
- package/dist/esm/components/form/controls/enum/select.js +98 -0
- package/dist/esm/components/form/controls/enum/select.js.map +1 -0
- package/dist/esm/components/form/controls/enum/toggle-group.d.ts +3 -0
- package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -0
- package/dist/esm/components/form/controls/enum/toggle-group.js +41 -0
- package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -0
- package/dist/esm/components/form/controls/file/file-upload.d.ts +52 -0
- package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -0
- package/dist/esm/components/form/controls/file/file-upload.js +230 -0
- package/dist/esm/components/form/controls/file/file-upload.js.map +1 -0
- package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts +16 -0
- package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -0
- package/dist/esm/components/form/controls/form-field-checkbox-group.js +131 -0
- package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -0
- package/dist/esm/components/form/controls/input-group.d.ts +10 -0
- package/dist/esm/components/form/controls/input-group.d.ts.map +1 -0
- package/dist/esm/components/form/controls/input-group.js +76 -0
- package/dist/esm/components/form/controls/input-group.js.map +1 -0
- package/dist/esm/components/form/controls/input.d.ts +3 -0
- package/dist/esm/components/form/controls/input.d.ts.map +1 -0
- package/dist/esm/components/form/controls/input.js +76 -0
- package/dist/esm/components/form/controls/input.js.map +1 -0
- package/dist/esm/components/form/controls/number/slider.d.ts +13 -0
- package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -0
- package/dist/esm/components/form/controls/number/slider.js +114 -0
- package/dist/esm/components/form/controls/number/slider.js.map +1 -0
- package/dist/esm/components/form/controls/string/color-input.d.ts +5 -0
- package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -0
- package/dist/esm/components/form/controls/string/color-input.js +49 -0
- package/dist/esm/components/form/controls/string/color-input.js.map +1 -0
- package/dist/esm/components/form/controls/string/input-otp.d.ts +3 -0
- package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -0
- package/dist/esm/components/form/controls/string/input-otp.js +35 -0
- package/dist/esm/components/form/controls/string/input-otp.js.map +1 -0
- package/dist/esm/components/form/controls/string/password-input.d.ts +16 -0
- package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -0
- package/dist/esm/components/form/controls/string/password-input.js +54 -0
- package/dist/esm/components/form/controls/string/password-input.js.map +1 -0
- package/dist/esm/components/form/controls/string/textarea.d.ts +3 -0
- package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -0
- package/dist/esm/components/form/controls/string/textarea.js +51 -0
- package/dist/esm/components/form/controls/string/textarea.js.map +1 -0
- package/dist/esm/components/layout/aspect-ratio.d.ts +5 -0
- package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -0
- package/dist/esm/components/layout/aspect-ratio.js +8 -0
- package/dist/esm/components/layout/aspect-ratio.js.map +1 -0
- package/dist/esm/components/layout/carousel.d.ts +3 -0
- package/dist/esm/components/layout/carousel.d.ts.map +1 -0
- package/dist/esm/components/layout/carousel.js +107 -0
- package/dist/esm/components/layout/carousel.js.map +1 -0
- package/dist/esm/components/layout/divider.d.ts +4 -0
- package/dist/esm/components/layout/divider.d.ts.map +1 -0
- package/dist/esm/components/layout/divider.js +15 -0
- package/dist/esm/components/layout/divider.js.map +1 -0
- package/dist/esm/components/layout/resizable.d.ts +3 -0
- package/dist/esm/components/layout/resizable.d.ts.map +1 -0
- package/dist/esm/components/layout/resizable.js +16 -0
- package/dist/esm/components/layout/resizable.js.map +1 -0
- package/dist/esm/components/layout/scroll-area.d.ts +3 -0
- package/dist/esm/components/layout/scroll-area.d.ts.map +1 -0
- package/dist/esm/components/layout/scroll-area.js +22 -0
- package/dist/esm/components/layout/scroll-area.js.map +1 -0
- package/dist/esm/components/layout/separator.d.ts +5 -0
- package/dist/esm/components/layout/separator.d.ts.map +1 -0
- package/dist/esm/components/layout/separator.js +15 -0
- package/dist/esm/components/layout/separator.js.map +1 -0
- package/dist/esm/components/navigation/app-level/action-sheet.d.ts +4 -0
- package/dist/esm/components/navigation/app-level/action-sheet.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/action-sheet.js +59 -0
- package/dist/esm/components/navigation/app-level/action-sheet.js.map +1 -0
- package/dist/esm/components/navigation/app-level/activity-bar.d.ts +16 -0
- package/dist/esm/components/navigation/app-level/activity-bar.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/activity-bar.js +33 -0
- package/dist/esm/components/navigation/app-level/activity-bar.js.map +1 -0
- package/dist/esm/components/navigation/app-level/command-menu.d.ts +4 -0
- package/dist/esm/components/navigation/app-level/command-menu.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/command-menu.js +26 -0
- package/dist/esm/components/navigation/app-level/command-menu.js.map +1 -0
- package/dist/esm/components/navigation/app-level/control-panel.d.ts +4 -0
- package/dist/esm/components/navigation/app-level/control-panel.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/control-panel.js +48 -0
- package/dist/esm/components/navigation/app-level/control-panel.js.map +1 -0
- package/dist/esm/components/navigation/app-level/menu-user-org.d.ts +4 -0
- package/dist/esm/components/navigation/app-level/menu-user-org.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/menu-user-org.js +89 -0
- package/dist/esm/components/navigation/app-level/menu-user-org.js.map +1 -0
- package/dist/esm/components/navigation/app-level/menubar.d.ts +4 -0
- package/dist/esm/components/navigation/app-level/menubar.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/menubar.js +73 -0
- package/dist/esm/components/navigation/app-level/menubar.js.map +1 -0
- package/dist/esm/components/navigation/app-level/navigation-back.d.ts +4 -0
- package/dist/esm/components/navigation/app-level/navigation-back.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/navigation-back.js +17 -0
- package/dist/esm/components/navigation/app-level/navigation-back.js.map +1 -0
- package/dist/esm/components/navigation/app-level/navigation-rail.d.ts +4 -0
- package/dist/esm/components/navigation/app-level/navigation-rail.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/navigation-rail.js +36 -0
- package/dist/esm/components/navigation/app-level/navigation-rail.js.map +1 -0
- package/dist/esm/components/navigation/app-level/notification-center.d.ts +4 -0
- package/dist/esm/components/navigation/app-level/notification-center.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/notification-center.js +91 -0
- package/dist/esm/components/navigation/app-level/notification-center.js.map +1 -0
- package/dist/esm/components/navigation/app-level/quick-action-button.d.ts +4 -0
- package/dist/esm/components/navigation/app-level/quick-action-button.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/quick-action-button.js +34 -0
- package/dist/esm/components/navigation/app-level/quick-action-button.js.map +1 -0
- package/dist/esm/components/navigation/app-level/quick-switcher.d.ts +4 -0
- package/dist/esm/components/navigation/app-level/quick-switcher.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/quick-switcher.js +33 -0
- package/dist/esm/components/navigation/app-level/quick-switcher.js.map +1 -0
- package/dist/esm/components/navigation/app-level/sidebar.d.ts +4 -0
- package/dist/esm/components/navigation/app-level/sidebar.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/sidebar.js +146 -0
- package/dist/esm/components/navigation/app-level/sidebar.js.map +1 -0
- package/dist/esm/components/navigation/app-level/status-bar.d.ts +4 -0
- package/dist/esm/components/navigation/app-level/status-bar.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/status-bar.js +66 -0
- package/dist/esm/components/navigation/app-level/status-bar.js.map +1 -0
- package/dist/esm/components/navigation/app-level/toolbar.d.ts +4 -0
- package/dist/esm/components/navigation/app-level/toolbar.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/toolbar.js +19 -0
- package/dist/esm/components/navigation/app-level/toolbar.js.map +1 -0
- package/dist/esm/components/navigation/app-level/utility-panel.d.ts +4 -0
- package/dist/esm/components/navigation/app-level/utility-panel.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/utility-panel.js +54 -0
- package/dist/esm/components/navigation/app-level/utility-panel.js.map +1 -0
- package/dist/esm/components/navigation/breadcrumb.d.ts +3 -0
- package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -0
- package/dist/esm/components/navigation/breadcrumb.js +46 -0
- package/dist/esm/components/navigation/breadcrumb.js.map +1 -0
- package/dist/esm/components/navigation/command.d.ts +19 -0
- package/dist/esm/components/navigation/command.d.ts.map +1 -0
- package/dist/esm/components/navigation/command.js +66 -0
- package/dist/esm/components/navigation/command.js.map +1 -0
- package/dist/esm/components/navigation/menu-bar.d.ts +41 -0
- package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -0
- package/dist/esm/components/navigation/menu-bar.js +114 -0
- package/dist/esm/components/navigation/menu-bar.js.map +1 -0
- package/dist/esm/components/navigation/navbar.d.ts +3 -0
- package/dist/esm/components/navigation/navbar.d.ts.map +1 -0
- package/dist/esm/components/navigation/navbar.js +70 -0
- package/dist/esm/components/navigation/navbar.js.map +1 -0
- package/dist/esm/components/navigation/sidebar.d.ts +3 -0
- package/dist/esm/components/navigation/sidebar.d.ts.map +1 -0
- package/dist/esm/components/navigation/sidebar.js +247 -0
- package/dist/esm/components/navigation/sidebar.js.map +1 -0
- package/dist/esm/components/overlays/containers/alert-dialog.d.ts +4 -0
- package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -0
- package/dist/esm/components/overlays/containers/alert-dialog.js +70 -0
- package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -0
- package/dist/esm/components/overlays/containers/alert.d.ts +3 -0
- package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -0
- package/dist/esm/components/overlays/containers/alert.js +54 -0
- package/dist/esm/components/overlays/containers/alert.js.map +1 -0
- package/dist/esm/components/overlays/containers/dialog.d.ts +4 -0
- package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -0
- package/dist/esm/components/overlays/containers/dialog.js +57 -0
- package/dist/esm/components/overlays/containers/dialog.js.map +1 -0
- package/dist/esm/components/overlays/containers/drawer.d.ts +4 -0
- package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -0
- package/dist/esm/components/overlays/containers/drawer.js +51 -0
- package/dist/esm/components/overlays/containers/drawer.js.map +1 -0
- package/dist/esm/components/overlays/containers/sheet.d.ts +4 -0
- package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -0
- package/dist/esm/components/overlays/containers/sheet.js +61 -0
- package/dist/esm/components/overlays/containers/sheet.js.map +1 -0
- package/dist/esm/components/overlays/floating/context-menu.d.ts +26 -0
- package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -0
- package/dist/esm/components/overlays/floating/context-menu.js +120 -0
- package/dist/esm/components/overlays/floating/context-menu.js.map +1 -0
- package/dist/esm/components/overlays/floating/dropdown-menu.d.ts +34 -0
- package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -0
- package/dist/esm/components/overlays/floating/dropdown-menu.js +123 -0
- package/dist/esm/components/overlays/floating/dropdown-menu.js.map +1 -0
- package/dist/esm/components/overlays/floating/hover-card.d.ts +3 -0
- package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -0
- package/dist/esm/components/overlays/floating/hover-card.js +22 -0
- package/dist/esm/components/overlays/floating/hover-card.js.map +1 -0
- package/dist/esm/components/overlays/floating/popover.d.ts +35 -0
- package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -0
- package/dist/esm/components/overlays/floating/popover.js +35 -0
- package/dist/esm/components/overlays/floating/popover.js.map +1 -0
- package/dist/esm/components/overlays/floating/tooltip.d.ts +3 -0
- package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -0
- package/dist/esm/components/overlays/floating/tooltip.js +28 -0
- package/dist/esm/components/overlays/floating/tooltip.js.map +1 -0
- package/dist/esm/components/sections/accordion.d.ts +3 -0
- package/dist/esm/components/sections/accordion.d.ts.map +1 -0
- package/dist/esm/components/sections/accordion.js +27 -0
- package/dist/esm/components/sections/accordion.js.map +1 -0
- package/dist/esm/components/sections/card.d.ts +3 -0
- package/dist/esm/components/sections/card.d.ts.map +1 -0
- package/dist/esm/components/sections/card.js +48 -0
- package/dist/esm/components/sections/card.js.map +1 -0
- package/dist/esm/components/sections/collapsible.d.ts +3 -0
- package/dist/esm/components/sections/collapsible.d.ts.map +1 -0
- package/dist/esm/components/sections/collapsible.js +14 -0
- package/dist/esm/components/sections/collapsible.js.map +1 -0
- package/dist/esm/components/sections/pagination.d.ts +3 -0
- package/dist/esm/components/sections/pagination.d.ts.map +1 -0
- package/dist/esm/components/sections/pagination.js +45 -0
- package/dist/esm/components/sections/pagination.js.map +1 -0
- package/dist/esm/components/sections/stacked-layout.d.ts +3 -0
- package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -0
- package/dist/esm/components/sections/stacked-layout.js +77 -0
- package/dist/esm/components/sections/stacked-layout.js.map +1 -0
- package/dist/esm/components/sections/stepper.d.ts +3 -0
- package/dist/esm/components/sections/stepper.d.ts.map +1 -0
- package/dist/esm/components/sections/stepper.js +70 -0
- package/dist/esm/components/sections/stepper.js.map +1 -0
- package/dist/esm/components/sections/table.d.ts +3 -0
- package/dist/esm/components/sections/table.d.ts.map +1 -0
- package/dist/esm/components/sections/table.js +52 -0
- package/dist/esm/components/sections/table.js.map +1 -0
- package/dist/esm/components/sections/tabs.d.ts +3 -0
- package/dist/esm/components/sections/tabs.d.ts.map +1 -0
- package/dist/esm/components/sections/tabs.js +31 -0
- package/dist/esm/components/sections/tabs.js.map +1 -0
- package/dist/esm/components/typography/heading.d.ts +5 -0
- package/dist/esm/components/typography/heading.d.ts.map +1 -0
- package/dist/esm/components/typography/heading.js +23 -0
- package/dist/esm/components/typography/heading.js.map +1 -0
- package/dist/esm/components/typography/label.d.ts +5 -0
- package/dist/esm/components/typography/label.d.ts.map +1 -0
- package/dist/esm/components/typography/label.js +17 -0
- package/dist/esm/components/typography/label.js.map +1 -0
- package/dist/esm/components/typography/link.d.ts +5 -0
- package/dist/esm/components/typography/link.d.ts.map +1 -0
- package/dist/esm/components/typography/link.js +72 -0
- package/dist/esm/components/typography/link.js.map +1 -0
- package/dist/esm/components/typography/text.d.ts +10 -0
- package/dist/esm/components/typography/text.d.ts.map +1 -0
- package/dist/esm/components/typography/text.js +36 -0
- package/dist/esm/components/typography/text.js.map +1 -0
- package/dist/esm/components/typography/truncated-text.d.ts +17 -0
- package/dist/esm/components/typography/truncated-text.d.ts.map +1 -0
- package/dist/esm/components/typography/truncated-text.js +45 -0
- package/dist/esm/components/typography/truncated-text.js.map +1 -0
- package/dist/esm/config/billing-shell.presets.d.ts +7 -0
- package/dist/esm/config/billing-shell.presets.d.ts.map +1 -0
- package/dist/esm/config/billing-shell.presets.js +54 -0
- package/dist/esm/config/billing-shell.presets.js.map +1 -0
- package/dist/esm/config/default-hotkeys.preset.d.ts +15 -0
- package/dist/esm/config/default-hotkeys.preset.d.ts.map +1 -0
- package/dist/esm/config/default-hotkeys.preset.js +51 -0
- package/dist/esm/config/default-hotkeys.preset.js.map +1 -0
- package/dist/esm/config/index.d.ts +9 -0
- package/dist/esm/config/index.d.ts.map +1 -0
- package/dist/esm/config/index.js +9 -0
- package/dist/esm/config/index.js.map +1 -0
- package/dist/esm/config/preset-design-system.d.ts +1498 -0
- package/dist/esm/config/preset-design-system.d.ts.map +1 -0
- package/dist/esm/config/preset-design-system.js +581 -0
- package/dist/esm/config/preset-design-system.js.map +1 -0
- package/dist/esm/config/preset-error-pages.d.ts +52 -0
- package/dist/esm/config/preset-error-pages.d.ts.map +1 -0
- package/dist/esm/config/preset-error-pages.js +190 -0
- package/dist/esm/config/preset-error-pages.js.map +1 -0
- package/dist/esm/config/preset-kits.d.ts +129 -0
- package/dist/esm/config/preset-kits.d.ts.map +1 -0
- package/dist/esm/config/preset-kits.js +290 -0
- package/dist/esm/config/preset-kits.js.map +1 -0
- package/dist/esm/config/preset-navigation.d.ts +91 -0
- package/dist/esm/config/preset-navigation.d.ts.map +1 -0
- package/dist/esm/config/preset-navigation.js +304 -0
- package/dist/esm/config/preset-navigation.js.map +1 -0
- package/dist/esm/config/preset-resources.d.ts +10 -0
- package/dist/esm/config/preset-resources.d.ts.map +1 -0
- package/dist/esm/config/preset-resources.js +10 -0
- package/dist/esm/config/preset-resources.js.map +1 -0
- package/dist/esm/config/preset-shell.d.ts +69 -0
- package/dist/esm/config/preset-shell.d.ts.map +1 -0
- package/dist/esm/config/preset-shell.js +244 -0
- package/dist/esm/config/preset-shell.js.map +1 -0
- package/dist/esm/config/preset-utils.d.ts +51 -0
- package/dist/esm/config/preset-utils.d.ts.map +1 -0
- package/dist/esm/config/preset-utils.js +127 -0
- package/dist/esm/config/preset-utils.js.map +1 -0
- package/dist/esm/config/presets.d.ts +111 -0
- package/dist/esm/config/presets.d.ts.map +1 -0
- package/dist/esm/config/presets.js +286 -0
- package/dist/esm/config/presets.js.map +1 -0
- package/dist/esm/config/resources/application-layout-templates.d.ts +14 -0
- package/dist/esm/config/resources/application-layout-templates.d.ts.map +1 -0
- package/dist/esm/config/resources/application-layout-templates.js +40 -0
- package/dist/esm/config/resources/application-layout-templates.js.map +1 -0
- package/dist/esm/config/resources/application.resource-presets.d.ts +15 -0
- package/dist/esm/config/resources/application.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/application.resource-presets.js +159 -0
- package/dist/esm/config/resources/application.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/billing-layout-templates.d.ts +14 -0
- package/dist/esm/config/resources/billing-layout-templates.d.ts.map +1 -0
- package/dist/esm/config/resources/billing-layout-templates.js +24 -0
- package/dist/esm/config/resources/billing-layout-templates.js.map +1 -0
- package/dist/esm/config/resources/billing.resource-presets.d.ts +26 -0
- package/dist/esm/config/resources/billing.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/billing.resource-presets.js +528 -0
- package/dist/esm/config/resources/billing.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/email-layout-templates.d.ts +8 -0
- package/dist/esm/config/resources/email-layout-templates.d.ts.map +1 -0
- package/dist/esm/config/resources/email-layout-templates.js +22 -0
- package/dist/esm/config/resources/email-layout-templates.js.map +1 -0
- package/dist/esm/config/resources/email.resource-presets.d.ts +12 -0
- package/dist/esm/config/resources/email.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/email.resource-presets.js +134 -0
- package/dist/esm/config/resources/email.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/guidance-layout-templates.d.ts +9 -0
- package/dist/esm/config/resources/guidance-layout-templates.d.ts.map +1 -0
- package/dist/esm/config/resources/guidance-layout-templates.js +25 -0
- package/dist/esm/config/resources/guidance-layout-templates.js.map +1 -0
- package/dist/esm/config/resources/guidance.resource-presets.d.ts +5 -0
- package/dist/esm/config/resources/guidance.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/guidance.resource-presets.js +198 -0
- package/dist/esm/config/resources/guidance.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/identity-layout-templates.d.ts +16 -0
- package/dist/esm/config/resources/identity-layout-templates.d.ts.map +1 -0
- package/dist/esm/config/resources/identity-layout-templates.js +46 -0
- package/dist/esm/config/resources/identity-layout-templates.js.map +1 -0
- package/dist/esm/config/resources/identity.resource-presets.d.ts +17 -0
- package/dist/esm/config/resources/identity.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/identity.resource-presets.js +216 -0
- package/dist/esm/config/resources/identity.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/index.d.ts +22 -0
- package/dist/esm/config/resources/index.d.ts.map +1 -0
- package/dist/esm/config/resources/index.js +39 -0
- package/dist/esm/config/resources/index.js.map +1 -0
- package/dist/esm/config/resources/infrastructure.resource-presets.d.ts +15 -0
- package/dist/esm/config/resources/infrastructure.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/infrastructure.resource-presets.js +109 -0
- package/dist/esm/config/resources/infrastructure.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/organizations-layout-templates.d.ts +26 -0
- package/dist/esm/config/resources/organizations-layout-templates.d.ts.map +1 -0
- package/dist/esm/config/resources/organizations-layout-templates.js +76 -0
- package/dist/esm/config/resources/organizations-layout-templates.js.map +1 -0
- package/dist/esm/config/resources/organizations.resource-presets.d.ts +14 -0
- package/dist/esm/config/resources/organizations.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/organizations.resource-presets.js +253 -0
- package/dist/esm/config/resources/organizations.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/resource.config.utils.d.ts +11 -0
- package/dist/esm/config/resources/resource.config.utils.d.ts.map +1 -0
- package/dist/esm/config/resources/resource.config.utils.js +14 -0
- package/dist/esm/config/resources/resource.config.utils.js.map +1 -0
- package/dist/esm/config/resources/security-siem-templates.d.ts +14 -0
- package/dist/esm/config/resources/security-siem-templates.d.ts.map +1 -0
- package/dist/esm/config/resources/security-siem-templates.js +17 -0
- package/dist/esm/config/resources/security-siem-templates.js.map +1 -0
- package/dist/esm/config/resources/security.resource-presets.d.ts +18 -0
- package/dist/esm/config/resources/security.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/security.resource-presets.js +543 -0
- package/dist/esm/config/resources/security.resource-presets.js.map +1 -0
- package/dist/esm/index.d.ts +169 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +183 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lottie/lottie.content.definitions.d.ts +10 -0
- package/dist/esm/lottie/lottie.content.definitions.d.ts.map +1 -0
- package/dist/esm/lottie/lottie.content.definitions.js +10 -0
- package/dist/esm/lottie/lottie.content.definitions.js.map +1 -0
- package/dist/esm/lottie/lottie.definitions.d.ts +27 -0
- package/dist/esm/lottie/lottie.definitions.d.ts.map +1 -0
- package/dist/esm/lottie/lottie.definitions.js +45 -0
- package/dist/esm/lottie/lottie.definitions.js.map +1 -0
- package/dist/esm/registration/register-common-enums.d.ts +15 -0
- package/dist/esm/registration/register-common-enums.d.ts.map +1 -0
- package/dist/esm/registration/register-common-enums.js +138 -0
- package/dist/esm/registration/register-common-enums.js.map +1 -0
- package/dist/esm/registration/register-default-animations.d.ts +9 -0
- package/dist/esm/registration/register-default-animations.d.ts.map +1 -0
- package/dist/esm/registration/register-default-animations.js +24 -0
- package/dist/esm/registration/register-default-animations.js.map +1 -0
- package/dist/esm/registration/register-default-icons.d.ts +6 -0
- package/dist/esm/registration/register-default-icons.d.ts.map +1 -0
- package/dist/esm/registration/register-default-icons.js +130 -0
- package/dist/esm/registration/register-default-icons.js.map +1 -0
- package/dist/esm/registration/register-default-presets.d.ts +2 -0
- package/dist/esm/registration/register-default-presets.d.ts.map +1 -0
- package/dist/esm/registration/register-default-presets.js +440 -0
- package/dist/esm/registration/register-default-presets.js.map +1 -0
- package/dist/esm/themes/glass.theme.d.ts +3 -0
- package/dist/esm/themes/glass.theme.d.ts.map +1 -0
- package/dist/esm/themes/glass.theme.js +420 -0
- package/dist/esm/themes/glass.theme.js.map +1 -0
- package/dist/esm/themes/neo-brutalist.theme.d.ts +3 -0
- package/dist/esm/themes/neo-brutalist.theme.d.ts.map +1 -0
- package/dist/esm/themes/neo-brutalist.theme.js +400 -0
- package/dist/esm/themes/neo-brutalist.theme.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +131 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { ActionBarProps } from '@wildo-ai/saas-frontend-lib';
|
|
3
|
+
declare function ActionBar({ items, maxDisplayed, className, size, "aria-label": ariaLabel, }: ActionBarProps): React.JSX.Element;
|
|
4
|
+
declare namespace ActionBar {
|
|
5
|
+
var displayName: string;
|
|
6
|
+
}
|
|
7
|
+
export { ActionBar };
|
|
8
|
+
//# sourceMappingURL=action-bar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-bar.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/action-bar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAEV,cAAc,EAGf,MAAM,6BAA6B,CAAA;AA+BpC,iBAAS,SAAS,CAAC,EACjB,KAAK,EACL,YAAY,EACZ,SAAS,EACT,IAAyB,EACzB,YAAY,EAAE,SAAS,GACxB,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAiHpC;kBAvHQ,SAAS;;;AAqPlB,OAAO,EAAE,SAAS,EAAE,CAAA"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { ActionButton, Button, cn, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, IconSize, Separator, StandardIconReference, useI18n, useIconRegistry } from "@wildo-ai/saas-frontend-lib";
|
|
4
|
+
import { FrontendComponentType } from "@wildo-ai/presets-components-models";
|
|
5
|
+
import { ButtonVariants_Variant } from "@wildo-ai/saas-frontend-lib";
|
|
6
|
+
import { ButtonSize } from "@wildo-ai/presets-components-models";
|
|
7
|
+
import { HorizontalAlign, DisplayDirection } from "@wildo-ai/zod-decorators";
|
|
8
|
+
/* ─────────────────────────────────────────────────────────────────────────────
|
|
9
|
+
* ActionBar
|
|
10
|
+
*
|
|
11
|
+
* A toolbar-style group of ActionButtons with built-in overflow management.
|
|
12
|
+
*
|
|
13
|
+
* Features:
|
|
14
|
+
* • maxDisplayed — shows N items directly; the rest collapse into a "…" menu.
|
|
15
|
+
* • Separators — visual dividers between logical groups.
|
|
16
|
+
* • Sub-groups — inline dropdown menus for related actions.
|
|
17
|
+
* • Theme-aware — all buttons and menus use design-system recipes.
|
|
18
|
+
*
|
|
19
|
+
* This component replaces the external TinyButtonGroup pattern, adapted to
|
|
20
|
+
* compose existing engine primitives (Button, DropdownMenu, Tooltip, etc.).
|
|
21
|
+
* ────────────────────────────────────────────────────────────────────────── */
|
|
22
|
+
/* ── Component ────────────────────────────────────────────────────────────── */
|
|
23
|
+
function ActionBar({ items, maxDisplayed, className, size = ButtonSize.ICON_SM, "aria-label": ariaLabel, }) {
|
|
24
|
+
const { renderIcon } = useIconRegistry();
|
|
25
|
+
const { tComponent, isReady } = useI18n({
|
|
26
|
+
component: FrontendComponentType.LOW_LEVEL_ACTION_BAR,
|
|
27
|
+
});
|
|
28
|
+
const effectiveMax = maxDisplayed ?? items.length;
|
|
29
|
+
const displayedItems = items.slice(0, effectiveMax);
|
|
30
|
+
const overflowItems = items.slice(effectiveMax);
|
|
31
|
+
const hasOverflow = overflowItems.length > 0;
|
|
32
|
+
// WAI-ARIA toolbar pattern: roving tabindex (Arrow keys move focus, Tab exits toolbar)
|
|
33
|
+
const [activeIndex, setActiveIndex] = React.useState(0);
|
|
34
|
+
// Map each displayed item to its focusable position (separators excluded)
|
|
35
|
+
const focusableMap = React.useMemo(() => {
|
|
36
|
+
const displayed = items.slice(0, maxDisplayed ?? items.length);
|
|
37
|
+
const overflow = items.length > displayed.length;
|
|
38
|
+
const map = [];
|
|
39
|
+
let pos = 0;
|
|
40
|
+
for (const item of displayed) {
|
|
41
|
+
if (item.type === "separator") {
|
|
42
|
+
map.push(-1);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
map.push(pos++);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return { map, count: pos + (overflow ? 1 : 0) };
|
|
49
|
+
}, [items, maxDisplayed]);
|
|
50
|
+
// Reset activeIndex if it's out of bounds after items change
|
|
51
|
+
React.useEffect(() => {
|
|
52
|
+
if (focusableMap.count > 0 && activeIndex >= focusableMap.count) {
|
|
53
|
+
setActiveIndex(focusableMap.count - 1);
|
|
54
|
+
}
|
|
55
|
+
}, [focusableMap.count, activeIndex]);
|
|
56
|
+
const handleKeyDown = React.useCallback((e) => {
|
|
57
|
+
const total = focusableMap.count;
|
|
58
|
+
if (total === 0)
|
|
59
|
+
return;
|
|
60
|
+
let nextIndex;
|
|
61
|
+
switch (e.key) {
|
|
62
|
+
case "ArrowRight":
|
|
63
|
+
nextIndex = (activeIndex + 1) % total;
|
|
64
|
+
break;
|
|
65
|
+
case "ArrowLeft":
|
|
66
|
+
nextIndex = (activeIndex - 1 + total) % total;
|
|
67
|
+
break;
|
|
68
|
+
case "Home":
|
|
69
|
+
nextIndex = 0;
|
|
70
|
+
break;
|
|
71
|
+
case "End":
|
|
72
|
+
nextIndex = total - 1;
|
|
73
|
+
break;
|
|
74
|
+
default:
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
e.preventDefault();
|
|
78
|
+
setActiveIndex(nextIndex);
|
|
79
|
+
// Focus the target button via DOM query (dropdown content is portalled, so only toolbar buttons are found)
|
|
80
|
+
const toolbar = e.currentTarget;
|
|
81
|
+
const buttons = toolbar.querySelectorAll("button");
|
|
82
|
+
buttons[nextIndex]?.focus();
|
|
83
|
+
}, [activeIndex, focusableMap.count]);
|
|
84
|
+
return (_jsxs("div", { role: "toolbar", "aria-label": ariaLabel, "aria-orientation": "horizontal", "data-slot": "action-bar", className: cn("flex items-center gap-element-sm", className), onKeyDown: handleKeyDown, children: [displayedItems.map((item, index) => {
|
|
85
|
+
const pos = focusableMap.map[index];
|
|
86
|
+
if (pos === -1) {
|
|
87
|
+
return _jsx(ActionBarDirectItem, { item: item, size: size }, index);
|
|
88
|
+
}
|
|
89
|
+
return _jsx(ActionBarDirectItem, { item: item, size: size, tabIndex: activeIndex === pos ? 0 : -1 }, index);
|
|
90
|
+
}), hasOverflow && (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: ButtonVariants_Variant.GHOST, size: size, onClick: (e) => e.stopPropagation(), "aria-label": tComponent(FrontendComponentType.LOW_LEVEL_ACTION_BAR, 'moreActions'), tabIndex: activeIndex === focusableMap.count - 1 ? 0 : -1, children: renderIcon(StandardIconReference.MORE_HORIZONTAL, {
|
|
91
|
+
size: IconSize.SM,
|
|
92
|
+
}) }) }), _jsx(DropdownMenuContent, { align: HorizontalAlign.END, children: overflowItems.map((item, index) => (_jsx(ActionBarOverflowItem, { item: item }, index))) })] }))] }));
|
|
93
|
+
}
|
|
94
|
+
ActionBar.displayName = "ActionBar";
|
|
95
|
+
/* ── Direct item renderer ─────────────────────────────────────────────────── */
|
|
96
|
+
function ActionBarDirectItem({ item, size, tabIndex, }) {
|
|
97
|
+
if (item.type === "separator") {
|
|
98
|
+
return (_jsx(Separator, { orientation: DisplayDirection.VERTICAL, className: "mx-element-xs h-4 self-center" }));
|
|
99
|
+
}
|
|
100
|
+
if (item.type === "subgroup") {
|
|
101
|
+
return _jsx(ActionBarSubGroupTrigger, { item: item, size: size, tabIndex: tabIndex });
|
|
102
|
+
}
|
|
103
|
+
// Regular button
|
|
104
|
+
return (_jsx(ActionButton, { icon: item.icon, label: item.label, onClick: item.onClick, variant: item.variant, size: size, inlineLabel: item.inlineLabel, disabled: item.disabled, className: item.className, tabIndex: tabIndex }));
|
|
105
|
+
}
|
|
106
|
+
/* ── Sub-group trigger (inline dropdown) ──────────────────────────────────── */
|
|
107
|
+
function ActionBarSubGroupTrigger({ item, size, tabIndex, }) {
|
|
108
|
+
return (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: item.variant ?? ButtonVariants_Variant.GHOST, size: size, disabled: item.disabled, onClick: (e) => e.stopPropagation(), "aria-label": item.label, tabIndex: tabIndex, className: item.className, children: item.icon }) }), _jsx(DropdownMenuContent, { children: item.items.map((subItem, index) => (_jsx(ActionBarOverflowItem, { item: subItem }, index))) })] }));
|
|
109
|
+
}
|
|
110
|
+
/* ── Overflow menu item renderer ──────────────────────────────────────────── */
|
|
111
|
+
function ActionBarOverflowItem({ item, }) {
|
|
112
|
+
if (item.type === "separator") {
|
|
113
|
+
return _jsx(DropdownMenuSeparator, {});
|
|
114
|
+
}
|
|
115
|
+
if (item.type === "subgroup") {
|
|
116
|
+
return (_jsxs(DropdownMenuSub, { children: [_jsxs(DropdownMenuSubTrigger, { disabled: item.disabled, children: [_jsx("span", { className: "me-element flex size-4 items-center justify-center shrink-0", children: item.icon }), item.label] }), _jsx(DropdownMenuSubContent, { children: item.items.map((subItem, index) => (_jsx(ActionBarOverflowItem, { item: subItem }, index))) })] }));
|
|
117
|
+
}
|
|
118
|
+
// Regular button → menu item
|
|
119
|
+
return (_jsxs(DropdownMenuItem, { variant: item.variant === "destructive" ? "destructive" : "default", disabled: item.disabled, onClick: (e) => {
|
|
120
|
+
e.stopPropagation();
|
|
121
|
+
item.onClick?.();
|
|
122
|
+
}, children: [_jsx("span", { className: "me-element flex size-4 items-center justify-center shrink-0", children: item.icon }), item.label] }));
|
|
123
|
+
}
|
|
124
|
+
export { ActionBar };
|
|
125
|
+
//# sourceMappingURL=action-bar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-bar.js","sourceRoot":"","sources":["../../../../src/components/actions/action-bar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { ActionButtonProps } from '@wildo-ai/saas-frontend-lib';
|
|
3
|
+
declare function ActionButton({ icon, label, onClick, variant, size, inlineLabel, disabled, stopPropagation, className, tabIndex, }: ActionButtonProps): React.JSX.Element;
|
|
4
|
+
declare namespace ActionButton {
|
|
5
|
+
var displayName: string;
|
|
6
|
+
}
|
|
7
|
+
export { ActionButton };
|
|
8
|
+
//# sourceMappingURL=action-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-button.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/action-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAoB,MAAM,6BAA6B,CAAA;AAsBtF,iBAAS,YAAY,CAAC,EACpB,IAAI,EACJ,KAAK,EACL,OAAO,EACP,OAAsC,EACtC,IAAyB,EACzB,WAAmB,EACnB,QAAgB,EAChB,eAAsB,EACtB,SAAS,EACT,QAAQ,GACT,EAAE,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgDvC;kBA3DQ,YAAY;;;AA+DrB,OAAO,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cn, Button, Tooltip, TooltipTrigger, TooltipContent, ButtonVariants_Variant } from "@wildo-ai/saas-frontend-lib";
|
|
4
|
+
import { ButtonSize } from "@wildo-ai/presets-components-models";
|
|
5
|
+
import { PlacementSide } from "@wildo-ai/presets-components-models";
|
|
6
|
+
/* ─────────────────────────────────────────────────────────────────────────────
|
|
7
|
+
* ActionButton
|
|
8
|
+
*
|
|
9
|
+
* A compact, icon-first button designed for toolbars, table rows, and inline
|
|
10
|
+
* action groups. Wraps the base Button with automatic tooltip behaviour:
|
|
11
|
+
*
|
|
12
|
+
* • Icon-only mode (default) — shows a tooltip on hover / focus.
|
|
13
|
+
* • Inline-label mode — renders the label next to the icon.
|
|
14
|
+
*
|
|
15
|
+
* Uses the design-system recipe system, so it adapts to every theme
|
|
16
|
+
* (default, glass, neo-brutalist, …).
|
|
17
|
+
*
|
|
18
|
+
* Event propagation is stopped by default, which makes ActionButton safe
|
|
19
|
+
* inside clickable containers (table rows, cards, etc.).
|
|
20
|
+
* ────────────────────────────────────────────────────────────────────────── */
|
|
21
|
+
function ActionButton({ icon, label, onClick, variant = ButtonVariants_Variant.GHOST, size = ButtonSize.ICON_SM, inlineLabel = false, disabled = false, stopPropagation = true, className, tabIndex, }) {
|
|
22
|
+
const handleClick = React.useCallback((e) => {
|
|
23
|
+
if (stopPropagation)
|
|
24
|
+
e.stopPropagation();
|
|
25
|
+
onClick?.(e);
|
|
26
|
+
}, [onClick, stopPropagation]);
|
|
27
|
+
/* ── Inline-label mode ──────────────────────────────────────────────── */
|
|
28
|
+
if (inlineLabel) {
|
|
29
|
+
return (_jsxs(Button, { variant: variant, size: ButtonSize.SM, disabled: disabled, onClick: handleClick, tabIndex: tabIndex, className: cn("gap-1.5", className), children: [icon, _jsx("span", { className: "text-xs font-medium whitespace-nowrap", children: label })] }));
|
|
30
|
+
}
|
|
31
|
+
/* ── Icon-only mode with tooltip ────────────────────────────────────── */
|
|
32
|
+
return (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { variant: variant, size: size, disabled: disabled, onClick: handleClick, "aria-label": label, tabIndex: tabIndex, className: className, children: icon }) }), _jsx(TooltipContent, { side: PlacementSide.BOTTOM, sideOffset: 5, children: label })] }));
|
|
33
|
+
}
|
|
34
|
+
ActionButton.displayName = "ActionButton";
|
|
35
|
+
export { ActionButton };
|
|
36
|
+
//# sourceMappingURL=action-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-button.js","sourceRoot":"","sources":["../../../../src/components/actions/action-button.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACzH,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAEnE;;;;;;;;;;;;;;gFAcgF;AAEhF,SAAS,YAAY,CAAC,EACpB,IAAI,EACJ,KAAK,EACL,OAAO,EACP,OAAO,GAAG,sBAAsB,CAAC,KAAK,EACtC,IAAI,GAAG,UAAU,CAAC,OAAO,EACzB,WAAW,GAAG,KAAK,EACnB,QAAQ,GAAG,KAAK,EAChB,eAAe,GAAG,IAAI,EACtB,SAAS,EACT,QAAQ,GACU;IAElB,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,CAAsC,EAAE,EAAE;QACzC,IAAI,eAAe;YAAE,CAAC,CAAC,eAAe,EAAE,CAAA;QACxC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;IACd,CAAC,EACD,CAAC,OAAO,EAAE,eAAe,CAAC,CAC3B,CAAA;IAED,2EAA2E;IAC3E,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CACL,MAAC,MAAM,IACL,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,UAAU,CAAC,EAAE,EACnB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,aAElC,IAAI,EACL,eAAM,SAAS,EAAC,uCAAuC,YAAE,KAAK,GAAQ,IAC/D,CACV,CAAA;IACH,CAAC;IAED,2EAA2E;IAC3E,OAAO,CACL,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBACrB,KAAC,MAAM,IACL,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,gBACR,KAAK,EACjB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,YAEnB,IAAI,GACE,GACM,EACjB,KAAC,cAAc,IAAC,IAAI,EAAE,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,YACtD,KAAK,GACS,IACT,CACX,CAAA;AACH,CAAC;AAED,YAAY,CAAC,WAAW,GAAG,cAAc,CAAA;AAEzC,OAAO,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ButtonGroupProps, type ButtonGroupSeparatorProps, type ButtonGroupTextProps } from '@wildo-ai/saas-frontend-lib';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
declare function ButtonGroup({ className, orientation, ...props }: ButtonGroupProps): React.JSX.Element;
|
|
4
|
+
declare function ButtonGroupText({ className, asChild, ...props }: ButtonGroupTextProps): React.JSX.Element;
|
|
5
|
+
declare function ButtonGroupSeparator({ className, orientation, ...props }: ButtonGroupSeparatorProps): React.JSX.Element;
|
|
6
|
+
export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, };
|
|
7
|
+
//# sourceMappingURL=button-group.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button-group.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/button-group.tsx"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EAC1B,MAAM,6BAA6B,CAAA;AAKpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAkB9B,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,WAAW,EACX,GAAG,KAAK,EACT,EAAE,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAUtC;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,OAAe,EACf,GAAG,KAAK,EACT,EAAE,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAiB1C;AAED,iBAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,WAAuC,EACvC,GAAG,KAAK,EACT,EAAE,yBAAyB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAY/C;AAED,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,eAAe,GAChB,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
3
|
+
import { cn, Separator, useUI, } from '@wildo-ai/saas-frontend-lib';
|
|
4
|
+
import { DisplayDirection } from '@wildo-ai/zod-decorators';
|
|
5
|
+
import { SurfaceVariant, UIBehavior } from "@wildo-ai/presets-components-models";
|
|
6
|
+
/** Base classes for button group container */
|
|
7
|
+
const buttonGroupBase = "flex w-fit items-stretch [&>*]:focus-visible:z-10 [&>*]:focus-visible:relative [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-e-md has-[>[data-slot=button-group]]:gap-element";
|
|
8
|
+
/** Orientation variant classes */
|
|
9
|
+
const orientationClasses = {
|
|
10
|
+
[DisplayDirection.HORIZONTAL]: "[&>*:not(:first-child)]:rounded-s-none [&>*:not(:first-child)]:border-s-0 [&>*:not(:last-child)]:rounded-e-none",
|
|
11
|
+
[DisplayDirection.VERTICAL]: "flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none",
|
|
12
|
+
};
|
|
13
|
+
function buttonGroupVariants(props) {
|
|
14
|
+
const orientation = props?.orientation ?? DisplayDirection.HORIZONTAL;
|
|
15
|
+
return cn(buttonGroupBase, orientationClasses[orientation], props?.className);
|
|
16
|
+
}
|
|
17
|
+
function ButtonGroup({ className, orientation, ...props }) {
|
|
18
|
+
return (_jsx("div", { role: "group", "data-slot": "button-group", "data-orientation": orientation, className: cn(buttonGroupVariants({ orientation }), className), ...props }));
|
|
19
|
+
}
|
|
20
|
+
function ButtonGroupText({ className, asChild = false, ...props }) {
|
|
21
|
+
const Comp = asChild ? Slot : "div";
|
|
22
|
+
const { getRecipe } = useUI();
|
|
23
|
+
const recipe = getRecipe(UIBehavior.SURFACE, SurfaceVariant.INSET);
|
|
24
|
+
return (_jsx(Comp, { className: cn(
|
|
25
|
+
// Structure
|
|
26
|
+
"flex items-center gap-element rounded-md border px-card text-sm font-medium shadow-xs [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4",
|
|
27
|
+
// Style from SURFACE.INSET recipe
|
|
28
|
+
recipe.base, className), ...props }));
|
|
29
|
+
}
|
|
30
|
+
function ButtonGroupSeparator({ className, orientation = DisplayDirection.VERTICAL, ...props }) {
|
|
31
|
+
return (_jsx(Separator, { "data-slot": "button-group-separator", orientation: orientation, className: cn("bg-input relative !m-0 self-stretch data-[orientation=vertical]:h-auto", className), ...props }));
|
|
32
|
+
}
|
|
33
|
+
export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, };
|
|
34
|
+
//# sourceMappingURL=button-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button-group.js","sourceRoot":"","sources":["../../../../src/components/actions/button-group.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EACL,EAAE,EACF,SAAS,EACT,KAAK,GAIN,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAM3D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAEhF,8CAA8C;AAC9C,MAAM,eAAe,GAAG,wSAAwS,CAAA;AAEhU,kCAAkC;AAClC,MAAM,kBAAkB,GAAqC;IAC3D,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,iHAAiH;IAChJ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,0HAA0H;CACxJ,CAAA;AAED,SAAS,mBAAmB,CAAC,KAAqE;IAChG,MAAM,WAAW,GAAG,KAAK,EAAE,WAAW,IAAI,gBAAgB,CAAC,UAAU,CAAA;IACrE,OAAO,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;AAC/E,CAAC;AAED,SAAS,WAAW,CAAC,EACnB,SAAS,EACT,WAAW,EACX,GAAG,KAAK,EACS;IACjB,OAAO,CACL,cACE,IAAI,EAAC,OAAO,eACF,cAAc,sBACN,WAAW,EAC7B,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,CAAC,KAC1D,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,SAAS,EACT,OAAO,GAAG,KAAK,EACf,GAAG,KAAK,EACa;IACrB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;IACnC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,CAAA;IAC7B,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;IAElE,OAAO,CACL,KAAC,IAAI,IACH,SAAS,EAAE,EAAE;QACX,YAAY;QACZ,wJAAwJ;QACxJ,kCAAkC;QAClC,MAAM,CAAC,IAAI,EACX,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,WAAW,GAAG,gBAAgB,CAAC,QAAQ,EACvC,GAAG,KAAK,EACkB;IAC1B,OAAO,CACL,KAAC,SAAS,iBACE,wBAAwB,EAClC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,EAAE,CACX,wEAAwE,EACxE,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,eAAe,GAChB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,KAAK,EAAE,WAAW,EAA+C,MAAM,6BAA6B,CAAA;AAkB3G,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,yBAAyB,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAmEhG,CAAA;AAIF,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
4
|
+
import { motion } from "motion/react";
|
|
5
|
+
import { Loader2 } from "lucide-react";
|
|
6
|
+
import { UIBehavior, InteractiveVariant } from "@wildo-ai/presets-components-models";
|
|
7
|
+
import { cn, useUI } from "@wildo-ai/saas-frontend-lib";
|
|
8
|
+
/** Map public variant names to InteractiveVariant enum values */
|
|
9
|
+
const VARIANT_MAP = {
|
|
10
|
+
default: InteractiveVariant.PRIMARY,
|
|
11
|
+
destructive: InteractiveVariant.DESTRUCTIVE,
|
|
12
|
+
outline: InteractiveVariant.OUTLINE,
|
|
13
|
+
secondary: InteractiveVariant.SECONDARY,
|
|
14
|
+
ghost: InteractiveVariant.GHOST,
|
|
15
|
+
link: InteractiveVariant.LINK,
|
|
16
|
+
accent: InteractiveVariant.ACCENT,
|
|
17
|
+
};
|
|
18
|
+
/** Structure classes — layout, accessibility, SVG handling. Theme-independent. */
|
|
19
|
+
const STRUCTURE = "relative inline-flex items-center justify-center gap-element whitespace-nowrap shrink-0 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 outline-none";
|
|
20
|
+
const Button = React.forwardRef(({ className, variant = "default", size = "md", asChild = false, loading, children, ...props }, ref) => {
|
|
21
|
+
const { getRecipe } = useUI();
|
|
22
|
+
const recipe = getRecipe(UIBehavior.INTERACTIVE, VARIANT_MAP[variant]);
|
|
23
|
+
const isLoading = loading === true && !asChild;
|
|
24
|
+
const classes = cn(STRUCTURE, recipe.base, recipe.states.hover, recipe.states.active, recipe.states.focus, recipe.states.disabled, recipe.states.invalid, recipe.sizes?.[size], recipe.motion.transition, className);
|
|
25
|
+
const content = isLoading ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "absolute inset-0 flex items-center justify-center", children: _jsx(Loader2, { className: "size-4 animate-spin motion-reduce:animate-none" }) }), _jsx("span", { className: "inline-flex items-center gap-element invisible", children: children })] })) : children;
|
|
26
|
+
const loadingProps = isLoading ? { disabled: true, 'aria-busy': true } : {};
|
|
27
|
+
// Gesture layer: if theme provides gesture config, use motion.button for spring physics
|
|
28
|
+
if (recipe.gesture && !asChild) {
|
|
29
|
+
const { onDrag, onDragStart, onDragEnd, onAnimationStart, onAnimationEnd, ...motionSafeProps } = props;
|
|
30
|
+
return (_jsx(motion.button, { ref: ref, "data-slot": "button", className: classes, whileHover: isLoading ? undefined : recipe.gesture.whileHover, whileTap: isLoading ? undefined : recipe.gesture.whileTap, whileFocus: recipe.gesture.whileFocus, transition: recipe.gesture.transition, ...motionSafeProps, ...loadingProps, children: content }));
|
|
31
|
+
}
|
|
32
|
+
// CSS-only fallback (default theme, or asChild mode)
|
|
33
|
+
const Comp = asChild ? Slot : "button";
|
|
34
|
+
return (_jsx(Comp, { ref: ref, "data-slot": "button", className: classes, ...props, ...loadingProps, children: content }));
|
|
35
|
+
});
|
|
36
|
+
Button.displayName = "Button";
|
|
37
|
+
export { Button };
|
|
38
|
+
//# sourceMappingURL=button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../../src/components/actions/button.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-browser.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/artifacts/artifact-browser.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAgZ3E,eAAO,MAAM,eAAe,yBAM1B,CAAC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { Badge, Button, Collapsible, CollapsibleContent, CollapsibleTrigger, InputRoot, ScrollArea, cn, useUI, useI18n, createCompoundPreset, } from "@wildo-ai/saas-frontend-lib";
|
|
5
|
+
import { ButtonVariants_Variant } from "@wildo-ai/saas-frontend-lib";
|
|
6
|
+
import { UIBehavior, SurfaceVariant, TypographyVariant, FrontendComponentType, ButtonSize } from "@wildo-ai/presets-components-models";
|
|
7
|
+
const CT = FrontendComponentType.LOW_LEVEL_AI_ARTIFACT_BROWSER;
|
|
8
|
+
const TYPE_VARIANT = {
|
|
9
|
+
TEXT: "default",
|
|
10
|
+
FILE: "secondary",
|
|
11
|
+
RAW_DATA: "outline",
|
|
12
|
+
STRUCTURED: "outline",
|
|
13
|
+
};
|
|
14
|
+
const TYPE_LABEL_KEY = {
|
|
15
|
+
TEXT: "typeText",
|
|
16
|
+
FILE: "typeFile",
|
|
17
|
+
RAW_DATA: "typeRawData",
|
|
18
|
+
STRUCTURED: "typeStructured",
|
|
19
|
+
};
|
|
20
|
+
const AI_ArtifactOrigin = ({ origin, className, ...props }) => {
|
|
21
|
+
const { tComponent } = useI18n({ component: CT });
|
|
22
|
+
if (!origin?.taskId && !origin?.stepId)
|
|
23
|
+
return null;
|
|
24
|
+
return (_jsxs("span", { className: cn("flex items-center gap-1 text-2xs text-muted-foreground", className), ...props, children: [origin.taskId && (_jsxs(Badge, { variant: "outline", className: "text-2xs font-mono", children: [tComponent(CT, "originTask"), ": ", origin.taskId] })), origin.stepId && (_jsxs(Badge, { variant: "outline", className: "text-2xs font-mono", children: [tComponent(CT, "originStep"), ": ", origin.stepId] }))] }));
|
|
25
|
+
};
|
|
26
|
+
const AI_ArtifactTextContent = ({ text, mimeType, className, ...props }) => {
|
|
27
|
+
const isCode = mimeType?.startsWith("text/x-") ||
|
|
28
|
+
mimeType?.startsWith("application/javascript") ||
|
|
29
|
+
mimeType?.startsWith("application/json") ||
|
|
30
|
+
mimeType?.startsWith("application/xml") ||
|
|
31
|
+
mimeType?.startsWith("text/css") ||
|
|
32
|
+
mimeType?.startsWith("text/html");
|
|
33
|
+
if (isCode) {
|
|
34
|
+
return (_jsx("div", { className: cn("overflow-auto", className), ...props, children: _jsx("pre", { className: "rounded-md bg-muted p-card text-xs font-mono leading-relaxed whitespace-pre-wrap break-words", children: text }) }));
|
|
35
|
+
}
|
|
36
|
+
return (_jsx("div", { className: cn("overflow-auto", className), ...props, children: _jsx("div", { className: "text-sm leading-relaxed whitespace-pre-wrap break-words", children: text }) }));
|
|
37
|
+
};
|
|
38
|
+
function formatFileSize(bytes) {
|
|
39
|
+
if (bytes == null)
|
|
40
|
+
return "";
|
|
41
|
+
if (bytes < 1024)
|
|
42
|
+
return `${bytes} B`;
|
|
43
|
+
if (bytes < 1024 * 1024)
|
|
44
|
+
return `${(bytes / 1024).toFixed(1)} KB`;
|
|
45
|
+
return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
|
|
46
|
+
}
|
|
47
|
+
const AI_ArtifactFileContent = ({ filename, mimeType, size, url, path, className, ...props }) => {
|
|
48
|
+
const { tComponent } = useI18n({ component: CT });
|
|
49
|
+
const { getRecipe } = useUI();
|
|
50
|
+
const surfaceInsetRecipe = getRecipe(UIBehavior.SURFACE, SurfaceVariant.INSET);
|
|
51
|
+
const isImage = mimeType?.startsWith("image/");
|
|
52
|
+
const isText = mimeType?.startsWith("text/");
|
|
53
|
+
return (_jsxs("div", { className: cn("flex flex-col gap-card-sm", className), ...props, children: [_jsxs("div", { className: cn(surfaceInsetRecipe.base, "flex items-center justify-between rounded-md p-card-sm"), children: [_jsxs("div", { className: "flex flex-col gap-1", children: [filename && _jsx("span", { className: "text-sm font-medium", children: filename }), _jsxs("div", { className: "flex items-center gap-element text-2xs text-muted-foreground", children: [mimeType && _jsx("span", { children: mimeType }), size != null && _jsx("span", { children: formatFileSize(size) })] })] }), url && (_jsx(Button, { variant: ButtonVariants_Variant.OUTLINE, size: ButtonSize.SM, asChild: true, children: _jsx("a", { href: url, target: "_blank", rel: "noopener noreferrer", download: filename, children: tComponent(CT, "download") }) }))] }), isImage && url && (_jsx("div", { className: "flex justify-center rounded-md bg-muted p-card", children: _jsx("img", { src: url, alt: filename ?? tComponent(CT, "preview"), className: "max-h-64 max-w-full rounded object-contain" }) })), isText && !isImage && url && (_jsxs("div", { className: "text-2xs text-muted-foreground", children: [tComponent(CT, "preview"), ": ", path ?? url] }))] }));
|
|
54
|
+
};
|
|
55
|
+
function JsonTreeNode({ value, depth }) {
|
|
56
|
+
const [expanded, setExpanded] = React.useState(depth < 2);
|
|
57
|
+
if (value === null || value === undefined) {
|
|
58
|
+
return _jsx("span", { className: "text-muted-foreground italic", children: "null" });
|
|
59
|
+
}
|
|
60
|
+
if (typeof value === "string") {
|
|
61
|
+
return _jsxs("span", { className: "text-success", children: ["\"", value, "\""] });
|
|
62
|
+
}
|
|
63
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
64
|
+
return _jsx("span", { className: "text-info", children: String(value) });
|
|
65
|
+
}
|
|
66
|
+
if (Array.isArray(value)) {
|
|
67
|
+
if (value.length === 0)
|
|
68
|
+
return _jsx("span", { className: "text-muted-foreground", children: "[]" });
|
|
69
|
+
return (_jsxs(Collapsible, { open: expanded, onOpenChange: setExpanded, children: [_jsx(CollapsibleTrigger, { asChild: true, children: _jsxs("button", { type: "button", className: "text-2xs text-muted-foreground hover:text-foreground", children: ["[", expanded ? "" : `…${value.length}`] }) }), _jsx(CollapsibleContent, { children: _jsx("div", { className: "ps-4 border-s border-border", children: value.map((item, i) => (_jsxs("div", { className: "py-px", children: [_jsx(JsonTreeNode, { value: item, depth: depth + 1 }), i < value.length - 1 && _jsx("span", { className: "text-muted-foreground", children: "," })] }, i))) }) }), expanded && _jsx("span", { className: "text-2xs text-muted-foreground", children: "]" })] }));
|
|
70
|
+
}
|
|
71
|
+
if (typeof value === "object") {
|
|
72
|
+
const entries = Object.entries(value);
|
|
73
|
+
if (entries.length === 0)
|
|
74
|
+
return _jsx("span", { className: "text-muted-foreground", children: "{}" });
|
|
75
|
+
return (_jsxs(Collapsible, { open: expanded, onOpenChange: setExpanded, children: [_jsx(CollapsibleTrigger, { asChild: true, children: _jsxs("button", { type: "button", className: "text-2xs text-muted-foreground hover:text-foreground", children: ["{", expanded ? "" : `…${entries.length}`] }) }), _jsx(CollapsibleContent, { children: _jsx("div", { className: "ps-4 border-s border-border", children: entries.map(([key, val], i) => (_jsxs("div", { className: "py-px", children: [_jsxs("span", { className: "text-primary me-1", children: ["\"", key, "\""] }), _jsx("span", { className: "text-muted-foreground me-1", children: ":" }), _jsx(JsonTreeNode, { value: val, depth: depth + 1 }), i < entries.length - 1 && _jsx("span", { className: "text-muted-foreground", children: "," })] }, key))) }) }), expanded && _jsx("span", { className: "text-2xs text-muted-foreground", children: "}" })] }));
|
|
76
|
+
}
|
|
77
|
+
return _jsx("span", { children: String(value) });
|
|
78
|
+
}
|
|
79
|
+
const AI_ArtifactStructuredContent = ({ data, className, ...props }) => (_jsx("div", { className: cn("overflow-auto rounded-md bg-muted p-card font-mono text-xs", className), ...props, children: _jsx(JsonTreeNode, { value: data, depth: 0 }) }));
|
|
80
|
+
function resolveContent(item) {
|
|
81
|
+
const content = item.content;
|
|
82
|
+
switch (item.type) {
|
|
83
|
+
case "TEXT": {
|
|
84
|
+
const text = content?.text ?? "";
|
|
85
|
+
return _jsx(AI_ArtifactTextContent, { text: text, mimeType: item.mimeType });
|
|
86
|
+
}
|
|
87
|
+
case "FILE": {
|
|
88
|
+
const storage = content?.storage;
|
|
89
|
+
return (_jsx(AI_ArtifactFileContent, { filename: item.name, mimeType: item.mimeType, size: item.size, url: storage?.url, path: storage?.path }));
|
|
90
|
+
}
|
|
91
|
+
case "RAW_DATA":
|
|
92
|
+
case "STRUCTURED": {
|
|
93
|
+
const data = content?.data ?? content;
|
|
94
|
+
return _jsx(AI_ArtifactStructuredContent, { data: data });
|
|
95
|
+
}
|
|
96
|
+
default:
|
|
97
|
+
return _jsx(AI_ArtifactStructuredContent, { data: content });
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
const AI_ArtifactItem = ({ item, onSelect, defaultExpanded = false, className, ...props }) => {
|
|
101
|
+
const { tComponent } = useI18n({ component: CT });
|
|
102
|
+
const { getRecipe } = useUI();
|
|
103
|
+
const surfaceRecipe = getRecipe(UIBehavior.SURFACE, SurfaceVariant.BASE);
|
|
104
|
+
const descRecipe = getRecipe(UIBehavior.TYPOGRAPHY, TypographyVariant.DESCRIPTION);
|
|
105
|
+
return (_jsx(Collapsible, { defaultOpen: defaultExpanded, children: _jsxs("div", { className: cn(surfaceRecipe.base, className), ...props, children: [_jsx(CollapsibleTrigger, { asChild: true, children: _jsx("button", { type: "button", className: "flex w-full items-center justify-between gap-element p-card-sm text-start hover:bg-muted/50", onClick: () => onSelect?.(item.ref), children: _jsxs("div", { className: "flex flex-col gap-1 min-w-0", children: [_jsxs("div", { className: "flex items-center gap-element", children: [_jsx("span", { className: "truncate text-sm font-medium", children: item.name }), _jsx(Badge, { variant: TYPE_VARIANT[item.type], className: "text-2xs shrink-0", children: tComponent(CT, TYPE_LABEL_KEY[item.type]) })] }), _jsxs("div", { className: "flex flex-wrap items-center gap-element", children: [_jsx(AI_ArtifactOrigin, { origin: item.origin }), item.createdAt && (_jsx("span", { className: cn(descRecipe.base, "text-2xs"), children: new Date(item.createdAt).toLocaleString() })), item.size != null && (_jsx("span", { className: cn(descRecipe.base, "text-2xs"), children: formatFileSize(item.size) }))] })] }) }) }), _jsx(CollapsibleContent, { children: _jsx("div", { className: "border-t p-card-sm", children: resolveContent(item) }) })] }) }));
|
|
106
|
+
};
|
|
107
|
+
const AI_ArtifactListRoot = ({ items, onSelect, className, ...props }) => {
|
|
108
|
+
const { tComponent } = useI18n({ component: CT });
|
|
109
|
+
const { getRecipe } = useUI();
|
|
110
|
+
const descRecipe = getRecipe(UIBehavior.TYPOGRAPHY, TypographyVariant.DESCRIPTION);
|
|
111
|
+
const [search, setSearch] = React.useState("");
|
|
112
|
+
const [typeFilter, setTypeFilter] = React.useState("ALL");
|
|
113
|
+
const filtered = React.useMemo(() => {
|
|
114
|
+
let result = items;
|
|
115
|
+
if (search) {
|
|
116
|
+
const q = search.toLowerCase();
|
|
117
|
+
result = result.filter((a) => a.name.toLowerCase().includes(q) ||
|
|
118
|
+
a.description?.toLowerCase().includes(q) ||
|
|
119
|
+
a.ref.toLowerCase().includes(q));
|
|
120
|
+
}
|
|
121
|
+
if (typeFilter !== "ALL") {
|
|
122
|
+
result = result.filter((a) => a.type === typeFilter);
|
|
123
|
+
}
|
|
124
|
+
return result;
|
|
125
|
+
}, [items, search, typeFilter]);
|
|
126
|
+
const typeOptions = ["ALL", "TEXT", "FILE", "RAW_DATA", "STRUCTURED"];
|
|
127
|
+
return (_jsxs("div", { className: cn("flex flex-col gap-card", className), ...props, children: [_jsx("div", { className: "flex items-center justify-between gap-element", children: _jsxs("div", { className: "flex items-center gap-element", children: [_jsx("h3", { className: "text-sm font-semibold", children: tComponent(CT, "title") }), _jsx(Badge, { variant: "secondary", className: "text-2xs", children: tComponent(CT, "artifactCount", { count: String(items.length) }) })] }) }), _jsxs("div", { className: "flex items-center gap-element", children: [_jsx(InputRoot, { type: "text", value: search, onChange: (e) => setSearch(e.target.value), placeholder: tComponent(CT, "searchPlaceholder"), className: "flex-1 h-8 text-xs" }), _jsx("div", { className: "flex gap-1", children: typeOptions.map((t) => (_jsx(Button, { type: "button", variant: typeFilter === t ? ButtonVariants_Variant.SECONDARY : ButtonVariants_Variant.GHOST, size: ButtonSize.SM, className: "h-7 text-2xs px-2", onClick: () => setTypeFilter(t), children: t === "ALL" ? tComponent(CT, "allTypes") : tComponent(CT, TYPE_LABEL_KEY[t]) }, t))) })] }), filtered.length === 0 ? (_jsx("p", { className: cn(descRecipe.base, "py-card text-center text-sm"), children: items.length === 0 ? tComponent(CT, "noArtifacts") : tComponent(CT, "noMatch") })) : (_jsx(ScrollArea, { className: "max-h-[600px]", children: _jsx("div", { className: "flex flex-col gap-card-sm", children: filtered.map((item) => (_jsx(AI_ArtifactItem, { item: item, onSelect: onSelect }, item.ref))) }) }))] }));
|
|
128
|
+
};
|
|
129
|
+
export const AI_ArtifactList = createCompoundPreset(AI_ArtifactListRoot, {
|
|
130
|
+
Item: AI_ArtifactItem,
|
|
131
|
+
Origin: AI_ArtifactOrigin,
|
|
132
|
+
TextContent: AI_ArtifactTextContent,
|
|
133
|
+
FileContent: AI_ArtifactFileContent,
|
|
134
|
+
StructuredContent: AI_ArtifactStructuredContent,
|
|
135
|
+
});
|
|
136
|
+
//# sourceMappingURL=artifact-browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-browser.js","sourceRoot":"","sources":["../../../../../src/components/ai-elements/artifacts/artifact-browser.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ComponentProps, ReactElement } from "react";
|
|
2
|
+
import { Button } from "@wildo-ai/saas-frontend-lib";
|
|
3
|
+
import type { AI_ArtifactCompound } from "@wildo-ai/saas-frontend-lib";
|
|
4
|
+
export type AI_ArtifactCloseProps = ComponentProps<typeof Button>;
|
|
5
|
+
export type AI_ArtifactActionProps = Omit<ComponentProps<typeof Button>, 'size' | 'variant'> & {
|
|
6
|
+
tooltip?: string;
|
|
7
|
+
label?: string;
|
|
8
|
+
icon?: ReactElement;
|
|
9
|
+
size?: "sm" | "md" | "lg" | "icon" | "icon-sm";
|
|
10
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
|
|
11
|
+
};
|
|
12
|
+
export declare const AI_Artifact: AI_ArtifactCompound;
|
|
13
|
+
//# sourceMappingURL=artifact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/artifacts/artifact.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EACL,MAAM,EAWP,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAyCvE,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC;AA4DlE,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/C,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;CAClF,CAAC;AAuDF,eAAO,MAAM,WAAW,qBAQtB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Button, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, cn, useUI, useIconRegistry, StandardIconReference, useI18n, createCompoundPreset, } from "@wildo-ai/saas-frontend-lib";
|
|
4
|
+
import { UIBehavior, SurfaceVariant, TypographyVariant, ButtonSize } from "@wildo-ai/presets-components-models";
|
|
5
|
+
import { ButtonVariants_Variant } from "@wildo-ai/saas-frontend-lib";
|
|
6
|
+
import { FrontendComponentType } from "@wildo-ai/presets-components-models";
|
|
7
|
+
const AI_ArtifactRoot = ({ className, ...props }) => {
|
|
8
|
+
const { getRecipe } = useUI();
|
|
9
|
+
const surfaceRecipe = getRecipe(UIBehavior.SURFACE, SurfaceVariant.BASE);
|
|
10
|
+
return (_jsx("div", { className: cn(surfaceRecipe.base, "flex flex-col overflow-hidden rounded-lg bg-background", className), ...props }));
|
|
11
|
+
};
|
|
12
|
+
const AI_ArtifactHeader = ({ className, ...props }) => {
|
|
13
|
+
const { getRecipe } = useUI();
|
|
14
|
+
const surfaceInsetRecipe = getRecipe(UIBehavior.SURFACE, SurfaceVariant.INSET);
|
|
15
|
+
return (_jsx("div", { className: cn(surfaceInsetRecipe.base, "flex items-center justify-between border-b px-card py-card-sm", className), ...props }));
|
|
16
|
+
};
|
|
17
|
+
const AI_ArtifactClose = ({ className, children, size = ButtonSize.SM, variant = ButtonVariants_Variant.GHOST, ...props }) => {
|
|
18
|
+
const { renderIcon } = useIconRegistry();
|
|
19
|
+
const { tComponent, isReady } = useI18n({
|
|
20
|
+
component: FrontendComponentType.LOW_LEVEL_AI_ARTIFACT,
|
|
21
|
+
});
|
|
22
|
+
const { getRecipe } = useUI();
|
|
23
|
+
const descRecipe = getRecipe(UIBehavior.TYPOGRAPHY, TypographyVariant.DESCRIPTION);
|
|
24
|
+
return (_jsxs(Button, { className: cn(descRecipe.base, "size-8 p-0 hover:text-foreground", className), size: size, type: "button", variant: variant, ...props, children: [children ?? renderIcon(StandardIconReference.CLOSE, { className: "size-4" }), _jsx("span", { className: "sr-only", children: tComponent(FrontendComponentType.LOW_LEVEL_AI_ARTIFACT, 'close') })] }));
|
|
25
|
+
};
|
|
26
|
+
const AI_ArtifactTitle = ({ className, ...props }) => (_jsx("p", { className: cn("font-medium text-foreground text-sm", className), ...props }));
|
|
27
|
+
const AI_ArtifactDescription = ({ className, ...props }) => {
|
|
28
|
+
const { getRecipe } = useUI();
|
|
29
|
+
const descRecipe = getRecipe(UIBehavior.TYPOGRAPHY, TypographyVariant.DESCRIPTION);
|
|
30
|
+
return (_jsx("p", { className: cn(descRecipe.base, className), ...props }));
|
|
31
|
+
};
|
|
32
|
+
const AI_ArtifactActions = ({ className, ...props }) => (_jsx("div", { className: cn("flex items-center gap-item-xs", className), ...props }));
|
|
33
|
+
const AI_ArtifactAction = ({ tooltip, label, icon, children, className, size = "sm", variant = "ghost", ...props }) => {
|
|
34
|
+
const { getRecipe } = useUI();
|
|
35
|
+
const descRecipe = getRecipe(UIBehavior.TYPOGRAPHY, TypographyVariant.DESCRIPTION);
|
|
36
|
+
const button = (_jsxs(Button, { className: cn(descRecipe.base, "size-8 p-0 hover:text-foreground", className), size: size, type: "button", variant: variant, ...props, children: [icon ? icon : children, _jsx("span", { className: "sr-only", children: label || tooltip })] }));
|
|
37
|
+
if (tooltip) {
|
|
38
|
+
return (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: button }), _jsx(TooltipContent, { children: _jsx("p", { children: tooltip }) })] }) }));
|
|
39
|
+
}
|
|
40
|
+
return button;
|
|
41
|
+
};
|
|
42
|
+
const AI_ArtifactContent = ({ className, ...props }) => (_jsx("div", { className: cn("flex-1 overflow-auto p-card", className), ...props }));
|
|
43
|
+
export const AI_Artifact = createCompoundPreset(AI_ArtifactRoot, {
|
|
44
|
+
Header: AI_ArtifactHeader,
|
|
45
|
+
Close: AI_ArtifactClose,
|
|
46
|
+
Content: AI_ArtifactContent,
|
|
47
|
+
Title: AI_ArtifactTitle,
|
|
48
|
+
Description: AI_ArtifactDescription,
|
|
49
|
+
Actions: AI_ArtifactActions,
|
|
50
|
+
Action: AI_ArtifactAction,
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=artifact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../../../../src/components/ai-elements/artifacts/artifact.tsx"],"names":[],"mappings":"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"}
|