@wildo-ai/presets-components 1.1.1 → 1.1.3
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/.native.tsbuildinfo +1 -0
- package/dist/esm/components/actions/action-bar.d.ts.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 +1 -4
- package/dist/esm/components/actions/action-button.d.ts.map +1 -1
- package/dist/esm/components/actions/action-button.js +21 -5
- 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.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-browser.js +7 -3
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.js.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.labels.d.ts.map +1 -1
- 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.d.ts +18 -3
- package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.js +5 -3
- 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 +10 -2
- 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.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/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.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent.js +23 -3
- 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/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.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-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 +10 -2
- 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.map +1 -1
- package/dist/esm/components/app/public-layout-main-container.js +52 -5
- 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/billing/billing-format.utils.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.labels.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.labels.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.labels.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.labels.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.labels.d.ts.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.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
- package/dist/esm/components/data-display/description-list.js +10 -7
- 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/formatters/display-field-bigdecimal.d.ts.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 +20 -1
- 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.labels.d.ts.map +1 -1
- 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.labels.d.ts.map +1 -1
- 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.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.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.labels.d.ts.map +1 -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.labels.d.ts.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.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.labels.d.ts.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.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 +3 -0
- 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/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/notification-indicator.d.ts.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.d.ts.map +1 -1
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.d.ts.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.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 +7 -0
- 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 +5 -3
- package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
- package/dist/esm/components/feedback/notification-center.js +7 -5
- package/dist/esm/components/feedback/notification-center.js.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts.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.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 +2 -2
- 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.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.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/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/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/enum/radio.d.ts.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.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.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/form-field-checkbox-group.d.ts.map +1 -1
- 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/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 +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/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.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.js +8 -2
- package/dist/esm/components/navigation/app-level/menu-user-org.js.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.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.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 +22 -19
- 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 +11 -14
- 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-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 +32 -15
- 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/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 +41 -8
- 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 +1 -0
- 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.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.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.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.js +2 -2
- package/dist/esm/components/overlays/containers/sheet.js.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.js +43 -13
- package/dist/esm/components/sections/accordion.js.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.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
- package/dist/esm/components/sections/collapsible.js +17 -3
- package/dist/esm/components/sections/collapsible.js.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 +11 -7
- package/dist/esm/components/sections/content-section.js.map +1 -1
- package/dist/esm/components/sections/disclosure-nesting.d.ts +20 -0
- package/dist/esm/components/sections/disclosure-nesting.d.ts.map +1 -0
- package/dist/esm/components/sections/disclosure-nesting.js +20 -0
- package/dist/esm/components/sections/disclosure-nesting.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 +141 -10
- 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.labels.d.ts.map +1 -1
- package/dist/esm/components/typography/text.d.ts.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-error-pages.d.ts.map +1 -1
- package/dist/esm/config/preset-kits.d.ts.map +1 -1
- package/dist/esm/config/preset-kits.js +0 -4
- package/dist/esm/config/preset-kits.js.map +1 -1
- package/dist/esm/config/preset-navigation.d.ts.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-shell.js +0 -4
- package/dist/esm/config/preset-shell.js.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/presets.js +0 -1
- package/dist/esm/config/presets.js.map +1 -1
- package/dist/esm/config/resources/application.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/application.resource-presets.js +6 -6
- 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 +8 -8
- 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 +7 -7
- 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 +13 -7
- package/dist/esm/config/resources/identity.resource-presets.js.map +1 -1
- package/dist/esm/config/resources/index.d.ts +23 -1
- package/dist/esm/config/resources/index.d.ts.map +1 -1
- package/dist/esm/config/resources/index.js +24 -3
- 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 +8 -8
- 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.map +1 -1
- package/dist/esm/config/resources/security.resource-presets.js +104 -13
- 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/index.d.ts +0 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +0 -3
- 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 +20 -1
- 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-presets.d.ts.map +1 -1
- package/dist/esm/registration/register-default-presets.js +0 -4
- package/dist/esm/registration/register-default-presets.js.map +1 -1
- package/dist/esm/shiki-subset.d.ts.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 +8 -3
- 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 +8 -5
- 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 +8 -3
- 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 +10 -4
- 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 +8 -3
- 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 +8 -3
- 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 +8 -3
- package/dist/esm/themes/trading.theme.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/dist/esm/.builder.pid +0 -9
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts +0 -13
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +0 -1
- package/dist/esm/components/billing/billing-plan-change-preview.js +0 -44
- package/dist/esm/components/billing/billing-plan-change-preview.js.map +0 -1
- package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts +0 -3
- package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts.map +0 -1
- package/dist/esm/components/billing/billing-plan-change-preview.labels.js +0 -36
- package/dist/esm/components/billing/billing-plan-change-preview.labels.js.map +0 -1
- package/dist/esm/components/billing/billing-promotion-code-input.d.ts +0 -10
- package/dist/esm/components/billing/billing-promotion-code-input.d.ts.map +0 -1
- package/dist/esm/components/billing/billing-promotion-code-input.js +0 -68
- package/dist/esm/components/billing/billing-promotion-code-input.js.map +0 -1
- package/dist/esm/components/billing/billing-promotion-code-input.labels.d.ts +0 -3
- package/dist/esm/components/billing/billing-promotion-code-input.labels.d.ts.map +0 -1
- package/dist/esm/components/billing/billing-promotion-code-input.labels.js +0 -14
- package/dist/esm/components/billing/billing-promotion-code-input.labels.js.map +0 -1
- package/dist/esm/config/resources/infrastructure.resource-presets.d.ts +0 -16
- package/dist/esm/config/resources/infrastructure.resource-presets.d.ts.map +0 -1
- package/dist/esm/config/resources/infrastructure.resource-presets.js +0 -110
- package/dist/esm/config/resources/infrastructure.resource-presets.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { resourceUIBehavior, resourceUIBehaviorFrom, StandardIconReference, ActionVisibility, } from '@wildo-ai/saas-frontend-lib';
|
|
3
|
-
import { DisplayField, DisplayLayout, FormField, FormLayout, ObjectScope, RelatedResourceSections, Section, SummaryLayout, } from '@wildo-ai/saas-frontend-lib';
|
|
3
|
+
import { DisplayField, DisplayLayout, FormField, FormLayout, ObjectScope, RelatedResourceSections, Section, SummaryLayout, SummaryFlow, SummaryMeta, SummaryTitle, } from '@wildo-ai/saas-frontend-lib';
|
|
4
4
|
import { BadgeSemanticVariant, DisplayChromeMode, EditChromeMode, EnumDisplayMode, SectionMode } from '@wildo-ai/zod-decorators';
|
|
5
5
|
import { Archive, ArchiveRestore, Ban, CirclePause, GitBranch, Move, Paintbrush, Power, RotateCcw, Send, ToggleLeft, ToggleRight, Trash2, UserPlus, } from 'lucide-react';
|
|
6
6
|
import { CoreResourceType as R, CoreResourceOperation as Op, OrganizationStatus, OrganizationMemberStatus, OrganizationUnit_Operations, OrganizationMembers_Operations, OrganizationProfile_Operations, Organization_Lifecycle_Operations, OrganizationFeatures_Operations, organizationResourceConfiguration_InitializationFactory as orgFactory, organizationUnitResourceConfiguration_InitializationFactory as orgUnitFactory, organizationMembersResourceConfiguration_InitializationFactory as orgMembersFactory, organizationProfileResourceConfiguration_InitializationFactory as orgProfileFactory, organizationNotificationsResourceConfiguration_InitializationFactory as orgNotificationsFactory, organizationPreferencesResourceConfiguration_InitializationFactory as orgPreferencesFactory, organizationFeaturesResourceConfiguration_InitializationFactory as orgFeaturesFactory, OrganizationSchema, OrganizationUnitSchema, OrganizationMemberSchema, OrganizationProfileSchema, OrganizationNotificationsSchema, OrganizationPreferencesSchema, ScopeFeaturesWithOverridesSchema, } from '@wildo-ai/saas-models';
|
|
@@ -49,7 +49,7 @@ export function buildOrganizationsMainPresets() {
|
|
|
49
49
|
// label-left / value-right rows; the list/summary stays compact.
|
|
50
50
|
defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },
|
|
51
51
|
display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "name" }), _jsx(DisplayField, { name: "slug" }), _jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "type" })] }), _jsx(Section, { name: "lifecycle", children: _jsx(DisplayField, { name: "createdAt" }) }), _jsx(RelatedResourceSections, { config: { mode: SectionMode.TABS }, targets: [R.ORGANIZATION_UNITS, R.ORGANIZATION_MEMBERS, R.ORGANIZATION_FEATURES] })] })),
|
|
52
|
-
summary: () => (_jsxs(SummaryLayout, {
|
|
52
|
+
summary: () => (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "name" }), _jsxs(SummaryMeta, { children: [_jsx(DisplayField, { name: "slug" }), _jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "type" }), _jsx(DisplayField, { name: "createdAt" })] })] })),
|
|
53
53
|
edit: () => (_jsx(FormLayout, { children: _jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "name" }), _jsx(FormField, { name: "slug" }), _jsx(FormField, { name: "status" }), _jsx(FormField, { name: "type" })] }) })),
|
|
54
54
|
},
|
|
55
55
|
fields: {
|
|
@@ -87,7 +87,7 @@ export function buildOrganizationsMainPresets() {
|
|
|
87
87
|
layout: {
|
|
88
88
|
refs: { sections: ['identity', 'hierarchy'] },
|
|
89
89
|
display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "identity", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "name" }), _jsx(DisplayField, { name: "code" }), _jsx(DisplayField, { name: "type" }), _jsx(DisplayField, { name: "status" })] }), _jsxs(Section, { name: "hierarchy", children: [_jsx(DisplayField, { name: "parentUnitId" }), _jsx(DisplayField, { name: "path" }), _jsx(DisplayField, { name: "inheritanceType" })] }), _jsx(RelatedResourceSections, { config: { mode: SectionMode.TABS }, targets: [R.ORGANIZATION_UNITS] })] })),
|
|
90
|
-
summary: () => (_jsxs(SummaryLayout, {
|
|
90
|
+
summary: () => (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "name" }), _jsxs(SummaryMeta, { children: [_jsx(DisplayField, { name: "type" }), _jsx(DisplayField, { name: "status" })] })] })),
|
|
91
91
|
edit: () => (_jsxs(FormLayout, { children: [_jsxs(Section, { name: "identity", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "name" }), _jsx(FormField, { name: "code" }), _jsx(FormField, { name: "type" }), _jsx(FormField, { name: "status" })] }), _jsxs(Section, { name: "hierarchy", children: [_jsx(FormField, { name: "parentUnitId" }), _jsx(FormField, { name: "inheritanceType" })] })] })),
|
|
92
92
|
},
|
|
93
93
|
views: [
|
|
@@ -109,7 +109,7 @@ export function buildOrganizationsMainPresets() {
|
|
|
109
109
|
// Settings-page chrome (Settings Hub → Members): label-left / value-right rows.
|
|
110
110
|
defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },
|
|
111
111
|
display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "userTitle" }), _jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "roles" })] }), _jsx(Section, { name: "membership", children: _jsx(DisplayField, { name: "createdAt" }) })] })),
|
|
112
|
-
summary: () => (_jsxs(SummaryLayout, {
|
|
112
|
+
summary: () => (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "userTitle" }), _jsxs(SummaryMeta, { children: [_jsx(DisplayField, { name: "roles" }), _jsx(DisplayField, { name: "status" })] })] })),
|
|
113
113
|
edit: () => (_jsx(FormLayout, { children: _jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "userEmail" }), _jsx(FormField, { name: "userTitle" }), _jsx(FormField, { name: "status" }), _jsx(FormField, { name: "roles" })] }) })),
|
|
114
114
|
},
|
|
115
115
|
fields: {
|
|
@@ -165,7 +165,7 @@ export function buildOrganizationsMainPresets() {
|
|
|
165
165
|
layout: {
|
|
166
166
|
refs: { sections: ['company', 'classification', 'location', 'branding', 'social'] },
|
|
167
167
|
display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "company", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "displayName" }), _jsx(DisplayField, { name: "domain" }), _jsx(DisplayField, { name: "website" }), _jsx(DisplayField, { name: "phone" }), _jsx(DisplayField, { name: "description" })] }), _jsxs(Section, { name: "classification", children: [_jsx(DisplayField, { name: "industry" }), _jsx(DisplayField, { name: "size" }), _jsx(DisplayField, { name: "founded" }), _jsx(DisplayField, { name: "timezone" })] }), _jsx(Section, { name: "location", children: _jsx(DisplayField, { name: "address" }) }), _jsx(Section, { name: "branding", children: _jsxs(ObjectScope, { name: "branding", children: [_jsx(DisplayField, { name: "logo" }), _jsx(DisplayField, { name: "favicon" }), _jsx(DisplayField, { name: "primaryColor" }), _jsx(DisplayField, { name: "secondaryColor" }), _jsx(DisplayField, { name: "customDomain" })] }) }), _jsx(Section, { name: "social", children: _jsxs(ObjectScope, { name: "socialLinks", children: [_jsx(DisplayField, { name: "linkedin" }), _jsx(DisplayField, { name: "twitter" }), _jsx(DisplayField, { name: "facebook" }), _jsx(DisplayField, { name: "github" })] }) })] })),
|
|
168
|
-
summary: () => (_jsx(SummaryLayout, {
|
|
168
|
+
summary: () => (_jsx(SummaryLayout, { children: _jsx(DisplayField, { name: "displayName" }) })),
|
|
169
169
|
edit: () => (_jsxs(FormLayout, { children: [_jsxs(Section, { name: "company", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "displayName" }), _jsx(FormField, { name: "domain" }), _jsx(FormField, { name: "website" }), _jsx(FormField, { name: "phone" }), _jsx(FormField, { name: "description" })] }), _jsxs(Section, { name: "classification", children: [_jsx(FormField, { name: "industry" }), _jsx(FormField, { name: "size" }), _jsx(FormField, { name: "founded" }), _jsx(FormField, { name: "timezone" })] }), _jsx(Section, { name: "location", children: _jsx(FormField, { name: "address" }) }), _jsx(Section, { name: "branding", children: _jsxs(ObjectScope, { name: "branding", children: [_jsx(FormField, { name: "logo" }), _jsx(FormField, { name: "favicon" }), _jsx(FormField, { name: "primaryColor" }), _jsx(FormField, { name: "secondaryColor" }), _jsx(FormField, { name: "customDomain" })] }) }), _jsx(Section, { name: "social", children: _jsxs(ObjectScope, { name: "socialLinks", children: [_jsx(FormField, { name: "linkedin" }), _jsx(FormField, { name: "twitter" }), _jsx(FormField, { name: "facebook" }), _jsx(FormField, { name: "github" })] }) })] })),
|
|
170
170
|
},
|
|
171
171
|
views: [
|
|
@@ -179,7 +179,7 @@ export function buildOrganizationsMainPresets() {
|
|
|
179
179
|
layout: {
|
|
180
180
|
refs: { sections: ['addresses', 'categories'] },
|
|
181
181
|
display: () => (_jsxs(DisplayLayout, { children: [_jsx(Section, { name: "addresses", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "emailNotifications", children: [_jsx(DisplayField, { name: "defaultEmailAddress" }), _jsx(DisplayField, { name: "billingAddress" }), _jsx(DisplayField, { name: "securityAddress" }), _jsx(DisplayField, { name: "administrativeAddress" }), _jsx(DisplayField, { name: "usersManagementAddress" })] }) }), _jsx(Section, { name: "categories", children: _jsxs(ObjectScope, { name: "emailNotifications", children: [_jsx(DisplayField, { name: "billing" }), _jsx(DisplayField, { name: "administrative" }), _jsx(DisplayField, { name: "security" }), _jsx(DisplayField, { name: "usersManagement" })] }) })] })),
|
|
182
|
-
summary: () => (_jsx(SummaryLayout, {
|
|
182
|
+
summary: () => (_jsx(SummaryLayout, { flow: SummaryFlow.ROW, children: _jsx(ObjectScope, { name: "emailNotifications", children: _jsx(DisplayField, { name: "defaultEmailAddress" }) }) })),
|
|
183
183
|
edit: () => (_jsxs(FormLayout, { children: [_jsx(Section, { name: "addresses", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "emailNotifications", children: [_jsx(FormField, { name: "defaultEmailAddress" }), _jsx(FormField, { name: "billingAddress" }), _jsx(FormField, { name: "securityAddress" }), _jsx(FormField, { name: "administrativeAddress" }), _jsx(FormField, { name: "usersManagementAddress" })] }) }), _jsx(Section, { name: "categories", children: _jsxs(ObjectScope, { name: "emailNotifications", children: [_jsx(FormField, { name: "billing" }), _jsx(FormField, { name: "administrative" }), _jsx(FormField, { name: "security" }), _jsx(FormField, { name: "usersManagement" })] }) })] })),
|
|
184
184
|
},
|
|
185
185
|
views: [
|
|
@@ -192,7 +192,7 @@ export function buildOrganizationsMainPresets() {
|
|
|
192
192
|
layout: {
|
|
193
193
|
refs: { sections: ['regional', 'language', 'overrides'] },
|
|
194
194
|
display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "regional", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "timezone" }), _jsx(DisplayField, { name: "locale" }), _jsx(DisplayField, { name: "dateFormat" }), _jsx(DisplayField, { name: "timeFormat" })] }), _jsx(Section, { name: "language", children: _jsxs(ObjectScope, { name: "languagePreferences", children: [_jsx(DisplayField, { name: "primaryLanguage" }), _jsx(DisplayField, { name: "supportedLanguages" }), _jsx(DisplayField, { name: "allowUserOverride" }), _jsx(DisplayField, { name: "enforceForAllMembers" })] }) }), _jsx(Section, { name: "overrides", children: _jsx(DisplayField, { name: "allowMemberEmailOverride" }) })] })),
|
|
195
|
-
summary: () => (_jsxs(SummaryLayout, {
|
|
195
|
+
summary: () => (_jsxs(SummaryLayout, { flow: SummaryFlow.ROW, children: [_jsx(DisplayField, { name: "timezone" }), _jsx(DisplayField, { name: "locale" }), _jsx(ObjectScope, { name: "languagePreferences", children: _jsx(DisplayField, { name: "primaryLanguage" }) })] })),
|
|
196
196
|
edit: () => (_jsxs(FormLayout, { children: [_jsxs(Section, { name: "regional", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "timezone" }), _jsx(FormField, { name: "locale" }), _jsx(FormField, { name: "dateFormat" }), _jsx(FormField, { name: "timeFormat" })] }), _jsx(Section, { name: "language", children: _jsxs(ObjectScope, { name: "languagePreferences", children: [_jsx(FormField, { name: "primaryLanguage" }), _jsx(FormField, { name: "supportedLanguages" }), _jsx(FormField, { name: "allowUserOverride" }), _jsx(FormField, { name: "enforceForAllMembers" })] }) }), _jsx(Section, { name: "overrides", children: _jsx(FormField, { name: "allowMemberEmailOverride" }) })] })),
|
|
197
197
|
},
|
|
198
198
|
views: [
|
|
@@ -204,7 +204,7 @@ export function buildOrganizationsMainPresets() {
|
|
|
204
204
|
layout: {
|
|
205
205
|
refs: { sections: ['overview', 'overrides'] },
|
|
206
206
|
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" })] }) })] })),
|
|
207
|
-
summary: () => (_jsxs(SummaryLayout, {
|
|
207
|
+
summary: () => (_jsxs(SummaryLayout, { children: [_jsx(DisplayField, { name: "features" }), _jsx(DisplayField, { name: "limits" })] })),
|
|
208
208
|
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" })] }) })] })),
|
|
209
209
|
},
|
|
210
210
|
views: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organizations.resource-presets.js","sourceRoot":"","sources":["../../../../../src/config/resources/organizations.resource-presets.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport type { ResourceUIBehavior, ResourceOperationFrontendConfig } from '@wildo-ai/saas-frontend-lib';\nimport {\n resourceUIBehavior,\n resourceUIBehaviorFrom,\n StandardIconReference,\n ActionVisibility,\n} from '@wildo-ai/saas-frontend-lib';\nimport {\n DisplayField,\n DisplayLayout,\n FormField,\n FormLayout,\n ObjectScope,\n RelatedResourceSections,\n Section,\n SummaryLayout,\n} from '@wildo-ai/saas-frontend-lib';\nimport { BadgeSemanticVariant, DisplayChromeMode, EditChromeMode, EnumDisplayMode, SectionMode } from '@wildo-ai/zod-decorators';\nimport {\n Archive,\n ArchiveRestore,\n Ban,\n CirclePause,\n GitBranch,\n Move,\n Paintbrush,\n Power,\n RotateCcw,\n Send,\n ToggleLeft,\n ToggleRight,\n Trash2,\n UserPlus,\n} from 'lucide-react';\nimport {\n CoreResourceType as R,\n CoreResourceOperation as Op,\n OrganizationStatus,\n OrganizationMemberStatus,\n OrganizationUnit_Operations,\n OrganizationMembers_Operations,\n OrganizationProfile_Operations,\n Organization_Lifecycle_Operations,\n OrganizationFeatures_Operations,\n organizationResourceConfiguration_InitializationFactory as orgFactory,\n organizationUnitResourceConfiguration_InitializationFactory as orgUnitFactory,\n organizationMembersResourceConfiguration_InitializationFactory as orgMembersFactory,\n organizationProfileResourceConfiguration_InitializationFactory as orgProfileFactory,\n organizationNotificationsResourceConfiguration_InitializationFactory as orgNotificationsFactory,\n organizationPreferencesResourceConfiguration_InitializationFactory as orgPreferencesFactory,\n organizationFeaturesResourceConfiguration_InitializationFactory as orgFeaturesFactory,\n OrganizationSchema,\n OrganizationUnitSchema,\n OrganizationMemberSchema,\n OrganizationProfileSchema,\n OrganizationNotificationsSchema,\n OrganizationPreferencesSchema,\n ScopeFeaturesWithOverridesSchema,\n} from '@wildo-ai/saas-models';\nimport { addressable, notAddressable, apiOnly } from './resource.config.utils';\n\n/**\n * Organizations — Resource frontend presets\n *\n * Domain: ORGANIZATIONS, ORGANIZATION_UNITS, ORGANIZATION_MEMBERS,\n * ORGANIZATION_PROFILES,\n * ORGANIZATION_NOTIFICATIONS, ORGANIZATION_PREFERENCES, ORGANIZATION_FEATURES\n *\n * Enum badges use inline `values` and `showDescription: true` like `billing.resource-presets.tsx`.\n * Layout templates are implemented inline in each resource config.\n */\n\n/**\n * Org lifecycle-transition action config, shared by the main and admin org\n * presets (the same super-admin transitions surface in the main-app settings\n * hub today and will surface in the dedicated admin app later).\n *\n * ACTIVATE/SUSPEND are direct status transitions with no intermediate view, so\n * they are gated purely by their `enabledCondition` (org status). The\n * `WHEN_AVAILABLE` visibility makes each action **vanish** (rather than render\n * disabled) when its precondition is unmet: ACTIVATE shows only on a\n * suspended/expired org, SUSPEND only on an active/trial one. The icon overrides\n * give the custom ops a meaningful glyph instead of the action-bar fallback.\n */\nconst organizationLifecycleOpViews: Array<[Organization_Lifecycle_Operations, ResourceOperationFrontendConfig]> = [\n [Organization_Lifecycle_Operations.ACTIVATE, notAddressable({ iconOverride: Power, actionVisibility: ActionVisibility.WHEN_AVAILABLE })],\n [Organization_Lifecycle_Operations.SUSPEND, notAddressable({ iconOverride: CirclePause, actionVisibility: ActionVisibility.WHEN_AVAILABLE, hasDescription: true })],\n // Tenant teardown (WS-A). `request_deletion` is the tenant-facing delete — it REPLACED the\n // org-admin `DELETE` action, which no longer exists as an API door. `hasDescription` because the\n // confirmation copy has to say the thing a delete dialog normally cannot: this is reversible,\n // and until when.\n [Organization_Lifecycle_Operations.REQUEST_DELETION, notAddressable({ iconOverride: Trash2, actionVisibility: ActionVisibility.WHEN_AVAILABLE, hasDescription: true })],\n // Only ever available on a marked tenant, and only to a platform super-admin — the role gate on\n // the action bar hides it from everyone else, and `WHEN_AVAILABLE` hides it on a live tenant.\n [Organization_Lifecycle_Operations.RESTORE, notAddressable({ iconOverride: RotateCcw, actionVisibility: ActionVisibility.WHEN_AVAILABLE, hasDescription: true })],\n];\n\nexport function buildOrganizationsMainPresets(): Partial<ResourceUIBehavior> {\n return {\n [R.ORGANIZATIONS]: resourceUIBehavior(orgFactory, OrganizationSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.ORGANIZATION,\n layout: {\n refs: { sections: ['overview', 'lifecycle'] },\n // Settings-page chrome: shown in the Settings Hub (General). Read + edit render as\n // label-left / value-right rows; the list/summary stays compact.\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=\"slug\" />\n <DisplayField name=\"status\" />\n <DisplayField name=\"type\" />\n </Section>\n <Section name=\"lifecycle\">\n <DisplayField name=\"createdAt\" />\n </Section>\n {/*\n The organization's own children, named here rather than curated\n through per-edge relationship config.\n\n Placing them makes this template OWN the child region: automatic\n composition stands down, so the tenant's APPLICATION resources\n (todo lists, todos, tasks — org-scoped, and therefore owned children\n of every organization) stop appearing as tabs on an engine admin\n surface that only ever intended these three. That leak was the\n price of composing every owned child by default; naming them is\n what removes it, and it removes the ~16 `hidden: true` opt-outs\n that used to say the same thing edge by edge.\n\n Titles come from each child resource's own header label, so this\n adds no `layout.refs` entry and no specification slot.\n */}\n <RelatedResourceSections\n config={{ mode: SectionMode.TABS }}\n targets={[R.ORGANIZATION_UNITS, R.ORGANIZATION_MEMBERS, R.ORGANIZATION_FEATURES]}\n />\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-col gap-2 text-sm\">\n <div className=\"font-medium leading-tight\">\n <DisplayField name=\"name\" hideLabel />\n </div>\n <div className=\"flex flex-wrap items-center gap-x-3 gap-y-1\">\n <DisplayField name=\"slug\" />\n <DisplayField name=\"status\" />\n <DisplayField name=\"type\" />\n <DisplayField name=\"createdAt\" />\n </div>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"name\" />\n <FormField name=\"slug\" />\n <FormField name=\"status\" />\n <FormField name=\"type\" />\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 [OrganizationStatus.ACTIVE]: { color: BadgeSemanticVariant.SUCCESS },\n [OrganizationStatus.SUSPENDED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n [OrganizationStatus.TRIAL]: { color: BadgeSemanticVariant.INFO },\n [OrganizationStatus.TRIAL_EXPIRED]: { color: BadgeSemanticVariant.WARNING },\n [OrganizationStatus.CANCELLED]: { color: BadgeSemanticVariant.SECONDARY },\n [OrganizationStatus.DELETED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n },\n }),\n },\n getFrontendResourceLabel: ({ currentObject }) => currentObject.name,\n views: [\n // Organizations are created via the registration/signup flow, not a resource\n // create form — headless (no form view, created programmatically by the flow).\n [Op.CREATE, apiOnly()],\n [Op.READ, notAddressable()],\n [Op.UPDATE, notAddressable()],\n // NO `Op.DELETE` view. Since the WS-A teardown split the DEFAULT delete variant is a\n // route-less INTERNAL_CALL owned by the `organization-purge` batch, so there is no HTTP\n // door for this view to drive — rendering an action for it would produce a button that\n // cannot be invoked. The tenant-facing verb is `request_deletion`, below. The `admin`\n // purge-now variant keeps its view in the admin presets.\n ...organizationLifecycleOpViews,\n ],\n })),\n\n [R.ORGANIZATION_UNITS]: resourceUIBehavior(orgUnitFactory, OrganizationUnitSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: GitBranch,\n getFrontendResourceLabel: ({ currentObject }) => currentObject.name,\n layout: {\n refs: { sections: ['identity', 'hierarchy'] },\n display: () => (\n <DisplayLayout>\n <Section name=\"identity\" appearance={SectionMode.CARD}>\n <DisplayField name=\"name\" />\n <DisplayField name=\"code\" />\n <DisplayField name=\"type\" />\n <DisplayField name=\"status\" />\n </Section>\n <Section name=\"hierarchy\">\n <DisplayField name=\"parentUnitId\" />\n <DisplayField name=\"path\" />\n <DisplayField name=\"inheritanceType\" />\n </Section>\n {/*\n Sub-units — a SELF-REFERENCING edge, so this nests: a unit shows its\n children, each of which is a unit that shows its own. Bounded by the\n framework embed-depth default and by the cycle guard keyed on\n `(edge, host row)`, which admits a genuine hierarchy over distinct\n rows while refusing a row that reappears on its own path.\n */}\n <RelatedResourceSections\n config={{ mode: SectionMode.TABS }}\n targets={[R.ORGANIZATION_UNITS]}\n />\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-col gap-2 text-sm\">\n <div className=\"font-medium leading-tight\">\n <DisplayField name=\"name\" hideLabel />\n </div>\n <div className=\"flex flex-wrap items-center gap-x-3 gap-y-1\">\n <DisplayField name=\"type\" />\n <DisplayField name=\"status\" />\n </div>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"identity\" appearance={SectionMode.CARD}>\n <FormField name=\"name\" />\n <FormField name=\"code\" />\n <FormField name=\"type\" />\n <FormField name=\"status\" />\n </Section>\n <Section name=\"hierarchy\">\n <FormField name=\"parentUnitId\" />\n <FormField name=\"inheritanceType\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.CREATE, notAddressable()],\n [Op.READ, notAddressable()],\n [Op.LIST, notAddressable()],\n [Op.SEARCH, notAddressable()],\n [Op.UPDATE, notAddressable()],\n [Op.DELETE, notAddressable()],\n [OrganizationUnit_Operations.MOVE, notAddressable({ iconOverride: Move })],\n [OrganizationUnit_Operations.ARCHIVE, notAddressable({ iconOverride: Archive })],\n [OrganizationUnit_Operations.RESTORE, notAddressable({ iconOverride: ArchiveRestore })],\n ],\n })),\n\n [R.ORGANIZATION_MEMBERS]: resourceUIBehavior(orgMembersFactory, OrganizationMemberSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.TEAM,\n layout: {\n refs: { sections: ['overview', 'membership'] },\n // Settings-page chrome (Settings Hub → Members): 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=\"userTitle\" />\n <DisplayField name=\"status\" />\n <DisplayField name=\"roles\" />\n </Section>\n {/* Unit assignments moved out of this row entirely (D-B5): they are now\n ORGANIZATION_UNIT_MEMBERS rows, surfaced through that resource rather than as an\n embedded field here. The section keeps its slot ref for `createdAt`. */}\n <Section name=\"membership\">\n <DisplayField name=\"createdAt\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-col gap-2 text-sm\">\n <div className=\"font-medium leading-tight\">\n <DisplayField name=\"userTitle\" hideLabel />\n </div>\n <div className=\"flex flex-wrap items-center gap-x-3 gap-y-1\">\n <DisplayField name=\"roles\" />\n <DisplayField name=\"status\" />\n </div>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n {/* Invite email — the admin's invitee address. Renders on the CREATE (invite)\n form only: `userEmail` is `.excludeFromUpdate()`, so it's absent from the\n UPDATE DTO and this FormField auto-skips on the edit form. The invite prefix\n find-or-creates the User by this email. Placed first — it's the primary input. */}\n <FormField name=\"userEmail\" />\n <FormField name=\"userTitle\" />\n <FormField name=\"status\" />\n <FormField name=\"roles\" />\n </Section>\n {/* No `membership` section on the edit form: its only field was\n `organizationUnitsMembership`, now the ORGANIZATION_UNIT_MEMBERS junction (D-B5).\n Assigning a member to a unit is a write against that resource, not a field edit\n here — which is also what makes it role-ceiling governed. */}\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 [OrganizationMemberStatus.INVITED]: { color: BadgeSemanticVariant.INFO },\n [OrganizationMemberStatus.ACTIVE]: { color: BadgeSemanticVariant.SUCCESS },\n [OrganizationMemberStatus.INACTIVE]: { color: BadgeSemanticVariant.SECONDARY },\n [OrganizationMemberStatus.SUSPENDED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n },\n }),\n },\n // A membership has no inherent name — its identity is the related user.\n // `instanceLabel` is a server-resolved virtual field that forwards the\n // user's name live from `USER_PROFILES` (see `forwardedLabel` on\n // `OrganizationMemberSchema`), so the label is a plain, synchronous field\n // ref — never stale, tenant-safe, no async frontend resolver. `userTitle`\n // is the distinct authored job title and stays its own FIELD.\n getFrontendResourceLabel: ['instanceLabel'],\n views: [\n [Op.COUNT, notAddressable()],\n // CREATE is the org-admin INVITE entry point (it mints the invitee's pending\n // membership row directly on this junction — invitations are no longer a separate\n // resource). Surfaced as an EMBEDDED action (\"Invite member\", UserPlus): the\n // collection toolbar shows the button, which opens the invite form overlay (email +\n // roles + optional title/units). NOT `apiOnly()` — that hid it entirely, leaving no\n // way to invite from the UI.\n [Op.CREATE, notAddressable({ iconOverride: UserPlus })],\n [Op.READ, notAddressable()],\n [Op.LIST, addressable()],\n [Op.SEARCH, notAddressable()],\n [Op.UPDATE, notAddressable()],\n [Op.DELETE, notAddressable()],\n // Role changes ride `UPDATE` — the PROMOTE/DEMOTE verbs were removed on 2026-08-01\n // (routed but never implemented, so they answered 200 having changed nothing).\n [OrganizationMembers_Operations.SUSPEND, notAddressable({ iconOverride: CirclePause })],\n [OrganizationMembers_Operations.REACTIVATE, notAddressable({ iconOverride: Power })],\n // Invitation management on a still-INVITED row (invitations live in this list, not a\n // separate section): REVOKE cancels the pending invite (deletes the row + revokes its\n // accept token), RESEND re-issues the accept link. `WHEN_AVAILABLE` hides (not disables)\n // both on non-INVITED rows — they vanish on ACTIVE members rather than sit greyed out —\n // driven by the ops' `enabledCondition: status === INVITED` (resources-config). Surfaced\n // here so the spec's frontend `views` matches the merged config (companion validator).\n [OrganizationMembers_Operations.REVOKE, notAddressable({ iconOverride: Ban, actionVisibility: ActionVisibility.WHEN_AVAILABLE })],\n [OrganizationMembers_Operations.RESEND, notAddressable({ iconOverride: Send, actionVisibility: ActionVisibility.WHEN_AVAILABLE })],\n ],\n })),\n\n [R.ORGANIZATION_PROFILES]: resourceUIBehavior(orgProfileFactory, OrganizationProfileSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.PROFILE,\n getFrontendResourceLabel: ({ currentObject }) => currentObject.displayName || `Organization ${currentObject.organizationId}`,\n layout: {\n refs: { sections: ['company', 'classification', 'location', 'branding', 'social'] },\n display: () => (\n <DisplayLayout>\n <Section name=\"company\" appearance={SectionMode.CARD}>\n <DisplayField name=\"displayName\" />\n <DisplayField name=\"domain\" />\n <DisplayField name=\"website\" />\n <DisplayField name=\"phone\" />\n <DisplayField name=\"description\" />\n </Section>\n <Section name=\"classification\">\n <DisplayField name=\"industry\" />\n <DisplayField name=\"size\" />\n <DisplayField name=\"founded\" />\n <DisplayField name=\"timezone\" />\n </Section>\n <Section name=\"location\">\n <DisplayField name=\"address\" />\n </Section>\n <Section name=\"branding\">\n <ObjectScope name=\"branding\">\n <DisplayField name=\"logo\" />\n <DisplayField name=\"favicon\" />\n <DisplayField name=\"primaryColor\" />\n <DisplayField name=\"secondaryColor\" />\n <DisplayField name=\"customDomain\" />\n </ObjectScope>\n </Section>\n <Section name=\"social\">\n <ObjectScope name=\"socialLinks\">\n <DisplayField name=\"linkedin\" />\n <DisplayField name=\"twitter\" />\n <DisplayField name=\"facebook\" />\n <DisplayField name=\"github\" />\n </ObjectScope>\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"text-sm\">\n <DisplayField name=\"displayName\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"company\" appearance={SectionMode.CARD}>\n <FormField name=\"displayName\" />\n <FormField name=\"domain\" />\n <FormField name=\"website\" />\n <FormField name=\"phone\" />\n <FormField name=\"description\" />\n </Section>\n <Section name=\"classification\">\n <FormField name=\"industry\" />\n <FormField name=\"size\" />\n <FormField name=\"founded\" />\n <FormField name=\"timezone\" />\n </Section>\n <Section name=\"location\">\n <FormField name=\"address\" />\n </Section>\n <Section name=\"branding\">\n <ObjectScope name=\"branding\">\n <FormField name=\"logo\" />\n <FormField name=\"favicon\" />\n <FormField name=\"primaryColor\" />\n <FormField name=\"secondaryColor\" />\n <FormField name=\"customDomain\" />\n </ObjectScope>\n </Section>\n <Section name=\"social\">\n <ObjectScope name=\"socialLinks\">\n <FormField name=\"linkedin\" />\n <FormField name=\"twitter\" />\n <FormField name=\"facebook\" />\n <FormField name=\"github\" />\n </ObjectScope>\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.UPDATE, notAddressable()],\n [OrganizationProfile_Operations.UPDATE_BRANDING, notAddressable({ iconOverride: Paintbrush })],\n ],\n })),\n\n [R.ORGANIZATION_NOTIFICATIONS]: resourceUIBehavior(orgNotificationsFactory, OrganizationNotificationsSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.NOTIFICATION,\n layout: {\n refs: { sections: ['addresses', 'categories'] },\n display: () => (\n <DisplayLayout>\n <Section name=\"addresses\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"emailNotifications\">\n <DisplayField name=\"defaultEmailAddress\" />\n <DisplayField name=\"billingAddress\" />\n <DisplayField name=\"securityAddress\" />\n <DisplayField name=\"administrativeAddress\" />\n <DisplayField name=\"usersManagementAddress\" />\n </ObjectScope>\n </Section>\n <Section name=\"categories\">\n <ObjectScope name=\"emailNotifications\">\n <DisplayField name=\"billing\" />\n <DisplayField name=\"administrative\" />\n <DisplayField name=\"security\" />\n <DisplayField name=\"usersManagement\" />\n </ObjectScope>\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-wrap items-center gap-x-3 gap-y-1 text-sm\">\n <ObjectScope name=\"emailNotifications\">\n <DisplayField name=\"defaultEmailAddress\" />\n </ObjectScope>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"addresses\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"emailNotifications\">\n <FormField name=\"defaultEmailAddress\" />\n <FormField name=\"billingAddress\" />\n <FormField name=\"securityAddress\" />\n <FormField name=\"administrativeAddress\" />\n <FormField name=\"usersManagementAddress\" />\n </ObjectScope>\n </Section>\n <Section name=\"categories\">\n <ObjectScope name=\"emailNotifications\">\n <FormField name=\"billing\" />\n <FormField name=\"administrative\" />\n <FormField name=\"security\" />\n <FormField name=\"usersManagement\" />\n </ObjectScope>\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.UPDATE, notAddressable()],\n ],\n })),\n\n [R.ORGANIZATION_PREFERENCES]: resourceUIBehavior(orgPreferencesFactory, OrganizationPreferencesSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.SETTINGS,\n layout: {\n refs: { sections: ['regional', 'language', 'overrides'] },\n display: () => (\n <DisplayLayout>\n <Section name=\"regional\" appearance={SectionMode.CARD}>\n <DisplayField name=\"timezone\" />\n <DisplayField name=\"locale\" />\n <DisplayField name=\"dateFormat\" />\n <DisplayField name=\"timeFormat\" />\n </Section>\n <Section name=\"language\">\n <ObjectScope name=\"languagePreferences\">\n <DisplayField name=\"primaryLanguage\" />\n <DisplayField name=\"supportedLanguages\" />\n <DisplayField name=\"allowUserOverride\" />\n <DisplayField name=\"enforceForAllMembers\" />\n </ObjectScope>\n </Section>\n <Section name=\"overrides\">\n <DisplayField name=\"allowMemberEmailOverride\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-wrap items-center gap-x-3 gap-y-1 text-sm\">\n <DisplayField name=\"timezone\" />\n <DisplayField name=\"locale\" />\n <ObjectScope name=\"languagePreferences\">\n <DisplayField name=\"primaryLanguage\" />\n </ObjectScope>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"regional\" appearance={SectionMode.CARD}>\n <FormField name=\"timezone\" />\n <FormField name=\"locale\" />\n <FormField name=\"dateFormat\" />\n <FormField name=\"timeFormat\" />\n </Section>\n <Section name=\"language\">\n <ObjectScope name=\"languagePreferences\">\n <FormField name=\"primaryLanguage\" />\n <FormField name=\"supportedLanguages\" />\n <FormField name=\"allowUserOverride\" />\n <FormField name=\"enforceForAllMembers\" />\n </ObjectScope>\n </Section>\n <Section name=\"overrides\">\n <FormField name=\"allowMemberEmailOverride\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.UPDATE, notAddressable()],\n ],\n })),\n\n [R.ORGANIZATION_FEATURES]: resourceUIBehavior(orgFeaturesFactory, 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 className=\"flex flex-col gap-2 text-sm\">\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 // Org feature flags are toggled programmatically, not via a generic edit form —\n // UPDATE is headless.\n [Op.UPDATE, apiOnly()],\n ],\n })),\n };\n}\n\nexport function buildOrganizationsAdminPresets(main: Partial<ResourceUIBehavior>): Partial<ResourceUIBehavior> {\n return {\n [R.ORGANIZATIONS]: resourceUIBehaviorFrom(orgFactory, main[R.ORGANIZATIONS]!, ({ base, opsVariantResolver }) => ({\n icon: base.icon,\n layout: base.layout,\n fields: base.fields,\n views: [\n [opsVariantResolver(Op.READ, 'admin'), notAddressable()],\n [Op.LIST, notAddressable()],\n [Op.SEARCH, notAddressable()],\n [opsVariantResolver(Op.CREATE, 'admin'), addressable()],\n [opsVariantResolver(Op.UPDATE, 'admin'), notAddressable()],\n [opsVariantResolver(Op.DELETE, 'admin'), notAddressable()],\n ...organizationLifecycleOpViews,\n ],\n })),\n [R.ORGANIZATION_FEATURES]: resourceUIBehaviorFrom(orgFeaturesFactory, main[R.ORGANIZATION_FEATURES]!, ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n views: [\n [Op.UPDATE, notAddressable()],\n [OrganizationFeatures_Operations.ENABLE_FEATURE, notAddressable({ iconOverride: ToggleRight })],\n [OrganizationFeatures_Operations.DISABLE_FEATURE, notAddressable({ iconOverride: ToggleLeft })],\n [OrganizationFeatures_Operations.RESET_FEATURES, notAddressable({ iconOverride: RotateCcw })],\n ],\n })),\n };\n}\n\nexport const organizationsMainPresets = buildOrganizationsMainPresets();\nexport const organizationsAdminPresets = buildOrganizationsAdminPresets(organizationsMainPresets);\n\nexport const organizationsMainOrgResourceUIBehavior = organizationsMainPresets[R.ORGANIZATIONS]!;\nexport const organizationsAdminOrgResourceUIBehavior = organizationsAdminPresets[R.ORGANIZATIONS]!;\nexport const organizationUnitsMainResourceUIBehavior = organizationsMainPresets[R.ORGANIZATION_UNITS]!;\nexport const organizationMembersMainResourceUIBehavior = organizationsMainPresets[R.ORGANIZATION_MEMBERS]!;\nexport const organizationProfilesMainResourceUIBehavior = organizationsMainPresets[R.ORGANIZATION_PROFILES]!;\nexport const organizationNotificationsMainResourceUIBehavior = organizationsMainPresets[R.ORGANIZATION_NOTIFICATIONS]!;\nexport const organizationPreferencesMainResourceUIBehavior = organizationsMainPresets[R.ORGANIZATION_PREFERENCES]!;\nexport const organizationFeaturesMainResourceUIBehavior = organizationsMainPresets[R.ORGANIZATION_FEATURES]!;\nexport const organizationFeaturesAdminResourceUIBehavior = organizationsAdminPresets[R.ORGANIZATION_FEATURES]!;\n"]}
|
|
1
|
+
{"version":3,"file":"organizations.resource-presets.js","sourceRoot":"","sources":["../../../../../src/config/resources/organizations.resource-presets.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport type { ResourceUIBehavior, ResourceOperationFrontendConfig } from '@wildo-ai/saas-frontend-lib';\nimport {\n resourceUIBehavior,\n resourceUIBehaviorFrom,\n StandardIconReference,\n ActionVisibility,\n} from '@wildo-ai/saas-frontend-lib';\nimport {\n DisplayField,\n DisplayLayout,\n FormField,\n FormLayout,\n ObjectScope,\n RelatedResourceSections,\n Section,\n SummaryLayout,\n SummaryFlow,\n SummaryMeta,\n SummaryTitle,\n} from '@wildo-ai/saas-frontend-lib';\nimport { BadgeSemanticVariant, DisplayChromeMode, EditChromeMode, EnumDisplayMode, SectionMode } from '@wildo-ai/zod-decorators';\nimport {\n Archive,\n ArchiveRestore,\n Ban,\n CirclePause,\n GitBranch,\n Move,\n Paintbrush,\n Power,\n RotateCcw,\n Send,\n ToggleLeft,\n ToggleRight,\n Trash2,\n UserPlus,\n} from 'lucide-react';\nimport {\n CoreResourceType as R,\n CoreResourceOperation as Op,\n OrganizationStatus,\n OrganizationMemberStatus,\n OrganizationUnit_Operations,\n OrganizationMembers_Operations,\n OrganizationProfile_Operations,\n Organization_Lifecycle_Operations,\n OrganizationFeatures_Operations,\n organizationResourceConfiguration_InitializationFactory as orgFactory,\n organizationUnitResourceConfiguration_InitializationFactory as orgUnitFactory,\n organizationMembersResourceConfiguration_InitializationFactory as orgMembersFactory,\n organizationProfileResourceConfiguration_InitializationFactory as orgProfileFactory,\n organizationNotificationsResourceConfiguration_InitializationFactory as orgNotificationsFactory,\n organizationPreferencesResourceConfiguration_InitializationFactory as orgPreferencesFactory,\n organizationFeaturesResourceConfiguration_InitializationFactory as orgFeaturesFactory,\n OrganizationSchema,\n OrganizationUnitSchema,\n OrganizationMemberSchema,\n OrganizationProfileSchema,\n OrganizationNotificationsSchema,\n OrganizationPreferencesSchema,\n ScopeFeaturesWithOverridesSchema,\n} from '@wildo-ai/saas-models';\nimport { addressable, notAddressable, apiOnly } from './resource.config.utils';\n\n/**\n * Organizations — Resource frontend presets\n *\n * Domain: ORGANIZATIONS, ORGANIZATION_UNITS, ORGANIZATION_MEMBERS,\n * ORGANIZATION_PROFILES,\n * ORGANIZATION_NOTIFICATIONS, ORGANIZATION_PREFERENCES, ORGANIZATION_FEATURES\n *\n * Enum badges use inline `values` and `showDescription: true` like `billing.resource-presets.tsx`.\n * Layout templates are implemented inline in each resource config.\n */\n\n/**\n * Org lifecycle-transition action config, shared by the main and admin org\n * presets (the same super-admin transitions surface in the main-app settings\n * hub today and will surface in the dedicated admin app later).\n *\n * ACTIVATE/SUSPEND are direct status transitions with no intermediate view, so\n * they are gated purely by their `enabledCondition` (org status). The\n * `WHEN_AVAILABLE` visibility makes each action **vanish** (rather than render\n * disabled) when its precondition is unmet: ACTIVATE shows only on a\n * suspended/expired org, SUSPEND only on an active/trial one. The icon overrides\n * give the custom ops a meaningful glyph instead of the action-bar fallback.\n */\nconst organizationLifecycleOpViews: Array<[Organization_Lifecycle_Operations, ResourceOperationFrontendConfig]> = [\n [Organization_Lifecycle_Operations.ACTIVATE, notAddressable({ iconOverride: Power, actionVisibility: ActionVisibility.WHEN_AVAILABLE })],\n [Organization_Lifecycle_Operations.SUSPEND, notAddressable({ iconOverride: CirclePause, actionVisibility: ActionVisibility.WHEN_AVAILABLE, hasDescription: true })],\n // Tenant teardown (WS-A). `request_deletion` is the tenant-facing delete — it REPLACED the\n // org-admin `DELETE` action, which no longer exists as an API door. `hasDescription` because the\n // confirmation copy has to say the thing a delete dialog normally cannot: this is reversible,\n // and until when.\n [Organization_Lifecycle_Operations.REQUEST_DELETION, notAddressable({ iconOverride: Trash2, actionVisibility: ActionVisibility.WHEN_AVAILABLE, hasDescription: true })],\n // Only ever available on a marked tenant, and only to a platform super-admin — the role gate on\n // the action bar hides it from everyone else, and `WHEN_AVAILABLE` hides it on a live tenant.\n [Organization_Lifecycle_Operations.RESTORE, notAddressable({ iconOverride: RotateCcw, actionVisibility: ActionVisibility.WHEN_AVAILABLE, hasDescription: true })],\n];\n\nexport function buildOrganizationsMainPresets(): Partial<ResourceUIBehavior> {\n return {\n [R.ORGANIZATIONS]: resourceUIBehavior(orgFactory, OrganizationSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.ORGANIZATION,\n layout: {\n refs: { sections: ['overview', 'lifecycle'] },\n // Settings-page chrome: shown in the Settings Hub (General). Read + edit render as\n // label-left / value-right rows; the list/summary stays compact.\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=\"slug\" />\n <DisplayField name=\"status\" />\n <DisplayField name=\"type\" />\n </Section>\n <Section name=\"lifecycle\">\n <DisplayField name=\"createdAt\" />\n </Section>\n {/*\n The organization's own children, named here rather than curated\n through per-edge relationship config.\n\n Placing them makes this template OWN the child region: automatic\n composition stands down, so the tenant's APPLICATION resources\n (todo lists, todos, tasks — org-scoped, and therefore owned children\n of every organization) stop appearing as tabs on an engine admin\n surface that only ever intended these three. That leak was the\n price of composing every owned child by default; naming them is\n what removes it, and it removes the ~16 `hidden: true` opt-outs\n that used to say the same thing edge by edge.\n\n Titles come from each child resource's own header label, so this\n adds no `layout.refs` entry and no specification slot.\n */}\n <RelatedResourceSections\n config={{ mode: SectionMode.TABS }}\n targets={[R.ORGANIZATION_UNITS, R.ORGANIZATION_MEMBERS, R.ORGANIZATION_FEATURES]}\n />\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <SummaryTitle name=\"name\" />\n <SummaryMeta>\n <DisplayField name=\"slug\" />\n <DisplayField name=\"status\" />\n <DisplayField name=\"type\" />\n <DisplayField name=\"createdAt\" />\n </SummaryMeta>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"name\" />\n <FormField name=\"slug\" />\n <FormField name=\"status\" />\n <FormField name=\"type\" />\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 [OrganizationStatus.ACTIVE]: { color: BadgeSemanticVariant.SUCCESS },\n [OrganizationStatus.SUSPENDED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n [OrganizationStatus.TRIAL]: { color: BadgeSemanticVariant.INFO },\n [OrganizationStatus.TRIAL_EXPIRED]: { color: BadgeSemanticVariant.WARNING },\n [OrganizationStatus.CANCELLED]: { color: BadgeSemanticVariant.SECONDARY },\n [OrganizationStatus.DELETED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n },\n }),\n },\n getFrontendResourceLabel: ({ currentObject }) => currentObject.name,\n views: [\n // Organizations are created via the registration/signup flow, not a resource\n // create form — headless (no form view, created programmatically by the flow).\n [Op.CREATE, apiOnly()],\n [Op.READ, notAddressable()],\n [Op.UPDATE, notAddressable()],\n // NO `Op.DELETE` view. Since the WS-A teardown split the DEFAULT delete variant is a\n // route-less INTERNAL_CALL owned by the `organization-purge` batch, so there is no HTTP\n // door for this view to drive — rendering an action for it would produce a button that\n // cannot be invoked. The tenant-facing verb is `request_deletion`, below. The `admin`\n // purge-now variant keeps its view in the admin presets.\n ...organizationLifecycleOpViews,\n ],\n })),\n\n [R.ORGANIZATION_UNITS]: resourceUIBehavior(orgUnitFactory, OrganizationUnitSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: GitBranch,\n getFrontendResourceLabel: ({ currentObject }) => currentObject.name,\n layout: {\n refs: { sections: ['identity', 'hierarchy'] },\n display: () => (\n <DisplayLayout>\n <Section name=\"identity\" appearance={SectionMode.CARD}>\n <DisplayField name=\"name\" />\n <DisplayField name=\"code\" />\n <DisplayField name=\"type\" />\n <DisplayField name=\"status\" />\n </Section>\n <Section name=\"hierarchy\">\n <DisplayField name=\"parentUnitId\" />\n <DisplayField name=\"path\" />\n <DisplayField name=\"inheritanceType\" />\n </Section>\n {/*\n Sub-units — a SELF-REFERENCING edge, so this nests: a unit shows its\n children, each of which is a unit that shows its own. Bounded by the\n framework embed-depth default and by the cycle guard keyed on\n `(edge, host row)`, which admits a genuine hierarchy over distinct\n rows while refusing a row that reappears on its own path.\n */}\n <RelatedResourceSections\n config={{ mode: SectionMode.TABS }}\n targets={[R.ORGANIZATION_UNITS]}\n />\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <SummaryTitle name=\"name\" />\n <SummaryMeta>\n <DisplayField name=\"type\" />\n <DisplayField name=\"status\" />\n </SummaryMeta>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"identity\" appearance={SectionMode.CARD}>\n <FormField name=\"name\" />\n <FormField name=\"code\" />\n <FormField name=\"type\" />\n <FormField name=\"status\" />\n </Section>\n <Section name=\"hierarchy\">\n <FormField name=\"parentUnitId\" />\n <FormField name=\"inheritanceType\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.CREATE, notAddressable()],\n [Op.READ, notAddressable()],\n [Op.LIST, notAddressable()],\n [Op.SEARCH, notAddressable()],\n [Op.UPDATE, notAddressable()],\n [Op.DELETE, notAddressable()],\n [OrganizationUnit_Operations.MOVE, notAddressable({ iconOverride: Move })],\n [OrganizationUnit_Operations.ARCHIVE, notAddressable({ iconOverride: Archive })],\n [OrganizationUnit_Operations.RESTORE, notAddressable({ iconOverride: ArchiveRestore })],\n ],\n })),\n\n [R.ORGANIZATION_MEMBERS]: resourceUIBehavior(orgMembersFactory, OrganizationMemberSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.TEAM,\n layout: {\n refs: { sections: ['overview', 'membership'] },\n // Settings-page chrome (Settings Hub → Members): 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=\"userTitle\" />\n <DisplayField name=\"status\" />\n <DisplayField name=\"roles\" />\n </Section>\n {/* Unit assignments moved out of this row entirely (D-B5): they are now\n ORGANIZATION_UNIT_MEMBERS rows, surfaced through that resource rather than as an\n embedded field here. The section keeps its slot ref for `createdAt`. */}\n <Section name=\"membership\">\n <DisplayField name=\"createdAt\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <SummaryTitle name=\"userTitle\" />\n <SummaryMeta>\n <DisplayField name=\"roles\" />\n <DisplayField name=\"status\" />\n </SummaryMeta>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n {/* Invite email — the admin's invitee address. Renders on the CREATE (invite)\n form only: `userEmail` is `.excludeFromUpdate()`, so it's absent from the\n UPDATE DTO and this FormField auto-skips on the edit form. The invite prefix\n find-or-creates the User by this email. Placed first — it's the primary input. */}\n <FormField name=\"userEmail\" />\n <FormField name=\"userTitle\" />\n <FormField name=\"status\" />\n <FormField name=\"roles\" />\n </Section>\n {/* No `membership` section on the edit form: its only field was\n `organizationUnitsMembership`, now the ORGANIZATION_UNIT_MEMBERS junction (D-B5).\n Assigning a member to a unit is a write against that resource, not a field edit\n here — which is also what makes it role-ceiling governed. */}\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 [OrganizationMemberStatus.INVITED]: { color: BadgeSemanticVariant.INFO },\n [OrganizationMemberStatus.ACTIVE]: { color: BadgeSemanticVariant.SUCCESS },\n [OrganizationMemberStatus.INACTIVE]: { color: BadgeSemanticVariant.SECONDARY },\n [OrganizationMemberStatus.SUSPENDED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n },\n }),\n },\n // A membership has no inherent name — its identity is the related user.\n // `instanceLabel` is a server-resolved virtual field that forwards the\n // user's name live from `USER_PROFILES` (see `forwardedLabel` on\n // `OrganizationMemberSchema`), so the label is a plain, synchronous field\n // ref — never stale, tenant-safe, no async frontend resolver. `userTitle`\n // is the distinct authored job title and stays its own FIELD.\n getFrontendResourceLabel: ['instanceLabel'],\n views: [\n [Op.COUNT, notAddressable()],\n // CREATE is the org-admin INVITE entry point (it mints the invitee's pending\n // membership row directly on this junction — invitations are no longer a separate\n // resource). Surfaced as an EMBEDDED action (\"Invite member\", UserPlus): the\n // collection toolbar shows the button, which opens the invite form overlay (email +\n // roles + optional title/units). NOT `apiOnly()` — that hid it entirely, leaving no\n // way to invite from the UI.\n [Op.CREATE, notAddressable({ iconOverride: UserPlus })],\n [Op.READ, notAddressable()],\n [Op.LIST, addressable()],\n [Op.SEARCH, notAddressable()],\n [Op.UPDATE, notAddressable()],\n [Op.DELETE, notAddressable()],\n // Role changes ride `UPDATE` — the PROMOTE/DEMOTE verbs were removed on 2026-08-01\n // (routed but never implemented, so they answered 200 having changed nothing).\n [OrganizationMembers_Operations.SUSPEND, notAddressable({ iconOverride: CirclePause })],\n [OrganizationMembers_Operations.REACTIVATE, notAddressable({ iconOverride: Power })],\n // Invitation management on a still-INVITED row (invitations live in this list, not a\n // separate section): REVOKE cancels the pending invite (deletes the row + revokes its\n // accept token), RESEND re-issues the accept link. `WHEN_AVAILABLE` hides (not disables)\n // both on non-INVITED rows — they vanish on ACTIVE members rather than sit greyed out —\n // driven by the ops' `enabledCondition: status === INVITED` (resources-config). Surfaced\n // here so the spec's frontend `views` matches the merged config (companion validator).\n [OrganizationMembers_Operations.REVOKE, notAddressable({ iconOverride: Ban, actionVisibility: ActionVisibility.WHEN_AVAILABLE })],\n [OrganizationMembers_Operations.RESEND, notAddressable({ iconOverride: Send, actionVisibility: ActionVisibility.WHEN_AVAILABLE })],\n ],\n })),\n\n [R.ORGANIZATION_PROFILES]: resourceUIBehavior(orgProfileFactory, OrganizationProfileSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.PROFILE,\n getFrontendResourceLabel: ({ currentObject }) => currentObject.displayName || `Organization ${currentObject.organizationId}`,\n layout: {\n refs: { sections: ['company', 'classification', 'location', 'branding', 'social'] },\n display: () => (\n <DisplayLayout>\n <Section name=\"company\" appearance={SectionMode.CARD}>\n <DisplayField name=\"displayName\" />\n <DisplayField name=\"domain\" />\n <DisplayField name=\"website\" />\n <DisplayField name=\"phone\" />\n <DisplayField name=\"description\" />\n </Section>\n <Section name=\"classification\">\n <DisplayField name=\"industry\" />\n <DisplayField name=\"size\" />\n <DisplayField name=\"founded\" />\n <DisplayField name=\"timezone\" />\n </Section>\n <Section name=\"location\">\n <DisplayField name=\"address\" />\n </Section>\n <Section name=\"branding\">\n <ObjectScope name=\"branding\">\n <DisplayField name=\"logo\" />\n <DisplayField name=\"favicon\" />\n <DisplayField name=\"primaryColor\" />\n <DisplayField name=\"secondaryColor\" />\n <DisplayField name=\"customDomain\" />\n </ObjectScope>\n </Section>\n <Section name=\"social\">\n <ObjectScope name=\"socialLinks\">\n <DisplayField name=\"linkedin\" />\n <DisplayField name=\"twitter\" />\n <DisplayField name=\"facebook\" />\n <DisplayField name=\"github\" />\n </ObjectScope>\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <DisplayField name=\"displayName\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"company\" appearance={SectionMode.CARD}>\n <FormField name=\"displayName\" />\n <FormField name=\"domain\" />\n <FormField name=\"website\" />\n <FormField name=\"phone\" />\n <FormField name=\"description\" />\n </Section>\n <Section name=\"classification\">\n <FormField name=\"industry\" />\n <FormField name=\"size\" />\n <FormField name=\"founded\" />\n <FormField name=\"timezone\" />\n </Section>\n <Section name=\"location\">\n <FormField name=\"address\" />\n </Section>\n <Section name=\"branding\">\n <ObjectScope name=\"branding\">\n <FormField name=\"logo\" />\n <FormField name=\"favicon\" />\n <FormField name=\"primaryColor\" />\n <FormField name=\"secondaryColor\" />\n <FormField name=\"customDomain\" />\n </ObjectScope>\n </Section>\n <Section name=\"social\">\n <ObjectScope name=\"socialLinks\">\n <FormField name=\"linkedin\" />\n <FormField name=\"twitter\" />\n <FormField name=\"facebook\" />\n <FormField name=\"github\" />\n </ObjectScope>\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.UPDATE, notAddressable()],\n [OrganizationProfile_Operations.UPDATE_BRANDING, notAddressable({ iconOverride: Paintbrush })],\n ],\n })),\n\n [R.ORGANIZATION_NOTIFICATIONS]: resourceUIBehavior(orgNotificationsFactory, OrganizationNotificationsSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.NOTIFICATION,\n layout: {\n refs: { sections: ['addresses', 'categories'] },\n display: () => (\n <DisplayLayout>\n <Section name=\"addresses\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"emailNotifications\">\n <DisplayField name=\"defaultEmailAddress\" />\n <DisplayField name=\"billingAddress\" />\n <DisplayField name=\"securityAddress\" />\n <DisplayField name=\"administrativeAddress\" />\n <DisplayField name=\"usersManagementAddress\" />\n </ObjectScope>\n </Section>\n <Section name=\"categories\">\n <ObjectScope name=\"emailNotifications\">\n <DisplayField name=\"billing\" />\n <DisplayField name=\"administrative\" />\n <DisplayField name=\"security\" />\n <DisplayField name=\"usersManagement\" />\n </ObjectScope>\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <ObjectScope name=\"emailNotifications\">\n <DisplayField name=\"defaultEmailAddress\" />\n </ObjectScope>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"addresses\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"emailNotifications\">\n <FormField name=\"defaultEmailAddress\" />\n <FormField name=\"billingAddress\" />\n <FormField name=\"securityAddress\" />\n <FormField name=\"administrativeAddress\" />\n <FormField name=\"usersManagementAddress\" />\n </ObjectScope>\n </Section>\n <Section name=\"categories\">\n <ObjectScope name=\"emailNotifications\">\n <FormField name=\"billing\" />\n <FormField name=\"administrative\" />\n <FormField name=\"security\" />\n <FormField name=\"usersManagement\" />\n </ObjectScope>\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.UPDATE, notAddressable()],\n ],\n })),\n\n [R.ORGANIZATION_PREFERENCES]: resourceUIBehavior(orgPreferencesFactory, OrganizationPreferencesSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.SETTINGS,\n layout: {\n refs: { sections: ['regional', 'language', 'overrides'] },\n display: () => (\n <DisplayLayout>\n <Section name=\"regional\" appearance={SectionMode.CARD}>\n <DisplayField name=\"timezone\" />\n <DisplayField name=\"locale\" />\n <DisplayField name=\"dateFormat\" />\n <DisplayField name=\"timeFormat\" />\n </Section>\n <Section name=\"language\">\n <ObjectScope name=\"languagePreferences\">\n <DisplayField name=\"primaryLanguage\" />\n <DisplayField name=\"supportedLanguages\" />\n <DisplayField name=\"allowUserOverride\" />\n <DisplayField name=\"enforceForAllMembers\" />\n </ObjectScope>\n </Section>\n <Section name=\"overrides\">\n <DisplayField name=\"allowMemberEmailOverride\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <DisplayField name=\"timezone\" />\n <DisplayField name=\"locale\" />\n <ObjectScope name=\"languagePreferences\">\n <DisplayField name=\"primaryLanguage\" />\n </ObjectScope>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"regional\" appearance={SectionMode.CARD}>\n <FormField name=\"timezone\" />\n <FormField name=\"locale\" />\n <FormField name=\"dateFormat\" />\n <FormField name=\"timeFormat\" />\n </Section>\n <Section name=\"language\">\n <ObjectScope name=\"languagePreferences\">\n <FormField name=\"primaryLanguage\" />\n <FormField name=\"supportedLanguages\" />\n <FormField name=\"allowUserOverride\" />\n <FormField name=\"enforceForAllMembers\" />\n </ObjectScope>\n </Section>\n <Section name=\"overrides\">\n <FormField name=\"allowMemberEmailOverride\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.UPDATE, notAddressable()],\n ],\n })),\n\n [R.ORGANIZATION_FEATURES]: resourceUIBehavior(orgFeaturesFactory, 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 // Org feature flags are toggled programmatically, not via a generic edit form —\n // UPDATE is headless.\n [Op.UPDATE, apiOnly()],\n ],\n })),\n };\n}\n\nexport function buildOrganizationsAdminPresets(main: Partial<ResourceUIBehavior>): Partial<ResourceUIBehavior> {\n return {\n [R.ORGANIZATIONS]: resourceUIBehaviorFrom(orgFactory, main[R.ORGANIZATIONS]!, ({ base, opsVariantResolver }) => ({\n icon: base.icon,\n layout: base.layout,\n fields: base.fields,\n views: [\n [opsVariantResolver(Op.READ, 'admin'), notAddressable()],\n [Op.LIST, notAddressable()],\n [Op.SEARCH, notAddressable()],\n [opsVariantResolver(Op.CREATE, 'admin'), addressable()],\n [opsVariantResolver(Op.UPDATE, 'admin'), notAddressable()],\n [opsVariantResolver(Op.DELETE, 'admin'), notAddressable()],\n ...organizationLifecycleOpViews,\n ],\n })),\n [R.ORGANIZATION_FEATURES]: resourceUIBehaviorFrom(orgFeaturesFactory, main[R.ORGANIZATION_FEATURES]!, ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n views: [\n [Op.UPDATE, notAddressable()],\n [OrganizationFeatures_Operations.ENABLE_FEATURE, notAddressable({ iconOverride: ToggleRight })],\n [OrganizationFeatures_Operations.DISABLE_FEATURE, notAddressable({ iconOverride: ToggleLeft })],\n [OrganizationFeatures_Operations.RESET_FEATURES, notAddressable({ iconOverride: RotateCcw })],\n ],\n })),\n };\n}\n\nexport const organizationsMainPresets = buildOrganizationsMainPresets();\nexport const organizationsAdminPresets = buildOrganizationsAdminPresets(organizationsMainPresets);\n\nexport const organizationsMainOrgResourceUIBehavior = organizationsMainPresets[R.ORGANIZATIONS]!;\nexport const organizationsAdminOrgResourceUIBehavior = organizationsAdminPresets[R.ORGANIZATIONS]!;\nexport const organizationUnitsMainResourceUIBehavior = organizationsMainPresets[R.ORGANIZATION_UNITS]!;\nexport const organizationMembersMainResourceUIBehavior = organizationsMainPresets[R.ORGANIZATION_MEMBERS]!;\nexport const organizationProfilesMainResourceUIBehavior = organizationsMainPresets[R.ORGANIZATION_PROFILES]!;\nexport const organizationNotificationsMainResourceUIBehavior = organizationsMainPresets[R.ORGANIZATION_NOTIFICATIONS]!;\nexport const organizationPreferencesMainResourceUIBehavior = organizationsMainPresets[R.ORGANIZATION_PREFERENCES]!;\nexport const organizationFeaturesMainResourceUIBehavior = organizationsMainPresets[R.ORGANIZATION_FEATURES]!;\nexport const organizationFeaturesAdminResourceUIBehavior = organizationsAdminPresets[R.ORGANIZATION_FEATURES]!;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.config.utils.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"resource.config.utils.d.ts","sourceRoot":"","sources":["../../../../src/config/resources/resource.config.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAGnF;;;GAGG;AACH,KAAK,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,SAAS,CAAC,CAAC,CAAC;AAExF;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,SAAS,CAAC,EAAE,sBAAsB,GAAG,+BAA+B,CAE/F;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,sBAAsB,GAAG,+BAA+B,CAElG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,IAAI,+BAA+B,CAEzD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.resource-presets.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"security.resource-presets.d.ts","sourceRoot":"","sources":["../../../../src/config/resources/security.resource-presets.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAqetE,wBAAgB,wBAAwB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CA0dtE;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA+MxG;AAED,eAAO,MAAM,mBAAmB,6BAA6B,CAAC;AAC9D,eAAO,MAAM,oBAAoB,6BAAiD,CAAC;AAEnF,eAAO,MAAM,gCAAgC,gGAAuC,CAAC;AACrF,eAAO,MAAM,iCAAiC,gGAAwC,CAAC;AACvF,eAAO,MAAM,+BAA+B,gGAAqC,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { resourceUIBehavior, resourceUIBehaviorFrom, polymorphicResourceUIBehavior, polymorphicResourceUIBehaviorFrom, StandardIconReference, ResourceOperationActionScope, } from '@wildo-ai/saas-frontend-lib';
|
|
3
|
-
import { DisplayField, DisplayLayout, FormField, FormLayout, ObjectScope, Section, SummaryLayout, useFormTemplateContext, useDisplayTemplateContext, ResourceLayoutPreset_Create_SamlWizard, ResourceLayoutPreset_Read_SsoSaml, } from '@wildo-ai/saas-frontend-lib';
|
|
3
|
+
import { DisplayField, DisplayLayout, FormField, FormLayout, ObjectScope, Section, SummaryLayout, useFormTemplateContext, useDisplayTemplateContext, ResourceLayoutPreset_Create_SamlWizard, ResourceLayoutPreset_Read_SsoSaml, SummaryFlow, SummaryMeta, SummaryTitle, } from '@wildo-ai/saas-frontend-lib';
|
|
4
4
|
import { BadgeSemanticVariant, BooleanDisplayMode, BooleanEditMode, BooleanLabellingValue, SectionMode, DisplayChromeMode, EditChromeMode, EnumDisplayMode, ShowWhenOperator, StringDisplayMode, } from '@wildo-ai/zod-decorators';
|
|
5
|
-
import { Key, ShieldCheck, Fingerprint, UserCog, KeyRound, Radio, AlertTriangle, RotateCw, RefreshCw, PowerOff, Power, CalendarPlus, ChartColumn, Download, Trash2, PlugZap, Search, ShieldX, } from 'lucide-react';
|
|
6
|
-
import { CoreResourceType as R, CoreResourceOperation as Op, ApiKeyStatus, OrgApiKeys_Operations, AuditLogs_Operations, SiemDeliveryDlq_Operations, SsoConnection_Operations, ScimTokens_Operations, orgApiKeysResourceConfiguration_InitializationFactory as orgApiKeysFactory, auditLogsResourceConfiguration_InitializationFactory as auditLogsFactory, siemExportConfigPolymorphicFactories, siemDeliveryDlqPolymorphicFactories, ssoConfigPolymorphicFactories, ssoConnectionPolymorphicFactories, scimProvisioningConfigPolymorphicFactories, scimTokensPolymorphicFactories, ApiKeyOrganizationSchema, AuditableEvent_BaseSchema, SiemExportConfigBaseSchema, SiemDeliveryDlqBaseSchema, SiemDeliveryDlqStatus, SsoConfigBaseSchema, SsoConnectionBaseSchema, ScimProvisioningConfigBaseSchema, ScimTokenBaseSchema, SsoProtocol, SIEMAuthMethod, } from '@wildo-ai/saas-models';
|
|
5
|
+
import { Key, ShieldCheck, Globe, Unlink, Fingerprint, UserCog, KeyRound, Radio, AlertTriangle, RotateCw, RefreshCw, PowerOff, Power, CalendarPlus, ChartColumn, Download, Trash2, PlugZap, Search, ShieldX, } from 'lucide-react';
|
|
6
|
+
import { CoreResourceType as R, CoreResourceOperation as Op, ApiKeyStatus, OrgApiKeys_Operations, AuditLogs_Operations, SiemDeliveryDlq_Operations, SsoConnection_Operations, ScimTokens_Operations, orgApiKeysResourceConfiguration_InitializationFactory as orgApiKeysFactory, orgProviderCredentialsResourceConfiguration_InitializationFactory as orgProviderCredentialsFactory, OrganizationProviderCredentialSchema, userProviderCredentialsResourceConfiguration_InitializationFactory as userProviderCredentialsFactory, UserProviderCredentialSchema, ProviderCredentialValidationState, auditLogsResourceConfiguration_InitializationFactory as auditLogsFactory, siemExportConfigPolymorphicFactories, siemDeliveryDlqPolymorphicFactories, ssoConfigPolymorphicFactories, SsoConfig_Operations, ssoConnectionPolymorphicFactories, scimProvisioningConfigPolymorphicFactories, scimTokensPolymorphicFactories, ApiKeyOrganizationSchema, AuditableEvent_BaseSchema, SiemExportConfigBaseSchema, SiemDeliveryDlqBaseSchema, SiemDeliveryDlqStatus, SsoConfigBaseSchema, SsoConnectionBaseSchema, ScimProvisioningConfigBaseSchema, ScimTokenBaseSchema, SsoProtocol, SIEMAuthMethod, } from '@wildo-ai/saas-models';
|
|
7
7
|
import { addressable, notAddressable } from './resource.config.utils.js';
|
|
8
8
|
// ── SIEM export config — field overrides (shared across polymorphic variants) ─
|
|
9
9
|
const siemExportFieldOverrides = {
|
|
@@ -48,46 +48,46 @@ function OrgApiKeyEditTemplate() {
|
|
|
48
48
|
return (_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" })] })] }));
|
|
49
49
|
}
|
|
50
50
|
function OrgApiKeySummaryTemplate() {
|
|
51
|
-
return (_jsxs(SummaryLayout, {
|
|
51
|
+
return (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "name" }), _jsxs(SummaryMeta, { children: [_jsx(DisplayField, { name: "scope" }), _jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "keyPrefix" })] })] }));
|
|
52
52
|
}
|
|
53
53
|
function AuditLogDisplayTemplate() {
|
|
54
54
|
return (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "eventType" }), _jsx(DisplayField, { name: "eventCategory" }), _jsx(DisplayField, { name: "severity" }), _jsx(DisplayField, { name: "riskLevel" })] }), _jsxs(Section, { name: "actors", children: [_jsx(DisplayField, { name: "userId" }), _jsx(DisplayField, { name: "organizationId" })] }), _jsxs(Section, { name: "payload", children: [_jsx(DisplayField, { name: "eventData" }), _jsx(DisplayField, { name: "createdAt" })] })] }));
|
|
55
55
|
}
|
|
56
56
|
function AuditLogSummaryTemplate() {
|
|
57
|
-
return (_jsxs(SummaryLayout, {
|
|
57
|
+
return (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "eventType" }), _jsxs(SummaryMeta, { children: [_jsx(DisplayField, { name: "eventCategory" }), _jsx(DisplayField, { name: "severity" }), _jsx(DisplayField, { name: "createdAt" })] })] }));
|
|
58
58
|
}
|
|
59
59
|
function SiemExportSummaryTemplate() {
|
|
60
|
-
return (_jsx(SummaryLayout, {
|
|
60
|
+
return (_jsx(SummaryLayout, { flow: SummaryFlow.ROW, children: _jsx(DisplayField, { name: "enabled" }) }));
|
|
61
61
|
}
|
|
62
62
|
function SiemDlqDisplayTemplate() {
|
|
63
63
|
return (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "failureReason" })] }), _jsxs(Section, { name: "delivery", children: [_jsx(DisplayField, { name: "eventId" }), _jsx(DisplayField, { name: "failureCount" }), _jsx(DisplayField, { name: "lastAttemptAt" }), _jsx(DisplayField, { name: "nextRetryAt" })] }), _jsx(Section, { name: "payload", children: _jsx(DisplayField, { name: "eventPayload" }) })] }));
|
|
64
64
|
}
|
|
65
65
|
function SiemDlqSummaryTemplate() {
|
|
66
|
-
return (_jsxs(SummaryLayout, {
|
|
66
|
+
return (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "failureReason" }), _jsx(SummaryMeta, { children: _jsx(DisplayField, { name: "status" }) })] }));
|
|
67
67
|
}
|
|
68
68
|
function SsoConfigDisplayTemplate() {
|
|
69
|
-
return (_jsxs(DisplayLayout, { children: [_jsx(Section, { name: "enforcement", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "enforcement", children: [_jsx(DisplayField, { name: "requireSSO" }), _jsx(DisplayField, { name: "allowPasswordFallback" }), _jsx(DisplayField, { name: "
|
|
69
|
+
return (_jsxs(DisplayLayout, { children: [_jsx(Section, { name: "enforcement", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "enforcement", children: [_jsx(DisplayField, { name: "requireSSO" }), _jsx(DisplayField, { name: "allowPasswordFallback" }), _jsx(DisplayField, { name: "graceLoginAttempts" })] }) }), _jsx(Section, { name: "domains", children: _jsxs(ObjectScope, { name: "domains", children: [_jsx(DisplayField, { name: "verifiedDomains" }), _jsx(DisplayField, { name: "ssoEnabledDomains" }), _jsx(DisplayField, { name: "domainHinting" }), _jsx(DisplayField, { name: "allowExternalDomains" }), _jsx(DisplayField, { name: "domainVerificationStatus" })] }) }), _jsx(Section, { name: "provisioning", children: _jsxs(ObjectScope, { name: "provisioning", children: [_jsx(DisplayField, { name: "autoCreateUsers" }), _jsx(DisplayField, { name: "autoUpdateUsers" }), _jsx(DisplayField, { name: "autoDeactivateUsers" }), _jsx(DisplayField, { name: "defaultRole" }), _jsx(DisplayField, { name: "requiredAttributes" }), _jsx(DisplayField, { name: "syncFrequencyHours" })] }) }), _jsx(Section, { name: "session", children: _jsxs(ObjectScope, { name: "sessionSettings", children: [_jsx(DisplayField, { name: "ssoSessionDurationMinutes" }), _jsx(DisplayField, { name: "requireReauthForSensitive" }), _jsx(DisplayField, { name: "singleLogoutEnabled" }), _jsx(DisplayField, { name: "maxConcurrentSessions" })] }) }), _jsx(Section, { name: "audit", children: _jsxs(ObjectScope, { name: "auditConfig", children: [_jsx(DisplayField, { name: "logAllSSOEvents" }), _jsx(DisplayField, { name: "logProviderSwitching" }), _jsx(DisplayField, { name: "logRoleMapping" }), _jsx(DisplayField, { name: "complianceReporting" }), _jsx(DisplayField, { name: "retentionDays" })] }) }), _jsx(Section, { name: "emergency", children: _jsxs(ObjectScope, { name: "emergencyAccess", children: [_jsx(DisplayField, { name: "enabled" }), _jsx(DisplayField, { name: "breakGlassAccounts" })] }) }), _jsxs(Section, { name: "oauth", children: [_jsxs(ObjectScope, { name: "oauth2ProviderRestrictions", children: [_jsx(DisplayField, { name: "allowedProviders" }), _jsx(DisplayField, { name: "blockedProviders" }), _jsx(DisplayField, { name: "requireEnterpriseSSOOnly" })] }), _jsx(DisplayField, { name: "socialCredentialOverrides" })] })] }));
|
|
70
70
|
}
|
|
71
71
|
function SsoConfigSummaryTemplate() {
|
|
72
|
-
return (_jsx(SummaryLayout, {
|
|
72
|
+
return (_jsx(SummaryLayout, { flow: SummaryFlow.ROW, children: _jsx(ObjectScope, { name: "enforcement", children: _jsx(DisplayField, { name: "requireSSO" }) }) }));
|
|
73
73
|
}
|
|
74
74
|
function SsoConnectionDisplayTemplate() {
|
|
75
|
-
return (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "displayName" }), _jsx(DisplayField, { name: "protocol" }), _jsx(DisplayField, { name: "enabled" }), _jsx(DisplayField, { name: "isDefault" }), _jsx(DisplayField, { name: "externalProviderId" })] }), _jsx(Section, { name: "oidc", children: _jsxs(ObjectScope, { name: "oidc", children: [_jsx(DisplayField, { name: "templateMode" }), _jsx(DisplayField, { name: "discoveryUrl" }), _jsx(DisplayField, { name: "issuer" }), _jsx(DisplayField, { name: "authorizationEndpoint" }), _jsx(DisplayField, { name: "tokenEndpoint" }), _jsx(DisplayField, { name: "userInfoEndpoint" }), _jsx(DisplayField, { name: "jwksUri" }), _jsx(DisplayField, { name: "endSessionEndpoint" }), _jsx(DisplayField, { name: "clientId" }), _jsx(DisplayField, { name: "scopes" }), _jsx(DisplayField, { name: "responseType" }), _jsx(DisplayField, { name: "responseMode" }), _jsx(DisplayField, { name: "
|
|
75
|
+
return (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "displayName" }), _jsx(DisplayField, { name: "protocol" }), _jsx(DisplayField, { name: "enabled" }), _jsx(DisplayField, { name: "isDefault" }), _jsx(DisplayField, { name: "externalProviderId" })] }), _jsx(Section, { name: "oidc", children: _jsxs(ObjectScope, { name: "oidc", children: [_jsx(DisplayField, { name: "templateMode" }), _jsx(DisplayField, { name: "discoveryUrl" }), _jsx(DisplayField, { name: "issuer" }), _jsx(DisplayField, { name: "authorizationEndpoint" }), _jsx(DisplayField, { name: "tokenEndpoint" }), _jsx(DisplayField, { name: "userInfoEndpoint" }), _jsx(DisplayField, { name: "jwksUri" }), _jsx(DisplayField, { name: "endSessionEndpoint" }), _jsx(DisplayField, { name: "clientId" }), _jsx(DisplayField, { name: "scopes" }), _jsx(DisplayField, { name: "responseType" }), _jsx(DisplayField, { name: "responseMode" }), _jsx(DisplayField, { name: "pkceEnabled" }), _jsx(DisplayField, { name: "pkceMethod" }), _jsx(DisplayField, { name: "prompt" }), _jsx(DisplayField, { name: "acrValues" }), _jsx(DisplayField, { name: "maxAge" }), _jsx(DisplayField, { name: "claimsMapping" }), _jsx(DisplayField, { name: "auditSettings" })] }) }), _jsx(Section, { name: "saml", children: _jsxs(ObjectScope, { name: "saml", children: [_jsx(DisplayField, { name: "entityId" }), _jsx(DisplayField, { name: "ssoUrl" }), _jsx(DisplayField, { name: "sloUrl" }), _jsx(DisplayField, { name: "x509CertificatePem" }), _jsx(DisplayField, { name: "attributeMapping" }), _jsx(DisplayField, { name: "signRequests" }), _jsx(DisplayField, { name: "wantAssertionsSigned" }), _jsx(DisplayField, { name: "allowedClockDrift" }), _jsx(DisplayField, { name: "forceAuthn" }), _jsx(DisplayField, { name: "maxAuthAge" }), _jsx(DisplayField, { name: "nameIdFormat" }), _jsx(DisplayField, { name: "allowIdpInitiated" }), _jsx(DisplayField, { name: "auditSettings" })] }) }), _jsxs(Section, { name: "provisioning", children: [_jsx(DisplayField, { name: "autoCreateUsers" }), _jsx(DisplayField, { name: "autoVerifyEmail" }), _jsx(DisplayField, { name: "bypassAppMFA" }), _jsx(DisplayField, { name: "defaultRole" }), _jsx(DisplayField, { name: "allowedDomains" }), _jsx(DisplayField, { name: "roleMapping" }), _jsx(DisplayField, { name: "groupMapping" })] })] }));
|
|
76
76
|
}
|
|
77
77
|
function SsoConnectionSummaryTemplate() {
|
|
78
|
-
return (_jsxs(SummaryLayout, {
|
|
78
|
+
return (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "displayName" }), _jsxs(SummaryMeta, { children: [_jsx(DisplayField, { name: "protocol" }), _jsx(DisplayField, { name: "enabled" })] })] }));
|
|
79
79
|
}
|
|
80
80
|
function ScimProvisioningDisplayTemplate() {
|
|
81
81
|
return (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "autoCreateUsers" }), _jsx(DisplayField, { name: "autoVerifyEmail" }), _jsx(DisplayField, { name: "autoDeactivateUsers" }), _jsx(DisplayField, { name: "defaultRole" })] }), _jsx(Section, { name: "mapping", children: _jsx(DisplayField, { name: "attributeMapping" }) }), _jsxs(Section, { name: "lifecycle", children: [_jsx(DisplayField, { name: "createdAt" }), _jsx(DisplayField, { name: "updatedAt" })] })] }));
|
|
82
82
|
}
|
|
83
83
|
function ScimProvisioningSummaryTemplate() {
|
|
84
|
-
return (_jsx(SummaryLayout, {
|
|
84
|
+
return (_jsx(SummaryLayout, { flow: SummaryFlow.ROW, children: _jsx(DisplayField, { name: "autoCreateUsers" }) }));
|
|
85
85
|
}
|
|
86
86
|
function ScimTokenDisplayTemplate() {
|
|
87
87
|
return (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "displayName" }), _jsx(DisplayField, { name: "isActive" }), _jsx(DisplayField, { name: "createdByUserId" })] }), _jsxs(Section, { name: "lifecycle", children: [_jsx(DisplayField, { name: "lastUsedAt" }), _jsx(DisplayField, { name: "expiresAt" }), _jsx(DisplayField, { name: "createdAt" })] })] }));
|
|
88
88
|
}
|
|
89
89
|
function ScimTokenSummaryTemplate() {
|
|
90
|
-
return (_jsxs(SummaryLayout, {
|
|
90
|
+
return (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "displayName" }), _jsx(SummaryMeta, { children: _jsx(DisplayField, { name: "isActive" }) })] }));
|
|
91
91
|
}
|
|
92
92
|
export function buildSecurityMainPresets() {
|
|
93
93
|
return {
|
|
@@ -138,6 +138,88 @@ export function buildSecurityMainPresets() {
|
|
|
138
138
|
[OrgApiKeys_Operations.USAGE_STATS, notAddressable({ iconOverride: ChartColumn })],
|
|
139
139
|
],
|
|
140
140
|
})),
|
|
141
|
+
/**
|
|
142
|
+
* The tenant's OWN credentials toward third parties.
|
|
143
|
+
*
|
|
144
|
+
* Easy to read as a sibling of API keys and it is their mirror image: an API key lets somebody
|
|
145
|
+
* reach THIS application, and one of these lets this application reach somebody else AS THIS
|
|
146
|
+
* TENANT. Same administrator, opposite direction — which is why they sit next to each other in
|
|
147
|
+
* Settings and must not be described in the same words.
|
|
148
|
+
*
|
|
149
|
+
* ## No layout refs, deliberately
|
|
150
|
+
*
|
|
151
|
+
* Declaring `layout.refs.sections` creates a contract the resource SPECIFICATION has to document
|
|
152
|
+
* slot for slot, validated at load; this resource has eight visible fields and no section would
|
|
153
|
+
* earn that coupling. Field-level UI is the whole surface until it needs one.
|
|
154
|
+
*
|
|
155
|
+
* ## What the administrator can see, and what they cannot
|
|
156
|
+
*
|
|
157
|
+
* `secretValue` is `.isWriteOnlySecret()`, so it is present in the CREATE and UPDATE forms and
|
|
158
|
+
* masked on every read — the operator supplies and rotates it, and no screen ever shows it back.
|
|
159
|
+
* Nothing here weakens that; the preset only names the fields that are already readable.
|
|
160
|
+
*/
|
|
161
|
+
[R.ORG_PROVIDER_CREDENTIALS]: resourceUIBehavior(orgProviderCredentialsFactory, OrganizationProviderCredentialSchema, ({ schemaShape }) => ({
|
|
162
|
+
icon: KeyRound,
|
|
163
|
+
fields: {
|
|
164
|
+
validationState: schemaShape.validationState.enumUI({
|
|
165
|
+
display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },
|
|
166
|
+
edit: { showDescription: true },
|
|
167
|
+
values: {
|
|
168
|
+
// UNVALIDATED is the honest default and is not a warning: storing a credential proves
|
|
169
|
+
// only that somebody typed one, which is a normal state rather than a problem.
|
|
170
|
+
[ProviderCredentialValidationState.UNVALIDATED]: { color: BadgeSemanticVariant.SECONDARY },
|
|
171
|
+
[ProviderCredentialValidationState.VALID]: { color: BadgeSemanticVariant.SUCCESS },
|
|
172
|
+
// The provider REJECTED it on its last use, so the tenant is acting as nobody until it
|
|
173
|
+
// is rotated. That is a call to action, not an error the screen has to explain away.
|
|
174
|
+
[ProviderCredentialValidationState.INVALID]: { color: BadgeSemanticVariant.WARNING },
|
|
175
|
+
},
|
|
176
|
+
}),
|
|
177
|
+
},
|
|
178
|
+
getFrontendResourceLabel: ({ currentObject }) => `${currentObject.providerRef} · ${currentObject.secretSlug}`,
|
|
179
|
+
emptyState: { primaryAction: Op.CREATE },
|
|
180
|
+
views: [
|
|
181
|
+
[Op.READ, notAddressable()],
|
|
182
|
+
[Op.LIST, addressable()],
|
|
183
|
+
[Op.CREATE, notAddressable()],
|
|
184
|
+
[Op.UPDATE, notAddressable()],
|
|
185
|
+
[Op.DELETE, notAddressable()],
|
|
186
|
+
],
|
|
187
|
+
})),
|
|
188
|
+
[R.USER_PROVIDER_CREDENTIALS]: resourceUIBehavior(userProviderCredentialsFactory, UserProviderCredentialSchema, ({ schemaShape }) => ({
|
|
189
|
+
icon: KeyRound,
|
|
190
|
+
fields: {
|
|
191
|
+
// The same three states as the tenant's, coloured identically on purpose: a person reading
|
|
192
|
+
// their own connections and an administrator reading the tenant's are answering the same
|
|
193
|
+
// question, and two colour languages for one vocabulary is how a reader learns to distrust
|
|
194
|
+
// both. The WORDS come from the enum's i18n entry, authored once for every surface.
|
|
195
|
+
validationState: schemaShape.validationState.enumUI({
|
|
196
|
+
display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },
|
|
197
|
+
edit: { showDescription: true },
|
|
198
|
+
values: {
|
|
199
|
+
// UNVALIDATED is the honest default and is not a warning: storing a credential proves
|
|
200
|
+
// only that somebody typed one, which is a normal state rather than a problem.
|
|
201
|
+
[ProviderCredentialValidationState.UNVALIDATED]: { color: BadgeSemanticVariant.SECONDARY },
|
|
202
|
+
[ProviderCredentialValidationState.VALID]: { color: BadgeSemanticVariant.SUCCESS },
|
|
203
|
+
// The provider REJECTED it on its last use. For a person this is the more actionable of
|
|
204
|
+
// the two failure shapes: nobody else can rotate it for them, so the badge is the only
|
|
205
|
+
// notice they will get that their own integration has stopped working.
|
|
206
|
+
[ProviderCredentialValidationState.INVALID]: { color: BadgeSemanticVariant.WARNING },
|
|
207
|
+
},
|
|
208
|
+
}),
|
|
209
|
+
},
|
|
210
|
+
getFrontendResourceLabel: ({ currentObject }) => `${currentObject.providerRef} · ${currentObject.secretSlug}`,
|
|
211
|
+
emptyState: { primaryAction: Op.CREATE },
|
|
212
|
+
// No `layout.refs`, matching the tenant sibling: this resource declares no layout sections in
|
|
213
|
+
// its specification, and a preset naming refs the layout does not declare fails the
|
|
214
|
+
// structural-slot validator at import time and crash-loops the companion.
|
|
215
|
+
views: [
|
|
216
|
+
[Op.READ, notAddressable()],
|
|
217
|
+
[Op.LIST, addressable()],
|
|
218
|
+
[Op.CREATE, notAddressable()],
|
|
219
|
+
[Op.UPDATE, notAddressable()],
|
|
220
|
+
[Op.DELETE, notAddressable()],
|
|
221
|
+
],
|
|
222
|
+
})),
|
|
141
223
|
[R.AUDIT_LOGS]: resourceUIBehavior(auditLogsFactory, AuditableEvent_BaseSchema, ({ schema, schemaShape, opsVariantResolver }) => ({
|
|
142
224
|
icon: ShieldCheck,
|
|
143
225
|
getFrontendResourceLabel: ({ currentObject }) => `${currentObject.eventType ?? 'Audit Event'} — ${currentObject.createdAt?.toISOString?.() ?? ''}`,
|
|
@@ -271,6 +353,12 @@ export function buildSecurityMainPresets() {
|
|
|
271
353
|
},
|
|
272
354
|
views: [
|
|
273
355
|
[Op.READ, addressable()],
|
|
356
|
+
// Domain ownership is the one publicly mutable part of this policy row (#424). The three
|
|
357
|
+
// actions live beside the `domains` section: claim returns a DNS record to copy, verify
|
|
358
|
+
// resolves it, revoke releases the domain for another scope to verify.
|
|
359
|
+
[SsoConfig_Operations.CLAIM_DOMAIN, notAddressable({ iconOverride: Globe })],
|
|
360
|
+
[SsoConfig_Operations.VERIFY_DOMAIN, notAddressable({ iconOverride: ShieldCheck })],
|
|
361
|
+
[SsoConfig_Operations.REVOKE_DOMAIN, notAddressable({ iconOverride: Unlink })],
|
|
274
362
|
],
|
|
275
363
|
variantOverrides: {
|
|
276
364
|
[R.APPLICATION]: { views: [] },
|
|
@@ -431,6 +519,9 @@ export function buildSecurityAdminPresets(main) {
|
|
|
431
519
|
layout: base.layout,
|
|
432
520
|
views: [
|
|
433
521
|
[Op.READ, addressable()],
|
|
522
|
+
[SsoConfig_Operations.CLAIM_DOMAIN, notAddressable({ iconOverride: Globe })],
|
|
523
|
+
[SsoConfig_Operations.VERIFY_DOMAIN, notAddressable({ iconOverride: ShieldCheck })],
|
|
524
|
+
[SsoConfig_Operations.REVOKE_DOMAIN, notAddressable({ iconOverride: Unlink })],
|
|
434
525
|
],
|
|
435
526
|
variantOverrides: {
|
|
436
527
|
[R.ORGANIZATIONS]: {
|