@wildo-ai/presets-components 1.1.3 → 1.1.5
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.map +1 -1
- package/dist/esm/components/actions/action-bar.js +61 -7
- package/dist/esm/components/actions/action-bar.js.map +1 -1
- package/dist/esm/components/actions/action-bar.labels.d.ts.map +1 -1
- package/dist/esm/components/actions/action-button.d.ts.map +1 -1
- package/dist/esm/components/actions/action-button.js +3 -3
- package/dist/esm/components/actions/action-button.js.map +1 -1
- package/dist/esm/components/actions/action-button.labels.d.ts.map +1 -1
- package/dist/esm/components/actions/button-group.d.ts.map +1 -1
- package/dist/esm/components/actions/button.d.ts.map +1 -1
- package/dist/esm/components/actions/button.js +62 -3
- package/dist/esm/components/actions/button.js.map +1 -1
- package/dist/esm/components/actions/button.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.js +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts +4 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.js +165 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.js.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.labels.d.ts +3 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.labels.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.labels.js +63 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.labels.js.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/image.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/shiki-highlighter-runtime.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/shiki-highlighter.lazy.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval-argument-fields.d.ts +68 -0
- package/dist/esm/components/ai-elements/decision/approval-argument-fields.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/decision/approval-argument-fields.js +208 -0
- package/dist/esm/components/ai-elements/decision/approval-argument-fields.js.map +1 -0
- package/dist/esm/components/ai-elements/decision/approval.d.ts +36 -4
- package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.js +77 -7
- package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
- package/dist/esm/components/ai-elements/decision/decision-request.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/decision-request.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/confirmation.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.js +1 -1
- package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.js +8 -1
- package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/graph-runtime.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/graph.lazy.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/graph.lazy.js +15 -15
- package/dist/esm/components/ai-elements/graph/graph.lazy.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent.d.ts +0 -1
- package/dist/esm/components/ai-elements/meta/agent.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent.js +23 -18
- package/dist/esm/components/ai-elements/meta/agent.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.lazy.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.lazy.js +13 -11
- package/dist/esm/components/ai-elements/meta/context.lazy.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts +6 -0
- package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.js +13 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.labels.d.ts.map +1 -1
- package/dist/esm/components/app/app-layout-consent-gate.d.ts +23 -0
- package/dist/esm/components/app/app-layout-consent-gate.d.ts.map +1 -0
- package/dist/esm/components/app/app-layout-consent-gate.js +133 -0
- package/dist/esm/components/app/app-layout-consent-gate.js.map +1 -0
- package/dist/esm/components/app/app-layout-document-acceptance-gate.d.ts +19 -0
- package/dist/esm/components/app/app-layout-document-acceptance-gate.d.ts.map +1 -0
- package/dist/esm/components/app/app-layout-document-acceptance-gate.js +56 -0
- package/dist/esm/components/app/app-layout-document-acceptance-gate.js.map +1 -0
- package/dist/esm/components/app/app-layout-main-container.d.ts.map +1 -1
- package/dist/esm/components/app/app-layout-main-container.labels.d.ts.map +1 -1
- package/dist/esm/components/app/app-layout-main-container.labels.js +21 -0
- package/dist/esm/components/app/app-layout-main-container.labels.js.map +1 -1
- package/dist/esm/components/app/public-layout-main-container.d.ts +1 -1
- package/dist/esm/components/app/public-layout-main-container.d.ts.map +1 -1
- package/dist/esm/components/app/public-layout-main-container.js +9 -8
- package/dist/esm/components/app/public-layout-main-container.js.map +1 -1
- package/dist/esm/components/app/public-layout-main-container.labels.d.ts.map +1 -1
- package/dist/esm/components/app/public-layout-terms.d.ts +46 -0
- package/dist/esm/components/app/public-layout-terms.d.ts.map +1 -0
- package/dist/esm/components/app/public-layout-terms.js +137 -0
- package/dist/esm/components/app/public-layout-terms.js.map +1 -0
- package/dist/esm/components/billing/billing-format.utils.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.d.ts +1 -1
- package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.js +3 -1
- package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.labels.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.labels.js +1 -0
- package/dist/esm/components/billing/billing-invoice-history.labels.js.map +1 -1
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts +5 -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 +22 -0
- package/dist/esm/components/billing/billing-plan-change-preview.js.map +1 -0
- package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts +3 -0
- package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts.map +1 -0
- package/dist/esm/components/billing/billing-plan-change-preview.labels.js +19 -0
- package/dist/esm/components/billing/billing-plan-change-preview.labels.js.map +1 -0
- package/dist/esm/components/billing/billing-portal-link.d.ts +1 -1
- package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.js +3 -1
- package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.labels.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.labels.js +1 -0
- package/dist/esm/components/billing/billing-portal-link.labels.js.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts +1 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.js +4 -2
- package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.labels.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.labels.js +1 -0
- package/dist/esm/components/billing/billing-pricing-table.labels.js.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.d.ts +1 -1
- package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.js +3 -1
- package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.labels.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.labels.js +1 -0
- package/dist/esm/components/billing/billing-subscription-status.labels.js.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.js +4 -4
- package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.labels.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.labels.js +2 -0
- package/dist/esm/components/billing/billing-usage-dashboard.labels.js.map +1 -1
- package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
- package/dist/esm/components/data-display/avatar.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/badge.d.ts.map +1 -1
- package/dist/esm/components/data-display/badge.js +16 -15
- package/dist/esm/components/data-display/badge.js.map +1 -1
- package/dist/esm/components/data-display/badge.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/description-list.d.ts +2 -1
- package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
- package/dist/esm/components/data-display/description-list.js +24 -8
- package/dist/esm/components/data-display/description-list.js.map +1 -1
- package/dist/esm/components/data-display/description-list.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/duration.d.ts +15 -0
- package/dist/esm/components/data-display/duration.d.ts.map +1 -0
- package/dist/esm/components/data-display/duration.js +50 -0
- package/dist/esm/components/data-display/duration.js.map +1 -0
- package/dist/esm/components/data-display/duration.labels.d.ts +15 -0
- package/dist/esm/components/data-display/duration.labels.d.ts.map +1 -0
- package/dist/esm/components/data-display/duration.labels.js +35 -0
- package/dist/esm/components/data-display/duration.labels.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-address.d.ts +21 -0
- package/dist/esm/components/data-display/formatters/display-field-address.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-address.js +75 -0
- package/dist/esm/components/data-display/formatters/display-field-address.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-address.labels.d.ts +3 -0
- package/dist/esm/components/data-display/formatters/display-field-address.labels.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-address.labels.js +13 -0
- package/dist/esm/components/data-display/formatters/display-field-address.labels.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js +6 -2
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.js +2 -2
- package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.js +2 -2
- package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.d.ts +3 -3
- package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.js +17 -4
- package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts +3 -3
- package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.js +17 -4
- package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.js +12 -8
- package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.js +2 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts +4 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.js +18 -5
- package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.labels.js +20 -0
- package/dist/esm/components/data-display/formatters/display-field-file-document.labels.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.js +3 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.js +2 -2
- package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.labels.js +1 -0
- package/dist/esm/components/data-display/formatters/display-field-file.labels.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-format.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-i18n.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.js +2 -2
- package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.js +82 -7
- package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/identifier.d.ts +19 -0
- package/dist/esm/components/data-display/identifier.d.ts.map +1 -0
- package/dist/esm/components/data-display/identifier.js +21 -0
- package/dist/esm/components/data-display/identifier.js.map +1 -0
- package/dist/esm/components/data-display/kbd.d.ts +17 -0
- package/dist/esm/components/data-display/kbd.d.ts.map +1 -0
- package/dist/esm/components/data-display/kbd.js +18 -0
- package/dist/esm/components/data-display/kbd.js.map +1 -0
- package/dist/esm/components/data-display/markdown-content.d.ts.map +1 -1
- package/dist/esm/components/data-display/markdown-stream-runtime.d.ts.map +1 -1
- package/dist/esm/components/data-display/markdown-stream.lazy.d.ts.map +1 -1
- package/dist/esm/components/data-display/markdown-stream.lazy.js +13 -2
- package/dist/esm/components/data-display/markdown-stream.lazy.js.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.js +3 -11
- package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.d.ts +63 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.d.ts.map +1 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.js +75 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.js.map +1 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.d.ts +32 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.d.ts.map +1 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.js +36 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.js.map +1 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.d.ts +46 -6
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.d.ts.map +1 -1
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.js +70 -46
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.js.map +1 -1
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts +12 -2
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts.map +1 -1
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.js +3 -2
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.js.map +1 -1
- package/dist/esm/components/data-display/timeline.d.ts +3 -0
- package/dist/esm/components/data-display/timeline.d.ts.map +1 -0
- package/dist/esm/components/data-display/timeline.js +92 -0
- package/dist/esm/components/data-display/timeline.js.map +1 -0
- package/dist/esm/components/feedback/celebration-overlay.d.ts +13 -4
- package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.js +146 -22
- package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
- package/dist/esm/components/feedback/danger-zone.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-state.js +11 -1
- package/dist/esm/components/feedback/empty-state.js.map +1 -1
- package/dist/esm/components/feedback/empty-state.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
- package/dist/esm/components/feedback/error-display.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-limit-indicator.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
- package/dist/esm/components/feedback/notification-center.js +6 -6
- package/dist/esm/components/feedback/notification-center.js.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.js +9 -7
- package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/progress.d.ts.map +1 -1
- package/dist/esm/components/feedback/progress.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/toast.d.ts.map +1 -1
- package/dist/esm/components/feedback/toast.labels.d.ts.map +1 -1
- package/dist/esm/components/form/autosave-indicator.d.ts.map +1 -1
- package/dist/esm/components/form/autosave-indicator.labels.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/field.js +11 -3
- package/dist/esm/components/form/chromes/field.js.map +1 -1
- package/dist/esm/components/form/chromes/field.labels.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/form-primitive.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/form-primitive.labels.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/form-primitive.labels.js +28 -0
- package/dist/esm/components/form/chromes/form-primitive.labels.js.map +1 -1
- package/dist/esm/components/form/combobox.d.ts.map +1 -1
- package/dist/esm/components/form/combobox.js +4 -3
- package/dist/esm/components/form/combobox.js.map +1 -1
- package/dist/esm/components/form/combobox.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.js +2 -2
- package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/code-editor/cm6-editor-appearance.d.ts.map +1 -1
- package/dist/esm/components/form/controls/code-editor/cm6-editor.d.ts.map +1 -1
- package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.d.ts.map +1 -1
- package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.js +11 -2
- package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.js.map +1 -1
- package/dist/esm/components/form/controls/code-editor/form-field-code.d.ts.map +1 -1
- package/dist/esm/components/form/controls/code-editor/markdown-editor.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.js +11 -2
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.labels.js +11 -2
- package/dist/esm/components/form/controls/date-time/time-range-picker.labels.js.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.d.ts +1 -1
- package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.js +13 -12
- package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.js +5 -3
- package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.js +96 -5
- package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.d.ts +44 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.d.ts.map +1 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.js +137 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.js.map +1 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.d.ts +22 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.d.ts.map +1 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.js +27 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.js.map +1 -0
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.d.ts +54 -0
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.d.ts.map +1 -0
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.js +159 -0
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.js.map +1 -0
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.d.ts +22 -0
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.d.ts.map +1 -0
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.js +27 -0
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.js.map +1 -0
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.d.ts +41 -0
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.d.ts.map +1 -0
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.js +129 -0
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.js.map +1 -0
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.d.ts +22 -0
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.d.ts.map +1 -0
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.js +27 -0
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.js.map +1 -0
- package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input-group.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
- package/dist/esm/components/form/controls/number/slider.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/number/slider.labels.js +9 -2
- package/dist/esm/components/form/controls/number/slider.labels.js.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/color-picker-surface.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/color-picker-surface.js.map +1 -1
- package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.labels.js +9 -2
- package/dist/esm/components/form/controls/string/password-input.labels.js.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.labels.d.ts.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.labels.d.ts.map +1 -1
- package/dist/esm/components/layout/carousel.d.ts.map +1 -1
- package/dist/esm/components/layout/carousel.labels.d.ts.map +1 -1
- package/dist/esm/components/layout/divider.d.ts.map +1 -1
- package/dist/esm/components/layout/divider.labels.d.ts.map +1 -1
- package/dist/esm/components/layout/resizable.d.ts.map +1 -1
- package/dist/esm/components/layout/resizable.labels.d.ts.map +1 -1
- package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
- package/dist/esm/components/layout/scroll-area.labels.d.ts.map +1 -1
- package/dist/esm/components/layout/separator.d.ts.map +1 -1
- package/dist/esm/components/layout/separator.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/activity-bar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/activity-bar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/command-menu.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/command-menu.js +2 -2
- package/dist/esm/components/navigation/app-level/command-menu.js.map +1 -1
- package/dist/esm/components/navigation/app-level/command-menu.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/control-panel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/control-panel.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/menu-user-org.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/menu-user-org.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/menubar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/menubar.js +35 -13
- package/dist/esm/components/navigation/app-level/menubar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/menubar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/navigation-back.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/navigation-back.js +10 -2
- package/dist/esm/components/navigation/app-level/navigation-back.js.map +1 -1
- package/dist/esm/components/navigation/app-level/navigation-back.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/notification-center.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/notification-center.js.map +1 -1
- package/dist/esm/components/navigation/app-level/notification-center.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/notification-center.labels.js +15 -0
- package/dist/esm/components/navigation/app-level/notification-center.labels.js.map +1 -1
- package/dist/esm/components/navigation/app-level/quick-action-button.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/quick-action-button.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/quick-action-button.labels.js +4 -0
- package/dist/esm/components/navigation/app-level/quick-action-button.labels.js.map +1 -1
- package/dist/esm/components/navigation/app-level/quick-switcher.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/quick-switcher.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/sidebar.js +38 -22
- package/dist/esm/components/navigation/app-level/sidebar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/sidebar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/sidebar.labels.js +1 -0
- package/dist/esm/components/navigation/app-level/sidebar.labels.js.map +1 -1
- package/dist/esm/components/navigation/app-level/status-bar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/status-bar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/toolbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/toolbar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/utility-panel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/utility-panel.js +30 -5
- package/dist/esm/components/navigation/app-level/utility-panel.js.map +1 -1
- package/dist/esm/components/navigation/app-level/utility-panel.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/utility-panel.labels.js.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/command.d.ts.map +1 -1
- package/dist/esm/components/navigation/command.js +2 -2
- package/dist/esm/components/navigation/command.js.map +1 -1
- package/dist/esm/components/navigation/command.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
- package/dist/esm/components/navigation/menu-bar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/navbar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/sidebar.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.js +11 -1
- package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.js +11 -1
- package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/popover.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/accordion.d.ts.map +1 -1
- package/dist/esm/components/sections/accordion.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/card.d.ts.map +1 -1
- package/dist/esm/components/sections/card.js +71 -6
- package/dist/esm/components/sections/card.js.map +1 -1
- package/dist/esm/components/sections/card.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
- package/dist/esm/components/sections/collapsible.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/content-section.d.ts.map +1 -1
- package/dist/esm/components/sections/content-section.js +36 -6
- package/dist/esm/components/sections/content-section.js.map +1 -1
- package/dist/esm/components/sections/disclosure-nesting.d.ts.map +1 -1
- package/dist/esm/components/sections/option-gesture.d.ts +15 -0
- package/dist/esm/components/sections/option-gesture.d.ts.map +1 -0
- package/dist/esm/components/sections/option-gesture.js +66 -0
- package/dist/esm/components/sections/option-gesture.js.map +1 -0
- package/dist/esm/components/sections/pagination.d.ts.map +1 -1
- package/dist/esm/components/sections/pagination.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
- package/dist/esm/components/sections/stacked-layout.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/stepper.d.ts.map +1 -1
- package/dist/esm/components/sections/stepper.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/table.d.ts.map +1 -1
- package/dist/esm/components/sections/table.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/tabs.d.ts.map +1 -1
- package/dist/esm/components/sections/tabs.js +64 -15
- package/dist/esm/components/sections/tabs.js.map +1 -1
- package/dist/esm/components/sections/tabs.labels.d.ts.map +1 -1
- package/dist/esm/components/typography/heading.d.ts.map +1 -1
- package/dist/esm/components/typography/heading.labels.d.ts.map +1 -1
- package/dist/esm/components/typography/label.d.ts.map +1 -1
- package/dist/esm/components/typography/label.labels.d.ts.map +1 -1
- package/dist/esm/components/typography/link.d.ts.map +1 -1
- package/dist/esm/components/typography/link.js +9 -3
- package/dist/esm/components/typography/link.js.map +1 -1
- package/dist/esm/components/typography/link.labels.d.ts.map +1 -1
- package/dist/esm/components/typography/text.d.ts +1 -1
- package/dist/esm/components/typography/text.d.ts.map +1 -1
- package/dist/esm/components/typography/text.js +3 -2
- package/dist/esm/components/typography/text.js.map +1 -1
- package/dist/esm/components/typography/text.labels.d.ts.map +1 -1
- package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
- package/dist/esm/config/billing-shell.presets.d.ts.map +1 -1
- package/dist/esm/config/index.d.ts.map +1 -1
- package/dist/esm/config/preset-design-system.d.ts.map +1 -1
- package/dist/esm/config/preset-design-system.js +37 -60
- package/dist/esm/config/preset-design-system.js.map +1 -1
- package/dist/esm/config/preset-error-pages.d.ts.map +1 -1
- package/dist/esm/config/preset-kits.d.ts.map +1 -1
- package/dist/esm/config/preset-navigation.d.ts.map +1 -1
- package/dist/esm/config/preset-navigation.js +0 -5
- package/dist/esm/config/preset-navigation.js.map +1 -1
- package/dist/esm/config/preset-resources.d.ts.map +1 -1
- package/dist/esm/config/preset-shell.d.ts.map +1 -1
- package/dist/esm/config/preset-utils.d.ts.map +1 -1
- package/dist/esm/config/presets.d.ts.map +1 -1
- package/dist/esm/config/resources/application.resource-presets.d.ts +2 -0
- package/dist/esm/config/resources/application.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/application.resource-presets.js +163 -7
- package/dist/esm/config/resources/application.resource-presets.js.map +1 -1
- package/dist/esm/config/resources/billing.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/billing.resource-presets.js +1 -0
- package/dist/esm/config/resources/billing.resource-presets.js.map +1 -1
- package/dist/esm/config/resources/guidance.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/guidance.resource-presets.js +21 -5
- package/dist/esm/config/resources/guidance.resource-presets.js.map +1 -1
- package/dist/esm/config/resources/identity.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/identity.resource-presets.js +25 -3
- package/dist/esm/config/resources/identity.resource-presets.js.map +1 -1
- package/dist/esm/config/resources/index.d.ts.map +1 -1
- package/dist/esm/config/resources/index.js.map +1 -1
- package/dist/esm/config/resources/organizations.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/organizations.resource-presets.js +90 -12
- package/dist/esm/config/resources/organizations.resource-presets.js.map +1 -1
- package/dist/esm/config/resources/resource.config.utils.d.ts.map +1 -1
- package/dist/esm/config/resources/security.resource-presets.d.ts +8 -2
- package/dist/esm/config/resources/security.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/security.resource-presets.js +185 -29
- package/dist/esm/config/resources/security.resource-presets.js.map +1 -1
- package/dist/esm/config/resources/webhooks.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/webhooks.resource-presets.js +27 -2
- package/dist/esm/config/resources/webhooks.resource-presets.js.map +1 -1
- package/dist/esm/index.d.ts +7 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +7 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lottie/lottie.content.definitions.d.ts.map +1 -1
- package/dist/esm/lottie/lottie.definitions.d.ts.map +1 -1
- package/dist/esm/mermaid-stub.d.ts.map +1 -1
- package/dist/esm/registration/register-common-enums.d.ts.map +1 -1
- package/dist/esm/registration/register-common-enums.js +48 -34
- package/dist/esm/registration/register-common-enums.js.map +1 -1
- package/dist/esm/registration/register-default-animations.d.ts.map +1 -1
- package/dist/esm/registration/register-default-icons.d.ts.map +1 -1
- package/dist/esm/registration/register-default-icons.js +3 -1
- package/dist/esm/registration/register-default-icons.js.map +1 -1
- package/dist/esm/registration/register-default-presets.d.ts.map +1 -1
- package/dist/esm/registration/register-default-presets.js +36 -4
- package/dist/esm/registration/register-default-presets.js.map +1 -1
- package/dist/esm/registration/register-provider-components.d.ts +31 -0
- package/dist/esm/registration/register-provider-components.d.ts.map +1 -0
- package/dist/esm/registration/register-provider-components.js +50 -0
- package/dist/esm/registration/register-provider-components.js.map +1 -0
- package/dist/esm/shiki-subset.d.ts +11 -3
- package/dist/esm/shiki-subset.d.ts.map +1 -1
- package/dist/esm/shiki-subset.js +10 -2
- package/dist/esm/shiki-subset.js.map +1 -1
- package/dist/esm/theme-exports.d.ts.map +1 -1
- package/dist/esm/themes/cozy.theme.d.ts.map +1 -1
- package/dist/esm/themes/cozy.theme.js +19 -5
- package/dist/esm/themes/cozy.theme.js.map +1 -1
- package/dist/esm/themes/dense.theme.d.ts.map +1 -1
- package/dist/esm/themes/dense.theme.js +56 -10
- package/dist/esm/themes/dense.theme.js.map +1 -1
- package/dist/esm/themes/editorial.theme.d.ts.map +1 -1
- package/dist/esm/themes/editorial.theme.js +19 -5
- package/dist/esm/themes/editorial.theme.js.map +1 -1
- package/dist/esm/themes/glass.theme.d.ts.map +1 -1
- package/dist/esm/themes/glass.theme.js +5 -1
- package/dist/esm/themes/glass.theme.js.map +1 -1
- package/dist/esm/themes/neo-brutalist.theme.d.ts.map +1 -1
- package/dist/esm/themes/neo-brutalist.theme.js +9 -2
- package/dist/esm/themes/neo-brutalist.theme.js.map +1 -1
- package/dist/esm/themes/terminal.theme.d.ts.map +1 -1
- package/dist/esm/themes/terminal.theme.js +19 -5
- package/dist/esm/themes/terminal.theme.js.map +1 -1
- package/dist/esm/themes/trading.theme.d.ts.map +1 -1
- package/dist/esm/themes/trading.theme.js +22 -6
- package/dist/esm/themes/trading.theme.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +29 -44
- package/dist/esm/.native.tsbuildinfo +0 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts +0 -16
- package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +0 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.js +0 -143
- package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset-resources.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"preset-resources.d.ts","sourceRoot":"","sources":["../../../../src/config/preset-resources.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset-shell.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"preset-shell.d.ts","sourceRoot":"","sources":["../../../../src/config/preset-shell.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAIL,oCAAoC,EAEpC,KAAK,6BAA6B,EAInC,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,KAAK,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAO5F,wEAAwE;AACxE,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,aAAa,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC,GAC3F,6BAA6B,CAU/B;AAQD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,+BAwD/B,CAAC;AAGF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,+BAoB7B,CAAC;AAGF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,+BAO/B,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,+BAM9B,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,+BAMhC,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,+BAK5B,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,+BAgB9B,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,+BAa7B,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,+BAqB/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset-utils.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"preset-utils.d.ts","sourceRoot":"","sources":["../../../../src/config/preset-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EAA6B,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AACxI,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D;;;GAGG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,yBAAyB,EACjC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACxC,yBAAyB,CAW3B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,yBAAyB,EACjC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5C,yBAAyB,CAW3B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,yBAAyB,EACjC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzC,yBAAyB,CAW3B;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,yBAAyB,EACjC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC1C,yBAAyB,CAW3B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,yBAAyB,EACjC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,GACvD,yBAAyB,CAW3B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,yBAAyB,EACjC,mBAAmB,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACpD,yBAAyB,CAe3B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,yBAAyB,EACjC,eAAe,EAAE,OAAO,CAAC,gBAAgB,CAAC,GACzC,yBAAyB,CAQ3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../../src/config/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAkD7E;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,yBAW1B,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,yBAmB7B,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,yBAW3B,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,yBAKrB,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,yBAKxB,CAAC;AAGF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,yBAmCzB,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,yBAKxB,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,yBAWvB,CAAC;AAGF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,yBAI5B,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,yBAK1B,CAAC;AAGF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,yBAmB1B,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,yBAIrB,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,yBAI3B,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,yBAI7B,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,yBAIvB,CAAC;AAGF;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,yBAmBrB,CAAC"}
|
|
@@ -20,4 +20,6 @@ export declare const applicationVersionsAdminResourceUIBehavior: import("@wildo-
|
|
|
20
20
|
export declare const applicationMetadataAdminResourceUIBehavior: import("@wildo-ai/saas-frontend-lib").ResourceUIBehaviorConfig<any, any, import("zod").ZodAny>;
|
|
21
21
|
export declare const applicationFeaturesAdminResourceUIBehavior: import("@wildo-ai/saas-frontend-lib").ResourceUIBehaviorConfig<any, any, import("zod").ZodAny>;
|
|
22
22
|
export declare const appApiKeysApplicationAdminResourceUIBehavior: import("@wildo-ai/saas-frontend-lib").ResourceUIBehaviorConfig<any, any, import("zod").ZodAny>;
|
|
23
|
+
export declare const appOAuthClientsApplicationAdminResourceUIBehavior: import("@wildo-ai/saas-frontend-lib").ResourceUIBehaviorConfig<any, any, import("zod").ZodAny>;
|
|
24
|
+
export declare const applicationAccessGrantsAdminResourceUIBehavior: import("@wildo-ai/saas-frontend-lib").ResourceUIBehaviorConfig<any, any, import("zod").ZodAny>;
|
|
23
25
|
//# sourceMappingURL=application.resource-presets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.resource-presets.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"application.resource-presets.d.ts","sourceRoot":"","sources":["../../../../../src/config/resources/application.resource-presets.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAmEtE;;;;;;;;;;GAUG;AAEH,wBAAgB,2BAA2B,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAmDzE;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAke3G;AAED,eAAO,MAAM,sBAAsB,6BAAgC,CAAC;AACpE,eAAO,MAAM,uBAAuB,6BAAuD,CAAC;AAE5F,eAAO,MAAM,4CAA4C,gGAAyC,CAAC;AACnG,eAAO,MAAM,6CAA6C,gGAA0C,CAAC;AACrG,eAAO,MAAM,0CAA0C,gGAAmD,CAAC;AAC3G,eAAO,MAAM,0CAA0C,gGAAmD,CAAC;AAC3G,eAAO,MAAM,0CAA0C,gGAAmD,CAAC;AAC3G,eAAO,MAAM,4CAA4C,gGAAmD,CAAC;AAC7G,eAAO,MAAM,iDAAiD,gGAAwD,CAAC;AACvH,eAAO,MAAM,8CAA8C,gGAAwD,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { RelatedResourceSections, resourceUIBehavior, resourceUIBehaviorFrom, SummaryFlow, SummaryMeta, SummaryTitle, } from '@wildo-ai/saas-frontend-lib';
|
|
3
|
-
import { DisplayField, DisplayLayout, FormField, FormLayout, ObjectScope, Section, SummaryLayout, } from '@wildo-ai/saas-frontend-lib';
|
|
4
|
-
import { BadgeSemanticVariant, EnumDisplayMode, SectionMode } from '@wildo-ai/zod-decorators';
|
|
5
|
-
import { CalendarPlus, ChartColumn, GitBranch, Key, LayoutGrid, Power, PowerOff, RefreshCw, RotateCcw, RotateCw, ToggleLeft, ToggleRight, } from 'lucide-react';
|
|
6
|
-
import { CoreResourceType as R, CoreResourceOperation as Op, ApiKeyStatus, AppApiKeys_Operations, ApplicationFeatures_Operations, applicationResourceConfiguration_InitializationFactory as appFactory, applicationVersionsResourceConfiguration_InitializationFactory as appVersionsFactory, applicationMetadataResourceConfiguration_InitializationFactory as appMetadataFactory, appApiKeysResourceConfiguration_InitializationFactory as appApiKeysFactory, applicationFeaturesResourceConfiguration_InitializationFactory as appFeaturesFactory, ApplicationSchema, ApplicationVersionSchema, ApplicationMetadataSchema, ApiKeyApplicationSchema, ScopeFeaturesWithOverridesSchema, } from '@wildo-ai/saas-models';
|
|
7
|
-
import { notAddressable, apiOnly } from './resource.config.utils.js';
|
|
2
|
+
import { RelatedResourceSections, resourceUIBehavior, resourceUIBehaviorFrom, SummaryFlow, SummaryMeta, SummaryTitle, ResourceLayoutInlineEditDefault, } from '@wildo-ai/saas-frontend-lib';
|
|
3
|
+
import { DisplayField, DisplayLayout, FormField, FormLayout, ObjectScope, Section, SummaryLayout, SummaryTitlePlacement, } from '@wildo-ai/saas-frontend-lib';
|
|
4
|
+
import { BadgeSemanticVariant, DisplayChromeMode, EditChromeMode, EnumDisplayMode, SectionMode } from '@wildo-ai/zod-decorators';
|
|
5
|
+
import { CalendarPlus, ChartColumn, GitBranch, Key, KeyRound, ShieldCheck, ShieldX, Ban, Hourglass, LayoutGrid, Power, PowerOff, RefreshCw, RotateCcw, RotateCw, ToggleLeft, ToggleRight, } from 'lucide-react';
|
|
6
|
+
import { CoreResourceType as R, CoreResourceOperation as Op, ApiKeyStatus, AppApiKeys_Operations, ApplicationFeatures_Operations, applicationResourceConfiguration_InitializationFactory as appFactory, applicationVersionsResourceConfiguration_InitializationFactory as appVersionsFactory, applicationMetadataResourceConfiguration_InitializationFactory as appMetadataFactory, appApiKeysResourceConfiguration_InitializationFactory as appApiKeysFactory, appOAuthClientsResourceConfiguration_InitializationFactory as appOAuthClientsFactory, applicationAccessGrantsResourceConfiguration_InitializationFactory as appAccessGrantsFactory, ApplicationAccessGrants_Operations, ApplicationAccessGrantSchema, PlatformAccessGrantStatus, AppOAuthClients_Operations, OAuthClientApplicationSchema, OAuthClientStatus, applicationFeaturesResourceConfiguration_InitializationFactory as appFeaturesFactory, ApplicationSchema, ApplicationVersionSchema, ApplicationMetadataSchema, ApiKeyApplicationSchema, ScopeFeaturesWithOverridesSchema, } from '@wildo-ai/saas-models';
|
|
7
|
+
import { addressable, notAddressable, apiOnly } from './resource.config.utils.js';
|
|
8
8
|
/**
|
|
9
9
|
* Application — Resource frontend presets
|
|
10
10
|
*
|
|
@@ -72,8 +72,13 @@ export function buildApplicationAdminPresets(main) {
|
|
|
72
72
|
refs: {
|
|
73
73
|
sections: ['overview', 'releaseNotes'],
|
|
74
74
|
},
|
|
75
|
+
// Settings-page chrome (Settings Hub → Administration): label-left / value-right rows.
|
|
76
|
+
defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },
|
|
75
77
|
display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "version" }), _jsx(DisplayField, { name: "releaseDate" })] }), _jsx(Section, { name: "releaseNotes", children: _jsx(DisplayField, { name: "releaseNotes" }) })] })),
|
|
76
|
-
summary: () => (
|
|
78
|
+
summary: () => (
|
|
79
|
+
// TEMPLATE_OWNED with no title: this card's LABEL is the version string, which the first
|
|
80
|
+
// field already renders. At AUTO the row read "1.4.2 · Version: 1.4.2 · Released: …".
|
|
81
|
+
_jsxs(SummaryLayout, { flow: SummaryFlow.ROW, titlePlacement: SummaryTitlePlacement.TEMPLATE_OWNED, children: [_jsx(DisplayField, { name: "version" }), _jsx(DisplayField, { name: "releaseDate" })] })),
|
|
77
82
|
edit: () => (_jsxs(FormLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "version" }), _jsx(FormField, { name: "releaseDate" })] }), _jsx(Section, { name: "releaseNotes", children: _jsx(FormField, { name: "releaseNotes" }) })] })),
|
|
78
83
|
},
|
|
79
84
|
views: [
|
|
@@ -91,6 +96,19 @@ export function buildApplicationAdminPresets(main) {
|
|
|
91
96
|
refs: {
|
|
92
97
|
sections: ['overview'],
|
|
93
98
|
},
|
|
99
|
+
// Settings-page chrome (Settings Hub → Administration): label-left / value-right rows.
|
|
100
|
+
defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },
|
|
101
|
+
// Application metadata — the application’s own description. A settings pane is a list of decisions an operator came to TAKE, so its
|
|
102
|
+
// writable fields are offered in place rather than behind a whole-pane edit mode. The set is
|
|
103
|
+
// DERIVED (not primary key, not excludeFromUpdate, not hidden, not opted out), so a field
|
|
104
|
+
// added to this schema tomorrow is covered without anyone remembering to decorate it.
|
|
105
|
+
defaultInlineEdit: ResourceLayoutInlineEditDefault.WRITABLE_FIELDS,
|
|
106
|
+
// And its empty rows say WHICH emptiness they are — "None yet" for a list with no members,
|
|
107
|
+
// "Not available" for a computed value, "No value" for a field awaiting input — instead of one
|
|
108
|
+
// em dash standing for all three. The surface policy's dash is right where a reader is scanning;
|
|
109
|
+
// on a settings row, which is read one at a time to decide something, it is an answer that
|
|
110
|
+
// refuses to answer.
|
|
111
|
+
defaultEmptyValue: 'placeholder',
|
|
94
112
|
display: () => (_jsx(DisplayLayout, { children: _jsx(Section, { name: "overview", appearance: SectionMode.CARD, children: _jsx(DisplayField, { name: "description" }) }) })),
|
|
95
113
|
summary: () => (_jsx(SummaryLayout, { children: _jsx(DisplayField, { name: "description" }) })),
|
|
96
114
|
edit: () => (_jsx(FormLayout, { children: _jsx(Section, { name: "overview", appearance: SectionMode.CARD, children: _jsx(FormField, { name: "description" }) }) })),
|
|
@@ -106,6 +124,8 @@ export function buildApplicationAdminPresets(main) {
|
|
|
106
124
|
[R.APPLICATION_FEATURES]: resourceUIBehavior(appFeaturesFactory, ScopeFeaturesWithOverridesSchema, ({ schema, schemaShape, opsVariantResolver }) => ({
|
|
107
125
|
layout: {
|
|
108
126
|
refs: { sections: ['overview', 'overrides'] },
|
|
127
|
+
// Settings-page chrome (Settings Hub → Administration): label-left / value-right rows.
|
|
128
|
+
defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },
|
|
109
129
|
display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "features" }), _jsx(DisplayField, { name: "limits" })] }), _jsx(Section, { name: "overrides", children: _jsxs(ObjectScope, { name: "manualOverrides", children: [_jsx(DisplayField, { name: "addedFeatures" }), _jsx(DisplayField, { name: "removedFeatures" }), _jsx(DisplayField, { name: "limitOverrides" })] }) })] })),
|
|
110
130
|
summary: () => (_jsxs(SummaryLayout, { children: [_jsx(DisplayField, { name: "features" }), _jsx(DisplayField, { name: "limits" })] })),
|
|
111
131
|
edit: () => (_jsxs(FormLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "features" }), _jsx(FormField, { name: "limits" })] }), _jsx(Section, { name: "overrides", children: _jsxs(ObjectScope, { name: "manualOverrides", children: [_jsx(FormField, { name: "addedFeatures" }), _jsx(FormField, { name: "removedFeatures" }), _jsx(FormField, { name: "limitOverrides" })] }) })] })),
|
|
@@ -125,6 +145,8 @@ export function buildApplicationAdminPresets(main) {
|
|
|
125
145
|
refs: {
|
|
126
146
|
sections: ['overview', 'access', 'lifecycle'],
|
|
127
147
|
},
|
|
148
|
+
// Settings-page chrome (Settings Hub → Administration): label-left / value-right rows.
|
|
149
|
+
defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },
|
|
128
150
|
display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "name" }), _jsx(DisplayField, { name: "scope" }), _jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "keyPrefix" })] }), _jsxs(Section, { name: "access", children: [_jsx(DisplayField, { name: "roles" }), _jsx(DisplayField, { name: "description" })] }), _jsxs(Section, { name: "lifecycle", children: [_jsx(DisplayField, { name: "expiresAt" }), _jsx(DisplayField, { name: "lastUsedAt" }), _jsx(DisplayField, { name: "createdAt" })] })] })),
|
|
129
151
|
summary: () => (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "name" }), _jsxs(SummaryMeta, { children: [_jsx(DisplayField, { name: "scope" }), _jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "keyPrefix" })] })] })),
|
|
130
152
|
edit: () => (_jsxs(FormLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "name" }), _jsx(FormField, { name: "status" }), _jsx(FormField, { name: "expiresAt" })] }), _jsxs(Section, { name: "access", children: [_jsx(FormField, { name: "roles" }), _jsx(FormField, { name: "description" })] })] })),
|
|
@@ -154,6 +176,138 @@ export function buildApplicationAdminPresets(main) {
|
|
|
154
176
|
[AppApiKeys_Operations.USAGE_STATS, notAddressable({ iconOverride: ChartColumn })],
|
|
155
177
|
],
|
|
156
178
|
})),
|
|
179
|
+
/**
|
|
180
|
+
* Application OAuth clients — the credential a machine presents to obtain a token.
|
|
181
|
+
*
|
|
182
|
+
* Shaped against the API-keys preset above on purpose: the resource's own specification calls
|
|
183
|
+
* itself "a FAITHFUL MIRROR of the api-keys resource", and under client-credentials both
|
|
184
|
+
* authenticate the SAME `APPLICATION_MACHINE` principal. An operator holding both screens is
|
|
185
|
+
* looking at two credential TYPES for one identity, so making them look like siblings is the
|
|
186
|
+
* honest rendering; giving them different shapes would suggest two different principals.
|
|
187
|
+
*
|
|
188
|
+
* Four sections rather than the api-keys three, because a client carries a concern a key does
|
|
189
|
+
* not: `redirects` exists only for the authorization-code leg, and folding those URIs into
|
|
190
|
+
* `access` would bury the one field whose exact value decides whether a sign-in round trip
|
|
191
|
+
* lands. `EXTEND_EXPIRY` and `USAGE_STATS` are absent from the views for the reason the
|
|
192
|
+
* specification gives — a client's validity is fixed at registration and no usage accounting is
|
|
193
|
+
* recorded for clients, so naming either would name an operation this factory does not declare.
|
|
194
|
+
*
|
|
195
|
+
* The secret itself is never laid out. `hashedSecret` / `previousHashedSecret` are backend-only,
|
|
196
|
+
* and `secretPrefix` is the part a human uses to recognise WHICH credential a log line names.
|
|
197
|
+
*/
|
|
198
|
+
[R.OAUTH_CLIENTS_APPLICATION]: resourceUIBehavior(appOAuthClientsFactory, OAuthClientApplicationSchema, ({ schema, schemaShape, opsVariantResolver }) => ({
|
|
199
|
+
icon: KeyRound,
|
|
200
|
+
layout: {
|
|
201
|
+
refs: {
|
|
202
|
+
sections: ['overview', 'access', 'redirects', 'lifecycle'],
|
|
203
|
+
},
|
|
204
|
+
// Settings-page chrome (Settings Hub → Administration): label-left / value-right rows.
|
|
205
|
+
defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },
|
|
206
|
+
display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "name" }), _jsx(DisplayField, { name: "description" }), _jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "secretPrefix" })] }), _jsxs(Section, { name: "access", children: [_jsx(DisplayField, { name: "allowedGrants" }), _jsx(DisplayField, { name: "allowedScopes" }), _jsx(DisplayField, { name: "roles" }), _jsx(DisplayField, { name: "tokenEndpointAuthMethod" }), _jsx(DisplayField, { name: "requiresConsent" })] }), _jsxs(Section, { name: "redirects", children: [_jsx(DisplayField, { name: "redirectUris" }), _jsx(DisplayField, { name: "postLogoutRedirectUris" })] }), _jsxs(Section, { name: "lifecycle", children: [_jsx(DisplayField, { name: "expiresAt" }), _jsx(DisplayField, { name: "lastUsedAt" }), _jsx(DisplayField, { name: "createdAt" })] })] })),
|
|
207
|
+
summary: () => (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "name" }), _jsxs(SummaryMeta, { children: [_jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "secretPrefix" }), _jsx(DisplayField, { name: "expiresAt" })] })] })),
|
|
208
|
+
edit: () => (_jsxs(FormLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "name" }), _jsx(FormField, { name: "description" }), _jsx(FormField, { name: "expiresAt" })] }), _jsxs(Section, { name: "access", children: [_jsx(FormField, { name: "allowedGrants" }), _jsx(FormField, { name: "allowedScopes" }), _jsx(FormField, { name: "roles" }), _jsx(FormField, { name: "tokenEndpointAuthMethod" }), _jsx(FormField, { name: "requiresConsent" })] }), _jsxs(Section, { name: "redirects", children: [_jsx(FormField, { name: "redirectUris" }), _jsx(FormField, { name: "postLogoutRedirectUris" })] })] })),
|
|
209
|
+
},
|
|
210
|
+
fields: {
|
|
211
|
+
// Same three states and the same colours as an API key, because they mean the same things.
|
|
212
|
+
// EXPIRED is a WARNING rather than a DESTRUCTIVE: it is the end of a validity window, not a
|
|
213
|
+
// failure, and it is the one state `reactivate` deliberately does NOT revive.
|
|
214
|
+
status: schemaShape.status.enumUI({
|
|
215
|
+
display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },
|
|
216
|
+
edit: { showDescription: true },
|
|
217
|
+
values: {
|
|
218
|
+
[OAuthClientStatus.ACTIVE]: { color: BadgeSemanticVariant.SUCCESS },
|
|
219
|
+
[OAuthClientStatus.INACTIVE]: { color: BadgeSemanticVariant.SECONDARY },
|
|
220
|
+
[OAuthClientStatus.EXPIRED]: { color: BadgeSemanticVariant.WARNING },
|
|
221
|
+
},
|
|
222
|
+
}),
|
|
223
|
+
},
|
|
224
|
+
getFrontendResourceLabel: ({ currentObject }) => currentObject.name,
|
|
225
|
+
views: [
|
|
226
|
+
[Op.READ, notAddressable()],
|
|
227
|
+
[Op.LIST, notAddressable()],
|
|
228
|
+
[Op.SEARCH, notAddressable()],
|
|
229
|
+
[Op.CREATE, notAddressable()],
|
|
230
|
+
[AppOAuthClients_Operations.ROTATE, notAddressable({ iconOverride: RotateCw })],
|
|
231
|
+
[AppOAuthClients_Operations.REGENERATE, notAddressable({ iconOverride: RefreshCw })],
|
|
232
|
+
[AppOAuthClients_Operations.DEACTIVATE, notAddressable({ iconOverride: PowerOff })],
|
|
233
|
+
[AppOAuthClients_Operations.REACTIVATE, notAddressable({ iconOverride: Power })],
|
|
234
|
+
// Dispatched by the expiry sweep rather than by a person — headless, so it must carry no
|
|
235
|
+
// view fields at all. An operator ends a client early with DEACTIVATE.
|
|
236
|
+
[AppOAuthClients_Operations.EXPIRE, apiOnly()],
|
|
237
|
+
],
|
|
238
|
+
})),
|
|
239
|
+
/**
|
|
240
|
+
* Application-wide access grants — the two-person rule, made visible.
|
|
241
|
+
*
|
|
242
|
+
* This is the record of an ELEVATION, not of a permission: one administrator requests a
|
|
243
|
+
* time-bound window over an application-wide read, and a DIFFERENT administrator signs it.
|
|
244
|
+
* Until this preset existed the mechanism ran with no surface at all, which is the worst shape
|
|
245
|
+
* for a control of this kind — its entire justification is that the consequence becomes VISIBLE
|
|
246
|
+
* rather than prevented, and nothing that cannot be read can make anything visible.
|
|
247
|
+
*
|
|
248
|
+
* Three sections, each answering one of the questions a reviewer actually asks:
|
|
249
|
+
* `request` (who asked, and for what stated reason), `decision` (who signed, when, and why),
|
|
250
|
+
* and `window` (how long it lasts, and which credential it admits). Merging decision into
|
|
251
|
+
* request would put the requester and the approver in one block — the two identities the
|
|
252
|
+
* control exists to keep apart.
|
|
253
|
+
*
|
|
254
|
+
* `justification` and `decisionReason` are laid out as first-class fields rather than metadata.
|
|
255
|
+
* A grant whose reason is unreadable is a grant nobody can review, and the reason is the only
|
|
256
|
+
* part of the row a human wrote.
|
|
257
|
+
*/
|
|
258
|
+
[R.APPLICATION_ACCESS_GRANTS]: resourceUIBehavior(appAccessGrantsFactory, ApplicationAccessGrantSchema, ({ schema, schemaShape, opsVariantResolver }) => ({
|
|
259
|
+
icon: ShieldCheck,
|
|
260
|
+
// The REQUESTING OPERATOR. Its own specification already says why — "the first question
|
|
261
|
+
// asked of any elevation is WHO holds it" — and documented `frontend.label` on that basis
|
|
262
|
+
// while this preset declared no label strategy at all. That combination THROWS at module
|
|
263
|
+
// scope in `resourceSpecificationFromFrontendConfiguration`, and because the engine's spec
|
|
264
|
+
// barrel evaluates every spec on import, one unmatched pair took the whole
|
|
265
|
+
// `@wildo-ai/saas-specifications` package down for every consumer, application companions
|
|
266
|
+
// included. Declaring it here is what makes the documentation true.
|
|
267
|
+
getFrontendResourceLabel: ({ currentObject }) => currentObject.operatorUserId,
|
|
268
|
+
layout: {
|
|
269
|
+
refs: {
|
|
270
|
+
sections: ['request', 'decision', 'window'],
|
|
271
|
+
},
|
|
272
|
+
// Settings-page chrome (Settings Hub → Administration): label-left / value-right rows.
|
|
273
|
+
defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },
|
|
274
|
+
display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "request", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "operatorUserId" }), _jsx(DisplayField, { name: "justification" }), _jsx(DisplayField, { name: "createdAt" })] }), _jsxs(Section, { name: "decision", children: [_jsx(DisplayField, { name: "approvedByUserId" }), _jsx(DisplayField, { name: "approvedAt" }), _jsx(DisplayField, { name: "decisionReason" })] }), _jsxs(Section, { name: "window", children: [_jsx(DisplayField, { name: "expiresAt" }), _jsx(DisplayField, { name: "grantedMachineCredential" })] })] })),
|
|
275
|
+
summary: () => (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "operatorUserId" }), _jsxs(SummaryMeta, { children: [_jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "expiresAt" })] })] })),
|
|
276
|
+
},
|
|
277
|
+
fields: {
|
|
278
|
+
// PENDING_APPROVAL is a WARNING rather than a neutral secondary: an unsigned request is the
|
|
279
|
+
// state a reviewer must act on, and the one state where the window does not yet exist.
|
|
280
|
+
// DENIED and REVOKED are both DESTRUCTIVE because both are a refusal; EXPIRED is not — it is
|
|
281
|
+
// the control working, a window closing on its own.
|
|
282
|
+
status: schemaShape.status.enumUI({
|
|
283
|
+
display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },
|
|
284
|
+
values: {
|
|
285
|
+
[PlatformAccessGrantStatus.PENDING_APPROVAL]: { color: BadgeSemanticVariant.WARNING },
|
|
286
|
+
[PlatformAccessGrantStatus.ACTIVE]: { color: BadgeSemanticVariant.SUCCESS },
|
|
287
|
+
[PlatformAccessGrantStatus.DENIED]: { color: BadgeSemanticVariant.DESTRUCTIVE },
|
|
288
|
+
[PlatformAccessGrantStatus.REVOKED]: { color: BadgeSemanticVariant.DESTRUCTIVE },
|
|
289
|
+
[PlatformAccessGrantStatus.EXPIRED]: { color: BadgeSemanticVariant.SECONDARY },
|
|
290
|
+
},
|
|
291
|
+
}),
|
|
292
|
+
},
|
|
293
|
+
views: [
|
|
294
|
+
[Op.READ, notAddressable()],
|
|
295
|
+
// The review queue. `status` is the axis a reviewer sorts by — an unsigned request is the
|
|
296
|
+
// only row that needs anybody — so it is the quick filter.
|
|
297
|
+
[Op.LIST, addressable({
|
|
298
|
+
collectionDisplayConfig: {
|
|
299
|
+
quickFilterField: 'status',
|
|
300
|
+
temporalGroupField: 'createdAt',
|
|
301
|
+
},
|
|
302
|
+
})],
|
|
303
|
+
[ApplicationAccessGrants_Operations.REQUEST_ACCESS, notAddressable({ iconOverride: Hourglass })],
|
|
304
|
+
[ApplicationAccessGrants_Operations.APPROVE, notAddressable({ iconOverride: ShieldCheck })],
|
|
305
|
+
[ApplicationAccessGrants_Operations.DENY, notAddressable({ iconOverride: ShieldX })],
|
|
306
|
+
[ApplicationAccessGrants_Operations.REVOKE, notAddressable({ iconOverride: Ban })],
|
|
307
|
+
// Dispatched by the credential-expiry sweep and by nothing else, so it is headless.
|
|
308
|
+
[ApplicationAccessGrants_Operations.EXPIRE, apiOnly()],
|
|
309
|
+
],
|
|
310
|
+
})),
|
|
157
311
|
};
|
|
158
312
|
}
|
|
159
313
|
export const applicationMainPresets = buildApplicationMainPresets();
|
|
@@ -164,4 +318,6 @@ export const applicationVersionsAdminResourceUIBehavior = applicationAdminPreset
|
|
|
164
318
|
export const applicationMetadataAdminResourceUIBehavior = applicationAdminPresets[R.APPLICATION_METADATA];
|
|
165
319
|
export const applicationFeaturesAdminResourceUIBehavior = applicationAdminPresets[R.APPLICATION_FEATURES];
|
|
166
320
|
export const appApiKeysApplicationAdminResourceUIBehavior = applicationAdminPresets[R.APPLICATION_API_KEYS];
|
|
321
|
+
export const appOAuthClientsApplicationAdminResourceUIBehavior = applicationAdminPresets[R.OAUTH_CLIENTS_APPLICATION];
|
|
322
|
+
export const applicationAccessGrantsAdminResourceUIBehavior = applicationAdminPresets[R.APPLICATION_ACCESS_GRANTS];
|
|
167
323
|
//# sourceMappingURL=application.resource-presets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.resource-presets.js","sourceRoot":"","sources":["../../../../../src/config/resources/application.resource-presets.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport type { ResourceUIBehavior } from '@wildo-ai/saas-frontend-lib';\nimport {\n RelatedResourceSections,\n resourceUIBehavior,\n resourceUIBehaviorFrom,\n SummaryFlow,\n SummaryMeta,\n SummaryTitle,\n} from '@wildo-ai/saas-frontend-lib';\nimport {\n DisplayField,\n DisplayLayout,\n FormField,\n FormLayout,\n ObjectScope,\n Section,\n SummaryLayout,\n} from '@wildo-ai/saas-frontend-lib';\nimport { BadgeSemanticVariant, EnumDisplayMode, SectionMode } from '@wildo-ai/zod-decorators';\nimport {\n CalendarPlus,\n ChartColumn,\n GitBranch,\n Key,\n LayoutGrid,\n Power,\n PowerOff,\n RefreshCw,\n RotateCcw,\n RotateCw,\n ToggleLeft,\n ToggleRight,\n} from 'lucide-react';\nimport {\n CoreResourceType as R,\n CoreResourceOperation as Op,\n ApiKeyStatus,\n AppApiKeys_Operations,\n ApplicationFeatures_Operations,\n applicationResourceConfiguration_InitializationFactory as appFactory,\n applicationVersionsResourceConfiguration_InitializationFactory as appVersionsFactory,\n applicationMetadataResourceConfiguration_InitializationFactory as appMetadataFactory,\n appApiKeysResourceConfiguration_InitializationFactory as appApiKeysFactory,\n applicationFeaturesResourceConfiguration_InitializationFactory as appFeaturesFactory,\n ApplicationSchema,\n ApplicationVersionSchema,\n ApplicationMetadataSchema,\n ApiKeyApplicationSchema,\n ScopeFeaturesWithOverridesSchema,\n} from '@wildo-ai/saas-models';\nimport { notAddressable, apiOnly } from './resource.config.utils';\n\n/**\n * Application — Resource frontend presets\n *\n * **Main:** APPLICATION is read-only and non-addressable (accessible from a menu dropdown —\n * \"About this app\" type surface). End users never manage versions or metadata.\n *\n * **Admin:** Full APPLICATION management (CRUD, activate/suspend), plus\n * APPLICATION_VERSIONS, APPLICATION_METADATA, and APPLICATION_API_KEYS.\n *\n * Field-level `{primitive}UI` uses `showDescription` aligned with `billing.resource-presets.tsx`.\n */\n\nexport function buildApplicationMainPresets(): Partial<ResourceUIBehavior> {\n return {\n [R.APPLICATION]: resourceUIBehavior(appFactory, ApplicationSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: LayoutGrid,\n getFrontendResourceLabel: ({ currentObject }) => currentObject.appDisplayName,\n layout: {\n refs: {\n sections: ['overview'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"appDisplayName\" />\n <DisplayField name=\"appSlug\" />\n <DisplayField name=\"lastVersion\" />\n </Section>\n {/*\n This surface composes NO children. It renders EMBEDDED (its READ is\n `notAddressable`), where the application's nine owned children —\n versions, features, api-keys, SSO/SCIM/SIEM configuration — would be\n noise. `targets={[]}` states that as a decision; saying nothing would\n mean \"compose them all\", which is what nine `hidden: true` entries\n were working around one edge at a time.\n The ADMIN variant below extends this display and names the four it\n does want.\n */}\n <RelatedResourceSections config={{ mode: SectionMode.TABS }} targets={[]} />\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <SummaryTitle name=\"appDisplayName\" />\n <SummaryMeta>\n <DisplayField name=\"appSlug\" />\n </SummaryMeta>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"appDisplayName\" />\n <FormField name=\"appSlug\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n ],\n })),\n };\n}\n\nexport function buildApplicationAdminPresets(main: Partial<ResourceUIBehavior>): Partial<ResourceUIBehavior> {\n return {\n [R.APPLICATION]: resourceUIBehaviorFrom(appFactory, main[R.APPLICATION]!, ({ base, opsVariantResolver }) => ({\n icon: base.icon,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n // The admin surface EXTENDS the base display rather than reusing it: both\n // variants share one layout object, but they compose different children —\n // the base none, this one four. Extending is what lets a single shared\n // layout serve both without a per-variant relationship config.\n layout: {\n ...base.layout,\n display: () => {\n const BaseDisplay = base.layout!.display!;\n return (\n <>\n <BaseDisplay />\n {/* The four an operator manages here. The remaining five owned\n children — SSO / SCIM / SIEM configuration — stay out by not\n being named, which is what five `hidden: true` entries said. */}\n <RelatedResourceSections\n config={{ mode: SectionMode.TABS }}\n targets={[\n { resourceType: R.APPLICATION_METADATA, operationLike: Op.READ },\n R.APPLICATION_VERSIONS,\n R.APPLICATION_FEATURES,\n R.APPLICATION_API_KEYS,\n ]}\n />\n </>\n );\n },\n },\n views: [\n [opsVariantResolver(Op.READ, 'admin'), notAddressable()],\n [opsVariantResolver(Op.LIST, 'admin'), notAddressable()],\n [opsVariantResolver(Op.SEARCH, 'admin'), notAddressable()],\n [opsVariantResolver(Op.CREATE, 'admin'), notAddressable()],\n [opsVariantResolver(Op.UPDATE, 'admin'), notAddressable()],\n [opsVariantResolver(Op.DELETE, 'admin'), notAddressable()],\n ],\n })),\n\n [R.APPLICATION_VERSIONS]: resourceUIBehavior(appVersionsFactory, ApplicationVersionSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: GitBranch,\n getFrontendResourceLabel: ({ currentObject }) => currentObject.version,\n layout: {\n refs: {\n sections: ['overview', 'releaseNotes'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"version\" />\n <DisplayField name=\"releaseDate\" />\n </Section>\n <Section name=\"releaseNotes\">\n <DisplayField name=\"releaseNotes\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <DisplayField name=\"version\" />\n <DisplayField name=\"releaseDate\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"version\" />\n <FormField name=\"releaseDate\" />\n </Section>\n <Section name=\"releaseNotes\">\n <FormField name=\"releaseNotes\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n // Versions are created by the app-version system (API-driven) — headless (API-only).\n [Op.CREATE, apiOnly()],\n [Op.READ, notAddressable()],\n [Op.LIST, notAddressable()],\n [Op.SEARCH, notAddressable()],\n [Op.UPDATE, notAddressable()],\n [Op.DELETE, notAddressable()],\n ],\n })),\n\n [R.APPLICATION_METADATA]: resourceUIBehavior(appMetadataFactory, ApplicationMetadataSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n layout: {\n refs: {\n sections: ['overview'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"description\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <DisplayField name=\"description\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"description\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n // Metadata is system-managed, auto-initialized with the app — headless (API-only).\n [Op.CREATE, apiOnly()],\n [Op.READ, notAddressable()],\n [Op.UPDATE, notAddressable()],\n [Op.DELETE, notAddressable()],\n ],\n })),\n\n [R.APPLICATION_FEATURES]: resourceUIBehavior(appFeaturesFactory, ScopeFeaturesWithOverridesSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n layout: {\n refs: { sections: ['overview', 'overrides'] },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"features\" />\n <DisplayField name=\"limits\" />\n </Section>\n <Section name=\"overrides\">\n <ObjectScope name=\"manualOverrides\">\n <DisplayField name=\"addedFeatures\" />\n <DisplayField name=\"removedFeatures\" />\n <DisplayField name=\"limitOverrides\" />\n </ObjectScope>\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <DisplayField name=\"features\" />\n <DisplayField name=\"limits\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"features\" />\n <FormField name=\"limits\" />\n </Section>\n <Section name=\"overrides\">\n <ObjectScope name=\"manualOverrides\">\n <FormField name=\"addedFeatures\" />\n <FormField name=\"removedFeatures\" />\n <FormField name=\"limitOverrides\" />\n </ObjectScope>\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n [Op.UPDATE, notAddressable()],\n [ApplicationFeatures_Operations.ENABLE_FEATURE, notAddressable({ iconOverride: ToggleRight })],\n [ApplicationFeatures_Operations.DISABLE_FEATURE, notAddressable({ iconOverride: ToggleLeft })],\n [ApplicationFeatures_Operations.RESET_FEATURES, notAddressable({ iconOverride: RotateCcw })],\n ],\n })),\n\n [R.APPLICATION_API_KEYS]: resourceUIBehavior(appApiKeysFactory, ApiKeyApplicationSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Key,\n layout: {\n refs: {\n sections: ['overview', 'access', 'lifecycle'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"name\" />\n <DisplayField name=\"scope\" />\n <DisplayField name=\"status\" />\n <DisplayField name=\"keyPrefix\" />\n </Section>\n <Section name=\"access\">\n <DisplayField name=\"roles\" />\n <DisplayField name=\"description\" />\n </Section>\n <Section name=\"lifecycle\">\n <DisplayField name=\"expiresAt\" />\n <DisplayField name=\"lastUsedAt\" />\n <DisplayField name=\"createdAt\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <SummaryTitle name=\"name\" />\n <SummaryMeta>\n <DisplayField name=\"scope\" />\n <DisplayField name=\"status\" />\n <DisplayField name=\"keyPrefix\" />\n </SummaryMeta>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"name\" />\n <FormField name=\"status\" />\n <FormField name=\"expiresAt\" />\n </Section>\n <Section name=\"access\">\n <FormField name=\"roles\" />\n <FormField name=\"description\" />\n </Section>\n </FormLayout>\n ),\n },\n fields: {\n status: schemaShape.status.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },\n edit: { showDescription: true },\n values: {\n [ApiKeyStatus.ACTIVE]: { color: BadgeSemanticVariant.SUCCESS },\n [ApiKeyStatus.INACTIVE]: { color: BadgeSemanticVariant.SECONDARY },\n [ApiKeyStatus.EXPIRED]: { color: BadgeSemanticVariant.WARNING },\n },\n }),\n },\n getFrontendResourceLabel: ({ currentObject }) => currentObject.name,\n views: [\n [Op.READ, notAddressable()],\n [Op.LIST, notAddressable()],\n [Op.SEARCH, notAddressable()],\n [Op.CREATE, notAddressable()],\n [AppApiKeys_Operations.ROTATE, notAddressable({ iconOverride: RotateCw })],\n [AppApiKeys_Operations.REGENERATE, notAddressable({ iconOverride: RefreshCw })],\n [AppApiKeys_Operations.DEACTIVATE, notAddressable({ iconOverride: PowerOff })],\n [AppApiKeys_Operations.REACTIVATE, notAddressable({ iconOverride: Power })],\n [AppApiKeys_Operations.EXTEND_EXPIRY, notAddressable({ iconOverride: CalendarPlus })],\n [AppApiKeys_Operations.USAGE_STATS, notAddressable({ iconOverride: ChartColumn })],\n ],\n })),\n };\n}\n\nexport const applicationMainPresets = buildApplicationMainPresets();\nexport const applicationAdminPresets = buildApplicationAdminPresets(applicationMainPresets);\n\nexport const applicationMainApplicationResourceUIBehavior = applicationMainPresets[R.APPLICATION]!;\nexport const applicationAdminApplicationResourceUIBehavior = applicationAdminPresets[R.APPLICATION]!;\nexport const applicationVersionsAdminResourceUIBehavior = applicationAdminPresets[R.APPLICATION_VERSIONS]!;\nexport const applicationMetadataAdminResourceUIBehavior = applicationAdminPresets[R.APPLICATION_METADATA]!;\nexport const applicationFeaturesAdminResourceUIBehavior = applicationAdminPresets[R.APPLICATION_FEATURES]!;\nexport const appApiKeysApplicationAdminResourceUIBehavior = applicationAdminPresets[R.APPLICATION_API_KEYS]!;\n"]}
|
|
1
|
+
{"version":3,"file":"application.resource-presets.js","sourceRoot":"","sources":["../../../../../src/config/resources/application.resource-presets.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport type { ResourceUIBehavior } from '@wildo-ai/saas-frontend-lib';\nimport {\n RelatedResourceSections,\n resourceUIBehavior,\n resourceUIBehaviorFrom,\n SummaryFlow,\n SummaryMeta,\n SummaryTitle,\n ResourceLayoutInlineEditDefault,\n} from '@wildo-ai/saas-frontend-lib';\nimport {\n DisplayField,\n DisplayLayout,\n FormField,\n FormLayout,\n ObjectScope,\n Section,\n SummaryLayout,\n SummaryTitlePlacement,\n} from '@wildo-ai/saas-frontend-lib';\nimport { BadgeSemanticVariant, DisplayChromeMode, EditChromeMode, EnumDisplayMode, SectionMode } from '@wildo-ai/zod-decorators';\nimport {\n CalendarPlus,\n ChartColumn,\n GitBranch,\n Key,\n KeyRound,\n ShieldCheck,\n ShieldX,\n Ban,\n Hourglass,\n LayoutGrid,\n Power,\n PowerOff,\n RefreshCw,\n RotateCcw,\n RotateCw,\n ToggleLeft,\n ToggleRight,\n} from 'lucide-react';\nimport {\n CoreResourceType as R,\n CoreResourceOperation as Op,\n ApiKeyStatus,\n AppApiKeys_Operations,\n ApplicationFeatures_Operations,\n applicationResourceConfiguration_InitializationFactory as appFactory,\n applicationVersionsResourceConfiguration_InitializationFactory as appVersionsFactory,\n applicationMetadataResourceConfiguration_InitializationFactory as appMetadataFactory,\n appApiKeysResourceConfiguration_InitializationFactory as appApiKeysFactory,\n appOAuthClientsResourceConfiguration_InitializationFactory as appOAuthClientsFactory,\n applicationAccessGrantsResourceConfiguration_InitializationFactory as appAccessGrantsFactory,\n ApplicationAccessGrants_Operations,\n ApplicationAccessGrantSchema,\n PlatformAccessGrantStatus,\n AppOAuthClients_Operations,\n OAuthClientApplicationSchema,\n OAuthClientStatus,\n applicationFeaturesResourceConfiguration_InitializationFactory as appFeaturesFactory,\n ApplicationSchema,\n ApplicationVersionSchema,\n ApplicationMetadataSchema,\n ApiKeyApplicationSchema,\n ScopeFeaturesWithOverridesSchema,\n} from '@wildo-ai/saas-models';\nimport { addressable, notAddressable, apiOnly } from './resource.config.utils';\n\n/**\n * Application — Resource frontend presets\n *\n * **Main:** APPLICATION is read-only and non-addressable (accessible from a menu dropdown —\n * \"About this app\" type surface). End users never manage versions or metadata.\n *\n * **Admin:** Full APPLICATION management (CRUD, activate/suspend), plus\n * APPLICATION_VERSIONS, APPLICATION_METADATA, and APPLICATION_API_KEYS.\n *\n * Field-level `{primitive}UI` uses `showDescription` aligned with `billing.resource-presets.tsx`.\n */\n\nexport function buildApplicationMainPresets(): Partial<ResourceUIBehavior> {\n return {\n [R.APPLICATION]: resourceUIBehavior(appFactory, ApplicationSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: LayoutGrid,\n getFrontendResourceLabel: ({ currentObject }) => currentObject.appDisplayName,\n layout: {\n refs: {\n sections: ['overview'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"appDisplayName\" />\n <DisplayField name=\"appSlug\" />\n <DisplayField name=\"lastVersion\" />\n </Section>\n {/*\n This surface composes NO children. It renders EMBEDDED (its READ is\n `notAddressable`), where the application's nine owned children —\n versions, features, api-keys, SSO/SCIM/SIEM configuration — would be\n noise. `targets={[]}` states that as a decision; saying nothing would\n mean \"compose them all\", which is what nine `hidden: true` entries\n were working around one edge at a time.\n The ADMIN variant below extends this display and names the four it\n does want.\n */}\n <RelatedResourceSections config={{ mode: SectionMode.TABS }} targets={[]} />\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <SummaryTitle name=\"appDisplayName\" />\n <SummaryMeta>\n <DisplayField name=\"appSlug\" />\n </SummaryMeta>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"appDisplayName\" />\n <FormField name=\"appSlug\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n ],\n })),\n };\n}\n\nexport function buildApplicationAdminPresets(main: Partial<ResourceUIBehavior>): Partial<ResourceUIBehavior> {\n return {\n [R.APPLICATION]: resourceUIBehaviorFrom(appFactory, main[R.APPLICATION]!, ({ base, opsVariantResolver }) => ({\n icon: base.icon,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n // The admin surface EXTENDS the base display rather than reusing it: both\n // variants share one layout object, but they compose different children —\n // the base none, this one four. Extending is what lets a single shared\n // layout serve both without a per-variant relationship config.\n layout: {\n ...base.layout,\n display: () => {\n const BaseDisplay = base.layout!.display!;\n return (\n <>\n <BaseDisplay />\n {/* The four an operator manages here. The remaining five owned\n children — SSO / SCIM / SIEM configuration — stay out by not\n being named, which is what five `hidden: true` entries said. */}\n <RelatedResourceSections\n config={{ mode: SectionMode.TABS }}\n targets={[\n { resourceType: R.APPLICATION_METADATA, operationLike: Op.READ },\n R.APPLICATION_VERSIONS,\n R.APPLICATION_FEATURES,\n R.APPLICATION_API_KEYS,\n ]}\n />\n </>\n );\n },\n },\n views: [\n [opsVariantResolver(Op.READ, 'admin'), notAddressable()],\n [opsVariantResolver(Op.LIST, 'admin'), notAddressable()],\n [opsVariantResolver(Op.SEARCH, 'admin'), notAddressable()],\n [opsVariantResolver(Op.CREATE, 'admin'), notAddressable()],\n [opsVariantResolver(Op.UPDATE, 'admin'), notAddressable()],\n [opsVariantResolver(Op.DELETE, 'admin'), notAddressable()],\n ],\n })),\n\n [R.APPLICATION_VERSIONS]: resourceUIBehavior(appVersionsFactory, ApplicationVersionSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: GitBranch,\n getFrontendResourceLabel: ({ currentObject }) => currentObject.version,\n layout: {\n refs: {\n sections: ['overview', 'releaseNotes'],\n },\n // Settings-page chrome (Settings Hub → Administration): label-left / value-right rows.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"version\" />\n <DisplayField name=\"releaseDate\" />\n </Section>\n <Section name=\"releaseNotes\">\n <DisplayField name=\"releaseNotes\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n // TEMPLATE_OWNED with no title: this card's LABEL is the version string, which the first\n // field already renders. At AUTO the row read \"1.4.2 · Version: 1.4.2 · Released: …\".\n <SummaryLayout flow={SummaryFlow.ROW} titlePlacement={SummaryTitlePlacement.TEMPLATE_OWNED}>\n <DisplayField name=\"version\" />\n <DisplayField name=\"releaseDate\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"version\" />\n <FormField name=\"releaseDate\" />\n </Section>\n <Section name=\"releaseNotes\">\n <FormField name=\"releaseNotes\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n // Versions are created by the app-version system (API-driven) — headless (API-only).\n [Op.CREATE, apiOnly()],\n [Op.READ, notAddressable()],\n [Op.LIST, notAddressable()],\n [Op.SEARCH, notAddressable()],\n [Op.UPDATE, notAddressable()],\n [Op.DELETE, notAddressable()],\n ],\n })),\n\n [R.APPLICATION_METADATA]: resourceUIBehavior(appMetadataFactory, ApplicationMetadataSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n layout: {\n refs: {\n sections: ['overview'],\n },\n // Settings-page chrome (Settings Hub → Administration): label-left / value-right rows.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },\n // Application metadata — the application’s own description. A settings pane is a list of decisions an operator came to TAKE, so its\n // writable fields are offered in place rather than behind a whole-pane edit mode. The set is\n // DERIVED (not primary key, not excludeFromUpdate, not hidden, not opted out), so a field\n // added to this schema tomorrow is covered without anyone remembering to decorate it.\n defaultInlineEdit: ResourceLayoutInlineEditDefault.WRITABLE_FIELDS,\n // And its empty rows say WHICH emptiness they are — \"None yet\" for a list with no members,\n // \"Not available\" for a computed value, \"No value\" for a field awaiting input — instead of one\n // em dash standing for all three. The surface policy's dash is right where a reader is scanning;\n // on a settings row, which is read one at a time to decide something, it is an answer that\n // refuses to answer.\n defaultEmptyValue: 'placeholder',\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"description\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <DisplayField name=\"description\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"description\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n // Metadata is system-managed, auto-initialized with the app — headless (API-only).\n [Op.CREATE, apiOnly()],\n [Op.READ, notAddressable()],\n [Op.UPDATE, notAddressable()],\n [Op.DELETE, notAddressable()],\n ],\n })),\n\n [R.APPLICATION_FEATURES]: resourceUIBehavior(appFeaturesFactory, ScopeFeaturesWithOverridesSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n layout: {\n refs: { sections: ['overview', 'overrides'] },\n // Settings-page chrome (Settings Hub → Administration): label-left / value-right rows.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"features\" />\n <DisplayField name=\"limits\" />\n </Section>\n <Section name=\"overrides\">\n <ObjectScope name=\"manualOverrides\">\n <DisplayField name=\"addedFeatures\" />\n <DisplayField name=\"removedFeatures\" />\n <DisplayField name=\"limitOverrides\" />\n </ObjectScope>\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <DisplayField name=\"features\" />\n <DisplayField name=\"limits\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"features\" />\n <FormField name=\"limits\" />\n </Section>\n <Section name=\"overrides\">\n <ObjectScope name=\"manualOverrides\">\n <FormField name=\"addedFeatures\" />\n <FormField name=\"removedFeatures\" />\n <FormField name=\"limitOverrides\" />\n </ObjectScope>\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n [Op.UPDATE, notAddressable()],\n [ApplicationFeatures_Operations.ENABLE_FEATURE, notAddressable({ iconOverride: ToggleRight })],\n [ApplicationFeatures_Operations.DISABLE_FEATURE, notAddressable({ iconOverride: ToggleLeft })],\n [ApplicationFeatures_Operations.RESET_FEATURES, notAddressable({ iconOverride: RotateCcw })],\n ],\n })),\n\n [R.APPLICATION_API_KEYS]: resourceUIBehavior(appApiKeysFactory, ApiKeyApplicationSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Key,\n layout: {\n refs: {\n sections: ['overview', 'access', 'lifecycle'],\n },\n // Settings-page chrome (Settings Hub → Administration): label-left / value-right rows.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"name\" />\n <DisplayField name=\"scope\" />\n <DisplayField name=\"status\" />\n <DisplayField name=\"keyPrefix\" />\n </Section>\n <Section name=\"access\">\n <DisplayField name=\"roles\" />\n <DisplayField name=\"description\" />\n </Section>\n <Section name=\"lifecycle\">\n <DisplayField name=\"expiresAt\" />\n <DisplayField name=\"lastUsedAt\" />\n <DisplayField name=\"createdAt\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <SummaryTitle name=\"name\" />\n <SummaryMeta>\n <DisplayField name=\"scope\" />\n <DisplayField name=\"status\" />\n <DisplayField name=\"keyPrefix\" />\n </SummaryMeta>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"name\" />\n <FormField name=\"status\" />\n <FormField name=\"expiresAt\" />\n </Section>\n <Section name=\"access\">\n <FormField name=\"roles\" />\n <FormField name=\"description\" />\n </Section>\n </FormLayout>\n ),\n },\n fields: {\n status: schemaShape.status.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },\n edit: { showDescription: true },\n values: {\n [ApiKeyStatus.ACTIVE]: { color: BadgeSemanticVariant.SUCCESS },\n [ApiKeyStatus.INACTIVE]: { color: BadgeSemanticVariant.SECONDARY },\n [ApiKeyStatus.EXPIRED]: { color: BadgeSemanticVariant.WARNING },\n },\n }),\n },\n getFrontendResourceLabel: ({ currentObject }) => currentObject.name,\n views: [\n [Op.READ, notAddressable()],\n [Op.LIST, notAddressable()],\n [Op.SEARCH, notAddressable()],\n [Op.CREATE, notAddressable()],\n [AppApiKeys_Operations.ROTATE, notAddressable({ iconOverride: RotateCw })],\n [AppApiKeys_Operations.REGENERATE, notAddressable({ iconOverride: RefreshCw })],\n [AppApiKeys_Operations.DEACTIVATE, notAddressable({ iconOverride: PowerOff })],\n [AppApiKeys_Operations.REACTIVATE, notAddressable({ iconOverride: Power })],\n [AppApiKeys_Operations.EXTEND_EXPIRY, notAddressable({ iconOverride: CalendarPlus })],\n [AppApiKeys_Operations.USAGE_STATS, notAddressable({ iconOverride: ChartColumn })],\n ],\n })),\n\n /**\n * Application OAuth clients — the credential a machine presents to obtain a token.\n *\n * Shaped against the API-keys preset above on purpose: the resource's own specification calls\n * itself \"a FAITHFUL MIRROR of the api-keys resource\", and under client-credentials both\n * authenticate the SAME `APPLICATION_MACHINE` principal. An operator holding both screens is\n * looking at two credential TYPES for one identity, so making them look like siblings is the\n * honest rendering; giving them different shapes would suggest two different principals.\n *\n * Four sections rather than the api-keys three, because a client carries a concern a key does\n * not: `redirects` exists only for the authorization-code leg, and folding those URIs into\n * `access` would bury the one field whose exact value decides whether a sign-in round trip\n * lands. `EXTEND_EXPIRY` and `USAGE_STATS` are absent from the views for the reason the\n * specification gives — a client's validity is fixed at registration and no usage accounting is\n * recorded for clients, so naming either would name an operation this factory does not declare.\n *\n * The secret itself is never laid out. `hashedSecret` / `previousHashedSecret` are backend-only,\n * and `secretPrefix` is the part a human uses to recognise WHICH credential a log line names.\n */\n [R.OAUTH_CLIENTS_APPLICATION]: resourceUIBehavior(appOAuthClientsFactory, OAuthClientApplicationSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: KeyRound,\n layout: {\n refs: {\n sections: ['overview', 'access', 'redirects', 'lifecycle'],\n },\n // Settings-page chrome (Settings Hub → Administration): label-left / value-right rows.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"name\" />\n <DisplayField name=\"description\" />\n <DisplayField name=\"status\" />\n <DisplayField name=\"secretPrefix\" />\n </Section>\n <Section name=\"access\">\n <DisplayField name=\"allowedGrants\" />\n <DisplayField name=\"allowedScopes\" />\n <DisplayField name=\"roles\" />\n <DisplayField name=\"tokenEndpointAuthMethod\" />\n <DisplayField name=\"requiresConsent\" />\n </Section>\n <Section name=\"redirects\">\n <DisplayField name=\"redirectUris\" />\n <DisplayField name=\"postLogoutRedirectUris\" />\n </Section>\n <Section name=\"lifecycle\">\n <DisplayField name=\"expiresAt\" />\n <DisplayField name=\"lastUsedAt\" />\n <DisplayField name=\"createdAt\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <SummaryTitle name=\"name\" />\n <SummaryMeta>\n <DisplayField name=\"status\" />\n <DisplayField name=\"secretPrefix\" />\n <DisplayField name=\"expiresAt\" />\n </SummaryMeta>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"name\" />\n <FormField name=\"description\" />\n <FormField name=\"expiresAt\" />\n </Section>\n <Section name=\"access\">\n <FormField name=\"allowedGrants\" />\n <FormField name=\"allowedScopes\" />\n <FormField name=\"roles\" />\n <FormField name=\"tokenEndpointAuthMethod\" />\n <FormField name=\"requiresConsent\" />\n </Section>\n <Section name=\"redirects\">\n <FormField name=\"redirectUris\" />\n <FormField name=\"postLogoutRedirectUris\" />\n </Section>\n </FormLayout>\n ),\n },\n fields: {\n // Same three states and the same colours as an API key, because they mean the same things.\n // EXPIRED is a WARNING rather than a DESTRUCTIVE: it is the end of a validity window, not a\n // failure, and it is the one state `reactivate` deliberately does NOT revive.\n status: schemaShape.status.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },\n edit: { showDescription: true },\n values: {\n [OAuthClientStatus.ACTIVE]: { color: BadgeSemanticVariant.SUCCESS },\n [OAuthClientStatus.INACTIVE]: { color: BadgeSemanticVariant.SECONDARY },\n [OAuthClientStatus.EXPIRED]: { color: BadgeSemanticVariant.WARNING },\n },\n }),\n },\n getFrontendResourceLabel: ({ currentObject }) => currentObject.name,\n views: [\n [Op.READ, notAddressable()],\n [Op.LIST, notAddressable()],\n [Op.SEARCH, notAddressable()],\n [Op.CREATE, notAddressable()],\n [AppOAuthClients_Operations.ROTATE, notAddressable({ iconOverride: RotateCw })],\n [AppOAuthClients_Operations.REGENERATE, notAddressable({ iconOverride: RefreshCw })],\n [AppOAuthClients_Operations.DEACTIVATE, notAddressable({ iconOverride: PowerOff })],\n [AppOAuthClients_Operations.REACTIVATE, notAddressable({ iconOverride: Power })],\n // Dispatched by the expiry sweep rather than by a person — headless, so it must carry no\n // view fields at all. An operator ends a client early with DEACTIVATE.\n [AppOAuthClients_Operations.EXPIRE, apiOnly()],\n ],\n })),\n\n /**\n * Application-wide access grants — the two-person rule, made visible.\n *\n * This is the record of an ELEVATION, not of a permission: one administrator requests a\n * time-bound window over an application-wide read, and a DIFFERENT administrator signs it.\n * Until this preset existed the mechanism ran with no surface at all, which is the worst shape\n * for a control of this kind — its entire justification is that the consequence becomes VISIBLE\n * rather than prevented, and nothing that cannot be read can make anything visible.\n *\n * Three sections, each answering one of the questions a reviewer actually asks:\n * `request` (who asked, and for what stated reason), `decision` (who signed, when, and why),\n * and `window` (how long it lasts, and which credential it admits). Merging decision into\n * request would put the requester and the approver in one block — the two identities the\n * control exists to keep apart.\n *\n * `justification` and `decisionReason` are laid out as first-class fields rather than metadata.\n * A grant whose reason is unreadable is a grant nobody can review, and the reason is the only\n * part of the row a human wrote.\n */\n [R.APPLICATION_ACCESS_GRANTS]: resourceUIBehavior(appAccessGrantsFactory, ApplicationAccessGrantSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: ShieldCheck,\n // The REQUESTING OPERATOR. Its own specification already says why — \"the first question\n // asked of any elevation is WHO holds it\" — and documented `frontend.label` on that basis\n // while this preset declared no label strategy at all. That combination THROWS at module\n // scope in `resourceSpecificationFromFrontendConfiguration`, and because the engine's spec\n // barrel evaluates every spec on import, one unmatched pair took the whole\n // `@wildo-ai/saas-specifications` package down for every consumer, application companions\n // included. Declaring it here is what makes the documentation true.\n getFrontendResourceLabel: ({ currentObject }) => currentObject.operatorUserId,\n layout: {\n refs: {\n sections: ['request', 'decision', 'window'],\n },\n // Settings-page chrome (Settings Hub → Administration): label-left / value-right rows.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },\n display: () => (\n <DisplayLayout>\n <Section name=\"request\" appearance={SectionMode.CARD}>\n <DisplayField name=\"status\" />\n <DisplayField name=\"operatorUserId\" />\n <DisplayField name=\"justification\" />\n <DisplayField name=\"createdAt\" />\n </Section>\n <Section name=\"decision\">\n <DisplayField name=\"approvedByUserId\" />\n <DisplayField name=\"approvedAt\" />\n <DisplayField name=\"decisionReason\" />\n </Section>\n <Section name=\"window\">\n <DisplayField name=\"expiresAt\" />\n <DisplayField name=\"grantedMachineCredential\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <SummaryTitle name=\"operatorUserId\" />\n <SummaryMeta>\n <DisplayField name=\"status\" />\n <DisplayField name=\"expiresAt\" />\n </SummaryMeta>\n </SummaryLayout>\n ),\n },\n fields: {\n // PENDING_APPROVAL is a WARNING rather than a neutral secondary: an unsigned request is the\n // state a reviewer must act on, and the one state where the window does not yet exist.\n // DENIED and REVOKED are both DESTRUCTIVE because both are a refusal; EXPIRED is not — it is\n // the control working, a window closing on its own.\n status: schemaShape.status.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },\n values: {\n [PlatformAccessGrantStatus.PENDING_APPROVAL]: { color: BadgeSemanticVariant.WARNING },\n [PlatformAccessGrantStatus.ACTIVE]: { color: BadgeSemanticVariant.SUCCESS },\n [PlatformAccessGrantStatus.DENIED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n [PlatformAccessGrantStatus.REVOKED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n [PlatformAccessGrantStatus.EXPIRED]: { color: BadgeSemanticVariant.SECONDARY },\n },\n }),\n },\n views: [\n [Op.READ, notAddressable()],\n // The review queue. `status` is the axis a reviewer sorts by — an unsigned request is the\n // only row that needs anybody — so it is the quick filter.\n [Op.LIST, addressable({\n collectionDisplayConfig: {\n quickFilterField: 'status',\n temporalGroupField: 'createdAt',\n },\n })],\n [ApplicationAccessGrants_Operations.REQUEST_ACCESS, notAddressable({ iconOverride: Hourglass })],\n [ApplicationAccessGrants_Operations.APPROVE, notAddressable({ iconOverride: ShieldCheck })],\n [ApplicationAccessGrants_Operations.DENY, notAddressable({ iconOverride: ShieldX })],\n [ApplicationAccessGrants_Operations.REVOKE, notAddressable({ iconOverride: Ban })],\n // Dispatched by the credential-expiry sweep and by nothing else, so it is headless.\n [ApplicationAccessGrants_Operations.EXPIRE, apiOnly()],\n ],\n })),\n };\n}\n\nexport const applicationMainPresets = buildApplicationMainPresets();\nexport const applicationAdminPresets = buildApplicationAdminPresets(applicationMainPresets);\n\nexport const applicationMainApplicationResourceUIBehavior = applicationMainPresets[R.APPLICATION]!;\nexport const applicationAdminApplicationResourceUIBehavior = applicationAdminPresets[R.APPLICATION]!;\nexport const applicationVersionsAdminResourceUIBehavior = applicationAdminPresets[R.APPLICATION_VERSIONS]!;\nexport const applicationMetadataAdminResourceUIBehavior = applicationAdminPresets[R.APPLICATION_METADATA]!;\nexport const applicationFeaturesAdminResourceUIBehavior = applicationAdminPresets[R.APPLICATION_FEATURES]!;\nexport const appApiKeysApplicationAdminResourceUIBehavior = applicationAdminPresets[R.APPLICATION_API_KEYS]!;\nexport const appOAuthClientsApplicationAdminResourceUIBehavior = applicationAdminPresets[R.OAUTH_CLIENTS_APPLICATION]!;\nexport const applicationAccessGrantsAdminResourceUIBehavior = applicationAdminPresets[R.APPLICATION_ACCESS_GRANTS]!;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.resource-presets.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"billing.resource-presets.d.ts","sourceRoot":"","sources":["../../../../../src/config/resources/billing.resource-presets.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AA4HtE,wBAAgB,uBAAuB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAuyBrE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAsEvG;AAED,eAAO,MAAM,kBAAkB,6BAA4B,CAAC;AAC5D,eAAO,MAAM,mBAAmB,6BAA+C,CAAC;AAEhF,eAAO,MAAM,8BAA8B,gGAAkC,CAAC;AAC9E,eAAO,MAAM,+BAA+B,gGAAmC,CAAC;AAChF,eAAO,MAAM,4BAA4B,gGAAgC,CAAC;AAC1E,eAAO,MAAM,6BAA6B,gGAAiC,CAAC;AAC5E,eAAO,MAAM,+BAA+B,gGAAmC,CAAC;AAChF,eAAO,MAAM,gCAAgC,gGAAoC,CAAC;AAClF,eAAO,MAAM,gCAAgC,gGAAoC,CAAC;AAClF,eAAO,MAAM,iCAAiC,gGAAqC,CAAC"}
|
|
@@ -421,6 +421,7 @@ export function buildBillingMainPresets() {
|
|
|
421
421
|
[BillingSubscription_Operations.CANCEL, notAddressable({ iconOverride: Ban })],
|
|
422
422
|
[BillingSubscription_Operations.RESUME, notAddressable({ iconOverride: CirclePlay })],
|
|
423
423
|
[BillingSubscription_Operations.CHANGE_PLAN, notAddressable({ iconOverride: ArrowRightLeft })],
|
|
424
|
+
[BillingSubscription_Operations.PREVIEW_PLAN_CHANGE, apiOnly()],
|
|
424
425
|
[BillingSubscription_Operations.ADD_ADDON, notAddressable({ iconOverride: PackagePlus })],
|
|
425
426
|
[BillingSubscription_Operations.REMOVE_ADDON, notAddressable({ iconOverride: PackageMinus })],
|
|
426
427
|
// Subscriptions are managed via the custom ops above + Stripe — generic UPDATE
|