@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":"app-shell-placement-coverage.js","sourceRoot":"","sources":["../../../../src/testing/app-shell-placement-coverage.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { HorizontalPlacement, ShellRegion, VerticalPlacement } from '@wildo-ai/presets-components-models';\n\nimport type { AppShellLayoutInfo } from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\nimport { STATUS_BAR_PLACEMENTS } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\n\n/**\n * # Shell placement coverage\n *\n * A shell LAYOUT decides where the regions go; it must never decide WHETHER one appears. These helpers check that,\n * for any layout container — the 2D default, a 3D layout's own disposal, an application's custom layout — over every\n * configuration the shell can compute:\n *\n * - every region the configuration enables is placed exactly once, with the placement it is configured at;\n * - a region at a START or TOP edge comes before the content area in document order, and one at an END or BOTTOM\n * edge after it — so swapping two outlets is caught, not only omitting one;\n * - the content area is rendered once, and the overlays once.\n *\n * The expectation is derived from the CONFIGURATION, never from a layout, so a region added to the shell later and\n * missed by a layout fails the check.\n *\n * Use: replace each region component with {@link createShellRegionMarker} (the region wrappers are the modules\n * `~wildo-frontend-lib/components/navigation/app-level/ApplicationLevel_*`), render the layout container for each\n * {@link everyAppShellLayoutConfiguration}, and assert {@link shellPlacementViolations} is empty.\n */\n\n/** The attributes a region marker carries. */\nexport const SHELL_REGION_MARKER_ATTRIBUTE = 'data-test-shell-region';\nexport const SHELL_REGION_PLACEMENT_MARKER_ATTRIBUTE = 'data-test-shell-placement';\n\n/** A stand-in for a region component: an element naming the region and the placement it was rendered at. */\nexport function createShellRegionMarker(region: ShellRegion): (props: { placement?: string; position?: string }) => React.JSX.Element {\n return function ShellRegionMarker(props) {\n return React.createElement('div', {\n [SHELL_REGION_MARKER_ATTRIBUTE]: region,\n [SHELL_REGION_PLACEMENT_MARKER_ATTRIBUTE]: props.placement ?? props.position ?? '',\n });\n };\n}\n\n/** The layout flags the shell computes. Typed against `AppShellLayoutInfo`, so a renamed flag fails to compile. */\nconst LAYOUT_FLAGS: ReadonlyArray<keyof AppShellLayoutInfo> = [\n 'hasMenubar',\n 'hasSidebar',\n 'hasStatusBar',\n 'hasToolbar',\n 'hasActivityBar',\n 'hasUtilityPanel',\n 'hasQuickActionButton',\n];\nconst EDGE_PLACEMENTS = [HorizontalPlacement.START, HorizontalPlacement.END] as const;\n\n/**\n * Every configuration the shell can compute: each on/off combination of the region flags, with every placement the\n * configuration schemas admit (sidebar and utility panel at START or END, the status bar at `STATUS_BAR_PLACEMENTS`).\n */\nexport function* everyAppShellLayoutConfiguration(): Generator<AppShellLayoutInfo> {\n for (let mask = 0; mask < 1 << LAYOUT_FLAGS.length; mask += 1) {\n for (const sidebarPlacement of EDGE_PLACEMENTS) {\n for (const utilityPanelPlacement of EDGE_PLACEMENTS) {\n for (const statusBarPlacement of STATUS_BAR_PLACEMENTS) {\n const layout = { isLayoutReady: true, sidebarPlacement, utilityPanelPlacement, statusBarPlacement } as AppShellLayoutInfo;\n LAYOUT_FLAGS.forEach((flag, i) => { (layout as unknown as Record<string, boolean>)[flag] = Boolean(mask & (1 << i)); });\n yield layout;\n }\n }\n }\n }\n}\n\n/**\n * For each region a layout places through an outlet — every `ShellRegion` but the content area, which has its own\n * outlet — the placement a configuration expects it at: `''` for a region without an edge, `null` when the\n * configuration does not enable it. A `Record` over the enum, so a region added to `ShellRegion` fails to compile\n * HERE until the expectation knows it — and then every layout that forgets it fails its coverage test.\n */\nconst EXPECTED_PLACEMENT: Record<Exclude<ShellRegion, ShellRegion.CONTENT>, (layout: AppShellLayoutInfo) => string | null> = {\n [ShellRegion.ACTIVITY_BAR]: (layout) => (layout.hasActivityBar ? '' : null),\n [ShellRegion.MENUBAR]: (layout) => (layout.hasMenubar ? '' : null),\n [ShellRegion.TOOLBAR]: (layout) => (layout.hasToolbar ? '' : null),\n [ShellRegion.SIDEBAR]: (layout) => (layout.hasSidebar ? layout.sidebarPlacement : null),\n [ShellRegion.UTILITY_PANEL]: (layout) => (layout.hasUtilityPanel ? layout.utilityPanelPlacement : null),\n [ShellRegion.STATUS_BAR]: (layout) => (layout.hasStatusBar ? layout.statusBarPlacement : null),\n};\n\n/** The regions a configuration enables, as `region@placement` (no placement for a region without an edge). */\nexport function expectedShellPlacements(layout: AppShellLayoutInfo): string[] {\n return Object.entries(EXPECTED_PLACEMENT)\n .flatMap(([region, placementOf]) => {\n const placement = placementOf(layout);\n return placement === null ? [] : [`${region}@${placement}`];\n })\n .sort();\n}\n\n/**\n * What is wrong with a rendered layout for a configuration; empty when nothing is. `root` is what the layout\n * container rendered, with its region components replaced by {@link createShellRegionMarker}.\n */\nexport function shellPlacementViolations(root: ParentNode, layout: AppShellLayoutInfo): string[] {\n const violations: string[] = [];\n const markers = [...root.querySelectorAll(`[${SHELL_REGION_MARKER_ATTRIBUTE}]`)];\n const placed = markers.map((element) => `${element.getAttribute(SHELL_REGION_MARKER_ATTRIBUTE)}@${element.getAttribute(SHELL_REGION_PLACEMENT_MARKER_ATTRIBUTE)}`).sort();\n const expected = expectedShellPlacements(layout);\n if (JSON.stringify(placed) !== JSON.stringify(expected)) violations.push(`placed [${placed.join(', ')}], configured [${expected.join(', ')}]`);\n\n const mains = root.querySelectorAll(`main[data-component-area=\"${ShellRegion.CONTENT}\"]`);\n if (mains.length !== 1) violations.push(`${mains.length} content areas, expected 1`);\n const main = mains[0];\n if (main) {\n for (const marker of markers) {\n const placement = marker.getAttribute(SHELL_REGION_PLACEMENT_MARKER_ATTRIBUTE);\n const before = Boolean(marker.compareDocumentPosition(main) & Node.DOCUMENT_POSITION_FOLLOWING);\n const region = marker.getAttribute(SHELL_REGION_MARKER_ATTRIBUTE);\n if ((placement === HorizontalPlacement.START || placement === VerticalPlacement.TOP) && !before) violations.push(`${region} configured at ${placement} is placed after the content`);\n if ((placement === HorizontalPlacement.END || placement === VerticalPlacement.BOTTOM) && before) violations.push(`${region} configured at ${placement} is placed before the content`);\n }\n }\n return violations;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"app-shell-placement-coverage.js","sourceRoot":"","sources":["../../../../src/testing/app-shell-placement-coverage.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { HorizontalPlacement, ShellRegion, VerticalPlacement } from '@wildo-ai/presets-components-models';\n\nimport type { AppShellLayoutInfo } from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\nimport { STATUS_BAR_PLACEMENTS } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\n\n/**\n * # Shell placement coverage\n *\n * A shell LAYOUT decides where the regions go; it must never decide WHETHER one appears. These helpers check that,\n * for any layout container — the 2D default, a 3D layout's own disposal, an application's custom layout — over every\n * configuration the shell can compute:\n *\n * - every region the configuration enables is placed exactly once, with the placement it is configured at;\n * - a region at a START or TOP edge comes before the content area in document order, and one at an END or BOTTOM\n * edge after it — so swapping two outlets is caught, not only omitting one;\n * - the content area is rendered once, and the overlays once.\n *\n * The expectation is derived from the CONFIGURATION, never from a layout, so a region added to the shell later and\n * missed by a layout fails the check.\n *\n * Use: replace each region component with {@link createShellRegionMarker} (the region wrappers are the modules\n * `~wildo-frontend-lib/components/navigation/app-level/ApplicationLevel_*`), render the layout container for each\n * {@link everyAppShellLayoutConfiguration}, and assert {@link shellPlacementViolations} is empty.\n */\n\n/** The attributes a region marker carries. */\nexport const SHELL_REGION_MARKER_ATTRIBUTE = 'data-test-shell-region';\nexport const SHELL_REGION_PLACEMENT_MARKER_ATTRIBUTE = 'data-test-shell-placement';\n\n/** A stand-in for a region component: an element naming the region and the placement it was rendered at. */\nexport function createShellRegionMarker(region: ShellRegion): (props: { placement?: string; position?: string }) => React.JSX.Element {\n return function ShellRegionMarker(props) {\n return React.createElement('div', {\n [SHELL_REGION_MARKER_ATTRIBUTE]: region,\n [SHELL_REGION_PLACEMENT_MARKER_ATTRIBUTE]: props.placement ?? props.position ?? '',\n });\n };\n}\n\n/** The layout flags the shell computes. Typed against `AppShellLayoutInfo`, so a renamed flag fails to compile. */\nconst LAYOUT_FLAGS: ReadonlyArray<keyof AppShellLayoutInfo> = [\n 'hasMenubar',\n 'hasSidebar',\n 'hasStatusBar',\n 'hasToolbar',\n 'hasActivityBar',\n 'hasUtilityPanel',\n 'hasQuickActionButton',\n];\nconst EDGE_PLACEMENTS = [HorizontalPlacement.START, HorizontalPlacement.END] as const;\n\n/**\n * Every configuration the shell can compute: each on/off combination of the region flags, with every placement the\n * configuration schemas admit (sidebar and utility panel at START or END, the status bar at `STATUS_BAR_PLACEMENTS`).\n */\nexport function* everyAppShellLayoutConfiguration(): Generator<AppShellLayoutInfo> {\n for (let mask = 0; mask < 1 << LAYOUT_FLAGS.length; mask += 1) {\n for (const sidebarPlacement of EDGE_PLACEMENTS) {\n for (const utilityPanelPlacement of EDGE_PLACEMENTS) {\n for (const statusBarPlacement of STATUS_BAR_PLACEMENTS) {\n // Hosting a component in the chrome moves it out of its own region; these configurations host nothing.\n const layout = {\n isLayoutReady: true, sidebarPlacement, utilityPanelPlacement, statusBarPlacement,\n quickActionButtonHostedInChrome: false, utilityPanelHostedInChrome: false,\n } as AppShellLayoutInfo;\n LAYOUT_FLAGS.forEach((flag, i) => { (layout as unknown as Record<string, boolean>)[flag] = Boolean(mask & (1 << i)); });\n yield layout;\n }\n }\n }\n }\n}\n\n/**\n * For each region a layout places through an outlet — every `ShellRegion` but the content area, which has its own\n * outlet — the placement a configuration expects it at: `''` for a region without an edge, `null` when the\n * configuration does not enable it. A `Record` over the enum, so a region added to `ShellRegion` fails to compile\n * HERE until the expectation knows it — and then every layout that forgets it fails its coverage test.\n */\nconst EXPECTED_PLACEMENT: Record<Exclude<ShellRegion, ShellRegion.CONTENT>, (layout: AppShellLayoutInfo) => string | null> = {\n [ShellRegion.ACTIVITY_BAR]: (layout) => (layout.hasActivityBar ? '' : null),\n [ShellRegion.MENUBAR]: (layout) => (layout.hasMenubar ? '' : null),\n [ShellRegion.TOOLBAR]: (layout) => (layout.hasToolbar ? '' : null),\n [ShellRegion.SIDEBAR]: (layout) => (layout.hasSidebar ? layout.sidebarPlacement : null),\n [ShellRegion.UTILITY_PANEL]: (layout) => (layout.hasUtilityPanel && !layout.utilityPanelHostedInChrome ? layout.utilityPanelPlacement : null),\n [ShellRegion.STATUS_BAR]: (layout) => (layout.hasStatusBar ? layout.statusBarPlacement : null),\n};\n\n/** The regions a configuration enables, as `region@placement` (no placement for a region without an edge). */\nexport function expectedShellPlacements(layout: AppShellLayoutInfo): string[] {\n return Object.entries(EXPECTED_PLACEMENT)\n .flatMap(([region, placementOf]) => {\n const placement = placementOf(layout);\n return placement === null ? [] : [`${region}@${placement}`];\n })\n .sort();\n}\n\n/**\n * What is wrong with a rendered layout for a configuration; empty when nothing is. `root` is what the layout\n * container rendered, with its region components replaced by {@link createShellRegionMarker}.\n */\nexport function shellPlacementViolations(root: ParentNode, layout: AppShellLayoutInfo): string[] {\n const violations: string[] = [];\n const markers = [...root.querySelectorAll(`[${SHELL_REGION_MARKER_ATTRIBUTE}]`)];\n const placed = markers.map((element) => `${element.getAttribute(SHELL_REGION_MARKER_ATTRIBUTE)}@${element.getAttribute(SHELL_REGION_PLACEMENT_MARKER_ATTRIBUTE)}`).sort();\n const expected = expectedShellPlacements(layout);\n if (JSON.stringify(placed) !== JSON.stringify(expected)) violations.push(`placed [${placed.join(', ')}], configured [${expected.join(', ')}]`);\n\n const mains = root.querySelectorAll(`main[data-component-area=\"${ShellRegion.CONTENT}\"]`);\n if (mains.length !== 1) violations.push(`${mains.length} content areas, expected 1`);\n const main = mains[0];\n if (main) {\n for (const marker of markers) {\n const placement = marker.getAttribute(SHELL_REGION_PLACEMENT_MARKER_ATTRIBUTE);\n const before = Boolean(marker.compareDocumentPosition(main) & Node.DOCUMENT_POSITION_FOLLOWING);\n const region = marker.getAttribute(SHELL_REGION_MARKER_ATTRIBUTE);\n if ((placement === HorizontalPlacement.START || placement === VerticalPlacement.TOP) && !before) violations.push(`${region} configured at ${placement} is placed after the content`);\n if ((placement === HorizontalPlacement.END || placement === VerticalPlacement.BOTTOM) && before) violations.push(`${region} configured at ${placement} is placed before the content`);\n }\n }\n return violations;\n}\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { FeatureConfiguration } from '@wildo-ai/saas-models';
|
|
1
|
+
import type { FeatureConfiguration, RolesConfiguration, UserSelfAccessProfile } from '@wildo-ai/saas-models';
|
|
2
|
+
import type { LauncherEffectiveRoles } from '../core/navigation/launcher-resolution';
|
|
2
3
|
import type { ApplicationContextType } from '../core/runtime/ApplicationContext.shared';
|
|
3
4
|
import type { I18nContextType } from '../core/i18n/I18nContext';
|
|
4
5
|
import type { ResourcesRepositoryFrontendService } from '../core/resources/resources-repository.frontend.service';
|
|
@@ -86,4 +87,15 @@ export interface MockAppScopeInitOptions {
|
|
|
86
87
|
* Minimal {@link AppScopeContextValue} for `AppScopeContext.Provider` overrides (Tier 3 tests).
|
|
87
88
|
*/
|
|
88
89
|
export declare function createMinimalAppScopeContextValue(options?: MockAppScopeInitOptions): AppScopeContextValue;
|
|
90
|
+
/**
|
|
91
|
+
* A viewer's effective roles for a shell visibility test: the given roles, expanded against the application's real
|
|
92
|
+
* role tables (defaults plus `customRoles`) with unknown roles inert — what `useViewerEffectiveRoles` builds inside
|
|
93
|
+
* the application shell. Built from the real resolver so a test cannot hand-write tables the backend would not hold.
|
|
94
|
+
*/
|
|
95
|
+
export declare function buildViewerEffectiveRoles(roles?: {
|
|
96
|
+
applicationRoles?: string[];
|
|
97
|
+
organizationRoles?: string[];
|
|
98
|
+
organizationId?: string | null;
|
|
99
|
+
accessProfile?: UserSelfAccessProfile | null;
|
|
100
|
+
}, customRoles?: RolesConfiguration): LauncherEffectiveRoles;
|
|
89
101
|
//# sourceMappingURL=mock-builders.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-builders.d.ts","sourceRoot":"","sources":["../../../../src/testing/mock-builders.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mock-builders.d.ts","sourceRoot":"","sources":["../../../../src/testing/mock-builders.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE7G,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AACtG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4DAA4D,CAAC;AACzG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAIjF,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,0EAA0E,CAAC;AACnI,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sEAAsE,CAAC;AAEnH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAEnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAgB7F,wBAAgB,oBAAoB,IAAI,sBAAsB,CAmB7D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,+BAA+B,CAC7C,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA4BzB;AAED,wBAAgB,6BAA6B,IAAI,kCAAkC,CA0BlF;AAeD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,GAAE,OAAO,CAAC,eAAe,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAM,GAC9D,eAAe,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAqIxC;AAsDD;;;;;;GAMG;AACH,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,sBAAsB,EAC5B,KAAK,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACrC,sBAAsB,CAOxB;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAC1C,sBAAsB,CA6CxB;AAED,wFAAwF;AACxF,wBAAgB,qCAAqC,IAAI,oBAAoB,CAe5E;AAED,MAAM,WAAW,0BAA0B;IACzC,wFAAwF;IACxF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,GAAE,0BAA+B,GACvC,sBAAsB,CA6DxB;AAED,MAAM,WAAW,uBAAuB;IACtC,4FAA4F;IAC5F,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,GAAE,uBAA4B,GACpC,mBAAmB,CAiCrB;AAED,MAAM,WAAW,uBAAuB;IACtC,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,GAAE,uBAA4B,GACpC,oBAAoB,CAiDtB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,GAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,aAAa,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAA;CAAO,EACvJ,WAAW,CAAC,EAAE,kBAAkB,GAC/B,sBAAsB,CAQxB"}
|
|
@@ -5,8 +5,10 @@
|
|
|
5
5
|
* Chaining (`.mockResolvedValue`, `.mockReturnValue`) is typed loosely: real `vi.fn`/`jest.fn`
|
|
6
6
|
* provide these at runtime; we cast at the boundary to keep `dist/` free of Vitest imports.
|
|
7
7
|
*/
|
|
8
|
-
import { AvailableLanguage, REGIONAL_FORMATTING_DEFAULTS, TextDirection, } from '@wildo-ai/presets-components-models';
|
|
8
|
+
import { AvailableLanguage, REGIONAL_FORMATTING_DEFAULTS, RegionalFormattingUtils, TextDirection, } from '@wildo-ai/presets-components-models';
|
|
9
9
|
import { ActivationCriterionType, ClientInstanceIdScope, GovernedDocumentAcceptanceMode, GovernedDocumentApprovalGate, FeatureUnavailabilityBehavior, FeatureUnavailabilityReason, OrgAuthMethodPolicy, OrganizationProfileVisibility, UserProfileVisibility, } from '@wildo-ai/saas-models';
|
|
10
|
+
import { resolveApplicationRoleConfigurations, UnresolvableRoleTreatment } from '@wildo-ai/saas-models';
|
|
11
|
+
import { RegionalReaderStanding } from '../core/i18n/regional-preference-resolution.frontend.utils.js';
|
|
10
12
|
import { MainContextInitComponents } from '../core/runtime/runtime.frontend.schemas.js';
|
|
11
13
|
import { LoggerFrontendService } from '../core/monitoring/logger.frontend.service.js';
|
|
12
14
|
import { createFrontendProviderRegistryFrontendService } from '../core/external-providers/frontend-provider-registry.frontend.service.js';
|
|
@@ -63,6 +65,10 @@ export function createMockManualCallsHttpClient(overrides = {}) {
|
|
|
63
65
|
getAnalyticsMomentsAchieved: mock().mockResolvedValue({ moments: [] }),
|
|
64
66
|
/** `AuthSessionContext.logout()` fire-and-forget revocation. */
|
|
65
67
|
logoutFromBackend: mock().mockResolvedValue(undefined),
|
|
68
|
+
/** `AuthSessionContext.signOutEverywhere()` (#2317). */
|
|
69
|
+
logoutAllFromBackend: mock().mockResolvedValue(undefined),
|
|
70
|
+
listMySessions: mock().mockResolvedValue({ sessions: [] }),
|
|
71
|
+
revokeMySession: mock().mockResolvedValue(undefined),
|
|
66
72
|
reAuthenticate: mock().mockResolvedValue({ reAuthToken: 'test-reauth-token' }),
|
|
67
73
|
/** `FeaturesContext` resolves entitlements through the generic `get`. */
|
|
68
74
|
get: mock().mockImplementation((url) => (typeof url === 'string' && url.includes('features/resolved')
|
|
@@ -138,6 +144,8 @@ export function createMockI18nValue(overrides = {}) {
|
|
|
138
144
|
allowUserOverride: true,
|
|
139
145
|
languagePreferences: null,
|
|
140
146
|
regionalPreferences: null,
|
|
147
|
+
// A signed-in reader, so `resolvedRegionalPreferences` below is what the formatters honestly reflect.
|
|
148
|
+
regionalReaderStanding: RegionalReaderStanding.SIGNED_IN,
|
|
141
149
|
// ── Actions ──
|
|
142
150
|
changeLanguage: async () => undefined,
|
|
143
151
|
loadTranslations: async () => undefined,
|
|
@@ -165,6 +173,7 @@ export function createMockI18nValue(overrides = {}) {
|
|
|
165
173
|
tResourceFilterPreset: echoLabel,
|
|
166
174
|
tSidebarSection: echoLabel,
|
|
167
175
|
tSettingsHubCategory: (_categoryRef, fallbackLabel) => fallbackLabel,
|
|
176
|
+
tSettingsHubGroup: (_categoryRef, _groupRef, fallbackLabel) => fallbackLabel,
|
|
168
177
|
tSettingsHubSection: (_sectionRef, fallbackLabel) => fallbackLabel,
|
|
169
178
|
tCompositeView: echoLabel,
|
|
170
179
|
tCompositeViewSection: echoLabel,
|
|
@@ -204,7 +213,14 @@ export function createMockI18nValue(overrides = {}) {
|
|
|
204
213
|
// test that cares which mode was requested asserts it against the real formatter.
|
|
205
214
|
formatDateForDisplayMode: (value) => String(value),
|
|
206
215
|
formatDateTimeForDisplayMode: (value) => String(value),
|
|
216
|
+
formatDisplayRange: (range) => ({
|
|
217
|
+
from: range.from === undefined || range.from === null ? undefined : String(range.from),
|
|
218
|
+
to: range.to === undefined || range.to === null ? undefined : String(range.to),
|
|
219
|
+
}),
|
|
207
220
|
formatNumber: (value) => String(value),
|
|
221
|
+
// The real formatter on the default config, so a component test reads what a reader would.
|
|
222
|
+
formatByteSize: (bytes, options) => RegionalFormattingUtils.formatByteSize(bytes, REGIONAL_FORMATTING_DEFAULTS, options),
|
|
223
|
+
formatList: (items, options) => RegionalFormattingUtils.formatList(items, REGIONAL_FORMATTING_DEFAULTS, options),
|
|
208
224
|
// ── Component translation utilities ──
|
|
209
225
|
hasComponentTranslations: () => true,
|
|
210
226
|
getComponentKeys: () => [],
|
|
@@ -313,6 +329,7 @@ export function createMockApplicationContextValue(overrides) {
|
|
|
313
329
|
userTypes: {},
|
|
314
330
|
frontendServices: {},
|
|
315
331
|
compliance: MOCK_TEST_COMPLIANCE,
|
|
332
|
+
enabledEngineCapabilities: [],
|
|
316
333
|
},
|
|
317
334
|
appIdentity,
|
|
318
335
|
appPreferences: { languages: MOCK_APP_LANGUAGES },
|
|
@@ -394,10 +411,12 @@ export function createMockAuthSessionContextValue(options = {}) {
|
|
|
394
411
|
getSessionState: mock().mockResolvedValue({}),
|
|
395
412
|
isAuthenticated: () => !!auth.accessToken,
|
|
396
413
|
logout: mock(),
|
|
414
|
+
signOutEverywhere: mock().mockResolvedValue(undefined),
|
|
397
415
|
endSession: mock(),
|
|
398
416
|
// A tab that loads with a stored token has RESUMED that session; one that signs in reports SIGNED_IN (#1977).
|
|
399
417
|
getSessionEstablishment: mock().mockReturnValue(SessionEstablishment.RESUMED),
|
|
400
418
|
getSessionEndReason: mock().mockReturnValue(SessionEndReason.SESSION_ENDED),
|
|
419
|
+
endedSessionReason: null,
|
|
401
420
|
initiateOAuth2Login: mock().mockResolvedValue(undefined),
|
|
402
421
|
handleAuthCodeExchange: mock().mockResolvedValue(undefined),
|
|
403
422
|
handleEmailVerification: mock().mockResolvedValue(undefined),
|
|
@@ -447,6 +466,7 @@ export function createMinimalUserOrgsContextValue(options = {}) {
|
|
|
447
466
|
primaryScopeInitiatorIds: null,
|
|
448
467
|
privacy: null,
|
|
449
468
|
setCurrentOrganization: mock(),
|
|
469
|
+
followRouteOrganization: mock().mockReturnValue(true),
|
|
450
470
|
getCurrentOrganization: mock().mockReturnValue(null),
|
|
451
471
|
refreshOrganizations: mock(),
|
|
452
472
|
getPrivacy: mock().mockReturnValue(null),
|
|
@@ -503,4 +523,18 @@ export function createMinimalAppScopeContextValue(options = {}) {
|
|
|
503
523
|
isLoading: false,
|
|
504
524
|
};
|
|
505
525
|
}
|
|
526
|
+
/**
|
|
527
|
+
* A viewer's effective roles for a shell visibility test: the given roles, expanded against the application's real
|
|
528
|
+
* role tables (defaults plus `customRoles`) with unknown roles inert — what `useViewerEffectiveRoles` builds inside
|
|
529
|
+
* the application shell. Built from the real resolver so a test cannot hand-write tables the backend would not hold.
|
|
530
|
+
*/
|
|
531
|
+
export function buildViewerEffectiveRoles(roles = {}, customRoles) {
|
|
532
|
+
return {
|
|
533
|
+
applicationRoles: roles.applicationRoles ?? [],
|
|
534
|
+
organizationRoles: roles.organizationRoles ?? [],
|
|
535
|
+
roleTables: { ...resolveApplicationRoleConfigurations(customRoles), unresolvableRoles: UnresolvableRoleTreatment.INERT },
|
|
536
|
+
organizationId: roles.organizationId ?? null,
|
|
537
|
+
accessProfile: roles.accessProfile ?? null,
|
|
538
|
+
};
|
|
539
|
+
}
|
|
506
540
|
//# sourceMappingURL=mock-builders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-builders.js","sourceRoot":"","sources":["../../../../src/testing/mock-builders.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Runner-agnostic mock builders for frontend engine tests.\n * Uses {@link getMockFn} — configure via {@link configureMockFactory} in setup.\n *\n * Chaining (`.mockResolvedValue`, `.mockReturnValue`) is typed loosely: real `vi.fn`/`jest.fn`\n * provide these at runtime; we cast at the boundary to keep `dist/` free of Vitest imports.\n */\nimport {\n AvailableLanguage,\n REGIONAL_FORMATTING_DEFAULTS,\n TextDirection,\n} from '@wildo-ai/presets-components-models';\nimport {\n ActivationCriterionType,\n ClientInstanceIdScope,\n GovernedDocumentAcceptanceMode,\n GovernedDocumentApprovalGate,\n FeatureUnavailabilityBehavior,\n FeatureUnavailabilityReason,\n OrgAuthMethodPolicy,\n OrganizationProfileVisibility,\n UserProfileVisibility,\n} from '@wildo-ai/saas-models';\nimport type { FeatureConfiguration } from '@wildo-ai/saas-models';\nimport type { ApplicationContextType } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport type { I18nContextType } from '~wildo-frontend-lib/core/i18n/I18nContext';\nimport { MainContextInitComponents } from '~wildo-frontend-lib/core/runtime/runtime.frontend.schemas';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport type { ResourcesRepositoryFrontendService } from '~wildo-frontend-lib/core/resources/resources-repository.frontend.service';\nimport type { WildoBackendHttpClient } from '~wildo-frontend-lib/core/requests/wildo-http-client.frontend.service';\nimport { createFrontendProviderRegistryFrontendService } from '~wildo-frontend-lib/core/external-providers/frontend-provider-registry.frontend.service';\nimport type { AppScopeContextValue } from '~wildo-frontend-lib/core/scope/AppScopeContext';\nimport { AppScopeSessionMode } from '~wildo-frontend-lib/core/scope/scope.frontend.schemas';\nimport type { AuthSessionContextType } from '~wildo-frontend-lib/core/security/AuthSessionContext';\nimport { RegistrationOutcome } from '~wildo-frontend-lib/core/security/registration-outcome.frontend.utils';\nimport type { UserOrgsContextType } from '~wildo-frontend-lib/core/security/UserOrgsContext';\nimport { EMPTY_AUTH_STATE, type AuthState } from '~wildo-frontend-lib/core/security/security.frontend.schemas';\nimport { getMockFn } from './mock-factory';\nimport { SessionEndReason, SessionEstablishment } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\n\n/** Chainable mock surface shared by Vitest and Jest mock functions. */\ntype ChainableMock = ((...args: unknown[]) => unknown) & {\n mockResolvedValue: (v: unknown) => ChainableMock;\n mockReturnValue: (v: unknown) => ChainableMock;\n mockImplementation: (fn: (...args: never[]) => unknown) => ChainableMock;\n};\n\nfunction mock(): ChainableMock {\n return getMockFn()() as ChainableMock;\n}\n\nexport function createMockHttpClient(): WildoBackendHttpClient {\n return {\n setAuthToken: mock(),\n clearAuthToken: mock(),\n setTokenRenewalHandler: mock(),\n setStepUpAuthHandler: mock(),\n setConsumableToken: mock(),\n setAnonymousSession: mock(),\n setAnonymousSessionTokenHandler: mock(),\n clearAnonymousSession: mock(),\n updateAnonymousSessionToken: mock(),\n /** Real client returns `config.baseURL || ''`; `''` models the same-origin deployment (relative API URLs). */\n getBaseURL: mock().mockReturnValue(''),\n get: mock().mockResolvedValue({}),\n post: mock().mockResolvedValue({}),\n put: mock().mockResolvedValue({}),\n patch: mock().mockResolvedValue({}),\n delete: mock().mockResolvedValue({}),\n } as unknown as WildoBackendHttpClient;\n}\n\n/**\n * Test double for the module-level `getManualCallsHttpClient()` singleton.\n *\n * It is built ON TOP of {@link createMockHttpClient} on purpose: the manual-calls\n * client EXTENDS `WildoBackendHttpClient`, and several contexts fan state out to\n * every client instance they can reach — `AnonymousSessionProvider` calls\n * `setAnonymousSessionTokenHandler` on both the application client and this one,\n * `AuthSessionProvider` calls `setAuthToken` / `setConsumableToken`. A hand-rolled\n * literal that lists \"the methods this test needs\" silently omits whichever setter\n * a provider picked up most recently and dies with `x is not a function` at mount.\n * Inheriting the base surface here means that class of drift is fixed once.\n *\n * `overrides` supplies the per-test behavior (auth responses, rejections, spies).\n */\nexport function createMockManualCallsHttpClient(\n overrides: Record<string, unknown> = {},\n): Record<string, unknown> {\n return {\n ...(createMockHttpClient() as unknown as Record<string, unknown>),\n\n /** `I18nContext` batch-fetches labels on a timer; every mock must answer or the flush throws. */\n getI18nLabels: mock().mockResolvedValue({ labels: {}, language: 'en' }),\n getI18nLabelsByKeys: mock().mockResolvedValue({ labels: {} }),\n getMilestoneDefinitions: mock().mockResolvedValue({ definitions: [] }),\n getAppConfig: mock().mockResolvedValue({}),\n getAnalyticsMomentsAchieved: mock().mockResolvedValue({ moments: [] }),\n\n /** `AuthSessionContext.logout()` fire-and-forget revocation. */\n logoutFromBackend: mock().mockResolvedValue(undefined),\n reAuthenticate: mock().mockResolvedValue({ reAuthToken: 'test-reauth-token' }),\n\n /** `FeaturesContext` resolves entitlements through the generic `get`. */\n get: mock().mockImplementation((url: string) => (\n typeof url === 'string' && url.includes('features/resolved')\n ? Promise.resolve({ features: [], limits: {}, currentUsage: {} })\n : Promise.resolve({})\n )),\n\n ...overrides,\n };\n}\n\nexport function createMockResourcesRepository(): ResourcesRepositoryFrontendService {\n const mockHttpClient = {\n doOperation: mock().mockResolvedValue({}),\n executeSearchOperation: mock().mockResolvedValue({ data: [], total: 0 }),\n setAuthToken: mock(),\n clearAuthToken: mock(),\n setTokenRenewalHandler: mock(),\n setStepUpAuthHandler: mock(),\n setConsumableToken: mock(),\n get: mock().mockResolvedValue({ systems: [] }),\n getAvailableOperationPaths: mock().mockReturnValue([]),\n };\n\n // Distinct from the resources client above — mirrors the real runtime where the\n // base application HTTP client (used by file uploads) is a separate instance that\n // the registry must also fan the auth token out to.\n const mockApplicationHttpClient = createMockHttpClient();\n\n return {\n getResourcesRegistry: mock().mockReturnValue({\n resourceConfigurations: {},\n relationshipsMap: {},\n }),\n getResourcesHttpClient: mock().mockReturnValue(mockHttpClient),\n getApplicationHttpClient: mock().mockReturnValue(mockApplicationHttpClient),\n } as unknown as ResourcesRepositoryFrontendService;\n}\n\n/**\n * Echo translator: returns the LAST string argument, which is the label key in\n * every `t*` signature (`t(key)`, `tComponent(type, key)`, `tView(family, ref, key)`,\n * `tResourceHeader(resource, 'title')`, …). Tests therefore assert on the key,\n * exactly like the hand-rolled `(_type, key) => key` mocks this replaces.\n */\nfunction echoLabel(...args: unknown[]): string {\n for (let i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'string') return args[i] as string;\n }\n return '';\n}\n\n/**\n * Full `useI18n()` return value as a test double.\n *\n * Why this is one exhaustive literal rather than a per-test partial object:\n * `useI18n()` spreads the whole `I18nContextType`, and engine components call\n * whichever helper they need (`ViewLayout_Header` reaches for `tView`, action\n * bars for `tResourceOperation`, …). A partial `vi.mock` factory that lists only\n * the two helpers a test happened to need throws `X is not a function` the moment\n * a rendered component picks up another one — silently, in every test file at\n * once. The return type is pinned to `I18nContextType`, so ADDING a helper to the\n * context makes THIS file fail `pnpm typecheck` — a compile error in one place\n * instead of runtime failures spread across the suite.\n *\n * Every helper echoes its label key (see {@link echoLabel}); pass `overrides` for\n * the handful of values a test actually asserts on.\n */\nexport function createMockI18nValue(\n overrides: Partial<I18nContextType & { isReady: boolean }> = {},\n): I18nContextType & { isReady: boolean } {\n const value: I18nContextType & { isReady: boolean } = {\n // ── State ──\n currentLanguage: AvailableLanguage.EN,\n dir: TextDirection.LTR,\n translations: {},\n isLoading: false,\n isReady: true,\n availableLanguages: [AvailableLanguage.EN],\n enableLanguageSwitcher: false,\n allowUserOverride: true,\n languagePreferences: null,\n regionalPreferences: null,\n\n // ── Actions ──\n changeLanguage: async () => undefined,\n loadTranslations: async () => undefined,\n\n // ── Helpers ──\n t: echoLabel,\n getLanguageName: (language) => String(language),\n isLanguageSupported: () => true,\n getLanguagePreferences: () => null,\n getRegionalPreferences: () => null,\n\n // ── Structured labelling helpers ──\n tResourceHeader: echoLabel,\n tResourceEmptyState: echoLabel,\n tResourceOperation: echoLabel,\n tResourceFieldDisplay: echoLabel,\n tResourceFieldEdit: echoLabel,\n tResourceFieldEnumValue: echoLabel,\n tErrorValidation: echoLabel,\n tComponent: echoLabel,\n tErrorMessage: echoLabel,\n tErrorGuidance: echoLabel,\n tNotificationCustom: echoLabel,\n tSystemEnum: echoLabel,\n tResourceSection: echoLabel,\n tResourceWizardStep: echoLabel,\n tResourceFilterPreset: echoLabel,\n tSidebarSection: echoLabel,\n tSettingsHubCategory: (_categoryRef, fallbackLabel) => fallbackLabel,\n tSettingsHubSection: (_sectionRef, fallbackLabel) => fallbackLabel,\n tCompositeView: echoLabel,\n tCompositeViewSection: echoLabel,\n tView: echoLabel,\n\n // ── Guidance ──\n tGuidanceFlow: echoLabel,\n tGuidanceElement: echoLabel,\n tGuidanceTourStep: echoLabel,\n tGuidanceSurveyQuestion: echoLabel,\n makeTrGuidanceElement: () => echoLabel,\n\n // ── Milestones ──\n tMilestone: echoLabel,\n tMilestoneReward: echoLabel,\n makeTrMilestone: () => echoLabel,\n\n // ── Lifecycle ──\n tLifecycle: echoLabel,\n tLifecycleStage: echoLabel,\n /** Echo the criterion's source ref — the discriminant decides which one carries it. */\n tActivationCriterion: (criterion) => (\n criterion.criterionType === ActivationCriterionType.MILESTONE\n ? criterion.milestoneRef\n : criterion.guidanceFlowRef\n ),\n tMilestoneCategory: echoLabel,\n\n // ── Billing ──\n tBillingProduct: echoLabel,\n tBillingFeature: echoLabel,\n tBillingLimit: echoLabel,\n tBillingCreditPool: echoLabel,\n\n // ── Roles ──\n tRole: echoLabel,\n\n // ── Regional formatting ──\n resolvedRegionalPreferences: REGIONAL_FORMATTING_DEFAULTS,\n formatDate: (value) => String(value),\n formatTime: (value) => String(value),\n formatDateTime: (value) => String(value),\n // Echoes the value like its siblings, and IGNORES the mode on purpose. A mock that phrased\n // relatively would make every assertion about a temporal field depend on the wall clock; a\n // test that cares which mode was requested asserts it against the real formatter.\n formatDateForDisplayMode: (value) => String(value),\n formatDateTimeForDisplayMode: (value) => String(value),\n formatNumber: (value) => String(value),\n\n // ── Component translation utilities ──\n hasComponentTranslations: () => true,\n getComponentKeys: () => [],\n\n // ── Lazy key loading ──\n requestKeys: async () => undefined,\n isKeyLoaded: () => true,\n // Settled AND loaded in the mock: a test that wants the failed-bundle path overrides this.\n isKeySettled: () => true,\n getKeyStatus: () => 'loaded',\n requestComponentKeys: async () => undefined,\n requestResourceKeys: async () => undefined,\n\n // ── Curried resource helpers ──\n makeTrResourceHeader: () => echoLabel,\n makeTrResourceEmptyState: () => echoLabel,\n makeTrResourceOperation: () => echoLabel,\n makeTrResourceFieldDisplay: () => echoLabel,\n makeTrResourceFieldEdit: () => echoLabel,\n makeTrResourceFieldEnum: () => echoLabel,\n makeTrErrorMessage: () => echoLabel,\n makeTrErrorGuidance: () => echoLabel,\n makeTrNotificationCustom: () => echoLabel,\n makeTrErrorValidation: () => echoLabel,\n makeTrComponent: () => echoLabel,\n makeTrSystemEnum: () => echoLabel,\n\n ...overrides,\n };\n\n return value;\n}\n\n/** Shared language block — matches `AppConfiguration_Shared_AppPreferencesLanguage` defaults. */\nconst MOCK_APP_LANGUAGES: NonNullable<ApplicationContextType['appPreferences']['languages']> = {\n defaultLanguage: AvailableLanguage.EN,\n enabledLanguages: [AvailableLanguage.EN],\n fallbackLanguage: AvailableLanguage.EN,\n autoDetectFromBrowser: true,\n allowUserOverride: true,\n allowOrganizationOverride: true,\n enableLanguageSwitcher: true,\n};\n\n/** Include `main_backend_api` for AuthSession WebSocket URL derivation, FlowsActors init, etc. */\nconst MOCK_TEST_RUNTIME: ApplicationContextType['runtime'] = {\n endPoints: {\n api: { publicUrl: 'http://localhost:3000' },\n main_backend_api: { publicUrl: 'http://localhost:3000' },\n },\n};\n\nconst MOCK_TEST_AUTH: ApplicationContextType['auth'] = {\n passkeyConfig: { rpName: 'Vitest', rpId: 'localhost', maxPasskeysPerUser: 10 },\n socialOAuth2Providers: {},\n orgAuthMethodPolicy: OrgAuthMethodPolicy.RESTRICT_ONLY,\n crossOrgSSOAccess: true,\n};\n\nconst MOCK_TEST_COMPLIANCE: ApplicationContextType['compliance'] = {\n userProfileVisibility: UserProfileVisibility.ORGANIZATION,\n organizationProfileVisibility: OrganizationProfileVisibility.PRIVATE,\n // Mirrors the framework default: client-install identification is OPT-IN and OFF unless an\n // application authors it (Fork D / SD9), so the shared test context must not imply otherwise.\n clientInstanceIdScope: ClientInstanceIdScope.DISABLED,\n // Same posture for the same reason: an application declares its governed-document releases or has\n // none, so the shared test context renders the registration form a document-less app gets — no\n // consent control, nothing to accept (issue #54).\n governedDocumentReleases: [],\n // Same posture again (#168): an application SERVES a public governed document or serves none, so\n // the shared test context renders what a document-less app gets — `/privacy` and `/terms` reach\n // the page and it fails closed, which is the contract rather than an edge case.\n publicDocuments: [],\n // The framework default, stated rather than inherited: the shared test context renders the\n // clickwrap shape registration has always shipped, so a test that does not care about the\n // acceptance mode never silently exercises a weaker one (#1258).\n governedDocumentAcceptanceMode: GovernedDocumentAcceptanceMode.EXPLICIT_CHECKBOX,\n // The framework default (#1565): the shared test context shows and asks for unapproved releases,\n // as every application does until it arms the gate.\n governedDocumentApprovalGate: GovernedDocumentApprovalGate.UNARMED,\n // Same posture again (#1462): no resource operation declares a `consentGate` in the shared test\n // context, so the derived set is empty — the same observable state as before this field existed.\n capabilityDeclaredConsentPurposes: [],\n};\n\n/**\n * Merges a partial `ApplicationContextType` into a base value.\n *\n * Top-level keys follow object spread. **`appConfig` is merged one level** so\n * overrides like `{ appConfig: { analytics: { enabled: true } } }` keep\n * `apiJwtPublicKey`, `userTypes`, etc. from `base`.\n */\nexport function mergeMockApplicationContextOverrides(\n base: ApplicationContextType,\n patch: Partial<ApplicationContextType>,\n): ApplicationContextType {\n return {\n ...base,\n ...patch,\n appConfig:\n patch.appConfig !== undefined ? { ...base.appConfig, ...patch.appConfig } : base.appConfig,\n };\n}\n\n/**\n * Builds a minimal valid `ApplicationContextType` for tests.\n */\nexport function createMockApplicationContextValue(\n overrides?: Partial<ApplicationContextType>,\n): ApplicationContextType {\n const appIdentity: ApplicationContextType['appIdentity'] = {\n appName: 'test-app',\n version: '1.0.0',\n };\n\n const base: ApplicationContextType = {\n appConfig: {\n appIdentity,\n appPreferences: { languages: MOCK_APP_LANGUAGES },\n apiJwtPublicKey: 'test-api-jwt-public-key',\n runtime: MOCK_TEST_RUNTIME,\n auth: MOCK_TEST_AUTH,\n userTypes: {},\n frontendServices: {},\n compliance: MOCK_TEST_COMPLIANCE,\n },\n appIdentity,\n appPreferences: { languages: MOCK_APP_LANGUAGES },\n runtime: MOCK_TEST_RUNTIME,\n auth: MOCK_TEST_AUTH,\n compliance: MOCK_TEST_COMPLIANCE,\n frontendConfiguration: {\n appComponentsConfiguration: {},\n } as unknown as ApplicationContextType['frontendConfiguration'],\n logger: LoggerFrontendService.getLogger(),\n httpClient: createMockHttpClient(),\n frontendProviderRegistry: createFrontendProviderRegistryFrontendService(),\n isInitialized: true,\n version: '1.0.0',\n initializationStatus: {\n [MainContextInitComponents.MAIN_CONTEXT]: true,\n [MainContextInitComponents.UI]: true,\n [MainContextInitComponents.LOADER]: true,\n [MainContextInitComponents.ERRORS]: true,\n [MainContextInitComponents.ROUTER]: true,\n [MainContextInitComponents.I18N]: true,\n [MainContextInitComponents.APP_MAIN_CONTAINER]: true,\n [MainContextInitComponents.PUBLIC_APP_CONTAINER]: true,\n },\n markComponentInitialized: mock(),\n };\n\n return overrides ? mergeMockApplicationContextOverrides(base, overrides) : base;\n}\n\n/** Minimal valid {@link FeatureConfiguration} for {@link FeaturesProvider} in tests. */\nexport function createMinimalTestFeatureConfiguration(): FeatureConfiguration {\n return {\n definitions: [],\n profiles: {},\n unavailabilityPolicy: {\n defaultBehavior: FeatureUnavailabilityBehavior.UPGRADE_PROMPT,\n whenBillingDisabled: FeatureUnavailabilityBehavior.HIDE,\n roleDefaults: {},\n reasonDefaults: {\n [FeatureUnavailabilityReason.FEATURE_NOT_ENABLED]: FeatureUnavailabilityBehavior.UPGRADE_PROMPT,\n [FeatureUnavailabilityReason.LIMIT_EXCEEDED]: FeatureUnavailabilityBehavior.LIMIT_UPGRADE_PROMPT,\n [FeatureUnavailabilityReason.NOT_CONFIGURED]: FeatureUnavailabilityBehavior.HIDE,\n },\n },\n };\n}\n\nexport interface MockAuthSessionInitOptions {\n /** When true (default), {@link AuthSessionContextType.isAuthenticated} returns true. */\n authenticated?: boolean;\n}\n\n/**\n * Full {@link AuthSessionContextType} for `AuthSessionContext.Provider` overrides (Tier 3 tests).\n */\nexport function createMockAuthSessionContextValue(\n options: MockAuthSessionInitOptions = {},\n): AuthSessionContextType {\n const authenticated = options.authenticated !== false;\n const auth: AuthState = {\n ...EMPTY_AUTH_STATE,\n ...(authenticated ? { accessToken: 'test-access-token' } : {}),\n };\n\n // Auth-hardening A-Step 6: `AuthenticationResponse` no longer carries\n // `refreshToken` (the cookie does). Tests that exercised body-channel\n // rotation pre-A-Step-6 should now assert on `Set-Cookie` headers.\n const asyncAuthResp = mock().mockResolvedValue({\n success: true,\n accessToken: 'x',\n });\n\n return {\n auth,\n tokenStorage: {\n getAccessToken: () => auth.accessToken,\n // `EphemeralSessionTokenStorage` still exposes `getRefreshToken()`\n // for one-off / test contexts; the persistent storage adapter\n // returns `null` permanently post-A-Step-3. Mock surfaces `null`\n // by default — override per-test if a one-off scenario needs it.\n getRefreshToken: () => null,\n storeTokens: mock(),\n getOrganizationId: mock().mockReturnValue(null),\n setOrganizationId: mock(),\n clear: mock(),\n },\n identifyByEmail: mock().mockResolvedValue({}),\n authenticateWithPassword: asyncAuthResp,\n authenticate: asyncAuthResp,\n getSessionState: mock().mockResolvedValue({}),\n isAuthenticated: () => !!auth.accessToken,\n logout: mock(),\n endSession: mock(),\n // A tab that loads with a stored token has RESUMED that session; one that signs in reports SIGNED_IN (#1977).\n getSessionEstablishment: mock().mockReturnValue(SessionEstablishment.RESUMED),\n getSessionEndReason: mock().mockReturnValue(SessionEndReason.SESSION_ENDED),\n initiateOAuth2Login: mock().mockResolvedValue(undefined),\n handleAuthCodeExchange: mock().mockResolvedValue(undefined),\n handleEmailVerification: mock().mockResolvedValue(undefined),\n acceptInvitation: mock().mockResolvedValue({}),\n // An answer that adopts no auth state — a test driving sign-in or enrollment overrides it.\n registerAccount: mock().mockResolvedValue(RegistrationOutcome.EMAIL_VERIFICATION_PENDING),\n handleMagicLinkVerify: asyncAuthResp,\n handleMfaVerify: asyncAuthResp,\n completeEnrollmentSession: mock().mockReturnValue(false),\n adoptPendingMfaSession: mock().mockReturnValue(false),\n completeOrganizationOnboarding: mock().mockResolvedValue(undefined),\n abandonOrganizationOnboarding: mock(),\n handlePasskeyAuth: asyncAuthResp,\n signInWithPasskey: asyncAuthResp,\n handleOneOffTokenExchange: mock().mockResolvedValue(undefined),\n markSessionRestored: mock(),\n setSessionRestoring: mock(),\n connectWebSocket: mock(),\n notifyOrganizationSwitch: mock(),\n } as unknown as AuthSessionContextType;\n}\n\nexport interface MockUserOrgsInitOptions {\n /** When true (default), `isAuthenticated()` is true (Guidance / progression init paths). */\n authenticated?: boolean;\n}\n\n/**\n * Minimal {@link UserOrgsContextType} for `UserOrgsContext.Provider` overrides (Tier 3 tests).\n */\nexport function createMinimalUserOrgsContextValue(\n options: MockUserOrgsInitOptions = {},\n): UserOrgsContextType {\n const authenticated = options.authenticated !== false;\n const auth: AuthState = {\n ...EMPTY_AUTH_STATE,\n ...(authenticated ? { accessToken: 'test-access-token', refreshToken: 'test-refresh-token' } : {}),\n };\n\n const asyncAuth = mock().mockResolvedValue({ success: true });\n\n return {\n auth,\n identifyByEmail: mock(),\n authenticateWithPassword: asyncAuth,\n authenticate: asyncAuth,\n getSessionState: mock(),\n isAuthenticated: () => !!auth.accessToken,\n logout: mock(),\n restoreSession: mock().mockResolvedValue(false),\n initiateOAuth2Login: mock(),\n handleAuthCodeExchange: mock(),\n user: null,\n organizations: [],\n currentOrganizationId: null,\n permissions: null,\n primaryScopeInitiatorIds: null,\n privacy: null,\n setCurrentOrganization: mock(),\n getCurrentOrganization: mock().mockReturnValue(null),\n refreshOrganizations: mock(),\n getPrivacy: mock().mockReturnValue(null),\n recordConsentDecision: mock().mockResolvedValue({ consentedPurposes: [] }),\n } as unknown as UserOrgsContextType;\n}\n\nexport interface MockAppScopeInitOptions {\n currentOrganizationId?: string | null;\n currentUserId?: string | null;\n currentApplicationId?: string | null;\n currentAnonymousUserId?: string | null;\n sessionMode?: AppScopeSessionMode;\n}\n\n/**\n * Minimal {@link AppScopeContextValue} for `AppScopeContext.Provider` overrides (Tier 3 tests).\n */\nexport function createMinimalAppScopeContextValue(\n options: MockAppScopeInitOptions = {},\n): AppScopeContextValue {\n const currentOrganizationId = options.currentOrganizationId ?? null;\n const currentUserId = options.currentUserId ?? 'test-user-id';\n const currentApplicationId = options.currentApplicationId ?? null;\n const currentAnonymousUserId = options.currentAnonymousUserId ?? null;\n\n const primaryScopeValues = {\n organizationId: currentOrganizationId,\n userId: currentUserId,\n applicationId: currentApplicationId,\n anonymousUserId: currentAnonymousUserId,\n };\n\n return {\n primaryScopeValues,\n customScopeValues: {},\n allScopeValues: { ...primaryScopeValues },\n sessionMode: options.sessionMode ?? AppScopeSessionMode.AUTHENTICATED_PERSISTENT,\n currentOrganizationId,\n currentUserId,\n currentApplicationId,\n currentAnonymousUserId,\n primaryScopeFields: [],\n customScopeFields: [],\n setScopeValue: () => undefined,\n clearCustomScopeValues: () => undefined,\n dependencies: [],\n getDependentFields: () => [],\n buildContextResourceIdentifiers: () =>\n currentOrganizationId ? { organizationId: currentOrganizationId } : {},\n buildContextualParameters: () => {\n const parameters: Record<string, string | string[]> = {};\n if (currentOrganizationId) {\n parameters.organizationId = currentOrganizationId;\n }\n if (currentUserId) {\n parameters.userId = currentUserId;\n }\n if (currentApplicationId) {\n parameters.applicationId = currentApplicationId;\n }\n if (currentAnonymousUserId) {\n parameters.anonymousUserId = currentAnonymousUserId;\n }\n return parameters;\n },\n isReady: true,\n isLoading: false,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"mock-builders.js","sourceRoot":"","sources":["../../../../src/testing/mock-builders.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Runner-agnostic mock builders for frontend engine tests.\n * Uses {@link getMockFn} — configure via {@link configureMockFactory} in setup.\n *\n * Chaining (`.mockResolvedValue`, `.mockReturnValue`) is typed loosely: real `vi.fn`/`jest.fn`\n * provide these at runtime; we cast at the boundary to keep `dist/` free of Vitest imports.\n */\nimport {\n AvailableLanguage,\n REGIONAL_FORMATTING_DEFAULTS,\n RegionalFormattingUtils,\n TextDirection,\n} from '@wildo-ai/presets-components-models';\nimport {\n ActivationCriterionType,\n ClientInstanceIdScope,\n GovernedDocumentAcceptanceMode,\n GovernedDocumentApprovalGate,\n FeatureUnavailabilityBehavior,\n FeatureUnavailabilityReason,\n OrgAuthMethodPolicy,\n OrganizationProfileVisibility,\n UserProfileVisibility,\n} from '@wildo-ai/saas-models';\nimport type { FeatureConfiguration, RolesConfiguration, UserSelfAccessProfile } from '@wildo-ai/saas-models';\nimport { resolveApplicationRoleConfigurations, UnresolvableRoleTreatment } from '@wildo-ai/saas-models';\nimport type { LauncherEffectiveRoles } from '~wildo-frontend-lib/core/navigation/launcher-resolution';\nimport type { ApplicationContextType } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport type { I18nContextType } from '~wildo-frontend-lib/core/i18n/I18nContext';\nimport { RegionalReaderStanding } from '~wildo-frontend-lib/core/i18n/regional-preference-resolution.frontend.utils';\nimport { MainContextInitComponents } from '~wildo-frontend-lib/core/runtime/runtime.frontend.schemas';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport type { ResourcesRepositoryFrontendService } from '~wildo-frontend-lib/core/resources/resources-repository.frontend.service';\nimport type { WildoBackendHttpClient } from '~wildo-frontend-lib/core/requests/wildo-http-client.frontend.service';\nimport { createFrontendProviderRegistryFrontendService } from '~wildo-frontend-lib/core/external-providers/frontend-provider-registry.frontend.service';\nimport type { AppScopeContextValue } from '~wildo-frontend-lib/core/scope/AppScopeContext';\nimport { AppScopeSessionMode } from '~wildo-frontend-lib/core/scope/scope.frontend.schemas';\nimport type { AuthSessionContextType } from '~wildo-frontend-lib/core/security/AuthSessionContext';\nimport { RegistrationOutcome } from '~wildo-frontend-lib/core/security/registration-outcome.frontend.utils';\nimport type { UserOrgsContextType } from '~wildo-frontend-lib/core/security/UserOrgsContext';\nimport { EMPTY_AUTH_STATE, type AuthState } from '~wildo-frontend-lib/core/security/security.frontend.schemas';\nimport { getMockFn } from './mock-factory';\nimport { SessionEndReason, SessionEstablishment } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\n\n/** Chainable mock surface shared by Vitest and Jest mock functions. */\ntype ChainableMock = ((...args: unknown[]) => unknown) & {\n mockResolvedValue: (v: unknown) => ChainableMock;\n mockReturnValue: (v: unknown) => ChainableMock;\n mockImplementation: (fn: (...args: never[]) => unknown) => ChainableMock;\n};\n\nfunction mock(): ChainableMock {\n return getMockFn()() as ChainableMock;\n}\n\nexport function createMockHttpClient(): WildoBackendHttpClient {\n return {\n setAuthToken: mock(),\n clearAuthToken: mock(),\n setTokenRenewalHandler: mock(),\n setStepUpAuthHandler: mock(),\n setConsumableToken: mock(),\n setAnonymousSession: mock(),\n setAnonymousSessionTokenHandler: mock(),\n clearAnonymousSession: mock(),\n updateAnonymousSessionToken: mock(),\n /** Real client returns `config.baseURL || ''`; `''` models the same-origin deployment (relative API URLs). */\n getBaseURL: mock().mockReturnValue(''),\n get: mock().mockResolvedValue({}),\n post: mock().mockResolvedValue({}),\n put: mock().mockResolvedValue({}),\n patch: mock().mockResolvedValue({}),\n delete: mock().mockResolvedValue({}),\n } as unknown as WildoBackendHttpClient;\n}\n\n/**\n * Test double for the module-level `getManualCallsHttpClient()` singleton.\n *\n * It is built ON TOP of {@link createMockHttpClient} on purpose: the manual-calls\n * client EXTENDS `WildoBackendHttpClient`, and several contexts fan state out to\n * every client instance they can reach — `AnonymousSessionProvider` calls\n * `setAnonymousSessionTokenHandler` on both the application client and this one,\n * `AuthSessionProvider` calls `setAuthToken` / `setConsumableToken`. A hand-rolled\n * literal that lists \"the methods this test needs\" silently omits whichever setter\n * a provider picked up most recently and dies with `x is not a function` at mount.\n * Inheriting the base surface here means that class of drift is fixed once.\n *\n * `overrides` supplies the per-test behavior (auth responses, rejections, spies).\n */\nexport function createMockManualCallsHttpClient(\n overrides: Record<string, unknown> = {},\n): Record<string, unknown> {\n return {\n ...(createMockHttpClient() as unknown as Record<string, unknown>),\n\n /** `I18nContext` batch-fetches labels on a timer; every mock must answer or the flush throws. */\n getI18nLabels: mock().mockResolvedValue({ labels: {}, language: 'en' }),\n getI18nLabelsByKeys: mock().mockResolvedValue({ labels: {} }),\n getMilestoneDefinitions: mock().mockResolvedValue({ definitions: [] }),\n getAppConfig: mock().mockResolvedValue({}),\n getAnalyticsMomentsAchieved: mock().mockResolvedValue({ moments: [] }),\n\n /** `AuthSessionContext.logout()` fire-and-forget revocation. */\n logoutFromBackend: mock().mockResolvedValue(undefined),\n /** `AuthSessionContext.signOutEverywhere()` (#2317). */\n logoutAllFromBackend: mock().mockResolvedValue(undefined),\n listMySessions: mock().mockResolvedValue({ sessions: [] }),\n revokeMySession: mock().mockResolvedValue(undefined),\n reAuthenticate: mock().mockResolvedValue({ reAuthToken: 'test-reauth-token' }),\n\n /** `FeaturesContext` resolves entitlements through the generic `get`. */\n get: mock().mockImplementation((url: string) => (\n typeof url === 'string' && url.includes('features/resolved')\n ? Promise.resolve({ features: [], limits: {}, currentUsage: {} })\n : Promise.resolve({})\n )),\n\n ...overrides,\n };\n}\n\nexport function createMockResourcesRepository(): ResourcesRepositoryFrontendService {\n const mockHttpClient = {\n doOperation: mock().mockResolvedValue({}),\n executeSearchOperation: mock().mockResolvedValue({ data: [], total: 0 }),\n setAuthToken: mock(),\n clearAuthToken: mock(),\n setTokenRenewalHandler: mock(),\n setStepUpAuthHandler: mock(),\n setConsumableToken: mock(),\n get: mock().mockResolvedValue({ systems: [] }),\n getAvailableOperationPaths: mock().mockReturnValue([]),\n };\n\n // Distinct from the resources client above — mirrors the real runtime where the\n // base application HTTP client (used by file uploads) is a separate instance that\n // the registry must also fan the auth token out to.\n const mockApplicationHttpClient = createMockHttpClient();\n\n return {\n getResourcesRegistry: mock().mockReturnValue({\n resourceConfigurations: {},\n relationshipsMap: {},\n }),\n getResourcesHttpClient: mock().mockReturnValue(mockHttpClient),\n getApplicationHttpClient: mock().mockReturnValue(mockApplicationHttpClient),\n } as unknown as ResourcesRepositoryFrontendService;\n}\n\n/**\n * Echo translator: returns the LAST string argument, which is the label key in\n * every `t*` signature (`t(key)`, `tComponent(type, key)`, `tView(family, ref, key)`,\n * `tResourceHeader(resource, 'title')`, …). Tests therefore assert on the key,\n * exactly like the hand-rolled `(_type, key) => key` mocks this replaces.\n */\nfunction echoLabel(...args: unknown[]): string {\n for (let i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'string') return args[i] as string;\n }\n return '';\n}\n\n/**\n * Full `useI18n()` return value as a test double.\n *\n * Why this is one exhaustive literal rather than a per-test partial object:\n * `useI18n()` spreads the whole `I18nContextType`, and engine components call\n * whichever helper they need (`ViewLayout_Header` reaches for `tView`, action\n * bars for `tResourceOperation`, …). A partial `vi.mock` factory that lists only\n * the two helpers a test happened to need throws `X is not a function` the moment\n * a rendered component picks up another one — silently, in every test file at\n * once. The return type is pinned to `I18nContextType`, so ADDING a helper to the\n * context makes THIS file fail `pnpm typecheck` — a compile error in one place\n * instead of runtime failures spread across the suite.\n *\n * Every helper echoes its label key (see {@link echoLabel}); pass `overrides` for\n * the handful of values a test actually asserts on.\n */\nexport function createMockI18nValue(\n overrides: Partial<I18nContextType & { isReady: boolean }> = {},\n): I18nContextType & { isReady: boolean } {\n const value: I18nContextType & { isReady: boolean } = {\n // ── State ──\n currentLanguage: AvailableLanguage.EN,\n dir: TextDirection.LTR,\n translations: {},\n isLoading: false,\n isReady: true,\n availableLanguages: [AvailableLanguage.EN],\n enableLanguageSwitcher: false,\n allowUserOverride: true,\n languagePreferences: null,\n regionalPreferences: null,\n // A signed-in reader, so `resolvedRegionalPreferences` below is what the formatters honestly reflect.\n regionalReaderStanding: RegionalReaderStanding.SIGNED_IN,\n\n // ── Actions ──\n changeLanguage: async () => undefined,\n loadTranslations: async () => undefined,\n\n // ── Helpers ──\n t: echoLabel,\n getLanguageName: (language) => String(language),\n isLanguageSupported: () => true,\n getLanguagePreferences: () => null,\n getRegionalPreferences: () => null,\n\n // ── Structured labelling helpers ──\n tResourceHeader: echoLabel,\n tResourceEmptyState: echoLabel,\n tResourceOperation: echoLabel,\n tResourceFieldDisplay: echoLabel,\n tResourceFieldEdit: echoLabel,\n tResourceFieldEnumValue: echoLabel,\n tErrorValidation: echoLabel,\n tComponent: echoLabel,\n tErrorMessage: echoLabel,\n tErrorGuidance: echoLabel,\n tNotificationCustom: echoLabel,\n tSystemEnum: echoLabel,\n tResourceSection: echoLabel,\n tResourceWizardStep: echoLabel,\n tResourceFilterPreset: echoLabel,\n tSidebarSection: echoLabel,\n tSettingsHubCategory: (_categoryRef, fallbackLabel) => fallbackLabel,\n tSettingsHubGroup: (_categoryRef, _groupRef, fallbackLabel) => fallbackLabel,\n tSettingsHubSection: (_sectionRef, fallbackLabel) => fallbackLabel,\n tCompositeView: echoLabel,\n tCompositeViewSection: echoLabel,\n tView: echoLabel,\n\n // ── Guidance ──\n tGuidanceFlow: echoLabel,\n tGuidanceElement: echoLabel,\n tGuidanceTourStep: echoLabel,\n tGuidanceSurveyQuestion: echoLabel,\n makeTrGuidanceElement: () => echoLabel,\n\n // ── Milestones ──\n tMilestone: echoLabel,\n tMilestoneReward: echoLabel,\n makeTrMilestone: () => echoLabel,\n\n // ── Lifecycle ──\n tLifecycle: echoLabel,\n tLifecycleStage: echoLabel,\n /** Echo the criterion's source ref — the discriminant decides which one carries it. */\n tActivationCriterion: (criterion) => (\n criterion.criterionType === ActivationCriterionType.MILESTONE\n ? criterion.milestoneRef\n : criterion.guidanceFlowRef\n ),\n tMilestoneCategory: echoLabel,\n\n // ── Billing ──\n tBillingProduct: echoLabel,\n tBillingFeature: echoLabel,\n tBillingLimit: echoLabel,\n tBillingCreditPool: echoLabel,\n\n // ── Roles ──\n tRole: echoLabel,\n\n // ── Regional formatting ──\n resolvedRegionalPreferences: REGIONAL_FORMATTING_DEFAULTS,\n formatDate: (value) => String(value),\n formatTime: (value) => String(value),\n formatDateTime: (value) => String(value),\n // Echoes the value like its siblings, and IGNORES the mode on purpose. A mock that phrased\n // relatively would make every assertion about a temporal field depend on the wall clock; a\n // test that cares which mode was requested asserts it against the real formatter.\n formatDateForDisplayMode: (value) => String(value),\n formatDateTimeForDisplayMode: (value) => String(value),\n formatDisplayRange: (range) => ({\n from: range.from === undefined || range.from === null ? undefined : String(range.from),\n to: range.to === undefined || range.to === null ? undefined : String(range.to),\n }),\n formatNumber: (value) => String(value),\n // The real formatter on the default config, so a component test reads what a reader would.\n formatByteSize: (bytes, options) => RegionalFormattingUtils.formatByteSize(bytes, REGIONAL_FORMATTING_DEFAULTS, options),\n formatList: (items, options) => RegionalFormattingUtils.formatList(items, REGIONAL_FORMATTING_DEFAULTS, options),\n\n // ── Component translation utilities ──\n hasComponentTranslations: () => true,\n getComponentKeys: () => [],\n\n // ── Lazy key loading ──\n requestKeys: async () => undefined,\n isKeyLoaded: () => true,\n // Settled AND loaded in the mock: a test that wants the failed-bundle path overrides this.\n isKeySettled: () => true,\n getKeyStatus: () => 'loaded',\n requestComponentKeys: async () => undefined,\n requestResourceKeys: async () => undefined,\n\n // ── Curried resource helpers ──\n makeTrResourceHeader: () => echoLabel,\n makeTrResourceEmptyState: () => echoLabel,\n makeTrResourceOperation: () => echoLabel,\n makeTrResourceFieldDisplay: () => echoLabel,\n makeTrResourceFieldEdit: () => echoLabel,\n makeTrResourceFieldEnum: () => echoLabel,\n makeTrErrorMessage: () => echoLabel,\n makeTrErrorGuidance: () => echoLabel,\n makeTrNotificationCustom: () => echoLabel,\n makeTrErrorValidation: () => echoLabel,\n makeTrComponent: () => echoLabel,\n makeTrSystemEnum: () => echoLabel,\n\n ...overrides,\n };\n\n return value;\n}\n\n/** Shared language block — matches `AppConfiguration_Shared_AppPreferencesLanguage` defaults. */\nconst MOCK_APP_LANGUAGES: NonNullable<ApplicationContextType['appPreferences']['languages']> = {\n defaultLanguage: AvailableLanguage.EN,\n enabledLanguages: [AvailableLanguage.EN],\n fallbackLanguage: AvailableLanguage.EN,\n autoDetectFromBrowser: true,\n allowUserOverride: true,\n allowOrganizationOverride: true,\n enableLanguageSwitcher: true,\n};\n\n/** Include `main_backend_api` for AuthSession WebSocket URL derivation, FlowsActors init, etc. */\nconst MOCK_TEST_RUNTIME: ApplicationContextType['runtime'] = {\n endPoints: {\n api: { publicUrl: 'http://localhost:3000' },\n main_backend_api: { publicUrl: 'http://localhost:3000' },\n },\n};\n\nconst MOCK_TEST_AUTH: ApplicationContextType['auth'] = {\n passkeyConfig: { rpName: 'Vitest', rpId: 'localhost', maxPasskeysPerUser: 10 },\n socialOAuth2Providers: {},\n orgAuthMethodPolicy: OrgAuthMethodPolicy.RESTRICT_ONLY,\n crossOrgSSOAccess: true,\n};\n\nconst MOCK_TEST_COMPLIANCE: ApplicationContextType['compliance'] = {\n userProfileVisibility: UserProfileVisibility.ORGANIZATION,\n organizationProfileVisibility: OrganizationProfileVisibility.PRIVATE,\n // Mirrors the framework default: client-install identification is OPT-IN and OFF unless an\n // application authors it (Fork D / SD9), so the shared test context must not imply otherwise.\n clientInstanceIdScope: ClientInstanceIdScope.DISABLED,\n // Same posture for the same reason: an application declares its governed-document releases or has\n // none, so the shared test context renders the registration form a document-less app gets — no\n // consent control, nothing to accept (issue #54).\n governedDocumentReleases: [],\n // Same posture again (#168): an application SERVES a public governed document or serves none, so\n // the shared test context renders what a document-less app gets — `/privacy` and `/terms` reach\n // the page and it fails closed, which is the contract rather than an edge case.\n publicDocuments: [],\n // The framework default, stated rather than inherited: the shared test context renders the\n // clickwrap shape registration has always shipped, so a test that does not care about the\n // acceptance mode never silently exercises a weaker one (#1258).\n governedDocumentAcceptanceMode: GovernedDocumentAcceptanceMode.EXPLICIT_CHECKBOX,\n // The framework default (#1565): the shared test context shows and asks for unapproved releases,\n // as every application does until it arms the gate.\n governedDocumentApprovalGate: GovernedDocumentApprovalGate.UNARMED,\n // Same posture again (#1462): no resource operation declares a `consentGate` in the shared test\n // context, so the derived set is empty — the same observable state as before this field existed.\n capabilityDeclaredConsentPurposes: [],\n};\n\n/**\n * Merges a partial `ApplicationContextType` into a base value.\n *\n * Top-level keys follow object spread. **`appConfig` is merged one level** so\n * overrides like `{ appConfig: { analytics: { enabled: true } } }` keep\n * `apiJwtPublicKey`, `userTypes`, etc. from `base`.\n */\nexport function mergeMockApplicationContextOverrides(\n base: ApplicationContextType,\n patch: Partial<ApplicationContextType>,\n): ApplicationContextType {\n return {\n ...base,\n ...patch,\n appConfig:\n patch.appConfig !== undefined ? { ...base.appConfig, ...patch.appConfig } : base.appConfig,\n };\n}\n\n/**\n * Builds a minimal valid `ApplicationContextType` for tests.\n */\nexport function createMockApplicationContextValue(\n overrides?: Partial<ApplicationContextType>,\n): ApplicationContextType {\n const appIdentity: ApplicationContextType['appIdentity'] = {\n appName: 'test-app',\n version: '1.0.0',\n };\n\n const base: ApplicationContextType = {\n appConfig: {\n appIdentity,\n appPreferences: { languages: MOCK_APP_LANGUAGES },\n apiJwtPublicKey: 'test-api-jwt-public-key',\n runtime: MOCK_TEST_RUNTIME,\n auth: MOCK_TEST_AUTH,\n userTypes: {},\n frontendServices: {},\n compliance: MOCK_TEST_COMPLIANCE,\n enabledEngineCapabilities: [],\n },\n appIdentity,\n appPreferences: { languages: MOCK_APP_LANGUAGES },\n runtime: MOCK_TEST_RUNTIME,\n auth: MOCK_TEST_AUTH,\n compliance: MOCK_TEST_COMPLIANCE,\n frontendConfiguration: {\n appComponentsConfiguration: {},\n } as unknown as ApplicationContextType['frontendConfiguration'],\n logger: LoggerFrontendService.getLogger(),\n httpClient: createMockHttpClient(),\n frontendProviderRegistry: createFrontendProviderRegistryFrontendService(),\n isInitialized: true,\n version: '1.0.0',\n initializationStatus: {\n [MainContextInitComponents.MAIN_CONTEXT]: true,\n [MainContextInitComponents.UI]: true,\n [MainContextInitComponents.LOADER]: true,\n [MainContextInitComponents.ERRORS]: true,\n [MainContextInitComponents.ROUTER]: true,\n [MainContextInitComponents.I18N]: true,\n [MainContextInitComponents.APP_MAIN_CONTAINER]: true,\n [MainContextInitComponents.PUBLIC_APP_CONTAINER]: true,\n },\n markComponentInitialized: mock(),\n };\n\n return overrides ? mergeMockApplicationContextOverrides(base, overrides) : base;\n}\n\n/** Minimal valid {@link FeatureConfiguration} for {@link FeaturesProvider} in tests. */\nexport function createMinimalTestFeatureConfiguration(): FeatureConfiguration {\n return {\n definitions: [],\n profiles: {},\n unavailabilityPolicy: {\n defaultBehavior: FeatureUnavailabilityBehavior.UPGRADE_PROMPT,\n whenBillingDisabled: FeatureUnavailabilityBehavior.HIDE,\n roleDefaults: {},\n reasonDefaults: {\n [FeatureUnavailabilityReason.FEATURE_NOT_ENABLED]: FeatureUnavailabilityBehavior.UPGRADE_PROMPT,\n [FeatureUnavailabilityReason.LIMIT_EXCEEDED]: FeatureUnavailabilityBehavior.LIMIT_UPGRADE_PROMPT,\n [FeatureUnavailabilityReason.NOT_CONFIGURED]: FeatureUnavailabilityBehavior.HIDE,\n },\n },\n };\n}\n\nexport interface MockAuthSessionInitOptions {\n /** When true (default), {@link AuthSessionContextType.isAuthenticated} returns true. */\n authenticated?: boolean;\n}\n\n/**\n * Full {@link AuthSessionContextType} for `AuthSessionContext.Provider` overrides (Tier 3 tests).\n */\nexport function createMockAuthSessionContextValue(\n options: MockAuthSessionInitOptions = {},\n): AuthSessionContextType {\n const authenticated = options.authenticated !== false;\n const auth: AuthState = {\n ...EMPTY_AUTH_STATE,\n ...(authenticated ? { accessToken: 'test-access-token' } : {}),\n };\n\n // Auth-hardening A-Step 6: `AuthenticationResponse` no longer carries\n // `refreshToken` (the cookie does). Tests that exercised body-channel\n // rotation pre-A-Step-6 should now assert on `Set-Cookie` headers.\n const asyncAuthResp = mock().mockResolvedValue({\n success: true,\n accessToken: 'x',\n });\n\n return {\n auth,\n tokenStorage: {\n getAccessToken: () => auth.accessToken,\n // `EphemeralSessionTokenStorage` still exposes `getRefreshToken()`\n // for one-off / test contexts; the persistent storage adapter\n // returns `null` permanently post-A-Step-3. Mock surfaces `null`\n // by default — override per-test if a one-off scenario needs it.\n getRefreshToken: () => null,\n storeTokens: mock(),\n getOrganizationId: mock().mockReturnValue(null),\n setOrganizationId: mock(),\n clear: mock(),\n },\n identifyByEmail: mock().mockResolvedValue({}),\n authenticateWithPassword: asyncAuthResp,\n authenticate: asyncAuthResp,\n getSessionState: mock().mockResolvedValue({}),\n isAuthenticated: () => !!auth.accessToken,\n logout: mock(),\n signOutEverywhere: mock().mockResolvedValue(undefined),\n endSession: mock(),\n // A tab that loads with a stored token has RESUMED that session; one that signs in reports SIGNED_IN (#1977).\n getSessionEstablishment: mock().mockReturnValue(SessionEstablishment.RESUMED),\n getSessionEndReason: mock().mockReturnValue(SessionEndReason.SESSION_ENDED),\n endedSessionReason: null,\n initiateOAuth2Login: mock().mockResolvedValue(undefined),\n handleAuthCodeExchange: mock().mockResolvedValue(undefined),\n handleEmailVerification: mock().mockResolvedValue(undefined),\n acceptInvitation: mock().mockResolvedValue({}),\n // An answer that adopts no auth state — a test driving sign-in or enrollment overrides it.\n registerAccount: mock().mockResolvedValue(RegistrationOutcome.EMAIL_VERIFICATION_PENDING),\n handleMagicLinkVerify: asyncAuthResp,\n handleMfaVerify: asyncAuthResp,\n completeEnrollmentSession: mock().mockReturnValue(false),\n adoptPendingMfaSession: mock().mockReturnValue(false),\n completeOrganizationOnboarding: mock().mockResolvedValue(undefined),\n abandonOrganizationOnboarding: mock(),\n handlePasskeyAuth: asyncAuthResp,\n signInWithPasskey: asyncAuthResp,\n handleOneOffTokenExchange: mock().mockResolvedValue(undefined),\n markSessionRestored: mock(),\n setSessionRestoring: mock(),\n connectWebSocket: mock(),\n notifyOrganizationSwitch: mock(),\n } as unknown as AuthSessionContextType;\n}\n\nexport interface MockUserOrgsInitOptions {\n /** When true (default), `isAuthenticated()` is true (Guidance / progression init paths). */\n authenticated?: boolean;\n}\n\n/**\n * Minimal {@link UserOrgsContextType} for `UserOrgsContext.Provider` overrides (Tier 3 tests).\n */\nexport function createMinimalUserOrgsContextValue(\n options: MockUserOrgsInitOptions = {},\n): UserOrgsContextType {\n const authenticated = options.authenticated !== false;\n const auth: AuthState = {\n ...EMPTY_AUTH_STATE,\n ...(authenticated ? { accessToken: 'test-access-token', refreshToken: 'test-refresh-token' } : {}),\n };\n\n const asyncAuth = mock().mockResolvedValue({ success: true });\n\n return {\n auth,\n identifyByEmail: mock(),\n authenticateWithPassword: asyncAuth,\n authenticate: asyncAuth,\n getSessionState: mock(),\n isAuthenticated: () => !!auth.accessToken,\n logout: mock(),\n restoreSession: mock().mockResolvedValue(false),\n initiateOAuth2Login: mock(),\n handleAuthCodeExchange: mock(),\n user: null,\n organizations: [],\n currentOrganizationId: null,\n permissions: null,\n primaryScopeInitiatorIds: null,\n privacy: null,\n setCurrentOrganization: mock(),\n followRouteOrganization: mock().mockReturnValue(true),\n getCurrentOrganization: mock().mockReturnValue(null),\n refreshOrganizations: mock(),\n getPrivacy: mock().mockReturnValue(null),\n recordConsentDecision: mock().mockResolvedValue({ consentedPurposes: [] }),\n } as unknown as UserOrgsContextType;\n}\n\nexport interface MockAppScopeInitOptions {\n currentOrganizationId?: string | null;\n currentUserId?: string | null;\n currentApplicationId?: string | null;\n currentAnonymousUserId?: string | null;\n sessionMode?: AppScopeSessionMode;\n}\n\n/**\n * Minimal {@link AppScopeContextValue} for `AppScopeContext.Provider` overrides (Tier 3 tests).\n */\nexport function createMinimalAppScopeContextValue(\n options: MockAppScopeInitOptions = {},\n): AppScopeContextValue {\n const currentOrganizationId = options.currentOrganizationId ?? null;\n const currentUserId = options.currentUserId ?? 'test-user-id';\n const currentApplicationId = options.currentApplicationId ?? null;\n const currentAnonymousUserId = options.currentAnonymousUserId ?? null;\n\n const primaryScopeValues = {\n organizationId: currentOrganizationId,\n userId: currentUserId,\n applicationId: currentApplicationId,\n anonymousUserId: currentAnonymousUserId,\n };\n\n return {\n primaryScopeValues,\n customScopeValues: {},\n allScopeValues: { ...primaryScopeValues },\n sessionMode: options.sessionMode ?? AppScopeSessionMode.AUTHENTICATED_PERSISTENT,\n currentOrganizationId,\n currentUserId,\n currentApplicationId,\n currentAnonymousUserId,\n primaryScopeFields: [],\n customScopeFields: [],\n setScopeValue: () => undefined,\n clearCustomScopeValues: () => undefined,\n dependencies: [],\n getDependentFields: () => [],\n buildContextResourceIdentifiers: () =>\n currentOrganizationId ? { organizationId: currentOrganizationId } : {},\n buildContextualParameters: () => {\n const parameters: Record<string, string | string[]> = {};\n if (currentOrganizationId) {\n parameters.organizationId = currentOrganizationId;\n }\n if (currentUserId) {\n parameters.userId = currentUserId;\n }\n if (currentApplicationId) {\n parameters.applicationId = currentApplicationId;\n }\n if (currentAnonymousUserId) {\n parameters.anonymousUserId = currentAnonymousUserId;\n }\n return parameters;\n },\n isReady: true,\n isLoading: false,\n };\n}\n\n/**\n * A viewer's effective roles for a shell visibility test: the given roles, expanded against the application's real\n * role tables (defaults plus `customRoles`) with unknown roles inert — what `useViewerEffectiveRoles` builds inside\n * the application shell. Built from the real resolver so a test cannot hand-write tables the backend would not hold.\n */\nexport function buildViewerEffectiveRoles(\n roles: { applicationRoles?: string[]; organizationRoles?: string[]; organizationId?: string | null; accessProfile?: UserSelfAccessProfile | null } = {},\n customRoles?: RolesConfiguration,\n): LauncherEffectiveRoles {\n return {\n applicationRoles: roles.applicationRoles ?? [],\n organizationRoles: roles.organizationRoles ?? [],\n roleTables: { ...resolveApplicationRoleConfigurations(customRoles), unresolvableRoles: UnresolvableRoleTreatment.INERT },\n organizationId: roles.organizationId ?? null,\n accessProfile: roles.accessProfile ?? null,\n };\n}\n"]}
|
|
@@ -2,10 +2,8 @@
|
|
|
2
2
|
* Shared helpers for RMM unit & hook tests (Phase 5.2).
|
|
3
3
|
*
|
|
4
4
|
* Runner-agnostic — no Vitest/Jest mock APIs.
|
|
5
|
-
*
|
|
6
|
-
* @see `.cursor/plans/prompts/prompt-rmm-phase5-2-test-suite.md`
|
|
7
5
|
*/
|
|
8
|
-
import type { FieldMetaEntry } from '@wildo-ai/saas-models';
|
|
6
|
+
import type { FieldMetaEntry, ResourceOperationApprovalPending } from '@wildo-ai/saas-models';
|
|
9
7
|
import { ResourceMutationManager } from '../core/resources/rmm/ResourceMutationManager';
|
|
10
8
|
import type { MutationError, MutationErrorType, OperationDescriptor, ResourceMutationManagerConfig, TransportAdapter } from '../core/resources/rmm/types';
|
|
11
9
|
export interface MockTransport {
|
|
@@ -13,6 +11,8 @@ export interface MockTransport {
|
|
|
13
11
|
readonly lastDescriptor: OperationDescriptor | null;
|
|
14
12
|
readonly callCount: number;
|
|
15
13
|
resolveSuccess: (data?: Record<string, unknown>, newVersion?: number, fieldMeta?: Record<string, FieldMetaEntry>) => void;
|
|
14
|
+
/** Answer that the write was HELD for another person's approval (#2288), as `HttpTransportAdapter` reports it. */
|
|
15
|
+
resolveHeldForApproval: (heldForApproval: ResourceOperationApprovalPending) => void;
|
|
16
16
|
resolveError: (type: MutationErrorType, opts?: {
|
|
17
17
|
status?: number;
|
|
18
18
|
message?: string;
|
|
@@ -20,6 +20,8 @@ export interface MockTransport {
|
|
|
20
20
|
conflictDetails?: MutationError['conflictDetails'];
|
|
21
21
|
/** The caught transport failure, as `HttpTransportAdapter` records it. */
|
|
22
22
|
cause?: unknown;
|
|
23
|
+
/** `false` for a failure that may already have been applied (#3004), as `HttpTransportAdapter` judges it. */
|
|
24
|
+
resendable?: boolean;
|
|
23
25
|
}) => void;
|
|
24
26
|
reject: (error: Error) => void;
|
|
25
27
|
reset: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rmm-helpers.d.ts","sourceRoot":"","sources":["../../../../src/testing/rmm-helpers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"rmm-helpers.d.ts","sourceRoot":"","sources":["../../../../src/testing/rmm-helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,uBAAuB,EAAE,MAAM,gEAAgE,CAAC;AACzG,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EAEnB,6BAA6B,EAC7B,gBAAgB,EACjB,MAAM,8CAA8C,CAAC;AAGtD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,CACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,KACvC,IAAI,CAAC;IACV,kHAAkH;IAClH,sBAAsB,EAAE,CAAC,eAAe,EAAE,gCAAgC,KAAK,IAAI,CAAC;IACpF,YAAY,EAAE,CACZ,IAAI,EAAE,iBAAiB,EACvB,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,eAAe,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;QACnD,0EAA0E;QAC1E,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,6GAA6G;QAC7G,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,KACE,IAAI,CAAC;IACV,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,wBAAgB,mBAAmB,IAAI,aAAa,CAyDnD;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAI7C;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,uBAAuB,CAAC;IAC7B,SAAS,EAAE,aAAa,CAAC;IACzB,MAAM,EAAE,6BAA6B,CAAC;CACvC;AAED,wBAAgB,aAAa,CAC3B,SAAS,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAClD,SAAS,CAAC,EAAE,aAAa,GACxB,OAAO,CAYT"}
|
|
@@ -26,6 +26,9 @@ export function createMockTransport() {
|
|
|
26
26
|
resolveSuccess: (data, newVersion, fieldMeta) => {
|
|
27
27
|
resolveNext?.({ status: OperationResultStatus.SUCCESS, data, newVersion, fieldMeta });
|
|
28
28
|
},
|
|
29
|
+
resolveHeldForApproval: (heldForApproval) => {
|
|
30
|
+
resolveNext?.({ status: OperationResultStatus.SUCCESS, heldForApproval });
|
|
31
|
+
},
|
|
29
32
|
resolveError: (type, opts) => {
|
|
30
33
|
resolveNext?.({
|
|
31
34
|
status: OperationResultStatus.ERROR,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rmm-helpers.js","sourceRoot":"","sources":["../../../../src/testing/rmm-helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rmm-helpers.js","sourceRoot":"","sources":["../../../../src/testing/rmm-helpers.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gEAAgE,CAAC;AASzG,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AA8BvG,MAAM,UAAU,mBAAmB;IACjC,IAAI,WAAW,GAA+C,IAAI,CAAC;IACnE,IAAI,UAAU,GAAoC,IAAI,CAAC;IACvD,IAAI,cAAc,GAA+B,IAAI,CAAC;IACtD,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,MAAM,OAAO,GAAqB;QAChC,OAAO,EAAE,CAAC,UAA+B,EAA4B,EAAE;YACrE,cAAc,GAAG,UAAU,CAAC;YAC5B,SAAS,EAAE,CAAC;YACZ,OAAO,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACtD,WAAW,GAAG,OAAO,CAAC;gBACtB,UAAU,GAAG,MAAM,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,OAAO;QACL,OAAO;QACP,IAAI,cAAc;YAChB,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,IAAI,SAAS;YACX,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,cAAc,EAAE,CAAC,IAA8B,EAAE,UAAmB,EAAE,SAA0C,EAAE,EAAE;YAClH,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,sBAAsB,EAAE,CAAC,eAAiD,EAAE,EAAE;YAC5E,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,qBAAqB,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,YAAY,EAAE,CACZ,IAAuB,EACvB,IAOC,EACD,EAAE;YACF,WAAW,EAAE,CAAC;gBACZ,MAAM,EAAE,qBAAqB,CAAC,KAAK;gBACnC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE;aACzB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,EAAE,CAAC,KAAY,EAAE,EAAE;YACvB,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,KAAK,EAAE,GAAG,EAAE;YACV,cAAc,GAAG,IAAI,CAAC;YACtB,SAAS,GAAG,CAAC,CAAC;YACd,WAAW,GAAG,IAAI,CAAC;YACnB,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,aAAa;IAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,UAAU,aAAa,CAC3B,SAAkD,EAClD,SAAyB;IAEzB,MAAM,aAAa,GAAG,SAAS,IAAI,mBAAmB,EAAE,CAAC;IACzD,MAAM,MAAM,GAAkC;QAC5C,YAAY,EAAE,eAAe;QAC7B,UAAU,EAAE,WAAW;QACvB,gBAAgB,EAAE,aAAa,CAAC,OAAO;QACvC,cAAc,EAAE,EAAE,QAAQ,EAAE,gBAAgB,CAAC,aAAa,EAAE;QAC5D,aAAa,EAAE,QAAQ;QACvB,oBAAoB,EAAE,EAAE;QACxB,GAAG,SAAS;KACb,CAAC;IACF,OAAO,EAAE,GAAG,EAAE,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;AACxF,CAAC","sourcesContent":["/**\n * Shared helpers for RMM unit & hook tests (Phase 5.2).\n *\n * Runner-agnostic — no Vitest/Jest mock APIs.\n */\nimport type { FieldMetaEntry, ResourceOperationApprovalPending } from '@wildo-ai/saas-models';\nimport { ResourceMutationManager } from '~wildo-frontend-lib/core/resources/rmm/ResourceMutationManager';\nimport type {\n MutationError,\n MutationErrorType,\n OperationDescriptor,\n OperationResult,\n ResourceMutationManagerConfig,\n TransportAdapter,\n} from '~wildo-frontend-lib/core/resources/rmm/types';\nimport { ConflictStrategy, OperationResultStatus } from '~wildo-frontend-lib/core/resources/rmm/types';\n\nexport interface MockTransport {\n adapter: TransportAdapter;\n readonly lastDescriptor: OperationDescriptor | null;\n readonly callCount: number;\n resolveSuccess: (\n data?: Record<string, unknown>,\n newVersion?: number,\n fieldMeta?: Record<string, FieldMetaEntry>,\n ) => void;\n /** Answer that the write was HELD for another person's approval (#2288), as `HttpTransportAdapter` reports it. */\n resolveHeldForApproval: (heldForApproval: ResourceOperationApprovalPending) => void;\n resolveError: (\n type: MutationErrorType,\n opts?: {\n status?: number;\n message?: string;\n validationErrors?: Record<string, unknown>;\n conflictDetails?: MutationError['conflictDetails'];\n /** The caught transport failure, as `HttpTransportAdapter` records it. */\n cause?: unknown;\n /** `false` for a failure that may already have been applied (#3004), as `HttpTransportAdapter` judges it. */\n resendable?: boolean;\n },\n ) => void;\n reject: (error: Error) => void;\n reset: () => void;\n}\n\nexport function createMockTransport(): MockTransport {\n let resolveNext: ((result: OperationResult) => void) | null = null;\n let rejectNext: ((error: Error) => void) | null = null;\n let lastDescriptor: OperationDescriptor | null = null;\n let callCount = 0;\n\n const adapter: TransportAdapter = {\n execute: (descriptor: OperationDescriptor): Promise<OperationResult> => {\n lastDescriptor = descriptor;\n callCount++;\n return new Promise<OperationResult>((resolve, reject) => {\n resolveNext = resolve;\n rejectNext = reject;\n });\n },\n };\n\n return {\n adapter,\n get lastDescriptor() {\n return lastDescriptor;\n },\n get callCount() {\n return callCount;\n },\n resolveSuccess: (data?: Record<string, unknown>, newVersion?: number, fieldMeta?: Record<string, FieldMetaEntry>) => {\n resolveNext?.({ status: OperationResultStatus.SUCCESS, data, newVersion, fieldMeta });\n },\n resolveHeldForApproval: (heldForApproval: ResourceOperationApprovalPending) => {\n resolveNext?.({ status: OperationResultStatus.SUCCESS, heldForApproval });\n },\n resolveError: (\n type: MutationErrorType,\n opts?: {\n status?: number;\n message?: string;\n validationErrors?: Record<string, unknown>;\n conflictDetails?: MutationError['conflictDetails'];\n cause?: unknown;\n resendable?: boolean;\n },\n ) => {\n resolveNext?.({\n status: OperationResultStatus.ERROR,\n error: { type, ...opts },\n });\n },\n reject: (error: Error) => {\n rejectNext?.(error);\n },\n reset: () => {\n lastDescriptor = null;\n callCount = 0;\n resolveNext = null;\n rejectNext = null;\n },\n };\n}\n\n/** Drain microtasks — do not use `setTimeout` when fake timers are enabled. */\nexport function flushPromises(): Promise<void> {\n return new Promise((resolve) => {\n queueMicrotask(resolve);\n });\n}\n\nexport interface TestRMM {\n rmm: ResourceMutationManager;\n transport: MockTransport;\n config: ResourceMutationManagerConfig;\n}\n\nexport function createTestRMM(\n overrides?: Partial<ResourceMutationManagerConfig>,\n transport?: MockTransport,\n): TestRMM {\n const mockTransport = transport ?? createMockTransport();\n const config: ResourceMutationManagerConfig = {\n resourceType: 'test-resource',\n resourceId: 'test-id-1',\n transportAdapter: mockTransport.adapter,\n conflictPolicy: { strategy: ConflictStrategy.ACCEPT_REMOTE },\n currentUserId: 'user-1',\n contextualParameters: {},\n ...overrides,\n };\n return { rmm: new ResourceMutationManager(config), transport: mockTransport, config };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-providers.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-providers.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAyB1B,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;IACrC,IAAI,SAAS;IACb,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,EAAE,OAAO;IACT,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,YAAY,EAQvD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,0BAA0B,EAAE,YAAY,EAGpD,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,KAAK,YAAY,GAAG,YAAY,GAAG,qBAAqB,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;CACzD;
|
|
1
|
+
{"version":3,"file":"test-providers.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-providers.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAyB1B,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;IACrC,IAAI,SAAS;IACb,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,EAAE,OAAO;IACT,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,YAAY,EAQvD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,0BAA0B,EAAE,YAAY,EAGpD,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,KAAK,YAAY,GAAG,YAAY,GAAG,qBAAqB,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;CACzD;AAmCD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAAC,CAuB3G"}
|
|
@@ -88,6 +88,9 @@ function TestUIProvider({ children }) {
|
|
|
88
88
|
const { frontendConfiguration, markComponentInitialized } = useApplication();
|
|
89
89
|
const { on } = useEventBus();
|
|
90
90
|
const subscribeToUserPreferences = React.useCallback((listener) => on(FrontendEvents.USER_PREFERENCES_CHANGED, (payload) => {
|
|
91
|
+
// No key, no news — see the production adapter in `ApplicationMainContext`.
|
|
92
|
+
if (!Object.prototype.hasOwnProperty.call(payload, 'uiPreferences'))
|
|
93
|
+
return;
|
|
91
94
|
listener(payload.uiPreferences ?? null);
|
|
92
95
|
}), [on]);
|
|
93
96
|
const markInitialized = React.useCallback(() => markComponentInitialized(MainContextInitComponents.UI), [markComponentInitialized]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-providers.js","sourceRoot":"","sources":["../../../../src/testing/test-providers.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Composable test wrapper factory and {@link TestProvider} enum for mounting engine contexts in tests.\n */\nimport React from 'react';\nimport type { UserPreferences } from '@wildo-ai/saas-models';\nimport { MemoryRouter } from 'react-router-dom';\nimport type { ApplicationContextType } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport { ApplicationContext } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport { EventBusProvider } from '~wildo-frontend-lib/core/events/EventBusContext';\nimport { WebSocketProvider } from '~wildo-frontend-lib/core/requests/websockets/WebSocketContext';\nimport { IconRegistryProvider } from '~wildo-frontend-lib/core/icons/IconRegistryContext';\nimport { HotkeyRegistryProvider } from '~wildo-frontend-lib/core/hotkey/HotkeyRegistryContext';\nimport { RMMRegistryProvider } from '~wildo-frontend-lib/core/resources/rmm/RMMRegistryContext';\nimport { LoadingProvider } from '~wildo-frontend-lib/core/loading/LoadingContext';\nimport { ErrorProvider } from '~wildo-frontend-lib/core/errors/ErrorContext';\nimport { NotificationProvider } from '~wildo-frontend-lib/core/events/NotificationContext';\nimport { I18nProvider } from '~wildo-frontend-lib/core/i18n/I18nContext';\nimport { AnalyticsContextProvider } from '~wildo-frontend-lib/core/monitoring/analytics/AnalyticsContext';\nimport { UIProvider } from '~wildo-frontend-lib/core/ui/UIContext';\nimport { useApplication } from '~wildo-frontend-lib/core/runtime/useApplication';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { FrontendEvents, type FrontendEventPayloads } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { MainContextInitComponents } from '~wildo-frontend-lib/core/runtime/runtime.frontend.schemas';\nimport { AnonymousSessionProvider } from '~wildo-frontend-lib/core/security/AnonymousSessionContext';\nimport { ResourceRegistryProvider } from '~wildo-frontend-lib/core/resources/ResourceRegistryContext';\nimport type { ResourcesRepositoryFrontendService } from '~wildo-frontend-lib/core/resources/resources-repository.frontend.service';\nimport { createMockApplicationContextValue, createMockResourcesRepository } from './mock-builders';\n\nexport enum TestProvider {\n EventBus = 'EventBus',\n WebSocket = 'WebSocket',\n Loading = 'Loading',\n Error = 'Error',\n Application = 'Application',\n AnonymousSession = 'AnonymousSession',\n I18n = 'I18n',\n Notification = 'Notification',\n Analytics = 'Analytics',\n UI = 'UI',\n IconRegistry = 'IconRegistry',\n HotkeyRegistry = 'HotkeyRegistry',\n ResourceRegistry = 'ResourceRegistry',\n RMMRegistry = 'RMMRegistry',\n Router = 'Router',\n}\n\n/**\n * Real provider stack required by {@link AuthSessionProvider} (outer → inner order for {@link createTestWrapper}).\n */\nexport const AUTH_SESSION_PARENT_PROVIDERS: TestProvider[] = [\n TestProvider.EventBus,\n TestProvider.Error,\n TestProvider.Application,\n TestProvider.WebSocket,\n TestProvider.AnonymousSession,\n TestProvider.ResourceRegistry,\n TestProvider.I18n,\n];\n\n/**\n * Provider stack for tests that mount a REAL engine component tree (as opposed to\n * a single context in isolation) — e.g. `ExecutionView`, `AppRouter`, anything\n * that renders view chrome.\n *\n * Why this exists as a named constant instead of each test hand-listing providers:\n * every engine component that renders chrome eventually calls `useIconRegistry`\n * (through `ViewLayout_Header`, action bars, field chrome, …), and those hooks\n * throw rather than degrade. When a component picks up a NEW context dependency,\n * a hand-listed stack rots silently in every test file at once — that is exactly\n * how ~84 tests across 10 files went red on one `useIconRegistry` addition. Adding\n * the dependency HERE is a one-line change instead of a ten-file sweep.\n *\n * `IconRegistry` is appended INSIDE `AUTH_SESSION_PARENT_PROVIDERS` (innermost),\n * mirroring `ApplicationMainContext`, where `IconRegistryBridge`/`IconRegistryProvider`\n * sit below `ResourceRegistryProvider` + `I18nProvider`. `IconRegistryProvider`\n * itself has no context dependencies, so the nesting is order-safe.\n *\n * Use `AUTH_SESSION_PARENT_PROVIDERS` when the test mounts a context/hook directly\n * and renders no engine chrome; use this when it renders components.\n */\nexport const ENGINE_UI_PARENT_PROVIDERS: TestProvider[] = [\n ...AUTH_SESSION_PARENT_PROVIDERS,\n TestProvider.IconRegistry,\n];\n\ntype ProviderSpecWithProps = {\n name: TestProvider;\n props?: Record<string, unknown>;\n};\n\ntype ProviderSpec = TestProvider | ProviderSpecWithProps;\n\nexport interface TestWrapperOptions {\n providers?: ProviderSpec[];\n contextOverrides?: Map<React.Context<unknown>, unknown>;\n}\n\nfunction resolveSpec(spec: ProviderSpec): { name: TestProvider; props: Record<string, unknown> } {\n if (typeof spec === 'string') return { name: spec, props: {} };\n return { name: spec.name, props: spec.props ?? {} };\n}\n\n/** Mirrors the SaaS UI adapter while retaining the composable test-provider API. */\nfunction TestUIProvider({ children }: { children: React.ReactNode }): React.ReactElement {\n const { frontendConfiguration, markComponentInitialized } = useApplication();\n const { on } = useEventBus();\n const subscribeToUserPreferences = React.useCallback(\n (listener: (preferences: UserPreferences['ui'] | null) => void): (() => void) =>\n on(FrontendEvents.USER_PREFERENCES_CHANGED, (payload: FrontendEventPayloads[FrontendEvents.USER_PREFERENCES_CHANGED]) => {\n listener(payload.uiPreferences ?? null);\n }),\n [on],\n );\n const markInitialized = React.useCallback(\n (): void => markComponentInitialized(MainContextInitComponents.UI),\n [markComponentInitialized],\n );\n return (\n <UIProvider\n frontendConfiguration={frontendConfiguration}\n subscribeToUserPreferences={subscribeToUserPreferences}\n markInitialized={markInitialized}\n >\n {children}\n </UIProvider>\n );\n}\n\n/**\n * Builds a wrapper component that nests the requested providers.\n * Providers are mounted in the order specified — callers are responsible\n * for dependency order (e.g., EventBus before Error).\n */\nexport function createTestWrapper(options: TestWrapperOptions = {}): React.FC<{ children: React.ReactNode }> {\n const { providers = [], contextOverrides } = options;\n\n const Wrapper: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n let element = <>{children}</>;\n\n if (contextOverrides) {\n for (const [Context, value] of contextOverrides) {\n const TypedContext = Context as React.Context<unknown>;\n element = <TypedContext.Provider value={value}>{element}</TypedContext.Provider>;\n }\n }\n\n for (let i = providers.length - 1; i >= 0; i--) {\n const { name, props } = resolveSpec(providers[i]);\n element = wrapWithProvider(name, element, props);\n }\n\n return element;\n };\n\n Wrapper.displayName = 'TestWrapper';\n return Wrapper;\n}\n\nfunction wrapWithProvider(\n name: TestProvider,\n children: React.ReactElement,\n props: Record<string, unknown>,\n): React.ReactElement {\n switch (name) {\n case TestProvider.EventBus:\n return <EventBusProvider>{children}</EventBusProvider>;\n\n case TestProvider.WebSocket:\n return <WebSocketProvider>{children}</WebSocketProvider>;\n\n case TestProvider.Loading:\n return <LoadingProvider>{children}</LoadingProvider>;\n\n case TestProvider.Error:\n return <ErrorProvider>{children}</ErrorProvider>;\n\n case TestProvider.Application:\n return (\n <ApplicationContext.Provider value={createMockApplicationContextValue(props as Partial<ApplicationContextType>)}>\n {children}\n </ApplicationContext.Provider>\n );\n\n case TestProvider.AnonymousSession:\n return <AnonymousSessionProvider>{children}</AnonymousSessionProvider>;\n\n case TestProvider.I18n:\n return <I18nProvider>{children}</I18nProvider>;\n\n case TestProvider.Notification:\n return <NotificationProvider>{children}</NotificationProvider>;\n\n case TestProvider.Analytics:\n return <AnalyticsContextProvider>{children}</AnalyticsContextProvider>;\n\n case TestProvider.UI:\n return <TestUIProvider>{children}</TestUIProvider>;\n\n case TestProvider.IconRegistry:\n return <IconRegistryProvider>{children}</IconRegistryProvider>;\n\n case TestProvider.HotkeyRegistry:\n return <HotkeyRegistryProvider>{children}</HotkeyRegistryProvider>;\n\n case TestProvider.ResourceRegistry: {\n const repo = (props.resourcesRepository as ResourcesRepositoryFrontendService) ?? createMockResourcesRepository();\n return <ResourceRegistryProvider resourcesRepository={repo}>{children}</ResourceRegistryProvider>;\n }\n\n case TestProvider.RMMRegistry:\n return <RMMRegistryProvider>{children}</RMMRegistryProvider>;\n\n case TestProvider.Router:\n return <MemoryRouter>{children}</MemoryRouter>;\n\n default: {\n const _exhaustive: never = name;\n throw new Error(`Unknown TestProvider: ${_exhaustive}`);\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"test-providers.js","sourceRoot":"","sources":["../../../../src/testing/test-providers.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Composable test wrapper factory and {@link TestProvider} enum for mounting engine contexts in tests.\n */\nimport React from 'react';\nimport type { UserPreferences } from '@wildo-ai/saas-models';\nimport { MemoryRouter } from 'react-router-dom';\nimport type { ApplicationContextType } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport { ApplicationContext } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport { EventBusProvider } from '~wildo-frontend-lib/core/events/EventBusContext';\nimport { WebSocketProvider } from '~wildo-frontend-lib/core/requests/websockets/WebSocketContext';\nimport { IconRegistryProvider } from '~wildo-frontend-lib/core/icons/IconRegistryContext';\nimport { HotkeyRegistryProvider } from '~wildo-frontend-lib/core/hotkey/HotkeyRegistryContext';\nimport { RMMRegistryProvider } from '~wildo-frontend-lib/core/resources/rmm/RMMRegistryContext';\nimport { LoadingProvider } from '~wildo-frontend-lib/core/loading/LoadingContext';\nimport { ErrorProvider } from '~wildo-frontend-lib/core/errors/ErrorContext';\nimport { NotificationProvider } from '~wildo-frontend-lib/core/events/NotificationContext';\nimport { I18nProvider } from '~wildo-frontend-lib/core/i18n/I18nContext';\nimport { AnalyticsContextProvider } from '~wildo-frontend-lib/core/monitoring/analytics/AnalyticsContext';\nimport { UIProvider } from '~wildo-frontend-lib/core/ui/UIContext';\nimport { useApplication } from '~wildo-frontend-lib/core/runtime/useApplication';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { FrontendEvents, type FrontendEventPayloads } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { MainContextInitComponents } from '~wildo-frontend-lib/core/runtime/runtime.frontend.schemas';\nimport { AnonymousSessionProvider } from '~wildo-frontend-lib/core/security/AnonymousSessionContext';\nimport { ResourceRegistryProvider } from '~wildo-frontend-lib/core/resources/ResourceRegistryContext';\nimport type { ResourcesRepositoryFrontendService } from '~wildo-frontend-lib/core/resources/resources-repository.frontend.service';\nimport { createMockApplicationContextValue, createMockResourcesRepository } from './mock-builders';\n\nexport enum TestProvider {\n EventBus = 'EventBus',\n WebSocket = 'WebSocket',\n Loading = 'Loading',\n Error = 'Error',\n Application = 'Application',\n AnonymousSession = 'AnonymousSession',\n I18n = 'I18n',\n Notification = 'Notification',\n Analytics = 'Analytics',\n UI = 'UI',\n IconRegistry = 'IconRegistry',\n HotkeyRegistry = 'HotkeyRegistry',\n ResourceRegistry = 'ResourceRegistry',\n RMMRegistry = 'RMMRegistry',\n Router = 'Router',\n}\n\n/**\n * Real provider stack required by {@link AuthSessionProvider} (outer → inner order for {@link createTestWrapper}).\n */\nexport const AUTH_SESSION_PARENT_PROVIDERS: TestProvider[] = [\n TestProvider.EventBus,\n TestProvider.Error,\n TestProvider.Application,\n TestProvider.WebSocket,\n TestProvider.AnonymousSession,\n TestProvider.ResourceRegistry,\n TestProvider.I18n,\n];\n\n/**\n * Provider stack for tests that mount a REAL engine component tree (as opposed to\n * a single context in isolation) — e.g. `ExecutionView`, `AppRouter`, anything\n * that renders view chrome.\n *\n * Why this exists as a named constant instead of each test hand-listing providers:\n * every engine component that renders chrome eventually calls `useIconRegistry`\n * (through `ViewLayout_Header`, action bars, field chrome, …), and those hooks\n * throw rather than degrade. When a component picks up a NEW context dependency,\n * a hand-listed stack rots silently in every test file at once — that is exactly\n * how ~84 tests across 10 files went red on one `useIconRegistry` addition. Adding\n * the dependency HERE is a one-line change instead of a ten-file sweep.\n *\n * `IconRegistry` is appended INSIDE `AUTH_SESSION_PARENT_PROVIDERS` (innermost),\n * mirroring `ApplicationMainContext`, where `IconRegistryBridge`/`IconRegistryProvider`\n * sit below `ResourceRegistryProvider` + `I18nProvider`. `IconRegistryProvider`\n * itself has no context dependencies, so the nesting is order-safe.\n *\n * Use `AUTH_SESSION_PARENT_PROVIDERS` when the test mounts a context/hook directly\n * and renders no engine chrome; use this when it renders components.\n */\nexport const ENGINE_UI_PARENT_PROVIDERS: TestProvider[] = [\n ...AUTH_SESSION_PARENT_PROVIDERS,\n TestProvider.IconRegistry,\n];\n\ntype ProviderSpecWithProps = {\n name: TestProvider;\n props?: Record<string, unknown>;\n};\n\ntype ProviderSpec = TestProvider | ProviderSpecWithProps;\n\nexport interface TestWrapperOptions {\n providers?: ProviderSpec[];\n contextOverrides?: Map<React.Context<unknown>, unknown>;\n}\n\nfunction resolveSpec(spec: ProviderSpec): { name: TestProvider; props: Record<string, unknown> } {\n if (typeof spec === 'string') return { name: spec, props: {} };\n return { name: spec.name, props: spec.props ?? {} };\n}\n\n/** Mirrors the SaaS UI adapter while retaining the composable test-provider API. */\nfunction TestUIProvider({ children }: { children: React.ReactNode }): React.ReactElement {\n const { frontendConfiguration, markComponentInitialized } = useApplication();\n const { on } = useEventBus();\n const subscribeToUserPreferences = React.useCallback(\n (listener: (preferences: UserPreferences['ui'] | null) => void): (() => void) =>\n on(FrontendEvents.USER_PREFERENCES_CHANGED, (payload: FrontendEventPayloads[FrontendEvents.USER_PREFERENCES_CHANGED]) => {\n // No key, no news — see the production adapter in `ApplicationMainContext`.\n if (!Object.prototype.hasOwnProperty.call(payload, 'uiPreferences')) return;\n listener(payload.uiPreferences ?? null);\n }),\n [on],\n );\n const markInitialized = React.useCallback(\n (): void => markComponentInitialized(MainContextInitComponents.UI),\n [markComponentInitialized],\n );\n return (\n <UIProvider\n frontendConfiguration={frontendConfiguration}\n subscribeToUserPreferences={subscribeToUserPreferences}\n markInitialized={markInitialized}\n >\n {children}\n </UIProvider>\n );\n}\n\n/**\n * Builds a wrapper component that nests the requested providers.\n * Providers are mounted in the order specified — callers are responsible\n * for dependency order (e.g., EventBus before Error).\n */\nexport function createTestWrapper(options: TestWrapperOptions = {}): React.FC<{ children: React.ReactNode }> {\n const { providers = [], contextOverrides } = options;\n\n const Wrapper: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n let element = <>{children}</>;\n\n if (contextOverrides) {\n for (const [Context, value] of contextOverrides) {\n const TypedContext = Context as React.Context<unknown>;\n element = <TypedContext.Provider value={value}>{element}</TypedContext.Provider>;\n }\n }\n\n for (let i = providers.length - 1; i >= 0; i--) {\n const { name, props } = resolveSpec(providers[i]);\n element = wrapWithProvider(name, element, props);\n }\n\n return element;\n };\n\n Wrapper.displayName = 'TestWrapper';\n return Wrapper;\n}\n\nfunction wrapWithProvider(\n name: TestProvider,\n children: React.ReactElement,\n props: Record<string, unknown>,\n): React.ReactElement {\n switch (name) {\n case TestProvider.EventBus:\n return <EventBusProvider>{children}</EventBusProvider>;\n\n case TestProvider.WebSocket:\n return <WebSocketProvider>{children}</WebSocketProvider>;\n\n case TestProvider.Loading:\n return <LoadingProvider>{children}</LoadingProvider>;\n\n case TestProvider.Error:\n return <ErrorProvider>{children}</ErrorProvider>;\n\n case TestProvider.Application:\n return (\n <ApplicationContext.Provider value={createMockApplicationContextValue(props as Partial<ApplicationContextType>)}>\n {children}\n </ApplicationContext.Provider>\n );\n\n case TestProvider.AnonymousSession:\n return <AnonymousSessionProvider>{children}</AnonymousSessionProvider>;\n\n case TestProvider.I18n:\n return <I18nProvider>{children}</I18nProvider>;\n\n case TestProvider.Notification:\n return <NotificationProvider>{children}</NotificationProvider>;\n\n case TestProvider.Analytics:\n return <AnalyticsContextProvider>{children}</AnalyticsContextProvider>;\n\n case TestProvider.UI:\n return <TestUIProvider>{children}</TestUIProvider>;\n\n case TestProvider.IconRegistry:\n return <IconRegistryProvider>{children}</IconRegistryProvider>;\n\n case TestProvider.HotkeyRegistry:\n return <HotkeyRegistryProvider>{children}</HotkeyRegistryProvider>;\n\n case TestProvider.ResourceRegistry: {\n const repo = (props.resourcesRepository as ResourcesRepositoryFrontendService) ?? createMockResourcesRepository();\n return <ResourceRegistryProvider resourcesRepository={repo}>{children}</ResourceRegistryProvider>;\n }\n\n case TestProvider.RMMRegistry:\n return <RMMRegistryProvider>{children}</RMMRegistryProvider>;\n\n case TestProvider.Router:\n return <MemoryRouter>{children}</MemoryRouter>;\n\n default: {\n const _exhaustive: never = name;\n throw new Error(`Unknown TestProvider: ${_exhaustive}`);\n }\n }\n}\n"]}
|