@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,240 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* DisplayFieldFile Component
|
|
5
|
+
*
|
|
6
|
+
* Root display component for file fields. Acts as both:
|
|
7
|
+
* 1. Metadata fetcher — loads file metadata from server via authenticated httpOperations
|
|
8
|
+
* 2. Nature router — delegates rendering to nature-specific display components
|
|
9
|
+
*
|
|
10
|
+
* Nature routing priority:
|
|
11
|
+
* 1. Schema metadata `fileConfig.nature` (explicit, from z_file({ nature: FileNature.IMAGE }))
|
|
12
|
+
* 2. Fetched metadata MIME type detection (from server response)
|
|
13
|
+
* 3. Generic file card (fallback for unknown types / archives)
|
|
14
|
+
*
|
|
15
|
+
* For multiple images → gallery display. For mixed multiple → individual cards.
|
|
16
|
+
*
|
|
17
|
+
* Nature-specific sub-components are imported directly within this preset.
|
|
18
|
+
* Custom apps can override the entire file display by registering a new preset
|
|
19
|
+
* for LOW_LEVEL_DISPLAY_FIELD_FILE, or override individual nature renderers
|
|
20
|
+
* by registering for LOW_LEVEL_DISPLAY_FIELD_FILE_IMAGE etc. at the wrapper level.
|
|
21
|
+
*/
|
|
22
|
+
import * as React from "react";
|
|
23
|
+
import { Text, Skeleton, DisplayFieldFileImage, DisplayFieldFileVideo, DisplayFieldFileAudio, DisplayFieldFileDocument, DisplayFieldFileGallery, useIconRegistry, StandardIconReference, IconSize, useI18n, } from "@wildo-ai/saas-frontend-lib";
|
|
24
|
+
import { FrontendComponentType } from "@wildo-ai/presets-components-models";
|
|
25
|
+
import { FileDisplayNature, resolveFileDisplayNature, getFileMetadata as getFileSchemaMetadata, formatFileSize, } from "@wildo-ai/zod-decorators";
|
|
26
|
+
/** Type guard to check if value is a single file */
|
|
27
|
+
function isSingleFileValue(value) {
|
|
28
|
+
return value !== null && value !== undefined && 'fileId' in value;
|
|
29
|
+
}
|
|
30
|
+
/** Type guard to check if value is multiple files */
|
|
31
|
+
function isMultipleFileValue(value) {
|
|
32
|
+
return value !== null && value !== undefined && 'fileIds' in value;
|
|
33
|
+
}
|
|
34
|
+
function getNeutralFileDisplayLabel(value, t) {
|
|
35
|
+
if (isSingleFileValue(value)) {
|
|
36
|
+
return t('File attached') ?? 'File attached';
|
|
37
|
+
}
|
|
38
|
+
const fileCount = value.fileIds.length;
|
|
39
|
+
const translatedMultipleLabel = t('Files attached', { count: fileCount });
|
|
40
|
+
return fileCount > 1
|
|
41
|
+
? (translatedMultipleLabel && translatedMultipleLabel !== 'Files attached'
|
|
42
|
+
? translatedMultipleLabel
|
|
43
|
+
: `${fileCount} files attached`)
|
|
44
|
+
: (t('File attached') ?? 'File attached');
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* DisplayFieldFile component
|
|
48
|
+
*
|
|
49
|
+
* Renders a file reference with:
|
|
50
|
+
* - Filename with link
|
|
51
|
+
* - File size
|
|
52
|
+
* - File type icon/badge
|
|
53
|
+
* - Download option
|
|
54
|
+
*/
|
|
55
|
+
function DisplayFieldFile({ schema, value, className, endpoints, showSize = true, showType = true, showDownload = true, httpOperations, }) {
|
|
56
|
+
const { renderIcon } = useIconRegistry();
|
|
57
|
+
const { t, tComponent, isReady } = useI18n({ component: [FrontendComponentType.LOW_LEVEL_FORM_FIELD, FrontendComponentType.LOW_LEVEL_FORM_FIELD_FILE] });
|
|
58
|
+
const fileSchemaMetadata = getFileSchemaMetadata(schema);
|
|
59
|
+
const isMultiple = fileSchemaMetadata?.multiple ?? false;
|
|
60
|
+
// State for loaded metadata (single file or array of files)
|
|
61
|
+
const [metadataEntries, setMetadataEntries] = React.useState([]);
|
|
62
|
+
const [loading, setLoading] = React.useState(false);
|
|
63
|
+
const [error, setError] = React.useState(null);
|
|
64
|
+
// Get file IDs from value (handles both single and multiple)
|
|
65
|
+
const fileIds = React.useMemo(() => {
|
|
66
|
+
if (isSingleFileValue(value)) {
|
|
67
|
+
return [value.fileId];
|
|
68
|
+
}
|
|
69
|
+
if (isMultipleFileValue(value)) {
|
|
70
|
+
return value.fileIds;
|
|
71
|
+
}
|
|
72
|
+
return [];
|
|
73
|
+
}, [value]);
|
|
74
|
+
// Stable key for dependency tracking (avoids inline .join() in useEffect deps)
|
|
75
|
+
const fileIdsKey = React.useMemo(() => fileIds.join(','), [fileIds]);
|
|
76
|
+
// Fetch metadata when value changes
|
|
77
|
+
React.useEffect(() => {
|
|
78
|
+
// Derive IDs from the key to keep closure and dependency in sync
|
|
79
|
+
const currentFileIds = fileIdsKey ? fileIdsKey.split(',') : [];
|
|
80
|
+
if (currentFileIds.length === 0 || !endpoints.getMetadata) {
|
|
81
|
+
setMetadataEntries([]);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
let cancelled = false;
|
|
85
|
+
setLoading(true);
|
|
86
|
+
setError(null);
|
|
87
|
+
const fetchAllMetadata = async () => {
|
|
88
|
+
try {
|
|
89
|
+
const settledResults = await Promise.allSettled(currentFileIds.map(async (fileId) => {
|
|
90
|
+
const metadataUrl = `${endpoints.getMetadata}/${encodeURIComponent(fileId)}/metadata`;
|
|
91
|
+
// Use authenticated HTTP operations when available (injected by engine wrapper).
|
|
92
|
+
// Falls back to raw fetch for standalone usage without resource context.
|
|
93
|
+
if (httpOperations) {
|
|
94
|
+
return httpOperations.get(metadataUrl);
|
|
95
|
+
}
|
|
96
|
+
// Fallback: raw fetch with cookie credentials (standalone usage)
|
|
97
|
+
const response = await fetch(metadataUrl, { credentials: 'include' });
|
|
98
|
+
if (!response.ok) {
|
|
99
|
+
throw new Error('Failed to fetch file metadata');
|
|
100
|
+
}
|
|
101
|
+
return response.json();
|
|
102
|
+
}));
|
|
103
|
+
const successfulEntries = settledResults.flatMap((result, index) => (result.status === 'fulfilled'
|
|
104
|
+
? [{ fileId: currentFileIds[index], metadata: result.value }]
|
|
105
|
+
: []));
|
|
106
|
+
if (!cancelled) {
|
|
107
|
+
setMetadataEntries(successfulEntries);
|
|
108
|
+
setError(successfulEntries.length === 0 && settledResults.some(result => result.status === 'rejected')
|
|
109
|
+
? (t('Unable to load file details') ?? 'Unable to load file details')
|
|
110
|
+
: null);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
finally {
|
|
114
|
+
if (!cancelled) {
|
|
115
|
+
setLoading(false);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
fetchAllMetadata();
|
|
120
|
+
return () => { cancelled = true; };
|
|
121
|
+
}, [fileIdsKey, endpoints.getMetadata, httpOperations]);
|
|
122
|
+
// =========================================================================
|
|
123
|
+
// NATURE DETECTION (via shared utility from zod-decorators)
|
|
124
|
+
// =========================================================================
|
|
125
|
+
const schemaNature = fileSchemaMetadata?.nature;
|
|
126
|
+
// =========================================================================
|
|
127
|
+
// FILE ICON MAPPING (for generic card fallback)
|
|
128
|
+
// =========================================================================
|
|
129
|
+
const getFileIconRef = (mimeType) => {
|
|
130
|
+
if (!mimeType)
|
|
131
|
+
return StandardIconReference.FILE;
|
|
132
|
+
if (mimeType.startsWith('image/'))
|
|
133
|
+
return StandardIconReference.FILE_IMAGE;
|
|
134
|
+
if (mimeType.startsWith('video/'))
|
|
135
|
+
return StandardIconReference.FILE_VIDEO;
|
|
136
|
+
if (mimeType.startsWith('audio/'))
|
|
137
|
+
return StandardIconReference.FILE_AUDIO;
|
|
138
|
+
if (mimeType === 'application/pdf')
|
|
139
|
+
return StandardIconReference.FILE_TEXT;
|
|
140
|
+
if (mimeType.includes('spreadsheet') || mimeType.includes('excel'))
|
|
141
|
+
return StandardIconReference.FILE_SPREADSHEET;
|
|
142
|
+
if (mimeType.includes('presentation') || mimeType.includes('powerpoint'))
|
|
143
|
+
return StandardIconReference.FILE_PRESENTATION;
|
|
144
|
+
if (mimeType.includes('document') || mimeType.includes('word'))
|
|
145
|
+
return StandardIconReference.FILE_TEXT;
|
|
146
|
+
if (mimeType.includes('zip') || mimeType.includes('rar') || mimeType.includes('7z'))
|
|
147
|
+
return StandardIconReference.FILE_ARCHIVE;
|
|
148
|
+
return StandardIconReference.FILE;
|
|
149
|
+
};
|
|
150
|
+
// =========================================================================
|
|
151
|
+
// NATURE-AWARE RENDERING
|
|
152
|
+
// =========================================================================
|
|
153
|
+
/**
|
|
154
|
+
* Render a single file with nature-aware component selection.
|
|
155
|
+
* Delegates to the appropriate nature-specific display preset,
|
|
156
|
+
* falling back to the generic file card for unknown/archive types.
|
|
157
|
+
*/
|
|
158
|
+
const renderNatureAwareFile = (metadata, fileId) => {
|
|
159
|
+
// Determine display nature: schema-declared > MIME-detected > generic
|
|
160
|
+
const nature = resolveFileDisplayNature(schemaNature, metadata.mimeType);
|
|
161
|
+
switch (nature) {
|
|
162
|
+
case FileDisplayNature.IMAGE:
|
|
163
|
+
return (_jsx(DisplayFieldFileImage, { metadata: metadata, fileId: fileId, showDownload: showDownload, showSize: showSize }, fileId));
|
|
164
|
+
case FileDisplayNature.VIDEO:
|
|
165
|
+
return (_jsx(DisplayFieldFileVideo, { metadata: metadata, fileId: fileId, showDownload: showDownload, showSize: showSize }, fileId));
|
|
166
|
+
case FileDisplayNature.AUDIO:
|
|
167
|
+
return (_jsx(DisplayFieldFileAudio, { metadata: metadata, fileId: fileId, showDownload: showDownload, showSize: showSize }, fileId));
|
|
168
|
+
case FileDisplayNature.DOCUMENT:
|
|
169
|
+
return (_jsx(DisplayFieldFileDocument, { metadata: metadata, fileId: fileId, showDownload: showDownload, showSize: showSize }, fileId));
|
|
170
|
+
default:
|
|
171
|
+
// Generic file card (archives, unknown types, etc.)
|
|
172
|
+
return renderGenericFileItem(metadata, fileId);
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
/** Render a generic file card (used for archives, unknown types, and as fallback) */
|
|
176
|
+
const renderGenericFileItem = (metadata, fileId) => {
|
|
177
|
+
const fileIconRef = getFileIconRef(metadata.mimeType);
|
|
178
|
+
return (_jsxs("div", { className: "flex items-center gap-group p-card-sm rounded-md border bg-muted/30", children: [_jsx("span", { "aria-hidden": "true", children: renderIcon(fileIconRef, { size: IconSize.LG, className: "text-muted-foreground" }) }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("div", { className: "flex items-center gap-element", children: metadata.url && showDownload ? (_jsx("a", { href: metadata.url, target: "_blank", rel: "noopener noreferrer", className: "font-medium text-primary hover:underline truncate", children: metadata.filename })) : (_jsx(Text, { className: "font-medium truncate", children: metadata.filename })) }), _jsxs("div", { className: "flex items-center gap-group text-xs text-muted-foreground mt-0.5", children: [showSize && metadata.size !== undefined && (_jsx("span", { children: formatFileSize(metadata.size) })), showType && metadata.mimeType && (_jsx("span", { className: "uppercase", children: metadata.extension || metadata.mimeType.split('/').pop() }))] })] }), metadata.thumbnailUrl && metadata.mimeType?.startsWith('image/') && (_jsx("img", { src: metadata.thumbnailUrl, alt: metadata.filename, className: "h-12 w-12 rounded object-cover" }))] }, fileId));
|
|
179
|
+
};
|
|
180
|
+
// =========================================================================
|
|
181
|
+
// MULTI-FILE GALLERY DETECTION
|
|
182
|
+
// =========================================================================
|
|
183
|
+
/**
|
|
184
|
+
* Check if multiple files should be rendered as a gallery.
|
|
185
|
+
* Conditions: multiple mode + all files are images (by schema nature or MIME detection).
|
|
186
|
+
*/
|
|
187
|
+
const shouldRenderGallery = React.useMemo(() => {
|
|
188
|
+
if (metadataEntries.length <= 1)
|
|
189
|
+
return false;
|
|
190
|
+
// Schema declares IMAGE nature — always gallery for multiple
|
|
191
|
+
if (resolveFileDisplayNature(schemaNature) === FileDisplayNature.IMAGE)
|
|
192
|
+
return true;
|
|
193
|
+
// All fetched files are images — auto-gallery
|
|
194
|
+
return metadataEntries.every(({ metadata }) => metadata.mimeType?.startsWith('image/'));
|
|
195
|
+
}, [metadataEntries, schemaNature]);
|
|
196
|
+
// =========================================================================
|
|
197
|
+
// RENDER
|
|
198
|
+
// =========================================================================
|
|
199
|
+
const renderValue = () => {
|
|
200
|
+
// Handle null/undefined
|
|
201
|
+
if (value === null || value === undefined) {
|
|
202
|
+
return _jsxs(_Fragment, { children: [_jsx(Text, { className: "text-muted-foreground italic", "aria-hidden": "true", children: "\u2014" }), _jsx("span", { className: "sr-only", children: tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD, 'noValue') })] });
|
|
203
|
+
}
|
|
204
|
+
// Handle invalid value
|
|
205
|
+
if (typeof value !== 'object' || (!('fileId' in value) && !('fileIds' in value))) {
|
|
206
|
+
return _jsx(Text, { className: "text-muted-foreground italic", children: "Invalid" });
|
|
207
|
+
}
|
|
208
|
+
// Loading state
|
|
209
|
+
if (loading) {
|
|
210
|
+
const loadingLabel = t('Loading file metadata') ?? 'Loading file metadata';
|
|
211
|
+
return (_jsxs("div", { className: "flex items-center gap-group p-card-sm rounded-md border bg-muted/30", role: "status", "aria-label": loadingLabel, children: [_jsx(Skeleton, { className: "h-6 w-6 rounded" }), _jsxs("div", { className: "flex-1 min-w-0 space-y-1.5", children: [_jsx(Skeleton, { className: "h-4 w-36" }), _jsx(Skeleton, { className: "h-3 w-20" })] })] }));
|
|
212
|
+
}
|
|
213
|
+
// Error state
|
|
214
|
+
if (error) {
|
|
215
|
+
return (_jsxs("div", { className: "flex items-center gap-element text-destructive", role: "alert", children: [_jsx("span", { "aria-hidden": "true", children: renderIcon(StandardIconReference.WARNING, { size: IconSize.SM }) }), _jsx(Text, { className: "text-sm", children: error })] }));
|
|
216
|
+
}
|
|
217
|
+
// No metadata available yet — keep the UI neutral instead of exposing
|
|
218
|
+
// internal file identifiers while metadata is loading or unavailable.
|
|
219
|
+
if (metadataEntries.length === 0) {
|
|
220
|
+
return (_jsxs("div", { className: "flex items-center gap-element text-muted-foreground", children: [_jsx("span", { "aria-hidden": "true", children: renderIcon(StandardIconReference.FILE, { size: IconSize.SM }) }), _jsx(Text, { className: "text-sm", children: getNeutralFileDisplayLabel(value, t) })] }));
|
|
221
|
+
}
|
|
222
|
+
// Multiple files — gallery or individual cards
|
|
223
|
+
if (isMultiple || metadataEntries.length > 1) {
|
|
224
|
+
// Gallery for all-image collections
|
|
225
|
+
if (shouldRenderGallery) {
|
|
226
|
+
return (_jsx(DisplayFieldFileGallery, { metadataList: metadataEntries.map(({ metadata }) => metadata), fileIds: metadataEntries.map(({ fileId }) => fileId), showDownload: showDownload }));
|
|
227
|
+
}
|
|
228
|
+
// Mixed content or non-image multiple — individual nature-aware cards
|
|
229
|
+
return (_jsx("div", { className: "space-y-item", children: metadataEntries.map(({ metadata, fileId }) => renderNatureAwareFile(metadata, fileId)) }));
|
|
230
|
+
}
|
|
231
|
+
// Single file — nature-aware rendering
|
|
232
|
+
return renderNatureAwareFile(metadataEntries[0].metadata, metadataEntries[0].fileId);
|
|
233
|
+
};
|
|
234
|
+
// Label/description rendering is handled by the parent DisplayField (FIELD-01)
|
|
235
|
+
return _jsx("div", { className: className, children: renderValue() });
|
|
236
|
+
}
|
|
237
|
+
;
|
|
238
|
+
DisplayFieldFile.displayName = "DisplayFieldFile";
|
|
239
|
+
export { DisplayFieldFile };
|
|
240
|
+
//# sourceMappingURL=display-field-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-field-file.js","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-file.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DisplayFieldFormatUtils
|
|
3
|
+
*
|
|
4
|
+
* Singleton class with static formatting utilities for display field formatters.
|
|
5
|
+
* Consolidates common formatting functions used across number, bigdecimal,
|
|
6
|
+
* and other display field components to avoid duplication.
|
|
7
|
+
*/
|
|
8
|
+
export declare class DisplayFieldFormatUtils {
|
|
9
|
+
private constructor();
|
|
10
|
+
/**
|
|
11
|
+
* Format bytes to human-readable string.
|
|
12
|
+
*
|
|
13
|
+
* @param bytes - The byte value to format
|
|
14
|
+
* @param decimals - Number of decimal places (default: 2)
|
|
15
|
+
* @returns Formatted string (e.g., "1.5 MB")
|
|
16
|
+
*/
|
|
17
|
+
static formatBytes(bytes: number, decimals?: number): string;
|
|
18
|
+
/**
|
|
19
|
+
* Format number as ordinal with locale awareness.
|
|
20
|
+
*
|
|
21
|
+
* Uses `Intl.PluralRules` for category detection and a per-locale suffix map
|
|
22
|
+
* for correct ordinal rendering. Locales without an explicit suffix map fall
|
|
23
|
+
* back to the dot convention (e.g., "3." — standard in German, Swedish,
|
|
24
|
+
* Norwegian, Dutch, and most European languages).
|
|
25
|
+
*
|
|
26
|
+
* @param n - The number to format
|
|
27
|
+
* @param locale - BCP 47 locale string (default: 'en')
|
|
28
|
+
* @returns Formatted ordinal string (e.g., "1st", "1er", "3.")
|
|
29
|
+
*/
|
|
30
|
+
static formatOrdinal(n: number, locale?: string): string;
|
|
31
|
+
/**
|
|
32
|
+
* Truncate a decimal string to a specified number of decimal places.
|
|
33
|
+
* Operates purely on the string representation — no floating-point conversion,
|
|
34
|
+
* preserving full precision for BigDecimal values.
|
|
35
|
+
*
|
|
36
|
+
* @param value - The decimal string (e.g., "123.456789012345678901234")
|
|
37
|
+
* @param decimalPlaces - Number of decimal places to keep
|
|
38
|
+
* @param trailingZeros - Whether to pad with trailing zeros
|
|
39
|
+
* @returns Truncated decimal string
|
|
40
|
+
*/
|
|
41
|
+
static truncateDecimalString(value: string, decimalPlaces: number, trailingZeros: boolean): string;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=display-field-format.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-field-format.utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-format.utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwBH,qBAAa,uBAAuB;IAElC,OAAO;IAIP;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM;IAavD;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,MAAa,GAAG,MAAM;IAiB9D;;;;;;;;;OASG;IACH,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,MAAM;CA8BnG"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DisplayFieldFormatUtils
|
|
3
|
+
*
|
|
4
|
+
* Singleton class with static formatting utilities for display field formatters.
|
|
5
|
+
* Consolidates common formatting functions used across number, bigdecimal,
|
|
6
|
+
* and other display field components to avoid duplication.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Per-locale ordinal suffix maps.
|
|
10
|
+
*
|
|
11
|
+
* Each entry maps Intl.PluralRules ordinal categories to locale-specific suffixes.
|
|
12
|
+
* Languages not listed fall back to the dot convention (e.g., "1." — universally
|
|
13
|
+
* understood in most European languages).
|
|
14
|
+
*
|
|
15
|
+
* References:
|
|
16
|
+
* - English: 1st, 2nd, 3rd, 4th ...
|
|
17
|
+
* - French: 1er, 2e, 3e ... (only "1er", rest are "e")
|
|
18
|
+
* - German/Swedish/most Romance: 1., 2., 3. (dot suffix)
|
|
19
|
+
* - Spanish: 1.º, 2.º, 3.º
|
|
20
|
+
*/
|
|
21
|
+
const ORDINAL_SUFFIX_MAPS = {
|
|
22
|
+
en: { one: 'st', two: 'nd', few: 'rd', other: 'th' },
|
|
23
|
+
fr: { one: 'er', other: 'e' },
|
|
24
|
+
es: { other: '.º' },
|
|
25
|
+
it: { other: '°' },
|
|
26
|
+
pt: { other: '.º' },
|
|
27
|
+
// dot-suffix languages are handled by the fallback
|
|
28
|
+
};
|
|
29
|
+
export class DisplayFieldFormatUtils {
|
|
30
|
+
constructor() {
|
|
31
|
+
// Prevent instantiation — static-only class
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Format bytes to human-readable string.
|
|
35
|
+
*
|
|
36
|
+
* @param bytes - The byte value to format
|
|
37
|
+
* @param decimals - Number of decimal places (default: 2)
|
|
38
|
+
* @returns Formatted string (e.g., "1.5 MB")
|
|
39
|
+
*/
|
|
40
|
+
static formatBytes(bytes, decimals = 2) {
|
|
41
|
+
if (!Number.isFinite(bytes))
|
|
42
|
+
return '—';
|
|
43
|
+
if (bytes === 0)
|
|
44
|
+
return '0 B';
|
|
45
|
+
if (bytes < 0)
|
|
46
|
+
return '-' + DisplayFieldFormatUtils.formatBytes(Math.abs(bytes), decimals);
|
|
47
|
+
const k = 1024;
|
|
48
|
+
const dm = decimals < 0 ? 0 : decimals;
|
|
49
|
+
const sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'];
|
|
50
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
51
|
+
return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Format number as ordinal with locale awareness.
|
|
55
|
+
*
|
|
56
|
+
* Uses `Intl.PluralRules` for category detection and a per-locale suffix map
|
|
57
|
+
* for correct ordinal rendering. Locales without an explicit suffix map fall
|
|
58
|
+
* back to the dot convention (e.g., "3." — standard in German, Swedish,
|
|
59
|
+
* Norwegian, Dutch, and most European languages).
|
|
60
|
+
*
|
|
61
|
+
* @param n - The number to format
|
|
62
|
+
* @param locale - BCP 47 locale string (default: 'en')
|
|
63
|
+
* @returns Formatted ordinal string (e.g., "1st", "1er", "3.")
|
|
64
|
+
*/
|
|
65
|
+
static formatOrdinal(n, locale = 'en') {
|
|
66
|
+
// Extract base language from locale (e.g., 'en-US' → 'en')
|
|
67
|
+
const baseLang = locale.split('-')[0].toLowerCase();
|
|
68
|
+
const suffixMap = ORDINAL_SUFFIX_MAPS[baseLang];
|
|
69
|
+
if (suffixMap) {
|
|
70
|
+
const pr = new Intl.PluralRules(locale, { type: 'ordinal' });
|
|
71
|
+
const rule = pr.select(n);
|
|
72
|
+
const suffix = suffixMap[rule] ?? suffixMap['other'] ?? '.';
|
|
73
|
+
return `${n}${suffix}`;
|
|
74
|
+
}
|
|
75
|
+
// Fallback: dot convention (universally understood in most languages)
|
|
76
|
+
return `${n}.`;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Truncate a decimal string to a specified number of decimal places.
|
|
80
|
+
* Operates purely on the string representation — no floating-point conversion,
|
|
81
|
+
* preserving full precision for BigDecimal values.
|
|
82
|
+
*
|
|
83
|
+
* @param value - The decimal string (e.g., "123.456789012345678901234")
|
|
84
|
+
* @param decimalPlaces - Number of decimal places to keep
|
|
85
|
+
* @param trailingZeros - Whether to pad with trailing zeros
|
|
86
|
+
* @returns Truncated decimal string
|
|
87
|
+
*/
|
|
88
|
+
static truncateDecimalString(value, decimalPlaces, trailingZeros) {
|
|
89
|
+
const dotIndex = value.indexOf('.');
|
|
90
|
+
if (dotIndex === -1) {
|
|
91
|
+
// No decimal point — integer
|
|
92
|
+
if (trailingZeros && decimalPlaces > 0) {
|
|
93
|
+
return `${value}.${'0'.repeat(decimalPlaces)}`;
|
|
94
|
+
}
|
|
95
|
+
return value;
|
|
96
|
+
}
|
|
97
|
+
const integerPart = value.slice(0, dotIndex);
|
|
98
|
+
const fractionalPart = value.slice(dotIndex + 1);
|
|
99
|
+
if (decimalPlaces === 0) {
|
|
100
|
+
return integerPart;
|
|
101
|
+
}
|
|
102
|
+
// Truncate (not round) to preserve BigDecimal semantics
|
|
103
|
+
const truncated = fractionalPart.slice(0, decimalPlaces);
|
|
104
|
+
if (trailingZeros) {
|
|
105
|
+
const padded = truncated.padEnd(decimalPlaces, '0');
|
|
106
|
+
return `${integerPart}.${padded}`;
|
|
107
|
+
}
|
|
108
|
+
// Remove trailing zeros
|
|
109
|
+
const trimmed = truncated.replace(/0+$/, '');
|
|
110
|
+
return trimmed ? `${integerPart}.${trimmed}` : integerPart;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=display-field-format.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-field-format.utils.js","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-format.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DisplayFieldMoney Component
|
|
3
|
+
*
|
|
4
|
+
* Displays a money value with proper formatting.
|
|
5
|
+
* Converts bigint amount to decimal based on decimals field.
|
|
6
|
+
*/
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import type { DisplayFieldMoneyProps } from '@wildo-ai/saas-frontend-lib';
|
|
9
|
+
/**
|
|
10
|
+
* DisplayFieldMoney component
|
|
11
|
+
*
|
|
12
|
+
* Renders a money value with locale-aware formatting via Intl.NumberFormat:
|
|
13
|
+
* - Converts integer amount to decimal
|
|
14
|
+
* - Locale-aware symbol position & separators
|
|
15
|
+
* - Negative value styling (text-destructive)
|
|
16
|
+
*/
|
|
17
|
+
declare function DisplayFieldMoney({ schema, value, className, showSymbol, symbolPosition, showCurrencyCode, locale, }: DisplayFieldMoneyProps): React.JSX.Element;
|
|
18
|
+
export { DisplayFieldMoney };
|
|
19
|
+
//# sourceMappingURL=display-field-money.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-field-money.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-money.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAS9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAEzE;;;;;;;GAOG;AACH,iBAAS,iBAAiB,CAAC,EACzB,MAAM,EACN,KAAK,EACL,SAAS,EACT,UAAiB,EACjB,cAAc,EACd,gBAAwB,EACxB,MAAM,GACP,EAAE,sBAAsB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAoF5C;AAID,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { cn, useI18n } from "@wildo-ai/saas-frontend-lib";
|
|
4
|
+
import { Text } from "@wildo-ai/saas-frontend-lib";
|
|
5
|
+
import { fromMoneyAmount, } from "@wildo-ai/zod-decorators";
|
|
6
|
+
import { FrontendComponentType } from "@wildo-ai/presets-components-models";
|
|
7
|
+
/**
|
|
8
|
+
* DisplayFieldMoney component
|
|
9
|
+
*
|
|
10
|
+
* Renders a money value with locale-aware formatting via Intl.NumberFormat:
|
|
11
|
+
* - Converts integer amount to decimal
|
|
12
|
+
* - Locale-aware symbol position & separators
|
|
13
|
+
* - Negative value styling (text-destructive)
|
|
14
|
+
*/
|
|
15
|
+
function DisplayFieldMoney({ schema, value, className, showSymbol = true, symbolPosition, showCurrencyCode = false, locale, }) {
|
|
16
|
+
const { regionalPreferences, tComponent, isReady } = useI18n({ component: FrontendComponentType.LOW_LEVEL_FORM_FIELD });
|
|
17
|
+
// Locale priority: explicit prop > regional preferences > browser locale > fallback
|
|
18
|
+
const effectiveLocale = locale ?? regionalPreferences.locale ?? (typeof navigator !== 'undefined' ? navigator.language : 'en');
|
|
19
|
+
// Render the value content
|
|
20
|
+
const renderValue = () => {
|
|
21
|
+
// Handle null/undefined
|
|
22
|
+
if (value === null || value === undefined) {
|
|
23
|
+
return _jsxs(_Fragment, { children: [_jsx(Text, { className: "text-muted-foreground italic", "aria-hidden": "true", children: "\u2014" }), _jsx("span", { className: "sr-only", children: tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD, 'noValue') })] });
|
|
24
|
+
}
|
|
25
|
+
// Handle invalid value
|
|
26
|
+
if (typeof value !== 'object' || !('amount' in value) || !('currency' in value) || !('decimals' in value)) {
|
|
27
|
+
return _jsx(Text, { className: "text-muted-foreground italic", children: "Invalid" });
|
|
28
|
+
}
|
|
29
|
+
// Convert bigint amount to decimal number
|
|
30
|
+
const decimalValue = fromMoneyAmount(value.amount, value.decimals);
|
|
31
|
+
const isNegative = decimalValue < 0;
|
|
32
|
+
// Use Intl.NumberFormat for locale-aware currency formatting
|
|
33
|
+
let displayText;
|
|
34
|
+
if (showSymbol) {
|
|
35
|
+
try {
|
|
36
|
+
const formatter = new Intl.NumberFormat(effectiveLocale, {
|
|
37
|
+
style: 'currency',
|
|
38
|
+
currency: value.currency,
|
|
39
|
+
minimumFractionDigits: value.decimals,
|
|
40
|
+
maximumFractionDigits: value.decimals,
|
|
41
|
+
// currencyDisplay controls how the currency is shown (symbol, code, name)
|
|
42
|
+
currencyDisplay: 'symbol',
|
|
43
|
+
});
|
|
44
|
+
displayText = formatter.format(decimalValue);
|
|
45
|
+
// Apply manual symbolPosition override if explicitly set.
|
|
46
|
+
// Intl.NumberFormat respects locale conventions by default;
|
|
47
|
+
// this override is for cases where the schema wants a specific position.
|
|
48
|
+
if (symbolPosition) {
|
|
49
|
+
// Extract the numeric portion by formatting without currency
|
|
50
|
+
const numericFormatter = new Intl.NumberFormat(effectiveLocale, {
|
|
51
|
+
minimumFractionDigits: value.decimals,
|
|
52
|
+
maximumFractionDigits: value.decimals,
|
|
53
|
+
});
|
|
54
|
+
const numericText = numericFormatter.format(decimalValue);
|
|
55
|
+
// Resolve symbol from the currency format parts
|
|
56
|
+
const parts = formatter.formatToParts(Math.abs(decimalValue));
|
|
57
|
+
const symbolPart = parts.find(p => p.type === 'currency')?.value ?? value.currency;
|
|
58
|
+
// Convention: prefix symbols have no space ($100), suffix symbols have a space (100 €)
|
|
59
|
+
displayText = symbolPosition === 'before'
|
|
60
|
+
? `${symbolPart}${numericText}`
|
|
61
|
+
: `${numericText} ${symbolPart}`;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
// Fallback if Intl doesn't support this currency
|
|
66
|
+
displayText = `${value.currency} ${decimalValue.toFixed(value.decimals)}`;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
const numericFormatter = new Intl.NumberFormat(effectiveLocale, {
|
|
71
|
+
minimumFractionDigits: value.decimals,
|
|
72
|
+
maximumFractionDigits: value.decimals,
|
|
73
|
+
});
|
|
74
|
+
displayText = numericFormatter.format(decimalValue);
|
|
75
|
+
}
|
|
76
|
+
// Optionally append currency code
|
|
77
|
+
if (showCurrencyCode) {
|
|
78
|
+
displayText = `${displayText} ${value.currency}`;
|
|
79
|
+
}
|
|
80
|
+
return (_jsx(Text, { className: cn("tabular-nums", isNegative && "text-destructive"), children: displayText }));
|
|
81
|
+
};
|
|
82
|
+
// Label/description rendering is handled by the parent DisplayField (FIELD-01)
|
|
83
|
+
return _jsx("div", { className: className, children: renderValue() });
|
|
84
|
+
}
|
|
85
|
+
;
|
|
86
|
+
DisplayFieldMoney.displayName = "DisplayFieldMoney";
|
|
87
|
+
export { DisplayFieldMoney };
|
|
88
|
+
//# sourceMappingURL=display-field-money.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-field-money.js","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-money.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DisplayFieldNumber Component
|
|
3
|
+
*
|
|
4
|
+
* Displays a number value based on the number UI decorator.
|
|
5
|
+
* Supports different display modes: raw, formatted, percentage, compact, ordinal, bytes
|
|
6
|
+
*/
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import type { DisplayFieldNumberProps } from '@wildo-ai/saas-frontend-lib';
|
|
9
|
+
/**
|
|
10
|
+
* DisplayFieldNumber component
|
|
11
|
+
*
|
|
12
|
+
* Renders a number value according to the number UI decorator
|
|
13
|
+
*/
|
|
14
|
+
declare function DisplayFieldNumber({ schema, value, className, locale, }: DisplayFieldNumberProps): React.JSX.Element;
|
|
15
|
+
export { DisplayFieldNumber };
|
|
16
|
+
//# sourceMappingURL=display-field-number.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-field-number.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-number.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAG1E;;;;GAIG;AACH,iBAAS,kBAAkB,CAAC,EAC1B,MAAM,EACN,KAAK,EACL,SAAS,EACT,MAAM,GACP,EAAE,uBAAuB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAmF7C;AAID,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
|