@wildo-ai/saas-frontend-lib 1.1.9 → 1.1.11
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/companion-exports.d.ts +2 -1
- package/dist/esm/companion-exports.d.ts.map +1 -1
- package/dist/esm/companion-exports.js +2 -1
- package/dist/esm/companion-exports.js.map +1 -1
- package/dist/esm/components/actions/action-bar.d.ts +45 -1
- package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
- package/dist/esm/components/actions/action-bar.js +84 -0
- package/dist/esm/components/actions/action-bar.js.map +1 -1
- package/dist/esm/components/actions/button.d.ts +22 -0
- package/dist/esm/components/actions/button.d.ts.map +1 -1
- package/dist/esm/components/actions/button.js +45 -0
- package/dist/esm/components/actions/button.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation-thread.d.ts +109 -0
- package/dist/esm/components/ai-elements/chat/conversation-thread.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/chat/conversation-thread.js +22 -0
- package/dist/esm/components/ai-elements/chat/conversation-thread.js.map +1 -0
- package/dist/esm/components/ai-elements/decision/approval.d.ts +103 -7
- package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.d.ts +6 -0
- package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.d.ts +60 -1
- package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.js +26 -0
- package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.d.ts +39 -4
- package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.js +18 -0
- package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts +6 -0
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js +29 -8
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
- package/dist/esm/components/app/AppLayout_DecisionInbox.d.ts +17 -0
- package/dist/esm/components/app/AppLayout_DecisionInbox.d.ts.map +1 -0
- package/dist/esm/components/app/AppLayout_DecisionInbox.js +24 -0
- package/dist/esm/components/app/AppLayout_DecisionInbox.js.map +1 -0
- package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_MainContainer.js +3 -0
- package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_LegalNotice.d.ts +18 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.d.ts.map +1 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.js +8 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.js.map +1 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.labels.d.ts +3 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.labels.d.ts.map +1 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.labels.js +38 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.labels.js.map +1 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.d.ts +15 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.d.ts.map +1 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.js +219 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.js.map +1 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.d.ts +3 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.d.ts.map +1 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.js +49 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.js.map +1 -0
- package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.js +3 -2
- package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.labels.js +2 -2
- package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.js +40 -7
- package/dist/esm/components/auth/Auth_Main.js.map +1 -1
- package/dist/esm/components/auth/Auth_Main.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.labels.js +9 -0
- package/dist/esm/components/auth/Auth_Main.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.js +3 -2
- package/dist/esm/components/auth/Auth_OAuthConsent.js.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.labels.js +2 -2
- package/dist/esm/components/auth/Auth_PasswordLost.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Register.js +8 -1
- package/dist/esm/components/auth/Auth_Register.js.map +1 -1
- package/dist/esm/components/auth/Auth_Register.labels.js +2 -2
- package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.d.ts +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.js +3 -3
- package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js +94 -6
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js +21 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js +16 -13
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js.map +1 -1
- package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js +3 -3
- package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js.map +1 -1
- package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js +1 -1
- package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js +3 -4
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.d.ts +11 -0
- package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.d.ts.map +1 -0
- package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.js +25 -0
- package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.js.map +1 -0
- package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.d.ts +39 -0
- package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.d.ts.map +1 -0
- package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.js +45 -0
- package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.js.map +1 -0
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
- package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.d.ts.map +1 -1
- package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js +2 -1
- package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.js +21 -35
- package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayField.js +98 -70
- package/dist/esm/components/data-display/DisplayField.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.js +48 -8
- package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts +3 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.js +30 -4
- package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.js +2 -2
- package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.js +45 -94
- package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js +14 -8
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts +41 -3
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.js +49 -5
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/SummaryContext.d.ts +2 -2
- package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
- package/dist/esm/components/data-display/automatic-displayer.utils.d.ts +22 -1
- package/dist/esm/components/data-display/automatic-displayer.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/automatic-displayer.utils.js +29 -0
- package/dist/esm/components/data-display/automatic-displayer.utils.js.map +1 -1
- package/dist/esm/components/data-display/badge.d.ts +9 -0
- package/dist/esm/components/data-display/badge.d.ts.map +1 -1
- package/dist/esm/components/data-display/badge.js.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts +14 -2
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js +42 -12
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
- package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.d.ts +10 -0
- package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.d.ts.map +1 -0
- package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.js +18 -0
- package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.js.map +1 -0
- package/dist/esm/components/data-display/chromes/field-tile-boundaries.d.ts +38 -0
- package/dist/esm/components/data-display/chromes/field-tile-boundaries.d.ts.map +1 -0
- package/dist/esm/components/data-display/chromes/field-tile-boundaries.js +30 -0
- package/dist/esm/components/data-display/chromes/field-tile-boundaries.js.map +1 -0
- package/dist/esm/components/data-display/chromes/field-tiles.utils.d.ts +22 -0
- package/dist/esm/components/data-display/chromes/field-tiles.utils.d.ts.map +1 -0
- package/dist/esm/components/data-display/chromes/field-tiles.utils.js +52 -0
- package/dist/esm/components/data-display/chromes/field-tiles.utils.js.map +1 -0
- package/dist/esm/components/data-display/display-field-resolved-props.d.ts +4 -0
- package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
- package/dist/esm/components/data-display/display-layout-template.utils.d.ts +18 -0
- package/dist/esm/components/data-display/display-layout-template.utils.d.ts.map +1 -0
- package/dist/esm/components/data-display/display-layout-template.utils.js +18 -0
- package/dist/esm/components/data-display/display-layout-template.utils.js.map +1 -0
- package/dist/esm/components/data-display/display-value-emptiness.utils.d.ts +44 -0
- package/dist/esm/components/data-display/display-value-emptiness.utils.d.ts.map +1 -0
- package/dist/esm/components/data-display/display-value-emptiness.utils.js +61 -0
- package/dist/esm/components/data-display/display-value-emptiness.utils.js.map +1 -0
- package/dist/esm/components/data-display/empty-value-mark.d.ts +31 -0
- package/dist/esm/components/data-display/empty-value-mark.d.ts.map +1 -0
- package/dist/esm/components/data-display/empty-value-mark.js +49 -0
- package/dist/esm/components/data-display/empty-value-mark.js.map +1 -0
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts +3 -2
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js +4 -4
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts +6 -3
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js +22 -12
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js +2 -2
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js.map +1 -1
- package/dist/esm/components/data-display/reference-display-target.d.ts +98 -0
- package/dist/esm/components/data-display/reference-display-target.d.ts.map +1 -0
- package/dist/esm/components/data-display/reference-display-target.js +154 -0
- package/dist/esm/components/data-display/reference-display-target.js.map +1 -0
- package/dist/esm/components/data-display/summary-value-naming.context.d.ts +15 -0
- package/dist/esm/components/data-display/summary-value-naming.context.d.ts.map +1 -0
- package/dist/esm/components/data-display/summary-value-naming.context.js +18 -0
- package/dist/esm/components/data-display/summary-value-naming.context.js.map +1 -0
- package/dist/esm/components/data-display/tone-marker.d.ts +38 -0
- package/dist/esm/components/data-display/tone-marker.d.ts.map +1 -0
- package/dist/esm/components/data-display/tone-marker.js +56 -0
- package/dist/esm/components/data-display/tone-marker.js.map +1 -0
- package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
- package/dist/esm/components/data-display/useFileActivation.js +2 -9
- package/dist/esm/components/data-display/useFileActivation.js.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.js +12 -4
- package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts +8 -0
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts +0 -5
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -1
- package/dist/esm/components/files/Files_UploadGrantDrop.js +5 -17
- package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -1
- package/dist/esm/components/flows-actors/actor.d.ts +21 -4
- package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/actor.js +114 -192
- package/dist/esm/components/flows-actors/actor.js.map +1 -1
- package/dist/esm/components/flows-actors/actor.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/actor.labels.js +5 -10
- package/dist/esm/components/flows-actors/actor.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.js +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/approval-modification-refusal.utils.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js +1 -0
- package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.d.ts +26 -16
- package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.js +208 -70
- package/dist/esm/components/flows-actors/approval.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.labels.js +67 -22
- package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.labels.js +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.d.ts +19 -7
- package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.js +55 -41
- package/dist/esm/components/flows-actors/execution-plan.js.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.labels.js +25 -8
- package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/execution-usage.d.ts +69 -0
- package/dist/esm/components/flows-actors/execution-usage.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/execution-usage.js +189 -0
- package/dist/esm/components/flows-actors/execution-usage.js.map +1 -0
- package/dist/esm/components/flows-actors/execution-usage.labels.d.ts +3 -0
- package/dist/esm/components/flows-actors/execution-usage.labels.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/execution-usage.labels.js +27 -0
- package/dist/esm/components/flows-actors/execution-usage.labels.js.map +1 -0
- package/dist/esm/components/flows-actors/flow-execution.d.ts +23 -6
- package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.js +56 -208
- package/dist/esm/components/flows-actors/flow-execution.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.labels.js +3 -10
- package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.d.ts +54 -21
- package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.js +80 -6
- package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.labels.js +0 -8
- package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-step-visuals.d.ts +31 -0
- package/dist/esm/components/flows-actors/flow-step-visuals.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/flow-step-visuals.js +98 -0
- package/dist/esm/components/flows-actors/flow-step-visuals.js.map +1 -0
- package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts +18 -19
- package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js +18 -19
- package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts +27 -42
- package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js +28 -43
- package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts +15 -10
- package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-ui.utils.js +16 -42
- package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
- package/dist/esm/components/flows-actors/graph-viewer.d.ts +112 -0
- package/dist/esm/components/flows-actors/graph-viewer.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/graph-viewer.js +431 -0
- package/dist/esm/components/flows-actors/graph-viewer.js.map +1 -0
- package/dist/esm/components/flows-actors/graph-viewer.labels.d.ts +3 -0
- package/dist/esm/components/flows-actors/graph-viewer.labels.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/graph-viewer.labels.js +67 -0
- package/dist/esm/components/flows-actors/graph-viewer.labels.js.map +1 -0
- package/dist/esm/components/flows-actors/graph-viewer.models.d.ts +16 -0
- package/dist/esm/components/flows-actors/graph-viewer.models.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/graph-viewer.models.js +18 -0
- package/dist/esm/components/flows-actors/graph-viewer.models.js.map +1 -0
- package/dist/esm/components/flows-actors/human-decision-form.d.ts +57 -0
- package/dist/esm/components/flows-actors/human-decision-form.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/human-decision-form.js +128 -0
- package/dist/esm/components/flows-actors/human-decision-form.js.map +1 -0
- package/dist/esm/components/flows-actors/system-catalog.d.ts +6 -1
- package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.js +22 -20
- package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.labels.js +3 -2
- package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.d.ts +17 -3
- package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.js +32 -25
- package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.js +3 -2
- package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
- package/dist/esm/components/form/Form.d.ts +2 -0
- package/dist/esm/components/form/Form.d.ts.map +1 -1
- package/dist/esm/components/form/Form.js +4 -0
- package/dist/esm/components/form/Form.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.d.ts +16 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.js +101 -21
- package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.d.ts +19 -2
- package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.js +40 -6
- package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.d.ts +22 -1
- package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.js +53 -0
- package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
- package/dist/esm/components/form/automated/FormField.d.ts +1 -1
- package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormField.js +127 -53
- package/dist/esm/components/form/automated/FormField.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldComposite.js +12 -10
- package/dist/esm/components/form/automated/FormFieldComposite.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldRecord.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldRecord.js +16 -7
- package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.d.ts +27 -0
- package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.js +0 -48
- package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts +4 -3
- package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js +616 -149
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts +105 -5
- package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/automated-form-submit.utils.js +225 -6
- package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
- package/dist/esm/components/form/automated/bulk-field-clear-context.d.ts +59 -0
- package/dist/esm/components/form/automated/bulk-field-clear-context.d.ts.map +1 -0
- package/dist/esm/components/form/automated/bulk-field-clear-context.js +77 -0
- package/dist/esm/components/form/automated/bulk-field-clear-context.js.map +1 -0
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts +1 -1
- package/dist/esm/components/form/automated/unplaced-request-fields.context.d.ts +19 -0
- package/dist/esm/components/form/automated/unplaced-request-fields.context.d.ts.map +1 -0
- package/dist/esm/components/form/automated/unplaced-request-fields.context.js +13 -0
- package/dist/esm/components/form/automated/unplaced-request-fields.context.js.map +1 -0
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts +7 -0
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.js +10 -2
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
- package/dist/esm/components/form/automated/useReferenceRecordLabels.d.ts +16 -0
- package/dist/esm/components/form/automated/useReferenceRecordLabels.d.ts.map +1 -0
- package/dist/esm/components/form/automated/useReferenceRecordLabels.js +66 -0
- package/dist/esm/components/form/automated/useReferenceRecordLabels.js.map +1 -0
- package/dist/esm/components/form/automated/useRequestFieldOffer.d.ts +18 -0
- package/dist/esm/components/form/automated/useRequestFieldOffer.d.ts.map +1 -0
- package/dist/esm/components/form/automated/useRequestFieldOffer.js +107 -0
- package/dist/esm/components/form/automated/useRequestFieldOffer.js.map +1 -0
- package/dist/esm/components/form/chromes/FormFieldChrome.d.ts +7 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.js +6 -3
- package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts +11 -0
- package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.d.ts +21 -0
- package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts +9 -0
- 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.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts +9 -0
- 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.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts +1 -0
- 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.js.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.d.ts +10 -0
- package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.d.ts +14 -10
- package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.js +14 -6
- package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.js +7 -3
- package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
- package/dist/esm/components/form/controls/string/chips-input.d.ts +65 -0
- package/dist/esm/components/form/controls/string/chips-input.d.ts.map +1 -0
- package/dist/esm/components/form/controls/string/chips-input.js +9 -0
- package/dist/esm/components/form/controls/string/chips-input.js.map +1 -0
- package/dist/esm/components/form/fields/form-field-address.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.js +7 -5
- package/dist/esm/components/form/fields/form-field-address.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.labels.js +1 -1
- package/dist/esm/components/form/fields/form-field-address.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.js +2 -2
- package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.js +2 -2
- package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.labels.js +1 -1
- package/dist/esm/components/form/fields/form-field-code.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.js +16 -11
- package/dist/esm/components/form/fields/form-field-date.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.js +10 -5
- package/dist/esm/components/form/fields/form-field-datetime.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.js +5 -7
- package/dist/esm/components/form/fields/form-field-duration.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.labels.js +8 -2
- package/dist/esm/components/form/fields/form-field-duration.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.js +31 -31
- package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.js +13 -12
- package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.labels.js +6 -6
- package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.js +5 -4
- package/dist/esm/components/form/fields/form-field-money.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.labels.js +8 -2
- package/dist/esm/components/form/fields/form-field-money.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.js +2 -2
- package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.js +2 -2
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.js +7 -2
- package/dist/esm/components/form/fields/form-field-range-date.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.js +5 -2
- package/dist/esm/components/form/fields/form-field-range-datetime.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.js +6 -19
- package/dist/esm/components/form/fields/form-field-range-money.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.labels.js +8 -2
- package/dist/esm/components/form/fields/form-field-range-money.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.js +2 -2
- package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.js +2 -2
- package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-resource-reference.d.ts +56 -0
- package/dist/esm/components/form/fields/form-field-resource-reference.d.ts.map +1 -0
- package/dist/esm/components/form/fields/form-field-resource-reference.js +51 -0
- package/dist/esm/components/form/fields/form-field-resource-reference.js.map +1 -0
- package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts +36 -6
- package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string-organization-role.js +30 -11
- package/dist/esm/components/form/fields/form-field-string-organization-role.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.d.ts +5 -0
- package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.js +9 -7
- package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.js +6 -3
- package/dist/esm/components/form/fields/form-field-time.js.map +1 -1
- package/dist/esm/components/form/fields/themed-native-select.d.ts +29 -0
- package/dist/esm/components/form/fields/themed-native-select.d.ts.map +1 -0
- package/dist/esm/components/form/fields/themed-native-select.js +36 -0
- package/dist/esm/components/form/fields/themed-native-select.js.map +1 -0
- package/dist/esm/components/form/form-context.d.ts +11 -0
- package/dist/esm/components/form/form-context.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.js +11 -0
- package/dist/esm/components/form/form-context.js.map +1 -1
- package/dist/esm/components/form/form-context.utils.d.ts +2 -0
- package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.utils.js +6 -2
- package/dist/esm/components/form/form-context.utils.js.map +1 -1
- package/dist/esm/components/form/validation-errors/FormErrorSummary.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/FormErrorSummary.js +17 -15
- package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
- package/dist/esm/components/form/validation-errors/field-reveal.d.ts +41 -0
- package/dist/esm/components/form/validation-errors/field-reveal.d.ts.map +1 -0
- package/dist/esm/components/form/validation-errors/field-reveal.js +108 -0
- package/dist/esm/components/form/validation-errors/field-reveal.js.map +1 -0
- package/dist/esm/components/form/validation-errors/form-level-error-recheck.d.ts +3 -0
- package/dist/esm/components/form/validation-errors/form-level-error-recheck.d.ts.map +1 -0
- package/dist/esm/components/form/validation-errors/form-level-error-recheck.js +37 -0
- package/dist/esm/components/form/validation-errors/form-level-error-recheck.js.map +1 -0
- package/dist/esm/components/form/validation-errors/getFieldError.d.ts +6 -0
- package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/getFieldError.js +9 -2
- package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
- package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts +8 -1
- package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js +46 -3
- package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
- package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/useServerErrorInjection.js +8 -3
- package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
- package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.d.ts +32 -0
- package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.d.ts.map +1 -0
- package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.js +60 -0
- package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.js.map +1 -0
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts +10 -0
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.js +12 -3
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts +7 -0
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts +6 -0
- package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.js.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js +11 -28
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
- package/dist/esm/components/navigation/app-level/engine-launcher-entries.d.ts +46 -0
- package/dist/esm/components/navigation/app-level/engine-launcher-entries.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/engine-launcher-entries.js +165 -0
- package/dist/esm/components/navigation/app-level/engine-launcher-entries.js.map +1 -0
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js +8 -3
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js +41 -20
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts +1 -2
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js +1 -15
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.d.ts +32 -0
- package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.js +91 -0
- package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.js.map +1 -0
- package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js +3 -1
- package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts +18 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +66 -9
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +15 -10
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +89 -12
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js +2 -2
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
- package/dist/esm/components/resources/CollectionSelectAllCheckbox.d.ts +39 -0
- package/dist/esm/components/resources/CollectionSelectAllCheckbox.d.ts.map +1 -0
- package/dist/esm/components/resources/CollectionSelectAllCheckbox.js +21 -0
- package/dist/esm/components/resources/CollectionSelectAllCheckbox.js.map +1 -0
- package/dist/esm/components/resources/CollectionSelectionControls.d.ts +4 -3
- package/dist/esm/components/resources/CollectionSelectionControls.d.ts.map +1 -1
- package/dist/esm/components/resources/CollectionSelectionControls.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts +7 -2
- package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.js +38 -14
- package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts +4 -4
- package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionFilterPresets.js +20 -13
- package/dist/esm/components/resources/ResourceCollectionFilterPresets.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts +4 -3
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js +40 -6
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts +65 -23
- package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.js +73 -10
- package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.labels.js +5 -0
- package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts +18 -0
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js +57 -48
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.js +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +7 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.js +3 -4
- package/dist/esm/components/resources/ResourceLayout_Create.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.labels.js +10 -0
- package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts +5 -3
- package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.js +4 -3
- package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts +8 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.js +83 -11
- package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.js +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts +5 -8
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.js +68 -19
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.js +150 -44
- package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_InsertedViews.js +62 -40
- package/dist/esm/components/resources/ResourceLayout_InsertedViews.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.js +68 -70
- package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.labels.js +4 -10
- package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts +8 -9
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.js +67 -25
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js +8 -8
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts +8 -2
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.js +12 -7
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js +11 -6
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.d.ts +2 -0
- package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.js +23 -5
- package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.js +5 -3
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js +18 -7
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.d.ts +56 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.d.ts.map +1 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.js +184 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.js.map +1 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.d.ts +3 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.d.ts.map +1 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.js +106 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.js.map +1 -0
- package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.js +55 -42
- package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.labels.js +0 -6
- package/dist/esm/components/resources/ResourceLayout_Search.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts +8 -0
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js +2 -3
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SortControl.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SortControl.js +3 -2
- package/dist/esm/components/resources/ResourceLayout_SortControl.js.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.d.ts +29 -5
- package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.js +123 -41
- package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.d.ts +6 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.js +9 -7
- package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
- package/dist/esm/components/resources/collection-card-layout.utils.d.ts +37 -15
- package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/collection-card-layout.utils.js +37 -15
- package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
- package/dist/esm/components/resources/collection-selection-bar-density.d.ts +113 -0
- package/dist/esm/components/resources/collection-selection-bar-density.d.ts.map +1 -0
- package/dist/esm/components/resources/collection-selection-bar-density.js +175 -0
- package/dist/esm/components/resources/collection-selection-bar-density.js.map +1 -0
- package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts +2 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.js.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.js +14 -2
- package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts +61 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.js +151 -15
- package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts +11 -0
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js +13 -0
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts +24 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js +47 -3
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
- package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.d.ts +35 -0
- package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.d.ts.map +1 -0
- package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.js +36 -0
- package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.js.map +1 -0
- package/dist/esm/components/resources/resource-header-geometry.d.ts +19 -0
- package/dist/esm/components/resources/resource-header-geometry.d.ts.map +1 -0
- package/dist/esm/components/resources/resource-header-geometry.js +19 -0
- package/dist/esm/components/resources/resource-header-geometry.js.map +1 -0
- package/dist/esm/components/resources/resourceLayout.utils.d.ts +28 -2
- package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.js +45 -12
- package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayField.js +10 -0
- package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts +20 -4
- package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.js +19 -2
- package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FieldTiles.d.ts +48 -0
- package/dist/esm/components/resources/skeleton/FieldTiles.d.ts.map +1 -0
- package/dist/esm/components/resources/skeleton/FieldTiles.js +51 -0
- package/dist/esm/components/resources/skeleton/FieldTiles.js.map +1 -0
- package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.js +2 -1
- package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.js +5 -2
- package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts +77 -14
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js +98 -25
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.d.ts +7 -0
- package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.js +9 -3
- package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts +3 -3
- package/dist/esm/components/resources/skeleton/SummaryLayout.js +3 -3
- package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.d.ts +7 -5
- package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.js +176 -65
- package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts +9 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.js +7 -0
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.d.ts +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.js +9 -5
- package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.utils.js +31 -2
- package/dist/esm/components/resources/skeleton/section-consolidation.utils.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js +176 -61
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js +14 -7
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js +18 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts +8 -0
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js +3 -0
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js +48 -17
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.js +226 -74
- package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.labels.js +2 -3
- package/dist/esm/components/sections/ContentSectionContainer.labels.js.map +1 -1
- package/dist/esm/components/sections/content-section.d.ts +2 -2
- package/dist/esm/components/sections/content-section.js.map +1 -1
- package/dist/esm/components/sections/section-grouping.shared.d.ts +19 -0
- package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
- package/dist/esm/components/sections/section-grouping.shared.js +24 -0
- package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
- package/dist/esm/components/sections/section-legend-voice.context.d.ts +19 -0
- package/dist/esm/components/sections/section-legend-voice.context.d.ts.map +1 -0
- package/dist/esm/components/sections/section-legend-voice.context.js +21 -0
- package/dist/esm/components/sections/section-legend-voice.context.js.map +1 -0
- package/dist/esm/components/sections/section-legend-voice.d.ts +41 -0
- package/dist/esm/components/sections/section-legend-voice.d.ts.map +1 -0
- package/dist/esm/components/sections/section-legend-voice.js +67 -0
- package/dist/esm/components/sections/section-legend-voice.js.map +1 -0
- package/dist/esm/components/sections/stepper.d.ts +14 -0
- package/dist/esm/components/sections/stepper.d.ts.map +1 -1
- package/dist/esm/components/sections/stepper.js.map +1 -1
- package/dist/esm/components/sections/surface.d.ts.map +1 -1
- package/dist/esm/components/sections/surface.js +10 -2
- package/dist/esm/components/sections/surface.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.d.ts +39 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.js +187 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.js +34 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.js.map +1 -0
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.d.ts +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js +8 -8
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.d.ts +43 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.js +142 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.js +62 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.js.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +25 -8
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +275 -71
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +91 -14
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts +13 -8
- package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.js +95 -23
- package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js +25 -2
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.d.ts +67 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.js +177 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.js +45 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.js.map +1 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.d.ts +35 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.js +137 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.js +38 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.js.map +1 -0
- package/dist/esm/components/settings/SettingsHub.d.ts +3 -3
- package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsHub.js +98 -48
- package/dist/esm/components/settings/SettingsHub.js.map +1 -1
- package/dist/esm/components/settings/SettingsHub.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsHub.labels.js +2 -0
- package/dist/esm/components/settings/SettingsHub.labels.js.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.js +21 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
- package/dist/esm/components/settings/useOwnerProviderConnections.d.ts +24 -5
- package/dist/esm/components/settings/useOwnerProviderConnections.d.ts.map +1 -1
- package/dist/esm/components/settings/useOwnerProviderConnections.js +67 -9
- package/dist/esm/components/settings/useOwnerProviderConnections.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.js +3 -3
- package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-export.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-export.utils.js +2 -9
- package/dist/esm/components/views/chart-view/chart-export.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts +1 -0
- package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/enum-color-bridge.js +10 -1
- package/dist/esm/components/views/chart-view/enum-color-bridge.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts +8 -6
- package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builder-utils.js +10 -8
- package/dist/esm/components/views/chart-view/option-builder/builder-utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js +2 -2
- package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts +6 -0
- package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts +3 -1
- package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js +4 -1
- package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.d.ts +0 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
- package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js +24 -1
- package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js.map +1 -1
- package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.d.ts +29 -0
- package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.d.ts.map +1 -0
- package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.js +104 -0
- package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.js.map +1 -0
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts +16 -5
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +219 -230
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts +5 -0
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js +15 -13
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
- package/dist/esm/components/views/flows-actors-view/held-conversation-selection.d.ts +13 -0
- package/dist/esm/components/views/flows-actors-view/held-conversation-selection.d.ts.map +1 -0
- package/dist/esm/components/views/flows-actors-view/held-conversation-selection.js +44 -0
- package/dist/esm/components/views/flows-actors-view/held-conversation-selection.js.map +1 -0
- package/dist/esm/core/app-shell/AppShellBuildingBlocks.d.ts.map +1 -1
- package/dist/esm/core/app-shell/AppShellBuildingBlocks.js +6 -2
- package/dist/esm/core/app-shell/AppShellBuildingBlocks.js.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts +64 -9
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
- package/dist/esm/core/app-shell/hosted-components.utils.d.ts +11 -1
- package/dist/esm/core/app-shell/hosted-components.utils.d.ts.map +1 -1
- package/dist/esm/core/app-shell/hosted-components.utils.js +25 -0
- package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
- package/dist/esm/core/app-shell/shell-layout.d.ts +138 -0
- package/dist/esm/core/app-shell/shell-layout.d.ts.map +1 -0
- package/dist/esm/core/app-shell/shell-layout.js +143 -0
- package/dist/esm/core/app-shell/shell-layout.js.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.d.ts +13 -0
- package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.d.ts.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.js +49 -0
- package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.js.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.d.ts +95 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.d.ts.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.js +316 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.js.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.d.ts +217 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.d.ts.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.js +197 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.js.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-view-transition.d.ts +46 -0
- package/dist/esm/core/app-shell/shell-motion/shell-view-transition.d.ts.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-view-transition.js +139 -0
- package/dist/esm/core/app-shell/shell-motion/shell-view-transition.js.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/use-shell-motion.d.ts +108 -0
- package/dist/esm/core/app-shell/shell-motion/use-shell-motion.d.ts.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/use-shell-motion.js +423 -0
- package/dist/esm/core/app-shell/shell-motion/use-shell-motion.js.map +1 -0
- package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.js +6 -1
- package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
- package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/usePublicShellLayout.js +11 -4
- package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +18 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +26 -4
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
- package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js +3 -22
- package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js.map +1 -1
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +19 -3
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js +100 -13
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
- package/dist/esm/core/automated-layout/summary-value-naming.utils.d.ts +67 -0
- package/dist/esm/core/automated-layout/summary-value-naming.utils.d.ts.map +1 -0
- package/dist/esm/core/automated-layout/summary-value-naming.utils.js +100 -0
- package/dist/esm/core/automated-layout/summary-value-naming.utils.js.map +1 -0
- package/dist/esm/core/billing/BillingContext.d.ts +0 -17
- package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
- package/dist/esm/core/billing/BillingContext.js +6 -1
- package/dist/esm/core/billing/BillingContext.js.map +1 -1
- package/dist/esm/core/branding/OrganizationBrandingPublisher.d.ts +2 -0
- package/dist/esm/core/branding/OrganizationBrandingPublisher.d.ts.map +1 -0
- package/dist/esm/core/branding/OrganizationBrandingPublisher.js +78 -0
- package/dist/esm/core/branding/OrganizationBrandingPublisher.js.map +1 -0
- package/dist/esm/core/branding/useBrandIdentity.d.ts +21 -0
- package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandIdentity.js +31 -5
- package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.d.ts +5 -0
- package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.js +1 -0
- package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
- package/dist/esm/core/branding/useDisplayableImageUrl.d.ts +4 -0
- package/dist/esm/core/branding/useDisplayableImageUrl.d.ts.map +1 -0
- package/dist/esm/core/branding/useDisplayableImageUrl.js +66 -0
- package/dist/esm/core/branding/useDisplayableImageUrl.js.map +1 -0
- package/dist/esm/core/branding/useOrganizationDocumentTitle.d.ts +2 -0
- package/dist/esm/core/branding/useOrganizationDocumentTitle.d.ts.map +1 -0
- package/dist/esm/core/branding/useOrganizationDocumentTitle.js +23 -0
- package/dist/esm/core/branding/useOrganizationDocumentTitle.js.map +1 -0
- package/dist/esm/core/commons/save-blob-as-file.frontend.utils.d.ts +16 -0
- package/dist/esm/core/commons/save-blob-as-file.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/commons/save-blob-as-file.frontend.utils.js +35 -0
- package/dist/esm/core/commons/save-blob-as-file.frontend.utils.js.map +1 -0
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +8 -0
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.js +34 -5
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
- package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
- package/dist/esm/core/components-registry/register-framework-layouts.js +4 -0
- package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +36 -0
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-configuration-frontend.schemas.js +29 -2
- package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +10 -16
- package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-level-components.frontend.schemas.js +10 -16
- package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +12 -8
- package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/chart-view.frontend.schemas.js +10 -0
- package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.d.ts +2 -2
- package/dist/esm/core/config/config-merge-utilities.d.ts +31 -3
- package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.js +61 -7
- package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
- package/dist/esm/core/config/decision-inbox-capability.frontend.utils.d.ts +83 -0
- package/dist/esm/core/config/decision-inbox-capability.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/config/decision-inbox-capability.frontend.utils.js +100 -0
- package/dist/esm/core/config/decision-inbox-capability.frontend.utils.js.map +1 -0
- package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.d.ts +69 -0
- package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.js +65 -0
- package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.js.map +1 -0
- package/dist/esm/core/config/engine-settings-destinations.d.ts +13 -1
- package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.js +588 -155
- package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
- package/dist/esm/core/config/execution-view.schemas.d.ts +17 -3
- package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/execution-view.schemas.js +1 -1
- package/dist/esm/core/config/execution-view.schemas.js.map +1 -1
- package/dist/esm/core/config/flows-actors-view.schemas.d.ts +12 -2
- package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/flows-actors-view.schemas.js +13 -1
- package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
- package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts +12 -11
- package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/inserted-view-launcher.schemas.js +14 -13
- package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +77 -27
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.js +18 -13
- package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.d.ts +79 -0
- package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.js +95 -0
- package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.js.map +1 -0
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts +19 -7
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.js +45 -10
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
- package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts +2 -2
- package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js +38 -5
- package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +94 -10
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.js +40 -3
- package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/useSettingsHubConfig.d.ts.map +1 -1
- package/dist/esm/core/config/useSettingsHubConfig.js +4 -1
- package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts +2 -2
- package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.js +7 -8
- package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.d.ts +16 -2
- package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.js +64 -4
- package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.d.ts +4 -0
- package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.js +34 -0
- package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.d.ts +16 -23
- package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.js +26 -29
- package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.js +71 -9
- package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
- package/dist/esm/core/errors/error-management.frontend.service.d.ts +0 -4
- package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/errors/error-management.frontend.service.js +5 -8
- package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
- package/dist/esm/core/errors/errors.frontend.schemas.d.ts +21 -10
- package/dist/esm/core/errors/errors.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/errors/errors.frontend.schemas.js.map +1 -1
- package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts +35 -0
- package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js +44 -5
- package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js.map +1 -1
- package/dist/esm/core/events/EventBusContext.js.map +1 -1
- package/dist/esm/core/events/NotificationContext.d.ts +13 -1
- package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
- package/dist/esm/core/events/NotificationContext.js +89 -22
- package/dist/esm/core/events/NotificationContext.js.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.d.ts +68 -4
- package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.js +67 -3
- package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
- package/dist/esm/core/events/useNotificationPreferenceKinds.d.ts +9 -0
- package/dist/esm/core/events/useNotificationPreferenceKinds.d.ts.map +1 -0
- package/dist/esm/core/events/useNotificationPreferenceKinds.js +50 -0
- package/dist/esm/core/events/useNotificationPreferenceKinds.js.map +1 -0
- package/dist/esm/core/execution/useExecution.js +1 -1
- package/dist/esm/core/execution/useExecution.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.js +4 -0
- package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.js +3 -3
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.d.ts +52 -0
- package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.d.ts.map +1 -0
- package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.js +88 -0
- package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.js.map +1 -0
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts +20 -2
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js +18 -1
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts +7 -5
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts.map +1 -1
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js +9 -6
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js.map +1 -1
- package/dist/esm/core/features/FeaturesContext.d.ts +9 -1
- package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
- package/dist/esm/core/features/FeaturesContext.js +38 -12
- package/dist/esm/core/features/FeaturesContext.js.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.js +4 -0
- package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +90 -33
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.js +153 -100
- package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
- package/dist/esm/core/flows-actors/conversation-history.model.d.ts +41 -0
- package/dist/esm/core/flows-actors/conversation-history.model.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/conversation-history.model.js +65 -0
- package/dist/esm/core/flows-actors/conversation-history.model.js.map +1 -0
- package/dist/esm/core/flows-actors/conversation-thread.model.d.ts +144 -0
- package/dist/esm/core/flows-actors/conversation-thread.model.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/conversation-thread.model.js +315 -0
- package/dist/esm/core/flows-actors/conversation-thread.model.js.map +1 -0
- package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.d.ts +29 -0
- package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.js +67 -0
- package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.js.map +1 -0
- package/dist/esm/core/flows-actors/graph-view.layout.d.ts +77 -0
- package/dist/esm/core/flows-actors/graph-view.layout.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/graph-view.layout.js +169 -0
- package/dist/esm/core/flows-actors/graph-view.layout.js.map +1 -0
- package/dist/esm/core/flows-actors/graph-view.model.d.ts +245 -0
- package/dist/esm/core/flows-actors/graph-view.model.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/graph-view.model.js +414 -0
- package/dist/esm/core/flows-actors/graph-view.model.js.map +1 -0
- package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.d.ts +12 -0
- package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.js +20 -0
- package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.js.map +1 -0
- package/dist/esm/core/flows-actors/usePendingDecisions.d.ts +36 -11
- package/dist/esm/core/flows-actors/usePendingDecisions.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/usePendingDecisions.js +114 -29
- package/dist/esm/core/flows-actors/usePendingDecisions.js.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.js +1 -2
- package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js +2 -2
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +3 -9
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +3 -15
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts +2 -2
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js +2 -2
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
- package/dist/esm/core/i18n/I18nContext.d.ts +52 -3
- package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
- package/dist/esm/core/i18n/I18nContext.js +80 -7
- package/dist/esm/core/i18n/I18nContext.js.map +1 -1
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts +82 -1
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js +121 -6
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -1
- package/dist/esm/core/i18n/useI18n.d.ts +3 -1
- package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
- package/dist/esm/core/i18n/useI18n.js +3 -1
- package/dist/esm/core/i18n/useI18n.js.map +1 -1
- package/dist/esm/core/icons/IconRegistryBridge.d.ts +38 -4
- package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
- package/dist/esm/core/icons/IconRegistryBridge.js +103 -63
- package/dist/esm/core/icons/IconRegistryBridge.js.map +1 -1
- package/dist/esm/core/icons/IconRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/icons/IconRegistryContext.js +41 -0
- package/dist/esm/core/icons/IconRegistryContext.js.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts +44 -0
- package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.schemas.js +46 -0
- package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js +2 -2
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.d.ts +64 -20
- package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.js +82 -51
- package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.js +130 -23
- package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.d.ts +4 -0
- package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.js +17 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
- package/dist/esm/core/navigation/ZoneChromeContext.d.ts +80 -0
- package/dist/esm/core/navigation/ZoneChromeContext.d.ts.map +1 -0
- package/dist/esm/core/navigation/ZoneChromeContext.js +130 -0
- package/dist/esm/core/navigation/ZoneChromeContext.js.map +1 -0
- package/dist/esm/core/navigation/launcher-resolution.d.ts +102 -2
- package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js +194 -9
- package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.d.ts +35 -5
- package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.js +147 -18
- package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
- package/dist/esm/core/navigation/navigation-cascade.d.ts +44 -14
- package/dist/esm/core/navigation/navigation-cascade.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-cascade.js +87 -19
- package/dist/esm/core/navigation/navigation-cascade.js.map +1 -1
- package/dist/esm/core/navigation/navigation-commit.d.ts +45 -0
- package/dist/esm/core/navigation/navigation-commit.d.ts.map +1 -0
- package/dist/esm/core/navigation/navigation-commit.js +68 -0
- package/dist/esm/core/navigation/navigation-commit.js.map +1 -0
- package/dist/esm/core/navigation/navigation-controller-internals.d.ts +54 -3
- package/dist/esm/core/navigation/navigation-controller-internals.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-controller-internals.js +91 -3
- package/dist/esm/core/navigation/navigation-controller-internals.js.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +3 -3
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js +3 -3
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.d.ts +95 -22
- package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.js +190 -63
- package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
- package/dist/esm/core/navigation/sidebar-resource-browser-operation.d.ts +8 -0
- package/dist/esm/core/navigation/sidebar-resource-browser-operation.d.ts.map +1 -0
- package/dist/esm/core/navigation/sidebar-resource-browser-operation.js +27 -0
- package/dist/esm/core/navigation/sidebar-resource-browser-operation.js.map +1 -0
- package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.d.ts +64 -0
- package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.d.ts.map +1 -0
- package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.js +212 -0
- package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.js.map +1 -0
- package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.js +17 -2
- package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.d.ts +1 -0
- package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.js +51 -67
- package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationRouterSync.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationRouterSync.js +17 -1
- package/dist/esm/core/navigation/useNavigationRouterSync.js.map +1 -1
- package/dist/esm/core/navigation/useZoneEntryOrganizationHold.d.ts +17 -0
- package/dist/esm/core/navigation/useZoneEntryOrganizationHold.d.ts.map +1 -0
- package/dist/esm/core/navigation/useZoneEntryOrganizationHold.js +32 -0
- package/dist/esm/core/navigation/useZoneEntryOrganizationHold.js.map +1 -0
- package/dist/esm/core/navigation/zone-collapse.d.ts +2 -1
- package/dist/esm/core/navigation/zone-collapse.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-collapse.js +2 -1
- package/dist/esm/core/navigation/zone-collapse.js.map +1 -1
- package/dist/esm/core/navigation/zone-entry-organization.d.ts +34 -0
- package/dist/esm/core/navigation/zone-entry-organization.d.ts.map +1 -0
- package/dist/esm/core/navigation/zone-entry-organization.js +77 -0
- package/dist/esm/core/navigation/zone-entry-organization.js.map +1 -0
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts +15 -0
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.js +24 -0
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
- package/dist/esm/core/requests/automatic-resend-safety.frontend.d.ts +74 -0
- package/dist/esm/core/requests/automatic-resend-safety.frontend.d.ts.map +1 -0
- package/dist/esm/core/requests/automatic-resend-safety.frontend.js +52 -0
- package/dist/esm/core/requests/automatic-resend-safety.frontend.js.map +1 -0
- package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.js +31 -0
- package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketEventBridge.js +2 -0
- package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +162 -98
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +283 -157
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts +9 -13
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js +45 -97
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +25 -5
- package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client.frontend.service.js +56 -11
- package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.js +1 -2
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
- package/dist/esm/core/resources/calendar-date-fields.frontend.utils.d.ts +14 -0
- package/dist/esm/core/resources/calendar-date-fields.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/calendar-date-fields.frontend.utils.js +29 -0
- package/dist/esm/core/resources/calendar-date-fields.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/caller-identity-record.frontend.utils.d.ts +23 -0
- package/dist/esm/core/resources/caller-identity-record.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/caller-identity-record.frontend.utils.js +26 -0
- package/dist/esm/core/resources/caller-identity-record.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts +1 -1
- package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/collection-export-url.frontend.utils.js +34 -16
- package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts +54 -11
- package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js +131 -63
- package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/date-filter-window.frontend.utils.d.ts +58 -0
- package/dist/esm/core/resources/date-filter-window.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/date-filter-window.frontend.utils.js +70 -0
- package/dist/esm/core/resources/date-filter-window.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/frontend-resource.utils.d.ts +146 -7
- package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.js +194 -22
- package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts +18 -4
- package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.js +26 -6
- package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts +95 -2
- package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.js +126 -13
- package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.d.ts +45 -0
- package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.js +46 -0
- package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/referenced-record-scope.frontend.utils.d.ts +46 -0
- package/dist/esm/core/resources/referenced-record-scope.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/referenced-record-scope.frontend.utils.js +86 -0
- package/dist/esm/core/resources/referenced-record-scope.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/relationship-quick-create.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js +5 -1
- package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts +28 -1
- package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-addressability.frontend.utils.js +43 -3
- package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-discriminators.frontend.utils.d.ts +26 -0
- package/dist/esm/core/resources/resource-discriminators.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/resource-discriminators.frontend.utils.js +37 -0
- package/dist/esm/core/resources/resource-discriminators.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/resources-repository.frontend.service.d.ts +40 -8
- package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.js +333 -73
- package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts +175 -65
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.js +245 -75
- package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts +9 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.js +57 -22
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistry.js +1 -0
- package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts +3 -0
- package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.js +94 -35
- package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/types.d.ts +58 -6
- package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/types.js +17 -0
- package/dist/esm/core/resources/rmm/types.js.map +1 -1
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts +43 -6
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js +49 -6
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.js +2 -0
- package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.d.ts +2 -0
- package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.js +10 -3
- package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
- package/dist/esm/core/resources/temporal-day-groups.frontend.utils.d.ts +22 -0
- package/dist/esm/core/resources/temporal-day-groups.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/temporal-day-groups.frontend.utils.js +31 -0
- package/dist/esm/core/resources/temporal-day-groups.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.d.ts +36 -0
- package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.js +88 -0
- package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/useBulkJobProgress.d.ts +6 -0
- package/dist/esm/core/resources/useBulkJobProgress.d.ts.map +1 -1
- package/dist/esm/core/resources/useBulkJobProgress.js +1 -0
- package/dist/esm/core/resources/useBulkJobProgress.js.map +1 -1
- package/dist/esm/core/resources/useCollectionFilterPresetScope.d.ts +14 -0
- package/dist/esm/core/resources/useCollectionFilterPresetScope.d.ts.map +1 -0
- package/dist/esm/core/resources/useCollectionFilterPresetScope.js +29 -0
- package/dist/esm/core/resources/useCollectionFilterPresetScope.js.map +1 -0
- package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts +7 -6
- package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
- package/dist/esm/core/resources/useHostlessResourceNavigation.js +35 -21
- package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
- package/dist/esm/core/resources/useOperationDirectExecution.d.ts.map +1 -1
- package/dist/esm/core/resources/useOperationDirectExecution.js +25 -10
- package/dist/esm/core/resources/useOperationDirectExecution.js.map +1 -1
- package/dist/esm/core/resources/useRecordSharing.d.ts +58 -0
- package/dist/esm/core/resources/useRecordSharing.d.ts.map +1 -0
- package/dist/esm/core/resources/useRecordSharing.js +220 -0
- package/dist/esm/core/resources/useRecordSharing.js.map +1 -0
- package/dist/esm/core/resources/useResourceLabels.d.ts +4 -1
- package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceLabels.js +31 -32
- package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.d.ts +23 -4
- package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.js +219 -51
- package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts +10 -1
- package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js +7 -2
- package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.d.ts +5 -5
- package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.js +5 -4
- package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/resources/useResourceSelection.d.ts +6 -0
- package/dist/esm/core/resources/useResourceSelection.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceSelection.js.map +1 -1
- package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts +47 -0
- package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js +117 -4
- package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js.map +1 -1
- package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
- package/dist/esm/core/runtime/AppRouter.js +5 -2
- package/dist/esm/core/runtime/AppRouter.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.d.ts +10 -1
- package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.js +17 -2
- package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts +5 -0
- package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.js +4 -2
- package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +19 -3
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.js +23 -7
- package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.js +3 -1
- package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.d.ts +7 -2
- package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.js +56 -10
- package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
- package/dist/esm/core/security/ApplicationRoleTablesContext.d.ts +23 -0
- package/dist/esm/core/security/ApplicationRoleTablesContext.d.ts.map +1 -0
- package/dist/esm/core/security/ApplicationRoleTablesContext.js +27 -0
- package/dist/esm/core/security/ApplicationRoleTablesContext.js.map +1 -0
- package/dist/esm/core/security/AuthSessionContext.d.ts +26 -8
- package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.js +81 -17
- package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
- package/dist/esm/core/security/RouteOrganizationDecisionContext.d.ts +13 -0
- package/dist/esm/core/security/RouteOrganizationDecisionContext.d.ts.map +1 -0
- package/dist/esm/core/security/RouteOrganizationDecisionContext.js +12 -0
- package/dist/esm/core/security/RouteOrganizationDecisionContext.js.map +1 -0
- package/dist/esm/core/security/StepUpAuthContext.js +5 -5
- package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.d.ts +13 -0
- package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.js +272 -103
- package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts +1 -0
- package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.js +3 -2
- package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/effective-permissions.frontend.utils.d.ts +43 -0
- package/dist/esm/core/security/effective-permissions.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/security/effective-permissions.frontend.utils.js +73 -0
- package/dist/esm/core/security/effective-permissions.frontend.utils.js.map +1 -0
- package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts +175 -5
- package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/route-organization-access.frontend.utils.js +147 -6
- package/dist/esm/core/security/route-organization-access.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.d.ts +17 -5
- package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.js +0 -5
- package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
- package/dist/esm/core/security/useApplicationRoleTables.d.ts +3 -0
- package/dist/esm/core/security/useApplicationRoleTables.d.ts.map +1 -0
- package/dist/esm/core/security/useApplicationRoleTables.js +11 -0
- package/dist/esm/core/security/useApplicationRoleTables.js.map +1 -0
- package/dist/esm/core/security/useRouteOrganizationAccess.d.ts +9 -0
- package/dist/esm/core/security/useRouteOrganizationAccess.d.ts.map +1 -1
- package/dist/esm/core/security/useRouteOrganizationAccess.js +31 -10
- package/dist/esm/core/security/useRouteOrganizationAccess.js.map +1 -1
- package/dist/esm/core/security/useRouteOrganizationFollow.d.ts +24 -0
- package/dist/esm/core/security/useRouteOrganizationFollow.d.ts.map +1 -0
- package/dist/esm/core/security/useRouteOrganizationFollow.js +76 -0
- package/dist/esm/core/security/useRouteOrganizationFollow.js.map +1 -0
- package/dist/esm/core/ui/UIContext.d.ts +25 -2
- package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
- package/dist/esm/core/ui/UIContext.js +49 -37
- package/dist/esm/core/ui/UIContext.js.map +1 -1
- package/dist/esm/core/ui/design-token.utils.d.ts +0 -11
- package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token.utils.js +51 -83
- package/dist/esm/core/ui/design-token.utils.js.map +1 -1
- package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
- package/dist/esm/core/ui/themes/default.theme.js +151 -59
- package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
- package/dist/esm/core/ui/themes/focus-indicator.d.ts +221 -0
- package/dist/esm/core/ui/themes/focus-indicator.d.ts.map +1 -0
- package/dist/esm/core/ui/themes/focus-indicator.js +229 -0
- package/dist/esm/core/ui/themes/focus-indicator.js.map +1 -0
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts +7 -0
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.js +1 -2
- package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
- package/dist/esm/index.d.ts +34 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +45 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tailwind/index.d.ts.map +1 -1
- package/dist/esm/tailwind/index.js +3 -0
- package/dist/esm/tailwind/index.js.map +1 -1
- package/dist/esm/testing/app-shell-placement-coverage.d.ts.map +1 -1
- package/dist/esm/testing/app-shell-placement-coverage.js +6 -2
- package/dist/esm/testing/app-shell-placement-coverage.js.map +1 -1
- package/dist/esm/testing/mock-builders.d.ts +13 -1
- package/dist/esm/testing/mock-builders.d.ts.map +1 -1
- package/dist/esm/testing/mock-builders.js +35 -1
- package/dist/esm/testing/mock-builders.js.map +1 -1
- package/dist/esm/testing/rmm-helpers.d.ts +5 -3
- package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
- package/dist/esm/testing/rmm-helpers.js +3 -0
- package/dist/esm/testing/rmm-helpers.js.map +1 -1
- package/dist/esm/testing/test-providers.d.ts.map +1 -1
- package/dist/esm/testing/test-providers.js +3 -0
- package/dist/esm/testing/test-providers.js.map +1 -1
- package/package.json +7 -6
- package/dist/esm/components/flows-actors/flow-node.d.ts +0 -28
- package/dist/esm/components/flows-actors/flow-node.d.ts.map +0 -1
- package/dist/esm/components/flows-actors/flow-node.js +0 -115
- package/dist/esm/components/flows-actors/flow-node.js.map +0 -1
- package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts +0 -30
- package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts.map +0 -1
- package/dist/esm/components/resources/CollectionSelectionHeaderRail.js +0 -17
- package/dist/esm/components/resources/CollectionSelectionHeaderRail.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppPage_SecuritySettings.js","sourceRoot":"","sources":["../../../../../../src/components/auth/admin-config/AppPage_SecuritySettings.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { ButtonSize, FrontendComponentType, SecuritySettingsLabel } from '@wildo-ai/presets-components-models';\nimport { Card, CardContent } from '~wildo-frontend-lib/components/sections/card';\nimport { Badge, type BadgeVariants_Variant } from '~wildo-frontend-lib/components/data-display/badge';\nimport { useIconRegistry } from '~wildo-frontend-lib/core/icons/useIconRegistry';\nimport { StandardIconReference, IconSize } from '~wildo-frontend-lib/core/icons/icon-registry.frontend.schemas';\nimport { AUTH_METHOD_ICON_REFERENCES } from '~wildo-frontend-lib/components/auth/methods/auth-method-presentation';\nimport { cn } from '~wildo-frontend-lib/core/ui/cn';\nimport { Button, ButtonVariants_Variant } from '~wildo-frontend-lib/components/actions/button';\nimport { Text } from '~wildo-frontend-lib/components/typography/text';\nimport { Alert, AlertDescription } from '~wildo-frontend-lib/components/overlays/containers/alert';\nimport { InputRoot } from '~wildo-frontend-lib/components/form/controls/input';\nimport { Field, FieldLabel } from '~wildo-frontend-lib/components/form/chromes/field';\nimport {\n AuthMethod,\n AuthUtils,\n isWildoBackendError,\n type ExternalIdentitySource,\n type PasswordPolicyRules,\n type SsoConnectionType,\n} from '@wildo-ai/saas-models';\nimport { FormProvider, useForm } from 'react-hook-form';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport { useUserFacingErrorMessage } from '~wildo-frontend-lib/core/errors/useUserFacingErrorMessage';\nimport { useApplication } from '~wildo-frontend-lib/core/runtime/useApplication';\nimport { useAuthSession } from '~wildo-frontend-lib/core/security/useAuthSession';\nimport { useResolvedAuthConfig } from '~wildo-frontend-lib/core/security/useResolvedAuthConfig';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { getManualCallsHttpClient } from '~wildo-frontend-lib/core/requests/wildo-http-client-manual-calls.frontend.service';\nimport { AuthSessionUtils } from '~wildo-frontend-lib/core/security/auth-session.utils';\nimport { PasswordStrengthIndicator, DEFAULT_PASSWORD_POLICY } from '~wildo-frontend-lib/components/auth/utils/PasswordStrengthIndicator';\nimport { CredentialUsernameAutofillField } from '~wildo-frontend-lib/components/auth/utils/CredentialUsernameAutofillField';\nimport { TotpEnrollmentMethod } from '~wildo-frontend-lib/components/auth/enrollment/TotpEnrollmentMethod';\nimport { PhoneEnrollmentMethod } from '~wildo-frontend-lib/components/auth/enrollment/PhoneEnrollmentMethod';\nimport { startRegistration } from '@simplewebauthn/browser';\nimport type { PublicKeyCredentialCreationOptionsJSON } from '@simplewebauthn/browser';\nimport { buildProviderDisplayNameLabelKey } from '@wildo-ai/saas-models/public-runtime';\nimport {\n collectFrontendProviderDisplayLabelKeys,\n resolveFrontendProviderDisplayLabel,\n} from '~wildo-frontend-lib/core/external-providers/frontend-provider-display-label.frontend.utils';\n\n// A new `SecuritySettingsLabel` member (`@wildo-ai/presets-components-models`)\n// must ALSO be declared in `AppPage_SecuritySettings.labels.ts`, beside this\n// file: that list — key, kind, purpose — is what the dev companion scans\n// statically to plan and translate the words, and an enum member missing\n// from it never reaches the labelling pipeline. The shared step-up dialog\n// (`StepUpAuthDialog`) reads the same component's keys.\n\ntype EnrolledMethod = { method: string; enrolled: boolean; enrolledAt?: string; details?: Record<string, unknown> };\ntype PasskeyCred = { credentialId: string; name: string; createdAt: string };\ntype IdentityLink = {\n _id: string;\n connectionType: SsoConnectionType;\n source: ExternalIdentitySource;\n providerRef: string;\n providerEmail: string;\n linkedAt: string;\n lastUsedAt: string;\n};\ntype ResolvedIdentityLink = IdentityLink & { providerLabel: string };\n\n/**\n * Presentational state of one authentication factor.\n *\n * `UNAVAILABLE` is NOT \"off\" — it means the current device/browser cannot offer\n * the factor at all (no WebAuthn support), which is a different instruction to\n * the user than \"you have not set this up yet\" and therefore a distinct badge.\n */\nenum SecurityFactorState {\n ACTIVE = 'active',\n INACTIVE = 'inactive',\n UNAVAILABLE = 'unavailable',\n}\n\nconst FACTOR_STATE_BADGE_VARIANT: Record<SecurityFactorState, BadgeVariants_Variant> = {\n [SecurityFactorState.ACTIVE]: 'success',\n [SecurityFactorState.INACTIVE]: 'outline',\n [SecurityFactorState.UNAVAILABLE]: 'secondary',\n};\n\ninterface SecurityFactorRowProps {\n /** Glyph identifying the method — resolved through the icon registry so apps can re-skin it. */\n icon: StandardIconReference;\n title: string;\n /**\n * Plain-language \"what this is / why it matters\" line — shown only while the factor is NOT active.\n *\n * It is a prompt for a decision the person has not taken yet (\"Authenticator apps provide one-time\n * codes as a second sign-in step\" beside \"Set up authenticator app\"). Once the factor protects the\n * account the decision is made, the badge says so, and the sentence is read on every visit for\n * nothing — the same reason a read view carries no section descriptions.\n */\n description: string;\n state: SecurityFactorState;\n statusLabel: string;\n /**\n * A live detail the badge cannot carry — today only the masked verified phone number.\n *\n * Nothing that RESTATES the badge belongs here. \"Password is set.\" under \"Password · Active\",\n * \"No authenticator app is set up.\" under \"Not configured\", and \"1 linked accounts\" above the list\n * of that one account were each the same fact twice; they were removed with their labels.\n */\n meta?: React.ReactNode;\n /**\n * The factor's primary control, pinned to the inline-end of the header row.\n * Every row's action lands on the same axis, so the column reads as a list of\n * choices rather than as five stacked mini-pages — the account-security idiom\n * used by mainstream providers. Anything that must expand (an enrolment flow,\n * a credential list, a form) goes to `children` instead.\n *\n * Row actions are OUTLINE, without exception. They are peers: the panel offers\n * five alternative ways to protect an account and recommends none of them, so\n * filling any one of them would assert a priority the page does not hold —\n * and five filled buttons stacked down a column assert five priorities, which\n * is the same as none while costing all the emphasis. The filled variant is\n * reserved for the commit action INSIDE an opened disclosure, where there\n * genuinely is one thing to do next.\n */\n action?: React.ReactNode;\n children?: React.ReactNode;\n}\n\n/**\n * One authentication factor, presented as a scannable row: glyph · name · what\n * it is · live status, with its primary control pinned to the row's end.\n *\n * This replaced a stack of visually identical title-only cards, which forced the\n * user to READ every card to learn which factors were active and offered no\n * explanation of what any factor was. The status badge and the icon carry that\n * information pre-attentively; the description makes the choice informed. The\n * shape follows the account-security idiom used by mainstream providers.\n */\nconst SecurityFactorRow: React.FC<SecurityFactorRowProps> = ({\n icon, title, description, state, statusLabel, meta, action, children,\n}) => {\n const { renderIcon } = useIconRegistry();\n const isActive = state === SecurityFactorState.ACTIVE;\n\n return (\n // One row of ONE card: the factors are a single list of alternatives, so they share a frame and\n // are separated by hairlines (the settings-row idiom) rather than each carrying a card of its own —\n // five stacked cards read as five pages.\n <div className=\"flex flex-col gap-item py-group first:pt-0 last:pb-0\">\n <div className=\"flex flex-row items-start gap-item\">\n {/* Tinted glyph tile — tinted only when the factor is live, so the eye\n lands on what is protecting the account before any text is read. */}\n <div\n aria-hidden=\"true\"\n className={cn(\n 'flex size-9 shrink-0 items-center justify-center rounded-md',\n isActive ? 'bg-success/10 text-success' : 'bg-muted text-muted-foreground',\n )}\n >\n {renderIcon(icon, { size: IconSize.SM })}\n </div>\n\n <div className=\"flex min-w-0 flex-1 flex-col gap-element-xs\">\n <div className=\"flex flex-wrap items-center gap-element-xs\">\n <Text className=\"font-medium leading-snug\">{title}</Text>\n <Badge variant={FACTOR_STATE_BADGE_VARIANT[state]}>{statusLabel}</Badge>\n </div>\n {!isActive && <Text className=\"text-sm text-muted-foreground\">{description}</Text>}\n {meta}\n </div>\n\n {action && <div className=\"flex shrink-0 items-center gap-element-xs\">{action}</div>}\n </div>\n\n {/* Expanded content aligns with the TEXT column, not the glyph: the\n indent is the glyph tile (`size-9`) plus the row gap, so a form or a\n credential list continues the sentence it belongs to. */}\n {children && (\n <div className=\"flex flex-col gap-item ps-[calc(var(--spacing)*9+var(--sp-item))]\">{children}</div>\n )}\n </div>\n );\n};\n\nexport const AppPage_SecuritySettings: React.FC = () => {\n const { auth } = useApplication();\n const { auth: authState } = useAuthSession();\n const { user } = useUserOrgs();\n const resolvedAuth = useResolvedAuthConfig();\n const toUserFacingErrorMessage = useUserFacingErrorMessage();\n\n const [methods, setMethods] = useState<EnrolledMethod[]>([]);\n const [passkeys, setPasskeys] = useState<PasskeyCred[]>([]);\n const [identityLinks, setIdentityLinks] = useState<IdentityLink[]>([]);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<string | null>(null);\n const [successMsg, setSuccessMsg] = useState<string | null>(null);\n const [showTotpEnroll, setShowTotpEnroll] = useState(false);\n const [showPhoneEnroll, setShowPhoneEnroll] = useState(false);\n const [passkeyRegistering, setPasskeyRegistering] = useState(false);\n // The linked provider's name is `providers.<ref>.displayName`, derived from the ref the link holds\n // (#1701) — never read off a frontend provider module, since sign-in runs no vendor code in the page.\n const identityProviderLabelKeys = useMemo(\n () => collectFrontendProviderDisplayLabelKeys(\n identityLinks.map((link) => buildProviderDisplayNameLabelKey(link.providerRef)),\n ),\n [identityLinks],\n );\n const { tComponent, t: translateProvider, isReady, formatDate } = useI18n({\n component: [\n FrontendComponentType.APP_LAYOUTS_SECURITY_SETTINGS,\n FrontendComponentType.PUBLIC_LAYOUTS_USER_REGISTER,\n FrontendComponentType.PUBLIC_LAYOUTS_ENROLLMENT_REQUIRED,\n ],\n keys: identityProviderLabelKeys,\n });\n const t = useCallback(\n (key: string, params?: Record<string, string | number>) =>\n tComponent(FrontendComponentType.APP_LAYOUTS_SECURITY_SETTINGS, key, params),\n [tComponent],\n );\n const tPolicy = useCallback(\n (key: string) => tComponent(FrontendComponentType.PUBLIC_LAYOUTS_USER_REGISTER, key),\n [tComponent],\n );\n\n const passkeyConfig = auth?.passkeyConfig;\n const methodManagement = resolvedAuth.userTypeAuth?.methodManagement;\n const passwordPolicy = resolvedAuth.passwordPolicy;\n const maxPasskeys = passkeyConfig?.maxPasskeysPerUser ?? 10;\n const allowRemoval = methodManagement?.allowUserMethodRemoval ?? true;\n\n const refresh = useCallback(async () => {\n setLoading(true);\n setError(null);\n try {\n const client = getManualCallsHttpClient();\n const [methodsRes, passkeysRes, linksRes] = await Promise.all([\n client.getMyMethods(),\n client.passkeyList().catch(() => ({ credentials: [] })),\n client.getIdentityLinks().catch(() => ({ links: [] })),\n ]);\n setMethods(methodsRes.methods ?? []);\n setPasskeys(passkeysRes.credentials ?? []);\n setIdentityLinks(linksRes.links ?? []);\n } catch (e: any) {\n if (isWildoBackendError(e)) throw e;\n setError(toUserFacingErrorMessage(e, t(SecuritySettingsLabel.ERROR)));\n } finally {\n setLoading(false);\n }\n }, [t, toUserFacingErrorMessage]);\n\n useEffect(() => {\n refresh();\n }, [refresh]);\n\n useEffect(() => {\n if (!successMsg) return;\n const timer = setTimeout(() => setSuccessMsg(null), 5000);\n return () => clearTimeout(timer);\n }, [successMsg]);\n\n // Derived, not listed. The literal `[TOTP, PASSKEY, SMS_OTP]` that stood here was the\n // second-factor vocabulary minus the factors that need no enrollment — correct on the day it was\n // written and silently short the day a fifth second factor is added, since a method missing from\n // the list simply never counts as enrolled.\n const enrollableSecondFactorMethods = AuthUtils.getEnrollableSecondFactorMethods();\n const enrolledSecondFactor = methods\n .filter((m) => m.enrolled && enrollableSecondFactorMethods.includes(m.method as AuthMethod))\n .map((m) => m.method as AuthMethod);\n const completeness = AuthSessionUtils.evaluateAccountCompleteness(\n authState.identification?.requiresMFA ?? false,\n authState.identification?.secondFactorMethods?.map((m) => m.method) ?? [],\n enrolledSecondFactor.length > 0 ? enrolledSecondFactor : (authState.enrolledSecondFactorMethods as AuthMethod[]),\n resolvedAuth.userTypeAuth?.mfaPolicy?.acceptableMFAMethods ?? [],\n );\n\n const hasPassword = methods.some((m) => m.method === AuthMethod.PASSWORD && m.enrolled);\n const hasTotp = methods.some((m) => m.method === AuthMethod.TOTP && m.enrolled);\n const smsMethod = methods.find((m) => m.method === AuthMethod.SMS_OTP);\n const phoneVerified = smsMethod?.enrolled ?? false;\n const phoneMasked = smsMethod?.details?.phoneNumber as string | undefined;\n const resolvedIdentityLinks = useMemo(\n () => identityLinks.map((link) => ({\n ...link,\n providerLabel: resolveFrontendProviderDisplayLabel({\n providerRef: link.providerRef,\n displayName: auth?.socialOAuth2Providers?.[link.providerRef]?.displayName,\n translate: translateProvider,\n }),\n })),\n [auth?.socialOAuth2Providers, identityLinks, translateProvider],\n );\n\n const handlePasskeyAdd = useCallback(async () => {\n if (passkeys.length >= maxPasskeys) return;\n if (typeof window === 'undefined' || !window.PublicKeyCredential) return;\n setPasskeyRegistering(true);\n setError(null);\n try {\n const client = getManualCallsHttpClient();\n const options = (await client.passkeyRegisterOptions()) as unknown as PublicKeyCredentialCreationOptionsJSON;\n const credential = await startRegistration({ optionsJSON: options });\n await client.passkeyRegisterVerify({ response: credential });\n setSuccessMsg(t(SecuritySettingsLabel.SUCCESS));\n refresh();\n } catch (e: any) {\n if (isWildoBackendError(e)) throw e;\n const msg = e?.name === 'NotAllowedError' ? t(SecuritySettingsLabel.PASSKEY_CANCELLED) : toUserFacingErrorMessage(e, t(SecuritySettingsLabel.ERROR));\n setError(msg);\n } finally {\n setPasskeyRegistering(false);\n }\n }, [maxPasskeys, passkeys.length, refresh, t, toUserFacingErrorMessage]);\n\n const handlePasskeyRemove = useCallback(\n async (credentialId: string) => {\n if (!allowRemoval) return;\n try {\n await getManualCallsHttpClient().passkeyRemove(credentialId);\n setSuccessMsg(t(SecuritySettingsLabel.SUCCESS));\n refresh();\n } catch (e: any) {\n if (isWildoBackendError(e)) throw e;\n setError(toUserFacingErrorMessage(e, t(SecuritySettingsLabel.ERROR)));\n }\n },\n [allowRemoval, refresh, t, toUserFacingErrorMessage],\n );\n\n /*\n * No re-authentication handling here, deliberately. Where the user type asks for it, the server\n * answers `STEP_UP_REQUIRED` and the HTTP client answers that by itself — the shared step-up dialog\n * (`StepUpAuthProvider`), then a replay carrying `X-Reauth-Token`. The same is true of adding a\n * passkey, confirming TOTP and confirming a phone below. This page used to carry its own password-only\n * copy of that dialog for this one action, and nothing for the binding actions at all.\n */\n const handleTotpDisable = useCallback(async () => {\n try {\n await getManualCallsHttpClient().mfaTOTPDisable();\n setSuccessMsg(t(SecuritySettingsLabel.SUCCESS));\n setShowTotpEnroll(false);\n refresh();\n } catch (e: any) {\n if (isWildoBackendError(e)) throw e;\n setError(toUserFacingErrorMessage(e, t(SecuritySettingsLabel.ERROR)));\n }\n }, [refresh, t, toUserFacingErrorMessage]);\n\n const handleUnlinkIdentity = useCallback(\n async (linkId: string) => {\n if (!allowRemoval) return;\n try {\n await getManualCallsHttpClient().unlinkIdentityLink(linkId);\n setSuccessMsg(t(SecuritySettingsLabel.SUCCESS));\n refresh();\n } catch (e: any) {\n if (isWildoBackendError(e)) throw e;\n setError(toUserFacingErrorMessage(e, t(SecuritySettingsLabel.ERROR)));\n }\n },\n [allowRemoval, refresh, t, toUserFacingErrorMessage],\n );\n\n if (!isReady) return null;\n\n // Passkeys are only offerable where WebAuthn exists; an unsupported browser is\n // a distinct state from \"not set up yet\" and gets its own badge + no CTA.\n const passkeysSupported = typeof window !== 'undefined' && !!window.PublicKeyCredential;\n const passkeyState = !passkeysSupported\n ? SecurityFactorState.UNAVAILABLE\n : passkeys.length > 0 ? SecurityFactorState.ACTIVE : SecurityFactorState.INACTIVE;\n\n const statusLabelFor = (state: SecurityFactorState): string => {\n switch (state) {\n case SecurityFactorState.ACTIVE: return t(SecuritySettingsLabel.STATUS_ACTIVE);\n case SecurityFactorState.UNAVAILABLE: return t(SecuritySettingsLabel.STATUS_UNAVAILABLE);\n case SecurityFactorState.INACTIVE: return t(SecuritySettingsLabel.STATUS_NOT_CONFIGURED);\n }\n };\n\n const PasskeySection = (\n <SecurityFactorRow\n icon={AUTH_METHOD_ICON_REFERENCES[AuthMethod.PASSKEY]}\n title={t(SecuritySettingsLabel.SECTION_PASSKEYS)}\n description={t(SecuritySettingsLabel.PASSKEYS_DESCRIPTION)}\n state={passkeyState}\n statusLabel={statusLabelFor(passkeyState)}\n action={passkeysSupported && passkeys.length < maxPasskeys ? (\n <Button variant={ButtonVariants_Variant.OUTLINE} onClick={handlePasskeyAdd} disabled={passkeyRegistering}>\n {passkeyRegistering ? t(SecuritySettingsLabel.PASSKEY_ADDING) : t(SecuritySettingsLabel.PASSKEY_ADD)}\n </Button>\n ) : undefined}\n >\n {!passkeysSupported && (\n <Alert>\n <AlertDescription>{t(SecuritySettingsLabel.PASSKEY_UNSUPPORTED)}</AlertDescription>\n </Alert>\n )}\n {/* The registered passkeys ARE the detail: no count above them, and no \"No passkeys added\n yet.\" when there are none — the \"Not configured\" badge already says it. */}\n {passkeysSupported && passkeys.length > 0 && (\n <ul className=\"flex flex-col gap-element\">\n {passkeys.map((pk) => (\n <li key={pk.credentialId} className=\"flex items-center justify-between gap-item rounded-md border p-card-sm\">\n <div className=\"flex min-w-0 flex-col\">\n <Text className=\"truncate font-medium\">{pk.name}</Text>\n {pk.createdAt && (\n <Text className=\"text-xs text-muted-foreground\">\n {t(SecuritySettingsLabel.PASSKEY_ADDED, { date: formatDate(pk.createdAt) })}\n </Text>\n )}\n </div>\n {allowRemoval && (\n <Button variant={ButtonVariants_Variant.OUTLINE} size={ButtonSize.SM} onClick={() => handlePasskeyRemove(pk.credentialId)}>\n {t(SecuritySettingsLabel.PASSKEY_REMOVE)}\n </Button>\n )}\n </li>\n ))}\n </ul>\n )}\n </SecurityFactorRow>\n );\n\n const totpState = hasTotp ? SecurityFactorState.ACTIVE : SecurityFactorState.INACTIVE;\n const TotpSection = (\n <SecurityFactorRow\n icon={AUTH_METHOD_ICON_REFERENCES[AuthMethod.TOTP]}\n title={t(SecuritySettingsLabel.SECTION_TOTP)}\n description={t(SecuritySettingsLabel.TOTP_DESCRIPTION)}\n state={totpState}\n statusLabel={statusLabelFor(totpState)}\n action={hasTotp\n ? (allowRemoval ? (\n <Button variant={ButtonVariants_Variant.OUTLINE} onClick={handleTotpDisable}>\n {t(SecuritySettingsLabel.TOTP_DISABLE)}\n </Button>\n ) : undefined)\n // While the enrolment flow is open its own controls own the row, so the\n // opener is withdrawn rather than left as a second way in.\n : (showTotpEnroll ? undefined : (\n <Button variant={ButtonVariants_Variant.OUTLINE} onClick={() => setShowTotpEnroll(true)}>\n {t(SecuritySettingsLabel.TOTP_SETUP)}\n </Button>\n ))}\n >\n {hasTotp ? (\n <>\n {completeness.enrolledMethods.length === 1 && completeness.enrolledMethods.includes(AuthMethod.TOTP) && (\n <Alert>\n <AlertDescription>{t(SecuritySettingsLabel.TOTP_ONLY_MFA_WARNING)}</AlertDescription>\n </Alert>\n )}\n </>\n ) : showTotpEnroll ? (\n <TotpEnrollmentMethod\n onComplete={() => {\n setShowTotpEnroll(false);\n refresh();\n }}\n onError={(msg) => setError(msg)}\n isLoading={false}\n t={(k) => tComponent(FrontendComponentType.PUBLIC_LAYOUTS_ENROLLMENT_REQUIRED, k)}\n />\n ) : null}\n </SecurityFactorRow>\n );\n\n const phoneState = phoneVerified ? SecurityFactorState.ACTIVE : SecurityFactorState.INACTIVE;\n const PhoneSection = (\n <SecurityFactorRow\n icon={AUTH_METHOD_ICON_REFERENCES[AuthMethod.SMS_OTP]}\n title={t(SecuritySettingsLabel.SECTION_PHONE)}\n description={t(SecuritySettingsLabel.PHONE_DESCRIPTION)}\n state={phoneState}\n statusLabel={statusLabelFor(phoneState)}\n // WHICH number is verified is the one thing the \"Active\" badge cannot say, so the masked number\n // stands alone — no \"Verified:\" in front of it (the badge) and no sentence when there is none.\n meta={phoneVerified && phoneMasked ? <Text className=\"text-sm\">{phoneMasked}</Text> : undefined}\n action={phoneVerified ? (\n <Button variant={ButtonVariants_Variant.OUTLINE} onClick={() => setShowPhoneEnroll(true)}>\n {t(SecuritySettingsLabel.PHONE_CHANGE)}\n </Button>\n ) : (showPhoneEnroll ? undefined : (\n <Button variant={ButtonVariants_Variant.OUTLINE} onClick={() => setShowPhoneEnroll(true)}>\n {t(SecuritySettingsLabel.PHONE_VERIFY)}\n </Button>\n ))}\n >\n {phoneVerified && !showPhoneEnroll ? null : showPhoneEnroll ? (\n <PhoneEnrollmentMethod\n onComplete={() => {\n setShowPhoneEnroll(false);\n refresh();\n }}\n onError={(msg) => setError(msg)}\n isLoading={false}\n t={(k) => tComponent(FrontendComponentType.PUBLIC_LAYOUTS_ENROLLMENT_REQUIRED, k)}\n />\n ) : null}\n </SecurityFactorRow>\n );\n\n // ── No posture summary, deliberately ───────────────────────────────────────\n // Two rejected designs, for whoever is tempted to re-add one:\n // 1. \"Your account is fully secured\" keyed off `completeness.isComplete` —\n // that flag answers \"does this satisfy the app's auth POLICY?\", and it is\n // `true` whenever MFA is not required. It therefore claimed a fully\n // secured account for an account with zero second factors.\n // 2. An \"n of 4 sign-in methods active\" ratio with a progress meter — a\n // score with no referent. The denominator is not a target: nobody needs\n // SMS *and* TOTP *and* a passkey, the factors are alternatives, and the\n // remedy differs per factor. A meter that fills toward a number the user\n // should not reach measures nothing and invites gaming it.\n // The rows below already carry the state (per-factor badge) and the meaning\n // (per-factor description). A summary that restates them as a number is\n // strictly less information, presented as if it were more.\n\n return (\n <div className=\"flex flex-col gap-section\">\n {/* `h3`, not `h2`: the Settings Hub header owns the `h2` for this dialog,\n so a panel heading is one level below it. */}\n {/* No sub-heading: \"Manage how you sign in and protect your account\" restated the heading and the\n five factor names beneath it. */}\n <h3 className=\"text-base font-semibold tracking-tight\">{t(SecuritySettingsLabel.PAGE_TITLE)}</h3>\n\n {error && (\n <Alert variant=\"destructive\">\n <AlertDescription>{error}</AlertDescription>\n </Alert>\n )}\n {successMsg && (\n <Alert>\n <AlertDescription>{successMsg}</AlertDescription>\n </Alert>\n )}\n\n {loading ? (\n <Text className=\"text-muted-foreground\">{t(SecuritySettingsLabel.LOADING)}</Text>\n ) : (\n <Card>\n <CardContent className=\"flex flex-col divide-y divide-border p-card\">\n {PasskeySection}\n {TotpSection}\n {PhoneSection}\n <PasswordSection\n hasPassword={hasPassword}\n passwordPolicy={passwordPolicy}\n userEmail={user?.email}\n t={t}\n tPolicy={tPolicy}\n onSuccess={() => {\n setSuccessMsg(t(SecuritySettingsLabel.SUCCESS));\n refresh();\n }}\n onError={(msg) => setError(msg)}\n />\n <IdentityLinksSection\n links={resolvedIdentityLinks}\n allowRemoval={allowRemoval}\n t={t}\n onUnlink={handleUnlinkIdentity}\n />\n </CardContent>\n </Card>\n )}\n </div>\n );\n};\n\ninterface PasswordSectionProps {\n hasPassword: boolean;\n passwordPolicy: PasswordPolicyRules;\n /**\n * Signed-in user's email. Rendered as a visually-hidden\n * `autocomplete=\"username\"` field inside each password form so password\n * managers associate the saved/updated credential with the correct account\n * (Chromium also warns when a password form has no username field).\n */\n userEmail?: string;\n t: (k: string, params?: Record<string, string | number>) => string;\n tPolicy: (k: string) => string;\n onSuccess: () => void;\n onError: (msg: string) => void;\n}\n\nconst PasswordSection: React.FC<PasswordSectionProps> = ({ hasPassword, passwordPolicy, userEmail, t, tPolicy, onSuccess, onError }) => {\n const toUserFacingErrorMessage = useUserFacingErrorMessage();\n const [submitting, setSubmitting] = useState(false);\n // The credential form is a DISCLOSURE, not the row's resting state. Rendered\n // eagerly it was four inputs plus a strength meter permanently open beneath a\n // one-line row, which made this factor read as the page's subject and the\n // other four as its footnotes. Every row now rests at the same height and\n // opens on request.\n const [editing, setEditing] = useState(false);\n const changeForm = useForm<{ currentPassword: string; newPassword: string; confirmPassword: string }>({\n defaultValues: { currentPassword: '', newPassword: '', confirmPassword: '' },\n });\n const setForm = useForm<{ newPassword: string; confirmPassword: string }>({\n defaultValues: { newPassword: '', confirmPassword: '' },\n });\n\n const handleChange = useCallback(\n async (data: { currentPassword: string; newPassword: string; confirmPassword: string }) => {\n if (data.newPassword !== data.confirmPassword) {\n onError(t(SecuritySettingsLabel.PASSWORD_MISMATCH));\n return;\n }\n setSubmitting(true);\n try {\n await getManualCallsHttpClient().passwordChange(data.currentPassword, data.newPassword);\n onSuccess();\n changeForm.reset();\n setEditing(false);\n } catch (e: any) {\n if (isWildoBackendError(e)) throw e;\n onError(toUserFacingErrorMessage(e, t(SecuritySettingsLabel.ERROR)));\n } finally {\n setSubmitting(false);\n }\n },\n [changeForm, onError, onSuccess, t, toUserFacingErrorMessage],\n );\n\n const handleSet = useCallback(\n async (data: { newPassword: string; confirmPassword: string }) => {\n if (data.newPassword !== data.confirmPassword) {\n onError(t(SecuritySettingsLabel.PASSWORD_MISMATCH));\n return;\n }\n setSubmitting(true);\n try {\n await getManualCallsHttpClient().passwordSet(data.newPassword);\n onSuccess();\n setForm.reset();\n setEditing(false);\n } catch (e: any) {\n if (isWildoBackendError(e)) throw e;\n onError(toUserFacingErrorMessage(e, t(SecuritySettingsLabel.ERROR)));\n } finally {\n setSubmitting(false);\n }\n },\n [onError, onSuccess, setForm, t, toUserFacingErrorMessage],\n );\n\n const state = hasPassword ? SecurityFactorState.ACTIVE : SecurityFactorState.INACTIVE;\n\n return (\n <SecurityFactorRow\n icon={AUTH_METHOD_ICON_REFERENCES[AuthMethod.PASSWORD]}\n title={t(SecuritySettingsLabel.SECTION_PASSWORD)}\n description={t(SecuritySettingsLabel.PASSWORD_DESCRIPTION)}\n state={state}\n statusLabel={t(hasPassword ? SecuritySettingsLabel.STATUS_ACTIVE : SecuritySettingsLabel.STATUS_NOT_CONFIGURED)}\n action={editing ? (\n <Button\n variant={ButtonVariants_Variant.OUTLINE}\n onClick={() => {\n setEditing(false);\n changeForm.reset();\n setForm.reset();\n }}\n >\n {t(SecuritySettingsLabel.CANCEL)}\n </Button>\n ) : (\n <Button variant={ButtonVariants_Variant.OUTLINE} onClick={() => setEditing(true)}>\n {t(hasPassword ? SecuritySettingsLabel.PASSWORD_CHANGE : SecuritySettingsLabel.PASSWORD_SET)}\n </Button>\n )}\n >\n {!editing ? null : hasPassword ? (\n <FormProvider {...changeForm}>\n <form onSubmit={changeForm.handleSubmit(handleChange)} className=\"space-y-4\">\n {/*\n Hidden username field. Gives password managers the account\n context they need to associate the updated credential, and\n resolves Chromium's \"password forms should have an (optionally\n hidden) username field\" warning. Must precede the password\n inputs so managers pair the username with them.\n */}\n <CredentialUsernameAutofillField email={userEmail} />\n <Field>\n <FieldLabel>{t(SecuritySettingsLabel.PASSWORD_CURRENT)}</FieldLabel>\n <InputRoot\n type=\"password\"\n autoComplete=\"current-password\"\n {...changeForm.register('currentPassword', { required: true })}\n />\n </Field>\n <Field>\n <FieldLabel>{t(SecuritySettingsLabel.PASSWORD_NEW)}</FieldLabel>\n <InputRoot\n type=\"password\"\n autoComplete=\"new-password\"\n {...changeForm.register('newPassword', { required: true })}\n />\n <PasswordStrengthIndicator fieldName=\"newPassword\" policy={passwordPolicy} t={tPolicy} />\n </Field>\n <Field>\n <FieldLabel>{t(SecuritySettingsLabel.PASSWORD_CONFIRM)}</FieldLabel>\n <InputRoot\n type=\"password\"\n autoComplete=\"new-password\"\n {...changeForm.register('confirmPassword', { required: true })}\n />\n </Field>\n <Button type=\"submit\" disabled={submitting}>\n {t(SecuritySettingsLabel.PASSWORD_CHANGE)}\n </Button>\n </form>\n </FormProvider>\n ) : (\n <FormProvider {...setForm}>\n <form onSubmit={setForm.handleSubmit(handleSet)} className=\"space-y-4\">\n {/* Hidden username field — see the note in the change-password form above. */}\n <CredentialUsernameAutofillField email={userEmail} />\n <Field>\n <FieldLabel>{t(SecuritySettingsLabel.PASSWORD_NEW)}</FieldLabel>\n <InputRoot\n type=\"password\"\n autoComplete=\"new-password\"\n {...setForm.register('newPassword', { required: true })}\n />\n <PasswordStrengthIndicator fieldName=\"newPassword\" policy={passwordPolicy} t={tPolicy} />\n </Field>\n <Field>\n <FieldLabel>{t(SecuritySettingsLabel.PASSWORD_CONFIRM)}</FieldLabel>\n <InputRoot\n type=\"password\"\n autoComplete=\"new-password\"\n {...setForm.register('confirmPassword', { required: true })}\n />\n </Field>\n <Button type=\"submit\" disabled={submitting}>\n {t(SecuritySettingsLabel.PASSWORD_SET)}\n </Button>\n </form>\n </FormProvider>\n )}\n </SecurityFactorRow>\n );\n};\n\ninterface IdentityLinksSectionProps {\n links: ResolvedIdentityLink[];\n allowRemoval: boolean;\n t: (k: string, params?: Record<string, string | number>) => string;\n onUnlink: (linkId: string) => void;\n}\n\nconst IdentityLinksSection: React.FC<IdentityLinksSectionProps> = ({ links, allowRemoval, t, onUnlink }) => (\n <SecurityFactorRow\n icon={AUTH_METHOD_ICON_REFERENCES[AuthMethod.EXTERNAL_OAUTH2]}\n title={t(SecuritySettingsLabel.SECTION_IDENTITY_LINKS)}\n description={t(SecuritySettingsLabel.IDENTITY_LINKS_DESCRIPTION)}\n state={links.length > 0 ? SecurityFactorState.ACTIVE : SecurityFactorState.INACTIVE}\n statusLabel={t(links.length > 0 ? SecuritySettingsLabel.STATUS_ACTIVE : SecuritySettingsLabel.STATUS_NOT_CONFIGURED)}\n >\n {/* The linked accounts ARE the detail: no count above the list, no empty sentence under a\n \"Not configured\" badge. */}\n {links.length > 0 && (\n <ul className=\"flex flex-col gap-element\">\n {links.map((link) => (\n <li key={link._id} className=\"flex items-center justify-between gap-item rounded-md border p-card-sm\">\n <div className=\"flex min-w-0 flex-col\">\n <Text className=\"truncate font-medium\">{link.providerLabel}</Text>\n <Text className=\"truncate text-xs text-muted-foreground\">{link.providerEmail}</Text>\n </div>\n {allowRemoval && (\n <Button variant={ButtonVariants_Variant.OUTLINE} size={ButtonSize.SM} onClick={() => onUnlink(link._id)}>\n {t(SecuritySettingsLabel.IDENTITY_LINKS_UNLINK)}\n </Button>\n )}\n </li>\n ))}\n </ul>\n )}\n </SecurityFactorRow>\n);\n"]}
|
|
1
|
+
{"version":3,"file":"AppPage_SecuritySettings.js","sourceRoot":"","sources":["../../../../../../src/components/auth/admin-config/AppPage_SecuritySettings.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { ButtonSize, FrontendComponentType, SecuritySettingsLabel, resolveVocabularyWordKey } from '@wildo-ai/presets-components-models';\nimport { Card, CardContent } from '~wildo-frontend-lib/components/sections/card';\nimport { Badge, type BadgeVariants_Variant } from '~wildo-frontend-lib/components/data-display/badge';\nimport { useIconRegistry } from '~wildo-frontend-lib/core/icons/useIconRegistry';\nimport { StandardIconReference, IconSize } from '~wildo-frontend-lib/core/icons/icon-registry.frontend.schemas';\nimport { AUTH_METHOD_ICON_REFERENCES } from '~wildo-frontend-lib/components/auth/methods/auth-method-presentation';\nimport { cn } from '~wildo-frontend-lib/core/ui/cn';\nimport { Button, ButtonVariants_Variant } from '~wildo-frontend-lib/components/actions/button';\nimport { Text } from '~wildo-frontend-lib/components/typography/text';\nimport { Alert, AlertDescription } from '~wildo-frontend-lib/components/overlays/containers/alert';\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n} from '~wildo-frontend-lib/components/overlays/containers/alert-dialog';\nimport { InputRoot } from '~wildo-frontend-lib/components/form/controls/input';\nimport { Field, FieldLabel } from '~wildo-frontend-lib/components/form/chromes/field';\nimport {\n AuthMethod,\n AuthUtils,\n isWildoBackendError,\n type ExternalIdentitySource,\n type PasswordPolicyRules,\n type SsoConnectionType,\n SessionClientBrowser,\n SessionClientOperatingSystem,\n SessionClientVocabulary,\n type UserSessionSummary,\n} from '@wildo-ai/saas-models';\nimport { FormProvider, useForm } from 'react-hook-form';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport { unresolvedLabel } from '~wildo-frontend-lib/core/i18n/I18nContext';\nimport { useUserFacingErrorMessage } from '~wildo-frontend-lib/core/errors/useUserFacingErrorMessage';\nimport { useApplication } from '~wildo-frontend-lib/core/runtime/useApplication';\nimport { useAuthSession } from '~wildo-frontend-lib/core/security/useAuthSession';\nimport { useResolvedAuthConfig } from '~wildo-frontend-lib/core/security/useResolvedAuthConfig';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { getManualCallsHttpClient } from '~wildo-frontend-lib/core/requests/wildo-http-client-manual-calls.frontend.service';\nimport { AuthSessionUtils } from '~wildo-frontend-lib/core/security/auth-session.utils';\nimport { PasswordStrengthIndicator, DEFAULT_PASSWORD_POLICY } from '~wildo-frontend-lib/components/auth/utils/PasswordStrengthIndicator';\nimport { CredentialUsernameAutofillField } from '~wildo-frontend-lib/components/auth/utils/CredentialUsernameAutofillField';\nimport { TotpEnrollmentMethod } from '~wildo-frontend-lib/components/auth/enrollment/TotpEnrollmentMethod';\nimport { PhoneEnrollmentMethod } from '~wildo-frontend-lib/components/auth/enrollment/PhoneEnrollmentMethod';\nimport { startRegistration } from '@simplewebauthn/browser';\nimport type { PublicKeyCredentialCreationOptionsJSON } from '@simplewebauthn/browser';\nimport { buildProviderDisplayNameLabelKey } from '@wildo-ai/saas-models/public-runtime';\nimport {\n collectFrontendProviderDisplayLabelKeys,\n resolveFrontendProviderDisplayLabel,\n} from '~wildo-frontend-lib/core/external-providers/frontend-provider-display-label.frontend.utils';\n\n// A new `SecuritySettingsLabel` member (`@wildo-ai/presets-components-models`)\n// must ALSO be declared in `AppPage_SecuritySettings.labels.ts`, beside this\n// file: that list — key, kind, purpose — is what the dev companion scans\n// statically to plan and translate the words, and an enum member missing\n// from it never reaches the labelling pipeline. The shared step-up dialog\n// (`StepUpAuthDialog`) reads the same component's keys.\n\ntype EnrolledMethod = { method: string; enrolled: boolean; enrolledAt?: string; details?: Record<string, unknown> };\ntype PasskeyCred = { credentialId: string; name: string; createdAt: string };\ntype IdentityLink = {\n _id: string;\n connectionType: SsoConnectionType;\n source: ExternalIdentitySource;\n providerRef: string;\n providerEmail: string;\n linkedAt: string;\n lastUsedAt: string;\n};\ntype ResolvedIdentityLink = IdentityLink & { providerLabel: string };\n\n/**\n * Presentational state of one authentication factor.\n *\n * `UNAVAILABLE` is NOT \"off\" — it means the current device/browser cannot offer\n * the factor at all (no WebAuthn support), which is a different instruction to\n * the user than \"you have not set this up yet\" and therefore a distinct badge.\n */\nenum SecurityFactorState {\n ACTIVE = 'active',\n INACTIVE = 'inactive',\n UNAVAILABLE = 'unavailable',\n}\n\nconst FACTOR_STATE_BADGE_VARIANT: Record<SecurityFactorState, BadgeVariants_Variant> = {\n [SecurityFactorState.ACTIVE]: 'success',\n [SecurityFactorState.INACTIVE]: 'outline',\n [SecurityFactorState.UNAVAILABLE]: 'secondary',\n};\n\ninterface SecurityFactorRowProps {\n /** Glyph identifying the method — resolved through the icon registry so apps can re-skin it. */\n icon: StandardIconReference;\n title: string;\n /**\n * Plain-language \"what this is / why it matters\" line — shown only while the factor is NOT active.\n *\n * It is a prompt for a decision the person has not taken yet (\"Authenticator apps provide one-time\n * codes as a second sign-in step\" beside \"Set up authenticator app\"). Once the factor protects the\n * account the decision is made, the badge says so, and the sentence is read on every visit for\n * nothing — the same reason a read view carries no section descriptions.\n */\n description: string;\n state: SecurityFactorState;\n statusLabel: string;\n /**\n * A live detail the badge cannot carry — today only the masked verified phone number.\n *\n * Nothing that RESTATES the badge belongs here. \"Password is set.\" under \"Password · Active\",\n * \"No authenticator app is set up.\" under \"Not configured\", and \"1 linked accounts\" above the list\n * of that one account were each the same fact twice; they were removed with their labels.\n */\n meta?: React.ReactNode;\n /**\n * The factor's primary control, pinned to the inline-end of the header row.\n * Every row's action lands on the same axis, so the column reads as a list of\n * choices rather than as five stacked mini-pages — the account-security idiom\n * used by mainstream providers. Anything that must expand (an enrolment flow,\n * a credential list, a form) goes to `children` instead.\n *\n * Row actions are OUTLINE, without exception. They are peers: the panel offers\n * five alternative ways to protect an account and recommends none of them, so\n * filling any one of them would assert a priority the page does not hold —\n * and five filled buttons stacked down a column assert five priorities, which\n * is the same as none while costing all the emphasis. The filled variant is\n * reserved for the commit action INSIDE an opened disclosure, where there\n * genuinely is one thing to do next.\n */\n action?: React.ReactNode;\n children?: React.ReactNode;\n}\n\n/**\n * One authentication factor, presented as a scannable row: glyph · name · what\n * it is · live status, with its primary control pinned to the row's end.\n *\n * This replaced a stack of visually identical title-only cards, which forced the\n * user to READ every card to learn which factors were active and offered no\n * explanation of what any factor was. The status badge and the icon carry that\n * information pre-attentively; the description makes the choice informed. The\n * shape follows the account-security idiom used by mainstream providers.\n */\nconst SecurityFactorRow: React.FC<SecurityFactorRowProps> = ({\n icon, title, description, state, statusLabel, meta, action, children,\n}) => {\n const { renderIcon } = useIconRegistry();\n const isActive = state === SecurityFactorState.ACTIVE;\n\n return (\n // One row of ONE card: the factors are a single list of alternatives, so they share a frame and\n // are separated by hairlines (the settings-row idiom) rather than each carrying a card of its own —\n // five stacked cards read as five pages.\n <div className=\"flex flex-col gap-item py-group first:pt-0 last:pb-0\">\n <div className=\"flex flex-row items-start gap-item\">\n {/* Tinted glyph tile — tinted only when the factor is live, so the eye\n lands on what is protecting the account before any text is read. */}\n <div\n aria-hidden=\"true\"\n className={cn(\n 'flex size-9 shrink-0 items-center justify-center rounded-md',\n isActive ? 'bg-success/10 text-success' : 'bg-muted text-muted-foreground',\n )}\n >\n {renderIcon(icon, { size: IconSize.SM })}\n </div>\n\n <div className=\"flex min-w-0 flex-1 flex-col gap-element-xs\">\n <div className=\"flex flex-wrap items-center gap-element-xs\">\n <Text className=\"font-medium leading-snug\">{title}</Text>\n <Badge variant={FACTOR_STATE_BADGE_VARIANT[state]}>{statusLabel}</Badge>\n </div>\n {!isActive && <Text className=\"text-sm text-muted-foreground\">{description}</Text>}\n {meta}\n </div>\n\n {action && <div className=\"flex shrink-0 items-center gap-element-xs\">{action}</div>}\n </div>\n\n {/* Expanded content aligns with the TEXT column, not the glyph: the\n indent is the glyph tile (`size-9`) plus the row gap, so a form or a\n credential list continues the sentence it belongs to. */}\n {children && (\n <div className=\"flex flex-col gap-item ps-[calc(var(--spacing)*9+var(--sp-item))]\">{children}</div>\n )}\n </div>\n );\n};\n\nexport const AppPage_SecuritySettings: React.FC = () => {\n const { auth } = useApplication();\n const { auth: authState, signOutEverywhere } = useAuthSession();\n const { user } = useUserOrgs();\n const resolvedAuth = useResolvedAuthConfig();\n const toUserFacingErrorMessage = useUserFacingErrorMessage();\n\n const [methods, setMethods] = useState<EnrolledMethod[]>([]);\n const [passkeys, setPasskeys] = useState<PasskeyCred[]>([]);\n const [identityLinks, setIdentityLinks] = useState<IdentityLink[]>([]);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<string | null>(null);\n const [successMsg, setSuccessMsg] = useState<string | null>(null);\n const [showTotpEnroll, setShowTotpEnroll] = useState(false);\n const [showPhoneEnroll, setShowPhoneEnroll] = useState(false);\n const [passkeyRegistering, setPasskeyRegistering] = useState(false);\n // The linked provider's name is `providers.<ref>.displayName`, derived from the ref the link holds\n // (#1701) — never read off a frontend provider module, since sign-in runs no vendor code in the page.\n const identityProviderLabelKeys = useMemo(\n () => collectFrontendProviderDisplayLabelKeys(\n identityLinks.map((link) => buildProviderDisplayNameLabelKey(link.providerRef)),\n ),\n [identityLinks],\n );\n const { tComponent, t: translateProvider, isReady, formatDate } = useI18n({\n component: [\n FrontendComponentType.APP_LAYOUTS_SECURITY_SETTINGS,\n FrontendComponentType.PUBLIC_LAYOUTS_USER_REGISTER,\n FrontendComponentType.PUBLIC_LAYOUTS_ENROLLMENT_REQUIRED,\n ],\n keys: identityProviderLabelKeys,\n });\n const t = useCallback(\n (key: string, params?: Record<string, string | number>) =>\n tComponent(FrontendComponentType.APP_LAYOUTS_SECURITY_SETTINGS, key, params),\n [tComponent],\n );\n const tPolicy = useCallback(\n (key: string) => tComponent(FrontendComponentType.PUBLIC_LAYOUTS_USER_REGISTER, key),\n [tComponent],\n );\n\n const passkeyConfig = auth?.passkeyConfig;\n const methodManagement = resolvedAuth.userTypeAuth?.methodManagement;\n const passwordPolicy = resolvedAuth.passwordPolicy;\n const maxPasskeys = passkeyConfig?.maxPasskeysPerUser ?? 10;\n const allowRemoval = methodManagement?.allowUserMethodRemoval ?? true;\n\n const refresh = useCallback(async () => {\n setLoading(true);\n setError(null);\n try {\n const client = getManualCallsHttpClient();\n const [methodsRes, passkeysRes, linksRes] = await Promise.all([\n client.getMyMethods(),\n client.passkeyList().catch(() => ({ credentials: [] })),\n client.getIdentityLinks().catch(() => ({ links: [] })),\n ]);\n setMethods(methodsRes.methods ?? []);\n setPasskeys(passkeysRes.credentials ?? []);\n setIdentityLinks(linksRes.links ?? []);\n } catch (e: any) {\n if (isWildoBackendError(e)) throw e;\n setError(toUserFacingErrorMessage(e, t(SecuritySettingsLabel.ERROR)));\n } finally {\n setLoading(false);\n }\n }, [t, toUserFacingErrorMessage]);\n\n useEffect(() => {\n refresh();\n }, [refresh]);\n\n useEffect(() => {\n if (!successMsg) return;\n const timer = setTimeout(() => setSuccessMsg(null), 5000);\n return () => clearTimeout(timer);\n }, [successMsg]);\n\n // Derived, not listed. The literal `[TOTP, PASSKEY, SMS_OTP]` that stood here was the\n // second-factor vocabulary minus the factors that need no enrollment — correct on the day it was\n // written and silently short the day a fifth second factor is added, since a method missing from\n // the list simply never counts as enrolled.\n const enrollableSecondFactorMethods = AuthUtils.getEnrollableSecondFactorMethods();\n const enrolledSecondFactor = methods\n .filter((m) => m.enrolled && enrollableSecondFactorMethods.includes(m.method as AuthMethod))\n .map((m) => m.method as AuthMethod);\n const completeness = AuthSessionUtils.evaluateAccountCompleteness(\n authState.identification?.requiresMFA ?? false,\n authState.identification?.secondFactorMethods?.map((m) => m.method) ?? [],\n enrolledSecondFactor.length > 0 ? enrolledSecondFactor : (authState.enrolledSecondFactorMethods as AuthMethod[]),\n resolvedAuth.userTypeAuth?.mfaPolicy?.acceptableMFAMethods ?? [],\n );\n\n const hasPassword = methods.some((m) => m.method === AuthMethod.PASSWORD && m.enrolled);\n const hasTotp = methods.some((m) => m.method === AuthMethod.TOTP && m.enrolled);\n const smsMethod = methods.find((m) => m.method === AuthMethod.SMS_OTP);\n const phoneVerified = smsMethod?.enrolled ?? false;\n const phoneMasked = smsMethod?.details?.phoneNumber as string | undefined;\n const resolvedIdentityLinks = useMemo(\n () => identityLinks.map((link) => ({\n ...link,\n providerLabel: resolveFrontendProviderDisplayLabel({\n providerRef: link.providerRef,\n displayName: auth?.socialOAuth2Providers?.[link.providerRef]?.displayName,\n translate: translateProvider,\n }),\n })),\n [auth?.socialOAuth2Providers, identityLinks, translateProvider],\n );\n\n const handlePasskeyAdd = useCallback(async () => {\n if (passkeys.length >= maxPasskeys) return;\n if (typeof window === 'undefined' || !window.PublicKeyCredential) return;\n setPasskeyRegistering(true);\n setError(null);\n try {\n const client = getManualCallsHttpClient();\n const options = (await client.passkeyRegisterOptions()) as unknown as PublicKeyCredentialCreationOptionsJSON;\n const credential = await startRegistration({ optionsJSON: options });\n await client.passkeyRegisterVerify({ response: credential });\n setSuccessMsg(t(SecuritySettingsLabel.SUCCESS));\n refresh();\n } catch (e: any) {\n if (isWildoBackendError(e)) throw e;\n const msg = e?.name === 'NotAllowedError' ? t(SecuritySettingsLabel.PASSKEY_CANCELLED) : toUserFacingErrorMessage(e, t(SecuritySettingsLabel.ERROR));\n setError(msg);\n } finally {\n setPasskeyRegistering(false);\n }\n }, [maxPasskeys, passkeys.length, refresh, t, toUserFacingErrorMessage]);\n\n const handlePasskeyRemove = useCallback(\n async (credentialId: string) => {\n if (!allowRemoval) return;\n try {\n await getManualCallsHttpClient().passkeyRemove(credentialId);\n setSuccessMsg(t(SecuritySettingsLabel.SUCCESS));\n refresh();\n } catch (e: any) {\n if (isWildoBackendError(e)) throw e;\n setError(toUserFacingErrorMessage(e, t(SecuritySettingsLabel.ERROR)));\n }\n },\n [allowRemoval, refresh, t, toUserFacingErrorMessage],\n );\n\n /*\n * No re-authentication handling here, deliberately. Where the user type asks for it, the server\n * answers `STEP_UP_REQUIRED` and the HTTP client answers that by itself — the shared step-up dialog\n * (`StepUpAuthProvider`), then a replay carrying `X-Reauth-Token`. The same is true of adding a\n * passkey, confirming TOTP and confirming a phone below. This page used to carry its own password-only\n * copy of that dialog for this one action, and nothing for the binding actions at all.\n */\n const handleTotpDisable = useCallback(async () => {\n try {\n await getManualCallsHttpClient().mfaTOTPDisable();\n setSuccessMsg(t(SecuritySettingsLabel.SUCCESS));\n setShowTotpEnroll(false);\n refresh();\n } catch (e: any) {\n if (isWildoBackendError(e)) throw e;\n setError(toUserFacingErrorMessage(e, t(SecuritySettingsLabel.ERROR)));\n }\n }, [refresh, t, toUserFacingErrorMessage]);\n\n const handleUnlinkIdentity = useCallback(\n async (linkId: string) => {\n if (!allowRemoval) return;\n try {\n await getManualCallsHttpClient().unlinkIdentityLink(linkId);\n setSuccessMsg(t(SecuritySettingsLabel.SUCCESS));\n refresh();\n } catch (e: any) {\n if (isWildoBackendError(e)) throw e;\n setError(toUserFacingErrorMessage(e, t(SecuritySettingsLabel.ERROR)));\n }\n },\n [allowRemoval, refresh, t, toUserFacingErrorMessage],\n );\n\n if (!isReady) return null;\n\n // Passkeys are only offerable where WebAuthn exists; an unsupported browser is\n // a distinct state from \"not set up yet\" and gets its own badge + no CTA.\n const passkeysSupported = typeof window !== 'undefined' && !!window.PublicKeyCredential;\n const passkeyState = !passkeysSupported\n ? SecurityFactorState.UNAVAILABLE\n : passkeys.length > 0 ? SecurityFactorState.ACTIVE : SecurityFactorState.INACTIVE;\n\n const statusLabelFor = (state: SecurityFactorState): string => {\n switch (state) {\n case SecurityFactorState.ACTIVE: return t(SecuritySettingsLabel.STATUS_ACTIVE);\n case SecurityFactorState.UNAVAILABLE: return t(SecuritySettingsLabel.STATUS_UNAVAILABLE);\n case SecurityFactorState.INACTIVE: return t(SecuritySettingsLabel.STATUS_NOT_CONFIGURED);\n }\n };\n\n const PasskeySection = (\n <SecurityFactorRow\n icon={AUTH_METHOD_ICON_REFERENCES[AuthMethod.PASSKEY]}\n title={t(SecuritySettingsLabel.SECTION_PASSKEYS)}\n description={t(SecuritySettingsLabel.PASSKEYS_DESCRIPTION)}\n state={passkeyState}\n statusLabel={statusLabelFor(passkeyState)}\n action={passkeysSupported && passkeys.length < maxPasskeys ? (\n <Button variant={ButtonVariants_Variant.OUTLINE} onClick={handlePasskeyAdd} disabled={passkeyRegistering}>\n {passkeyRegistering ? t(SecuritySettingsLabel.PASSKEY_ADDING) : t(SecuritySettingsLabel.PASSKEY_ADD)}\n </Button>\n ) : undefined}\n >\n {!passkeysSupported && (\n <Alert>\n <AlertDescription>{t(SecuritySettingsLabel.PASSKEY_UNSUPPORTED)}</AlertDescription>\n </Alert>\n )}\n {/* The registered passkeys ARE the detail: no count above them, and no \"No passkeys added\n yet.\" when there are none — the \"Not configured\" badge already says it. */}\n {passkeysSupported && passkeys.length > 0 && (\n <ul className=\"flex flex-col gap-element\">\n {passkeys.map((pk) => (\n <li key={pk.credentialId} className=\"flex items-center justify-between gap-item rounded-md border p-card-sm\">\n <div className=\"flex min-w-0 flex-col\">\n <Text className=\"truncate font-medium\">{pk.name}</Text>\n {pk.createdAt && (\n <Text className=\"text-xs text-muted-foreground\">\n {t(SecuritySettingsLabel.PASSKEY_ADDED, { date: formatDate(pk.createdAt) })}\n </Text>\n )}\n </div>\n {allowRemoval && (\n <Button variant={ButtonVariants_Variant.OUTLINE} size={ButtonSize.SM} onClick={() => handlePasskeyRemove(pk.credentialId)}>\n {t(SecuritySettingsLabel.PASSKEY_REMOVE)}\n </Button>\n )}\n </li>\n ))}\n </ul>\n )}\n </SecurityFactorRow>\n );\n\n const totpState = hasTotp ? SecurityFactorState.ACTIVE : SecurityFactorState.INACTIVE;\n const TotpSection = (\n <SecurityFactorRow\n icon={AUTH_METHOD_ICON_REFERENCES[AuthMethod.TOTP]}\n title={t(SecuritySettingsLabel.SECTION_TOTP)}\n description={t(SecuritySettingsLabel.TOTP_DESCRIPTION)}\n state={totpState}\n statusLabel={statusLabelFor(totpState)}\n action={hasTotp\n ? (allowRemoval ? (\n <Button variant={ButtonVariants_Variant.OUTLINE} onClick={handleTotpDisable}>\n {t(SecuritySettingsLabel.TOTP_DISABLE)}\n </Button>\n ) : undefined)\n // While the enrolment flow is open its own controls own the row, so the\n // opener is withdrawn rather than left as a second way in.\n : (showTotpEnroll ? undefined : (\n <Button variant={ButtonVariants_Variant.OUTLINE} onClick={() => setShowTotpEnroll(true)}>\n {t(SecuritySettingsLabel.TOTP_SETUP)}\n </Button>\n ))}\n >\n {hasTotp ? (\n <>\n {completeness.enrolledMethods.length === 1 && completeness.enrolledMethods.includes(AuthMethod.TOTP) && (\n <Alert>\n <AlertDescription>{t(SecuritySettingsLabel.TOTP_ONLY_MFA_WARNING)}</AlertDescription>\n </Alert>\n )}\n </>\n ) : showTotpEnroll ? (\n <TotpEnrollmentMethod\n onComplete={() => {\n setShowTotpEnroll(false);\n refresh();\n }}\n onError={(msg) => setError(msg)}\n isLoading={false}\n t={(k) => tComponent(FrontendComponentType.PUBLIC_LAYOUTS_ENROLLMENT_REQUIRED, k)}\n />\n ) : null}\n </SecurityFactorRow>\n );\n\n const phoneState = phoneVerified ? SecurityFactorState.ACTIVE : SecurityFactorState.INACTIVE;\n const PhoneSection = (\n <SecurityFactorRow\n icon={AUTH_METHOD_ICON_REFERENCES[AuthMethod.SMS_OTP]}\n title={t(SecuritySettingsLabel.SECTION_PHONE)}\n description={t(SecuritySettingsLabel.PHONE_DESCRIPTION)}\n state={phoneState}\n statusLabel={statusLabelFor(phoneState)}\n // WHICH number is verified is the one thing the \"Active\" badge cannot say, so the masked number\n // stands alone — no \"Verified:\" in front of it (the badge) and no sentence when there is none.\n meta={phoneVerified && phoneMasked ? <Text className=\"text-sm\">{phoneMasked}</Text> : undefined}\n action={phoneVerified ? (\n <Button variant={ButtonVariants_Variant.OUTLINE} onClick={() => setShowPhoneEnroll(true)}>\n {t(SecuritySettingsLabel.PHONE_CHANGE)}\n </Button>\n ) : (showPhoneEnroll ? undefined : (\n <Button variant={ButtonVariants_Variant.OUTLINE} onClick={() => setShowPhoneEnroll(true)}>\n {t(SecuritySettingsLabel.PHONE_VERIFY)}\n </Button>\n ))}\n >\n {phoneVerified && !showPhoneEnroll ? null : showPhoneEnroll ? (\n <PhoneEnrollmentMethod\n onComplete={() => {\n setShowPhoneEnroll(false);\n refresh();\n }}\n onError={(msg) => setError(msg)}\n isLoading={false}\n t={(k) => tComponent(FrontendComponentType.PUBLIC_LAYOUTS_ENROLLMENT_REQUIRED, k)}\n />\n ) : null}\n </SecurityFactorRow>\n );\n\n // ── No posture summary, deliberately ───────────────────────────────────────\n // Two rejected designs, for whoever is tempted to re-add one:\n // 1. \"Your account is fully secured\" keyed off `completeness.isComplete` —\n // that flag answers \"does this satisfy the app's auth POLICY?\", and it is\n // `true` whenever MFA is not required. It therefore claimed a fully\n // secured account for an account with zero second factors.\n // 2. An \"n of 4 sign-in methods active\" ratio with a progress meter — a\n // score with no referent. The denominator is not a target: nobody needs\n // SMS *and* TOTP *and* a passkey, the factors are alternatives, and the\n // remedy differs per factor. A meter that fills toward a number the user\n // should not reach measures nothing and invites gaming it.\n // The rows below already carry the state (per-factor badge) and the meaning\n // (per-factor description). A summary that restates them as a number is\n // strictly less information, presented as if it were more.\n\n return (\n <div className=\"flex flex-col gap-section\">\n {/* `h3`, not `h2`: the Settings Hub header owns the `h2` for this dialog,\n so a panel heading is one level below it. */}\n {/* No sub-heading: \"Manage how you sign in and protect your account\" restated the heading and the\n five factor names beneath it. */}\n <h3 className=\"text-base font-semibold tracking-tight\">{t(SecuritySettingsLabel.PAGE_TITLE)}</h3>\n\n {error && (\n <Alert variant=\"destructive\">\n <AlertDescription>{error}</AlertDescription>\n </Alert>\n )}\n {successMsg && (\n <Alert>\n <AlertDescription>{successMsg}</AlertDescription>\n </Alert>\n )}\n\n {loading ? (\n <Text className=\"text-muted-foreground\">{t(SecuritySettingsLabel.LOADING)}</Text>\n ) : (\n <Card>\n <CardContent className=\"flex flex-col divide-y divide-border p-card\">\n {PasskeySection}\n {TotpSection}\n {PhoneSection}\n <PasswordSection\n hasPassword={hasPassword}\n passwordPolicy={passwordPolicy}\n userEmail={user?.email}\n t={t}\n tPolicy={tPolicy}\n onSuccess={() => {\n setSuccessMsg(t(SecuritySettingsLabel.SUCCESS));\n refresh();\n }}\n onError={(msg) => setError(msg)}\n />\n <IdentityLinksSection\n links={resolvedIdentityLinks}\n allowRemoval={allowRemoval}\n t={t}\n onUnlink={handleUnlinkIdentity}\n />\n </CardContent>\n </Card>\n )}\n\n {/* Sessions are not a way to sign in, so they are not a row of the factors card. */}\n {!loading && (\n <Card>\n <CardContent className=\"flex flex-col divide-y divide-border p-card\">\n <SessionsSection\n t={t}\n formatDate={formatDate}\n onSignOutEverywhere={signOutEverywhere}\n onError={(caught) => setError(toUserFacingErrorMessage(caught))}\n />\n </CardContent>\n </Card>\n )}\n </div>\n );\n};\n\ninterface PasswordSectionProps {\n hasPassword: boolean;\n passwordPolicy: PasswordPolicyRules;\n /**\n * Signed-in user's email. Rendered as a visually-hidden\n * `autocomplete=\"username\"` field inside each password form so password\n * managers associate the saved/updated credential with the correct account\n * (Chromium also warns when a password form has no username field).\n */\n userEmail?: string;\n t: (k: string, params?: Record<string, string | number>) => string;\n tPolicy: (k: string) => string;\n onSuccess: () => void;\n onError: (msg: string) => void;\n}\n\nconst PasswordSection: React.FC<PasswordSectionProps> = ({ hasPassword, passwordPolicy, userEmail, t, tPolicy, onSuccess, onError }) => {\n const toUserFacingErrorMessage = useUserFacingErrorMessage();\n const [submitting, setSubmitting] = useState(false);\n // The credential form is a DISCLOSURE, not the row's resting state. Rendered\n // eagerly it was four inputs plus a strength meter permanently open beneath a\n // one-line row, which made this factor read as the page's subject and the\n // other four as its footnotes. Every row now rests at the same height and\n // opens on request.\n const [editing, setEditing] = useState(false);\n const changeForm = useForm<{ currentPassword: string; newPassword: string; confirmPassword: string }>({\n defaultValues: { currentPassword: '', newPassword: '', confirmPassword: '' },\n });\n const setForm = useForm<{ newPassword: string; confirmPassword: string }>({\n defaultValues: { newPassword: '', confirmPassword: '' },\n });\n\n const handleChange = useCallback(\n async (data: { currentPassword: string; newPassword: string; confirmPassword: string }) => {\n if (data.newPassword !== data.confirmPassword) {\n onError(t(SecuritySettingsLabel.PASSWORD_MISMATCH));\n return;\n }\n setSubmitting(true);\n try {\n await getManualCallsHttpClient().passwordChange(data.currentPassword, data.newPassword);\n onSuccess();\n changeForm.reset();\n setEditing(false);\n } catch (e: any) {\n if (isWildoBackendError(e)) throw e;\n onError(toUserFacingErrorMessage(e, t(SecuritySettingsLabel.ERROR)));\n } finally {\n setSubmitting(false);\n }\n },\n [changeForm, onError, onSuccess, t, toUserFacingErrorMessage],\n );\n\n const handleSet = useCallback(\n async (data: { newPassword: string; confirmPassword: string }) => {\n if (data.newPassword !== data.confirmPassword) {\n onError(t(SecuritySettingsLabel.PASSWORD_MISMATCH));\n return;\n }\n setSubmitting(true);\n try {\n await getManualCallsHttpClient().passwordSet(data.newPassword);\n onSuccess();\n setForm.reset();\n setEditing(false);\n } catch (e: any) {\n if (isWildoBackendError(e)) throw e;\n onError(toUserFacingErrorMessage(e, t(SecuritySettingsLabel.ERROR)));\n } finally {\n setSubmitting(false);\n }\n },\n [onError, onSuccess, setForm, t, toUserFacingErrorMessage],\n );\n\n const state = hasPassword ? SecurityFactorState.ACTIVE : SecurityFactorState.INACTIVE;\n\n return (\n <SecurityFactorRow\n icon={AUTH_METHOD_ICON_REFERENCES[AuthMethod.PASSWORD]}\n title={t(SecuritySettingsLabel.SECTION_PASSWORD)}\n description={t(SecuritySettingsLabel.PASSWORD_DESCRIPTION)}\n state={state}\n statusLabel={t(hasPassword ? SecuritySettingsLabel.STATUS_ACTIVE : SecuritySettingsLabel.STATUS_NOT_CONFIGURED)}\n action={editing ? (\n <Button\n variant={ButtonVariants_Variant.OUTLINE}\n onClick={() => {\n setEditing(false);\n changeForm.reset();\n setForm.reset();\n }}\n >\n {t(SecuritySettingsLabel.CANCEL)}\n </Button>\n ) : (\n <Button variant={ButtonVariants_Variant.OUTLINE} onClick={() => setEditing(true)}>\n {t(hasPassword ? SecuritySettingsLabel.PASSWORD_CHANGE : SecuritySettingsLabel.PASSWORD_SET)}\n </Button>\n )}\n >\n {!editing ? null : hasPassword ? (\n <FormProvider {...changeForm}>\n <form onSubmit={changeForm.handleSubmit(handleChange)} className=\"space-y-4\">\n {/*\n Hidden username field. Gives password managers the account\n context they need to associate the updated credential, and\n resolves Chromium's \"password forms should have an (optionally\n hidden) username field\" warning. Must precede the password\n inputs so managers pair the username with them.\n */}\n <CredentialUsernameAutofillField email={userEmail} />\n <Field>\n <FieldLabel>{t(SecuritySettingsLabel.PASSWORD_CURRENT)}</FieldLabel>\n <InputRoot\n type=\"password\"\n autoComplete=\"current-password\"\n {...changeForm.register('currentPassword', { required: true })}\n />\n </Field>\n <Field>\n <FieldLabel>{t(SecuritySettingsLabel.PASSWORD_NEW)}</FieldLabel>\n <InputRoot\n type=\"password\"\n autoComplete=\"new-password\"\n {...changeForm.register('newPassword', { required: true })}\n />\n <PasswordStrengthIndicator fieldName=\"newPassword\" policy={passwordPolicy} t={tPolicy} />\n </Field>\n <Field>\n <FieldLabel>{t(SecuritySettingsLabel.PASSWORD_CONFIRM)}</FieldLabel>\n <InputRoot\n type=\"password\"\n autoComplete=\"new-password\"\n {...changeForm.register('confirmPassword', { required: true })}\n />\n </Field>\n <Button type=\"submit\" disabled={submitting}>\n {t(SecuritySettingsLabel.PASSWORD_CHANGE)}\n </Button>\n </form>\n </FormProvider>\n ) : (\n <FormProvider {...setForm}>\n <form onSubmit={setForm.handleSubmit(handleSet)} className=\"space-y-4\">\n {/* Hidden username field — see the note in the change-password form above. */}\n <CredentialUsernameAutofillField email={userEmail} />\n <Field>\n <FieldLabel>{t(SecuritySettingsLabel.PASSWORD_NEW)}</FieldLabel>\n <InputRoot\n type=\"password\"\n autoComplete=\"new-password\"\n {...setForm.register('newPassword', { required: true })}\n />\n <PasswordStrengthIndicator fieldName=\"newPassword\" policy={passwordPolicy} t={tPolicy} />\n </Field>\n <Field>\n <FieldLabel>{t(SecuritySettingsLabel.PASSWORD_CONFIRM)}</FieldLabel>\n <InputRoot\n type=\"password\"\n autoComplete=\"new-password\"\n {...setForm.register('confirmPassword', { required: true })}\n />\n </Field>\n <Button type=\"submit\" disabled={submitting}>\n {t(SecuritySettingsLabel.PASSWORD_SET)}\n </Button>\n </form>\n </FormProvider>\n )}\n </SecurityFactorRow>\n );\n};\n\ninterface IdentityLinksSectionProps {\n links: ResolvedIdentityLink[];\n allowRemoval: boolean;\n t: (k: string, params?: Record<string, string | number>) => string;\n onUnlink: (linkId: string) => void;\n}\n\ninterface SessionsSectionProps {\n t: (k: string, params?: Record<string, string | number>) => string;\n formatDate: (value: Date | string) => string;\n onSignOutEverywhere: () => Promise<void>;\n onError: (caught: unknown) => void;\n}\n\n/**\n * Where the account is signed in (#2317): every live session, with the one in use marked, a way to sign any\n * other one out, and a way to sign out of all of them.\n *\n * Signing out everywhere is confirmed first, because it also ends the session the person is using; on success the\n * tab is signed out, so nothing renders a success message, and on failure the person stays signed in and is told,\n * since the other devices still are. Signing out ONE other session is not confirmed: it only takes access away from\n * a device, the person usually reaches for it because they no longer trust that device, and the device can sign in\n * again. The session in use has no such control here; signing out of it is the ordinary sign-out.\n */\nconst SessionsSection: React.FC<SessionsSectionProps> = ({ t, formatDate, onSignOutEverywhere, onError }) => {\n const { renderIcon } = useIconRegistry();\n const { t: tGlobal } = useI18n();\n const [confirming, setConfirming] = useState(false);\n const [signingOut, setSigningOut] = useState(false);\n const [sessions, setSessions] = useState<UserSessionSummary[] | null>(null);\n const [revoking, setRevoking] = useState<string | null>(null);\n // The parent passes `onError` inline, so it is a new function on every render; held in a ref, it neither refetches\n // the list nor rebuilds the handlers each time the panel re-renders.\n const onErrorRef = useRef(onError);\n onErrorRef.current = onError;\n\n useEffect(() => {\n let cancelled = false;\n getManualCallsHttpClient().listMySessions()\n .then((response) => { if (!cancelled) setSessions(response.sessions); })\n .catch((caught) => { if (!cancelled) { setSessions([]); onErrorRef.current(caught); } });\n return () => { cancelled = true; };\n }, []);\n\n const handleRevoke = useCallback(async (sessionId: string) => {\n setRevoking(sessionId);\n const removeRow = () => setSessions((current) => current?.filter((session) => session.sessionId !== sessionId) ?? null);\n try {\n await getManualCallsHttpClient().revokeMySession(sessionId);\n removeRow();\n } catch (caught) {\n // 404: the session ended on its own since the list was read (signed out, expired, retired by the session limit).\n // What the person asked for is already true, so the row goes and nothing is reported.\n if ((caught as { httpStatus?: unknown } | null)?.httpStatus === 404) removeRow();\n else onErrorRef.current(caught);\n } finally {\n setRevoking(null);\n }\n }, []);\n\n /*\n * A browser's and a system's words are their vocabularies' (`system_enums.SessionClientBrowser.chrome`), the same words\n * the new-sign-in-client email shows for them (#2929): one source, so the email and the page it links to agree. A\n * value with no word shows as itself, a missing label that looks missing.\n */\n const clientWord = (vocabulary: SessionClientVocabulary, value: string): string => {\n const key = resolveVocabularyWordKey(vocabulary, value);\n const word = tGlobal(key);\n return word === key ? unresolvedLabel(value) : word;\n };\n const describeDevice = (session: UserSessionSummary) => t(SecuritySettingsLabel.SESSION_DEVICE, {\n browser: clientWord(SessionClientVocabulary.BROWSER, session.browser ?? SessionClientBrowser.OTHER),\n operatingSystem: clientWord(SessionClientVocabulary.OPERATING_SYSTEM, session.operatingSystem ?? SessionClientOperatingSystem.OTHER),\n });\n const describeDetails = (session: UserSessionSummary) => session.ipAddress\n ? t(SecuritySettingsLabel.SESSION_DETAILS, { address: session.ipAddress, lastActive: formatDate(session.lastActiveAt) })\n : t(SecuritySettingsLabel.SESSION_LAST_ACTIVE, { lastActive: formatDate(session.lastActiveAt) });\n\n const handleConfirm = useCallback(async () => {\n setSigningOut(true);\n try {\n await onSignOutEverywhere();\n } catch (caught) {\n setSigningOut(false);\n setConfirming(false);\n onError(caught);\n }\n }, [onSignOutEverywhere, onError]);\n\n return (\n <div className=\"flex flex-col gap-item\">\n <div className=\"flex flex-row items-start gap-item\">\n <div aria-hidden=\"true\" className=\"flex size-9 shrink-0 items-center justify-center rounded-md bg-muted text-muted-foreground\">\n {renderIcon(StandardIconReference.LOGOUT, { size: IconSize.SM })}\n </div>\n <div className=\"flex min-w-0 flex-1 flex-col gap-element-xs\">\n <Text className=\"font-medium leading-snug\">{t(SecuritySettingsLabel.SECTION_SESSIONS)}</Text>\n <Text className=\"text-sm text-muted-foreground\">{t(SecuritySettingsLabel.SIGN_OUT_EVERYWHERE_DESCRIPTION)}</Text>\n </div>\n <div className=\"flex shrink-0 items-center gap-element-xs\">\n <Button variant={ButtonVariants_Variant.OUTLINE} size={ButtonSize.SM} onClick={() => setConfirming(true)} disabled={signingOut}>\n {t(SecuritySettingsLabel.SIGN_OUT_EVERYWHERE)}\n </Button>\n </div>\n <AlertDialog open={confirming} onOpenChange={(open) => { if (!open && !signingOut) setConfirming(false); }}>\n <AlertDialogContent>\n <AlertDialogHeader>\n <AlertDialogTitle>{t(SecuritySettingsLabel.SIGN_OUT_EVERYWHERE_CONFIRM_TITLE)}</AlertDialogTitle>\n <AlertDialogDescription>{t(SecuritySettingsLabel.SIGN_OUT_EVERYWHERE_CONFIRM_DESCRIPTION)}</AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel disabled={signingOut}>{t(SecuritySettingsLabel.CANCEL)}</AlertDialogCancel>\n <AlertDialogAction\n disabled={signingOut}\n onClick={(event) => {\n // Held open until the backend answers: closing first would hide a failure.\n event.preventDefault();\n void handleConfirm();\n }}\n >\n {t(SecuritySettingsLabel.SIGN_OUT_EVERYWHERE)}\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n </div>\n {/* Aligned with the text column, like a factor row's expanded content. */}\n {sessions && sessions.length > 0 && (\n <ul className=\"flex flex-col gap-element ps-[calc(var(--spacing)*9+var(--sp-item))]\" aria-label={t(SecuritySettingsLabel.SECTION_SESSIONS)}>\n {sessions.map((session) => (\n <li key={session.sessionId} className=\"flex items-center justify-between gap-item rounded-md border p-card-sm\" data-session-id={session.sessionId}>\n <div className=\"flex min-w-0 flex-col\">\n <div className=\"flex flex-wrap items-center gap-element-xs\">\n <Text className=\"truncate font-medium\">{describeDevice(session)}</Text>\n {session.isCurrent && <Badge variant=\"secondary\">{t(SecuritySettingsLabel.SESSION_THIS_DEVICE)}</Badge>}\n </div>\n <Text className=\"truncate text-xs text-muted-foreground\">{describeDetails(session)}</Text>\n </div>\n {!session.isCurrent && (\n <Button\n variant={ButtonVariants_Variant.OUTLINE}\n size={ButtonSize.SM}\n disabled={revoking === session.sessionId}\n onClick={() => { void handleRevoke(session.sessionId); }}\n >\n {t(SecuritySettingsLabel.SESSION_SIGN_OUT)}\n </Button>\n )}\n </li>\n ))}\n </ul>\n )}\n </div>\n );\n};\n\nconst IdentityLinksSection: React.FC<IdentityLinksSectionProps> = ({ links, allowRemoval, t, onUnlink }) => (\n <SecurityFactorRow\n icon={AUTH_METHOD_ICON_REFERENCES[AuthMethod.EXTERNAL_OAUTH2]}\n title={t(SecuritySettingsLabel.SECTION_IDENTITY_LINKS)}\n description={t(SecuritySettingsLabel.IDENTITY_LINKS_DESCRIPTION)}\n state={links.length > 0 ? SecurityFactorState.ACTIVE : SecurityFactorState.INACTIVE}\n statusLabel={t(links.length > 0 ? SecuritySettingsLabel.STATUS_ACTIVE : SecuritySettingsLabel.STATUS_NOT_CONFIGURED)}\n >\n {/* The linked accounts ARE the detail: no count above the list, no empty sentence under a\n \"Not configured\" badge. */}\n {links.length > 0 && (\n <ul className=\"flex flex-col gap-element\">\n {links.map((link) => (\n <li key={link._id} className=\"flex items-center justify-between gap-item rounded-md border p-card-sm\">\n <div className=\"flex min-w-0 flex-col\">\n <Text className=\"truncate font-medium\">{link.providerLabel}</Text>\n <Text className=\"truncate text-xs text-muted-foreground\">{link.providerEmail}</Text>\n </div>\n {allowRemoval && (\n <Button variant={ButtonVariants_Variant.OUTLINE} size={ButtonSize.SM} onClick={() => onUnlink(link._id)}>\n {t(SecuritySettingsLabel.IDENTITY_LINKS_UNLINK)}\n </Button>\n )}\n </li>\n ))}\n </ul>\n )}\n </SecurityFactorRow>\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppPage_SecuritySettings.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/auth/admin-config/AppPage_SecuritySettings.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,gCAAgC,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"AppPage_SecuritySettings.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/auth/admin-config/AppPage_SecuritySettings.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,gCAAgC,EAAE,mBAAmB,EAqGjE,CAAC"}
|
|
@@ -22,6 +22,26 @@ export const AppLayoutsSecuritySettingsLabels = [
|
|
|
22
22
|
{ ref: 'passwordNew', kind: LabelKind.LABEL, purpose: 'Field label for the new-password input' },
|
|
23
23
|
{ ref: 'passwordConfirm', kind: LabelKind.LABEL, purpose: 'Field label for the confirm-new-password input' },
|
|
24
24
|
{ ref: 'identityLinksUnlink', kind: LabelKind.BUTTON, purpose: 'Button that unlinks a connected social identity' },
|
|
25
|
+
// Sessions (#2317).
|
|
26
|
+
{ ref: 'sectionSessions', kind: LabelKind.HEADING, purpose: 'Title of the row about the sessions the account is signed in with, on every device and browser' },
|
|
27
|
+
{ ref: 'signOutEverywhere', kind: LabelKind.BUTTON, purpose: 'Button that signs the account out of every session on every device, including the one in use; also the confirm button of its dialog' },
|
|
28
|
+
{ ref: 'signOutEverywhereDescription', kind: LabelKind.DESCRIPTION, purpose: 'One sentence under the sessions title: signing out everywhere ends every session of the account on every device and browser, this one included' },
|
|
29
|
+
{ ref: 'signOutEverywhereConfirmTitle', kind: LabelKind.HEADING, purpose: 'Title of the dialog asking the person to confirm signing out of every session' },
|
|
30
|
+
{ ref: 'signOutEverywhereConfirmDescription', kind: LabelKind.DESCRIPTION, purpose: 'Body of that dialog: every device and browser, this one included, will be signed out and will have to sign in again' },
|
|
31
|
+
{
|
|
32
|
+
ref: 'sessionDevice', kind: LabelKind.LABEL, purpose: 'Name of one signed-in session in the list: the browser and the operating system it signed in from, e.g. "Chrome on macOS"',
|
|
33
|
+
params: [{ key: 'browser', meaning: 'browser family word, e.g. Chrome' }, { key: 'operatingSystem', meaning: 'operating-system family word, e.g. macOS' }],
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
ref: 'sessionDetails', kind: LabelKind.MESSAGE, purpose: 'Second line of a session row: the address it signed in from and when it was last active',
|
|
37
|
+
params: [{ key: 'address', meaning: 'IP address the session signed in from' }, { key: 'lastActive', meaning: 'date and time of its last activity' }],
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
ref: 'sessionLastActive', kind: LabelKind.MESSAGE, purpose: 'Second line of a session row whose address is unknown: when it was last active',
|
|
41
|
+
params: [{ key: 'lastActive', meaning: 'date and time of its last activity' }],
|
|
42
|
+
},
|
|
43
|
+
{ ref: 'sessionThisDevice', kind: LabelKind.LABEL, purpose: 'Short badge on the session in the list that the person is using right now' },
|
|
44
|
+
{ ref: 'sessionSignOut', kind: LabelKind.BUTTON, purpose: 'Button on one session row that signs that session out, on its device' },
|
|
25
45
|
{ ref: 'reauthTitle', kind: LabelKind.HEADING, purpose: 'Title of the re-authentication confirmation dialog' },
|
|
26
46
|
{ ref: 'reauthDescription', kind: LabelKind.DESCRIPTION, purpose: 'Explains that the person must confirm it is really them before this sensitive change goes through. Must not name a method: they may confirm with a password, a passkey or an authenticator code' },
|
|
27
47
|
{ ref: 'reauthPassword', kind: LabelKind.LABEL, purpose: 'Field label for the re-authentication password input' },
|
|
@@ -40,7 +60,7 @@ export const AppLayoutsSecuritySettingsLabels = [
|
|
|
40
60
|
{ ref: 'reauthTotpCode', kind: LabelKind.LABEL, purpose: 'Field label for the authenticator-app code input in the re-authentication dialog' },
|
|
41
61
|
{ ref: 'reauthTotpCodePlaceholder', kind: LabelKind.PLACEHOLDER, purpose: 'Placeholder inside the authenticator-app code input, which takes the current one-time code' },
|
|
42
62
|
{ ref: 'reauthNoAcceptedMethod', kind: LabelKind.MESSAGE, purpose: 'Shown in the re-authentication dialog when none of the account\'s sign-in methods is accepted for this confirmation, because the account\'s security policy requires a method it has not added yet. Tells the person to add that method (for example a passkey) in their security settings first' },
|
|
43
|
-
{ ref: '
|
|
63
|
+
{ ref: 'reauthGrantingOrganizationDescription', kind: LabelKind.DESCRIPTION, purpose: 'Shown in the re-authentication dialog to a person who has just opened the workspace of an organization they work in on behalf of another organization (for example a service firm\'s staff opening a client\'s workspace): that organization asks people working in it on behalf of another organization to confirm with a second factor (an authenticator code or a passkey) before continuing, and this confirmation counts for that organization only. Must not name a specific organization' },
|
|
44
64
|
{
|
|
45
65
|
ref: 'reauthWithProvider',
|
|
46
66
|
kind: LabelKind.BUTTON,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppPage_SecuritySettings.labels.js","sourceRoot":"","sources":["../../../../../../src/components/auth/admin-config/AppPage_SecuritySettings.labels.ts"],"names":[],"mappings":"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","sourcesContent":["import { FrontendComponentType, LabelKind, type LabellingUnitaryDef, registerComponentLabels } from '@wildo-ai/presets-components-models';\n\n// Companion-only label metadata for this component: keys + params + per-key\n// purpose / kind / variable meaning. Statically scanned by the dev companion;\n// NOT imported at runtime, so it never ships in the bundle.\n\nexport const AppLayoutsSecuritySettingsLabels: LabellingUnitaryDef[] = [\n { ref: 'pageTitle', kind: LabelKind.HEADING, purpose: 'Page heading for the account security-settings screen' },\n { ref: 'sectionPasskeys', kind: LabelKind.HEADING, purpose: 'Section title for the passkeys management card' },\n { ref: 'sectionTotp', kind: LabelKind.HEADING, purpose: 'Section title for the authenticator-app (TOTP) management card' },\n { ref: 'sectionPhone', kind: LabelKind.HEADING, purpose: 'Section title for the phone / SMS management card' },\n { ref: 'sectionPassword', kind: LabelKind.HEADING, purpose: 'Section title for the password management card' },\n { ref: 'sectionIdentityLinks', kind: LabelKind.HEADING, purpose: 'Section title for the linked social-identity providers card' },\n { ref: 'passkeyAdd', kind: LabelKind.BUTTON, purpose: 'Button that registers a new passkey' },\n { ref: 'passkeyUnsupported', kind: LabelKind.MESSAGE, purpose: 'Notice shown when the device or browser does not support passkeys' },\n { ref: 'passkeyRemove', kind: LabelKind.BUTTON, purpose: 'Button that removes an individual passkey' },\n { ref: 'totpSetup', kind: LabelKind.BUTTON, purpose: 'Button that starts authenticator-app setup' },\n { ref: 'totpDisable', kind: LabelKind.BUTTON, purpose: 'Button that disables the authenticator app' },\n { ref: 'totpOnlyMfaWarning', kind: LabelKind.MESSAGE, purpose: 'Warning that the authenticator app is the only enrolled second factor' },\n { ref: 'phoneChange', kind: LabelKind.BUTTON, purpose: 'Button that changes the verified phone number' },\n { ref: 'passwordChange', kind: LabelKind.BUTTON, purpose: 'Submit button that changes the existing password' },\n { ref: 'passwordSet', kind: LabelKind.BUTTON, purpose: 'Submit button that sets a password for an account that has none' },\n { ref: 'passwordCurrent', kind: LabelKind.LABEL, purpose: 'Field label for the current-password input' },\n { ref: 'passwordNew', kind: LabelKind.LABEL, purpose: 'Field label for the new-password input' },\n { ref: 'passwordConfirm', kind: LabelKind.LABEL, purpose: 'Field label for the confirm-new-password input' },\n { ref: 'identityLinksUnlink', kind: LabelKind.BUTTON, purpose: 'Button that unlinks a connected social identity' },\n { ref: 'reauthTitle', kind: LabelKind.HEADING, purpose: 'Title of the re-authentication confirmation dialog' },\n { ref: 'reauthDescription', kind: LabelKind.DESCRIPTION, purpose: 'Explains that the person must confirm it is really them before this sensitive change goes through. Must not name a method: they may confirm with a password, a passkey or an authenticator code' },\n { ref: 'reauthPassword', kind: LabelKind.LABEL, purpose: 'Field label for the re-authentication password input' },\n { ref: 'cancel', kind: LabelKind.BUTTON, purpose: 'Button that closes the password change or set-password form without saving' },\n { ref: 'success', kind: LabelKind.MESSAGE, purpose: 'Generic confirmation shown after a successful security change' },\n { ref: 'error', kind: LabelKind.MESSAGE, purpose: 'Generic error shown when a security operation fails' },\n { ref: 'passkeyCancelled', kind: LabelKind.MESSAGE, purpose: 'Notice shown when the user cancels passkey registration' },\n { ref: 'passkeyAdding', kind: LabelKind.MESSAGE, purpose: 'In-progress status while a passkey is being registered' },\n { ref: 'loading', kind: LabelKind.MESSAGE, purpose: 'Loading status while the security settings are being fetched' },\n { ref: 'passwordMismatch', kind: LabelKind.MESSAGE, purpose: 'Validation error when the new password and confirmation do not match' },\n { ref: 'reauthPasswordPlaceholder', kind: LabelKind.PLACEHOLDER, purpose: 'Placeholder inside the re-authentication password input' },\n { ref: 'reauthWithPassword', kind: LabelKind.BUTTON, purpose: 'Choice in the re-authentication dialog: confirm identity by typing the account password' },\n { ref: 'reauthWithPasskey', kind: LabelKind.BUTTON, purpose: 'Choice in the re-authentication dialog: confirm identity with a registered passkey' },\n { ref: 'reauthWithTotp', kind: LabelKind.BUTTON, purpose: 'Choice in the re-authentication dialog: confirm identity with a code from an authenticator app' },\n { ref: 'reauthPasskeyPrompt', kind: LabelKind.MESSAGE, purpose: 'Explains that confirming will ask the browser or device to use a registered passkey' },\n { ref: 'reauthTotpCode', kind: LabelKind.LABEL, purpose: 'Field label for the authenticator-app code input in the re-authentication dialog' },\n { ref: 'reauthTotpCodePlaceholder', kind: LabelKind.PLACEHOLDER, purpose: 'Placeholder inside the authenticator-app code input, which takes the current one-time code' },\n { ref: 'reauthNoAcceptedMethod', kind: LabelKind.MESSAGE, purpose: 'Shown in the re-authentication dialog when none of the account\\'s sign-in methods is accepted for this confirmation, because the account\\'s security policy requires a method it has not added yet. Tells the person to add that method (for example a passkey) in their security settings first' },\n { ref: 'reauthClientOrganizationDescription', kind: LabelKind.DESCRIPTION, purpose: 'Shown in the re-authentication dialog to an expert from a service firm who has just opened a client organization\\'s workspace: that organization asks people working in it on behalf of a service firm to confirm with a second factor (an authenticator code or a passkey) before continuing, and this confirmation counts for that organization only. Must not name a specific organization' },\n {\n ref: 'reauthWithProvider',\n kind: LabelKind.BUTTON,\n purpose: 'Choice in the re-authentication dialog: confirm it is you by signing in again at a linked identity provider, such as Google or the company\\'s sign-in',\n params: [{ key: 'provider', meaning: 'display name of the linked identity provider' }],\n },\n {\n ref: 'reauthProviderPrompt',\n kind: LabelKind.MESSAGE,\n purpose: 'Shown in the re-authentication dialog when a linked identity provider is chosen: confirming opens a window at that provider, where the person signs in again',\n params: [{ key: 'provider', meaning: 'display name of the linked identity provider' }],\n },\n { ref: 'reauthProviderPopupBlocked', kind: LabelKind.MESSAGE, purpose: 'Error in the re-authentication dialog when the browser blocked the sign-in window from opening; asks the person to allow pop-ups for this site and try again' },\n { ref: 'reauthProviderTimedOut', kind: LabelKind.MESSAGE, purpose: 'Error in the re-authentication dialog when signing in again at the identity provider was not finished in time (the sign-in window was left open or closed without finishing); they can try again or choose another method' },\n { ref: 'reauthProviderFailed', kind: LabelKind.MESSAGE, purpose: 'Error in the re-authentication dialog when signing in again at the identity provider did not confirm the person; they can try again or choose another method' },\n { ref: 'phoneVerify', kind: LabelKind.BUTTON, purpose: 'Button that starts phone-number verification' },\n\n // Per-factor descriptive copy. The panel presents each authentication factor\n // as a scannable row (icon · name · status badge), so every state owns an\n // explicit status word, and every factor owns a short plain-language\n // description that is shown only while the factor is NOT active — it is the\n // prompt for a decision not yet taken.\n //\n // Removed with the text they rendered, because each restated something else on\n // the same row: the panel sub-heading (`pageDescription`), the status lines\n // under a badge saying the same (`totpEnabled`, `totpNotSetup`,\n // `phoneNotVerified`, `passwordSetStatus`, `passwordNotSetStatus`), the empty\n // sentences under a \"Not configured\" badge (`passkeyEmpty`,\n // `identityLinksEmpty`), the counts above the lists they count (`passkeyCount`,\n // `identityLinksCount`) and the \"Verified:\" in front of the masked phone number\n // (`phoneVerified`). Their `SecuritySettingsLabel` members went with them, as did\n // `accountComplete` / `accountIncomplete`, `passkeyRename` and a `confirm` the\n // re-authentication dialog never read (its confirm button is the critical-confirm's own).\n { ref: 'statusActive', kind: LabelKind.MESSAGE, purpose: 'Short status word on a factor the user has configured' },\n { ref: 'statusNotConfigured', kind: LabelKind.MESSAGE, purpose: 'Short status word on a factor the user has not configured yet' },\n { ref: 'statusUnavailable', kind: LabelKind.MESSAGE, purpose: 'Short status word on a factor unavailable on the current device or browser' },\n { ref: 'passkeysDescription', kind: LabelKind.DESCRIPTION, purpose: 'Plain-language explanation of what a passkey is and why it is the strongest sign-in method' },\n { ref: 'totpDescription', kind: LabelKind.DESCRIPTION, purpose: 'Plain-language explanation of authenticator-app one-time codes as a second factor' },\n { ref: 'phoneDescription', kind: LabelKind.DESCRIPTION, purpose: 'Plain-language explanation of SMS one-time codes to a verified phone number' },\n { ref: 'passwordDescription', kind: LabelKind.DESCRIPTION, purpose: 'Plain-language explanation of the account password as a sign-in credential' },\n { ref: 'identityLinksDescription', kind: LabelKind.DESCRIPTION, purpose: 'Plain-language explanation of external identity accounts linked for sign-in' },\n { ref: 'passkeyAdded', kind: LabelKind.MESSAGE, purpose: 'Registration date shown under an individual passkey entry', params: ['date'] },\n];\nregisterComponentLabels(FrontendComponentType.APP_LAYOUTS_SECURITY_SETTINGS, AppLayoutsSecuritySettingsLabels);\n"]}
|
|
1
|
+
{"version":3,"file":"AppPage_SecuritySettings.labels.js","sourceRoot":"","sources":["../../../../../../src/components/auth/admin-config/AppPage_SecuritySettings.labels.ts"],"names":[],"mappings":"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","sourcesContent":["import { FrontendComponentType, LabelKind, type LabellingUnitaryDef, registerComponentLabels } from '@wildo-ai/presets-components-models';\n\n// Companion-only label metadata for this component: keys + params + per-key\n// purpose / kind / variable meaning. Statically scanned by the dev companion;\n// NOT imported at runtime, so it never ships in the bundle.\n\nexport const AppLayoutsSecuritySettingsLabels: LabellingUnitaryDef[] = [\n { ref: 'pageTitle', kind: LabelKind.HEADING, purpose: 'Page heading for the account security-settings screen' },\n { ref: 'sectionPasskeys', kind: LabelKind.HEADING, purpose: 'Section title for the passkeys management card' },\n { ref: 'sectionTotp', kind: LabelKind.HEADING, purpose: 'Section title for the authenticator-app (TOTP) management card' },\n { ref: 'sectionPhone', kind: LabelKind.HEADING, purpose: 'Section title for the phone / SMS management card' },\n { ref: 'sectionPassword', kind: LabelKind.HEADING, purpose: 'Section title for the password management card' },\n { ref: 'sectionIdentityLinks', kind: LabelKind.HEADING, purpose: 'Section title for the linked social-identity providers card' },\n { ref: 'passkeyAdd', kind: LabelKind.BUTTON, purpose: 'Button that registers a new passkey' },\n { ref: 'passkeyUnsupported', kind: LabelKind.MESSAGE, purpose: 'Notice shown when the device or browser does not support passkeys' },\n { ref: 'passkeyRemove', kind: LabelKind.BUTTON, purpose: 'Button that removes an individual passkey' },\n { ref: 'totpSetup', kind: LabelKind.BUTTON, purpose: 'Button that starts authenticator-app setup' },\n { ref: 'totpDisable', kind: LabelKind.BUTTON, purpose: 'Button that disables the authenticator app' },\n { ref: 'totpOnlyMfaWarning', kind: LabelKind.MESSAGE, purpose: 'Warning that the authenticator app is the only enrolled second factor' },\n { ref: 'phoneChange', kind: LabelKind.BUTTON, purpose: 'Button that changes the verified phone number' },\n { ref: 'passwordChange', kind: LabelKind.BUTTON, purpose: 'Submit button that changes the existing password' },\n { ref: 'passwordSet', kind: LabelKind.BUTTON, purpose: 'Submit button that sets a password for an account that has none' },\n { ref: 'passwordCurrent', kind: LabelKind.LABEL, purpose: 'Field label for the current-password input' },\n { ref: 'passwordNew', kind: LabelKind.LABEL, purpose: 'Field label for the new-password input' },\n { ref: 'passwordConfirm', kind: LabelKind.LABEL, purpose: 'Field label for the confirm-new-password input' },\n { ref: 'identityLinksUnlink', kind: LabelKind.BUTTON, purpose: 'Button that unlinks a connected social identity' },\n // Sessions (#2317).\n { ref: 'sectionSessions', kind: LabelKind.HEADING, purpose: 'Title of the row about the sessions the account is signed in with, on every device and browser' },\n { ref: 'signOutEverywhere', kind: LabelKind.BUTTON, purpose: 'Button that signs the account out of every session on every device, including the one in use; also the confirm button of its dialog' },\n { ref: 'signOutEverywhereDescription', kind: LabelKind.DESCRIPTION, purpose: 'One sentence under the sessions title: signing out everywhere ends every session of the account on every device and browser, this one included' },\n { ref: 'signOutEverywhereConfirmTitle', kind: LabelKind.HEADING, purpose: 'Title of the dialog asking the person to confirm signing out of every session' },\n { ref: 'signOutEverywhereConfirmDescription', kind: LabelKind.DESCRIPTION, purpose: 'Body of that dialog: every device and browser, this one included, will be signed out and will have to sign in again' },\n {\n ref: 'sessionDevice', kind: LabelKind.LABEL, purpose: 'Name of one signed-in session in the list: the browser and the operating system it signed in from, e.g. \"Chrome on macOS\"',\n params: [{ key: 'browser', meaning: 'browser family word, e.g. Chrome' }, { key: 'operatingSystem', meaning: 'operating-system family word, e.g. macOS' }],\n },\n {\n ref: 'sessionDetails', kind: LabelKind.MESSAGE, purpose: 'Second line of a session row: the address it signed in from and when it was last active',\n params: [{ key: 'address', meaning: 'IP address the session signed in from' }, { key: 'lastActive', meaning: 'date and time of its last activity' }],\n },\n {\n ref: 'sessionLastActive', kind: LabelKind.MESSAGE, purpose: 'Second line of a session row whose address is unknown: when it was last active',\n params: [{ key: 'lastActive', meaning: 'date and time of its last activity' }],\n },\n { ref: 'sessionThisDevice', kind: LabelKind.LABEL, purpose: 'Short badge on the session in the list that the person is using right now' },\n { ref: 'sessionSignOut', kind: LabelKind.BUTTON, purpose: 'Button on one session row that signs that session out, on its device' },\n { ref: 'reauthTitle', kind: LabelKind.HEADING, purpose: 'Title of the re-authentication confirmation dialog' },\n { ref: 'reauthDescription', kind: LabelKind.DESCRIPTION, purpose: 'Explains that the person must confirm it is really them before this sensitive change goes through. Must not name a method: they may confirm with a password, a passkey or an authenticator code' },\n { ref: 'reauthPassword', kind: LabelKind.LABEL, purpose: 'Field label for the re-authentication password input' },\n { ref: 'cancel', kind: LabelKind.BUTTON, purpose: 'Button that closes the password change or set-password form without saving' },\n { ref: 'success', kind: LabelKind.MESSAGE, purpose: 'Generic confirmation shown after a successful security change' },\n { ref: 'error', kind: LabelKind.MESSAGE, purpose: 'Generic error shown when a security operation fails' },\n { ref: 'passkeyCancelled', kind: LabelKind.MESSAGE, purpose: 'Notice shown when the user cancels passkey registration' },\n { ref: 'passkeyAdding', kind: LabelKind.MESSAGE, purpose: 'In-progress status while a passkey is being registered' },\n { ref: 'loading', kind: LabelKind.MESSAGE, purpose: 'Loading status while the security settings are being fetched' },\n { ref: 'passwordMismatch', kind: LabelKind.MESSAGE, purpose: 'Validation error when the new password and confirmation do not match' },\n { ref: 'reauthPasswordPlaceholder', kind: LabelKind.PLACEHOLDER, purpose: 'Placeholder inside the re-authentication password input' },\n { ref: 'reauthWithPassword', kind: LabelKind.BUTTON, purpose: 'Choice in the re-authentication dialog: confirm identity by typing the account password' },\n { ref: 'reauthWithPasskey', kind: LabelKind.BUTTON, purpose: 'Choice in the re-authentication dialog: confirm identity with a registered passkey' },\n { ref: 'reauthWithTotp', kind: LabelKind.BUTTON, purpose: 'Choice in the re-authentication dialog: confirm identity with a code from an authenticator app' },\n { ref: 'reauthPasskeyPrompt', kind: LabelKind.MESSAGE, purpose: 'Explains that confirming will ask the browser or device to use a registered passkey' },\n { ref: 'reauthTotpCode', kind: LabelKind.LABEL, purpose: 'Field label for the authenticator-app code input in the re-authentication dialog' },\n { ref: 'reauthTotpCodePlaceholder', kind: LabelKind.PLACEHOLDER, purpose: 'Placeholder inside the authenticator-app code input, which takes the current one-time code' },\n { ref: 'reauthNoAcceptedMethod', kind: LabelKind.MESSAGE, purpose: 'Shown in the re-authentication dialog when none of the account\\'s sign-in methods is accepted for this confirmation, because the account\\'s security policy requires a method it has not added yet. Tells the person to add that method (for example a passkey) in their security settings first' },\n { ref: 'reauthGrantingOrganizationDescription', kind: LabelKind.DESCRIPTION, purpose: 'Shown in the re-authentication dialog to a person who has just opened the workspace of an organization they work in on behalf of another organization (for example a service firm\\'s staff opening a client\\'s workspace): that organization asks people working in it on behalf of another organization to confirm with a second factor (an authenticator code or a passkey) before continuing, and this confirmation counts for that organization only. Must not name a specific organization' },\n {\n ref: 'reauthWithProvider',\n kind: LabelKind.BUTTON,\n purpose: 'Choice in the re-authentication dialog: confirm it is you by signing in again at a linked identity provider, such as Google or the company\\'s sign-in',\n params: [{ key: 'provider', meaning: 'display name of the linked identity provider' }],\n },\n {\n ref: 'reauthProviderPrompt',\n kind: LabelKind.MESSAGE,\n purpose: 'Shown in the re-authentication dialog when a linked identity provider is chosen: confirming opens a window at that provider, where the person signs in again',\n params: [{ key: 'provider', meaning: 'display name of the linked identity provider' }],\n },\n { ref: 'reauthProviderPopupBlocked', kind: LabelKind.MESSAGE, purpose: 'Error in the re-authentication dialog when the browser blocked the sign-in window from opening; asks the person to allow pop-ups for this site and try again' },\n { ref: 'reauthProviderTimedOut', kind: LabelKind.MESSAGE, purpose: 'Error in the re-authentication dialog when signing in again at the identity provider was not finished in time (the sign-in window was left open or closed without finishing); they can try again or choose another method' },\n { ref: 'reauthProviderFailed', kind: LabelKind.MESSAGE, purpose: 'Error in the re-authentication dialog when signing in again at the identity provider did not confirm the person; they can try again or choose another method' },\n { ref: 'phoneVerify', kind: LabelKind.BUTTON, purpose: 'Button that starts phone-number verification' },\n\n // Per-factor descriptive copy. The panel presents each authentication factor\n // as a scannable row (icon · name · status badge), so every state owns an\n // explicit status word, and every factor owns a short plain-language\n // description that is shown only while the factor is NOT active — it is the\n // prompt for a decision not yet taken.\n //\n // Removed with the text they rendered, because each restated something else on\n // the same row: the panel sub-heading (`pageDescription`), the status lines\n // under a badge saying the same (`totpEnabled`, `totpNotSetup`,\n // `phoneNotVerified`, `passwordSetStatus`, `passwordNotSetStatus`), the empty\n // sentences under a \"Not configured\" badge (`passkeyEmpty`,\n // `identityLinksEmpty`), the counts above the lists they count (`passkeyCount`,\n // `identityLinksCount`) and the \"Verified:\" in front of the masked phone number\n // (`phoneVerified`). Their `SecuritySettingsLabel` members went with them, as did\n // `accountComplete` / `accountIncomplete`, `passkeyRename` and a `confirm` the\n // re-authentication dialog never read (its confirm button is the critical-confirm's own).\n { ref: 'statusActive', kind: LabelKind.MESSAGE, purpose: 'Short status word on a factor the user has configured' },\n { ref: 'statusNotConfigured', kind: LabelKind.MESSAGE, purpose: 'Short status word on a factor the user has not configured yet' },\n { ref: 'statusUnavailable', kind: LabelKind.MESSAGE, purpose: 'Short status word on a factor unavailable on the current device or browser' },\n { ref: 'passkeysDescription', kind: LabelKind.DESCRIPTION, purpose: 'Plain-language explanation of what a passkey is and why it is the strongest sign-in method' },\n { ref: 'totpDescription', kind: LabelKind.DESCRIPTION, purpose: 'Plain-language explanation of authenticator-app one-time codes as a second factor' },\n { ref: 'phoneDescription', kind: LabelKind.DESCRIPTION, purpose: 'Plain-language explanation of SMS one-time codes to a verified phone number' },\n { ref: 'passwordDescription', kind: LabelKind.DESCRIPTION, purpose: 'Plain-language explanation of the account password as a sign-in credential' },\n { ref: 'identityLinksDescription', kind: LabelKind.DESCRIPTION, purpose: 'Plain-language explanation of external identity accounts linked for sign-in' },\n { ref: 'passkeyAdded', kind: LabelKind.MESSAGE, purpose: 'Registration date shown under an individual passkey entry', params: ['date'] },\n];\nregisterComponentLabels(FrontendComponentType.APP_LAYOUTS_SECURITY_SETTINGS, AppLayoutsSecuritySettingsLabels);\n"]}
|
package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceLayoutPreset_Create_SamlWizard.d.ts","sourceRoot":"","sources":["../../../../../../src/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4FAA4F,CAAC;
|
|
1
|
+
{"version":3,"file":"ResourceLayoutPreset_Create_SamlWizard.d.ts","sourceRoot":"","sources":["../../../../../../src/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4FAA4F,CAAC;AAuBtI,eAAO,MAAM,sCAAsC,GAAI,sBAEpD,wBAAwB,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAuMjD,CAAC"}
|
|
@@ -10,6 +10,7 @@ import { z } from 'zod';
|
|
|
10
10
|
import { ResourceAutomatedForm } from '../../../components/form/automated/ResourceAutomatedForm.js';
|
|
11
11
|
import { ResourceLayout_Header } from '../../../components/resources/ResourceLayout_Header.js';
|
|
12
12
|
import { useResourceRegistry } from '../../../core/resources/useResourceRegistry.js';
|
|
13
|
+
import { frontendResourceUtils } from '../../../core/resources/frontend-resource.utils.js';
|
|
13
14
|
import { useNavigationController } from '../../../core/navigation/useNavigationController.js';
|
|
14
15
|
import { NavigationZone } from '../../../core/navigation/navigation.schemas.js';
|
|
15
16
|
import { useResourceOperationViewContext } from '../../../core/resources/ResourceOperationViewContext.js';
|
|
@@ -19,6 +20,7 @@ import { SsoConnection_Operations } from '@wildo-ai/saas-models';
|
|
|
19
20
|
import { FrontendComponentType } from '@wildo-ai/presets-components-models';
|
|
20
21
|
import { Button, ButtonVariants_Variant } from '../../../components/actions/button.js';
|
|
21
22
|
import { ContentSection, ContentSectionLegend } from '../../../components/sections/content-section.js';
|
|
23
|
+
import { SectionLegendVoiceHost } from '../../../components/sections/section-legend-voice.js';
|
|
22
24
|
import { useUserFacingErrorMessage } from '../../../core/errors/useUserFacingErrorMessage.js';
|
|
23
25
|
import { Input } from '../../../components/form/controls/input.js';
|
|
24
26
|
import { resolveQuickCreateCreatedResourceId } from '../../../core/resources/relationship-quick-create.frontend.utils.js';
|
|
@@ -104,10 +106,8 @@ export const ResourceLayoutPreset_Create_SamlWizard = ({ resourceContext, }) =>
|
|
|
104
106
|
});
|
|
105
107
|
if (createdResourceId) {
|
|
106
108
|
const navigated = navigateToPreferredRead({
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
[resourceType]: createdResourceId,
|
|
110
|
-
},
|
|
109
|
+
// The created record's identifiers, built the way every create reveal builds them.
|
|
110
|
+
contextResourceIdentifiers: frontendResourceUtils.buildRecordIdentifiersFromCollection(currentResourceContext.contextResourceIdentifiers, resourceType, createdResourceId),
|
|
111
111
|
fallbackToGoBack: false,
|
|
112
112
|
});
|
|
113
113
|
if (!navigated) {
|
|
@@ -123,14 +123,17 @@ export const ResourceLayoutPreset_Create_SamlWizard = ({ resourceContext, }) =>
|
|
|
123
123
|
if (!isReady)
|
|
124
124
|
return null;
|
|
125
125
|
const importButtonLabel = tSaml('saml.import');
|
|
126
|
-
return (
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
126
|
+
return (
|
|
127
|
+
// A create page is a FORM surface wherever it renders — including a pane opened from a record's related
|
|
128
|
+
// records, inside a read subtree whose EYEBROW voice would otherwise reach this section's heading.
|
|
129
|
+
_jsx(SectionLegendVoiceHost, { voice: undefined, children: _jsxs("div", { className: "space-y-section", children: [_jsx(ResourceLayout_Header, { resourceContext: currentResourceContext, navigationZone: navigationZone, navigationInitiator: navigationInitiator }), _jsxs(ContentSection, { className: "max-w-2xl", children: [_jsx(ContentSectionLegend, { children: tSaml('saml.metadataImport') }), _jsx("p", { className: "text-sm text-muted-foreground mb-field", children: tSaml('saml.metadataImportHelp') }), _jsxs("div", { className: "flex gap-field", onKeyDown: (e) => e.key === 'Enter' && handleDiscover(), children: [_jsx(Input, { name: "saml-metadata-url", schema: z.string(), type: "url",
|
|
130
|
+
// I-6: placeholder is localizable — translators may want to use a
|
|
131
|
+
// region-appropriate IdP example domain. RFC 2606 reserves
|
|
132
|
+
// `idp.example.com`; the default English copy ships with that.
|
|
133
|
+
placeholder: tSaml('saml.metadataUrlPlaceholder'), value: metadataUrl, onChange: (value) => setMetadataUrl(String(value)), className: "flex-1" }), _jsx(Button, { type: "button", variant: ButtonVariants_Variant.OUTLINE, onClick: handleDiscover, disabled: isImporting, children: isImporting ? (tSaml('saml.importing')) : importButtonLabel })] }), importError && (_jsx("p", { className: "text-sm text-destructive mt-item-xs", role: "alert", children: importError })), discoveredData && (_jsx("p", { className: "text-sm text-success-subtle-foreground mt-item-xs", role: "status", children: tSaml('saml.importSuccess') }))] }), _jsx(ResourceAutomatedForm, { resourceContext: currentResourceContext, navigationZone: navigationZone, onSuccess: handleSuccess, onError: handleError,
|
|
134
|
+
// Audit D5 — overlay-hosted create forms carry a Cancel that closes the
|
|
135
|
+
// modal through the same path as the top-right X (parity with the
|
|
136
|
+
// default create layout).
|
|
137
|
+
onCancel: navigationZone === NavigationZone.OVERLAY ? () => closeOverlay() : undefined, showErrorSummary: true, className: "max-w-2xl", defaultValuesOverride: discoveredData })] }) }));
|
|
135
138
|
};
|
|
136
139
|
//# sourceMappingURL=ResourceLayoutPreset_Create_SamlWizard.js.map
|