@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":"useCommandMenuBehavior.js","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useCommandMenuBehavior.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { FrontendComponentType } from '@wildo-ai/presets-components-models';\nimport { CoreResourceOperation } from '@wildo-ai/saas-models';\nimport { ForeignKeyDisplayMode } from '@wildo-ai/zod-decorators';\n\nimport {\n ApplicationLevelComponentType,\n HotkeyGroup,\n HotkeyScope,\n} from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { CommandMenuDisplayPolicy } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { CommandBarPolicy } from '~wildo-frontend-lib/core/config/app-configuration-frontend.schemas';\nimport type { CommandMenuCommand, CommandMenuSearchResource } from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { ScopeUtilsService } from '~wildo-frontend-lib/core/scope/scope.utils.frontend.service';\nimport { frontendResourceUtils, FrontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport {\n pickPreferredOperationForCoreSemantic,\n resolveEffectiveCoreOperationFromOperation,\n type ResourceOperationSemanticsLike,\n} from '~wildo-frontend-lib/core/resources/operation-semantics.frontend.utils';\nimport { extractErrorInfo } from '~wildo-frontend-lib/core/errors/errors.frontend.schemas';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport {\n FrontendEvents,\n type FrontendEvent_HotkeyCommandMenuOpen,\n} from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport {\n filterCommandMenuCommandsByRuntimeAvailability,\n useLauncherRuntimeAvailabilityContext,\n} from '~wildo-frontend-lib/core/navigation/launcher-runtime-availability';\nimport { NavigationUtils } from '~wildo-frontend-lib/core/navigation/navigation.utils';\nimport { resolveCommandMenuCommands, type ResolvedCommandMenuItem } from '~wildo-frontend-lib/core/navigation/launcher-resolution';\nimport { useLauncherResolutionContext } from '~wildo-frontend-lib/core/navigation/useLauncherResolutionContext';\nimport { useNavigationController } from '~wildo-frontend-lib/core/navigation/useNavigationController';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\nimport { useHotkeyRegistry } from '~wildo-frontend-lib/core/hotkey/useHotkey';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\n\nimport { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\nimport type {\n CommandMenuBehavior,\n CommandMenuItem,\n CommandMenuGroup,\n CommandMenuSearchResultItem,\n CommandMenuSearchResultGroup,\n CommandMenuPaletteGroup,\n} from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\nimport { CommandMenuPaletteGroupKind } from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\n\nconst DEFAULT_CATEGORY_ORDER: readonly string[] = ['navigation', 'actions'];\n\n/**\n * Order weights for the SINGLE palette ordering axis. Record groups occupy the\n * low band (0..), static command-category groups the high band (1000..), so\n * live record matches surface ABOVE static commands by default while searching.\n * An app overrides per record group via `CommandMenuSearchResource.order`.\n */\nconst RECORD_GROUP_ORDER_BASE = 0;\nconst COMMAND_GROUP_ORDER_BASE = 1000;\n\n/** Omnibox record-search tuning — mirrors `useResourceSearch` (FK picker). */\nconst OMNIBOX_SEARCH_DEBOUNCE_MS = 300;\nconst OMNIBOX_MIN_SEARCH_CHARS = 2;\nconst OMNIBOX_DEFAULT_MAX_RESULTS = 5;\n\nconst omniboxLogger: LoggerFrontendService = LoggerFrontendService.getLogger();\n\n/**\n * Maps a command's core operation semantic to the command-menu component label\n * key holding that operation's LOCALIZED search synonyms (a comma-separated\n * list). `_MANY` variants share their base action's synonyms. Operations\n * without a meaningful synonym set (COUNT) are omitted — they contribute no\n * extra keywords and the command's localized label still matches.\n */\nconst OPERATION_KEYWORD_LABEL_KEY: Partial<Record<CoreResourceOperation, string>> = {\n [CoreResourceOperation.CREATE]: 'keywordsCreate',\n [CoreResourceOperation.CREATE_MANY]: 'keywordsCreate',\n [CoreResourceOperation.LIST]: 'keywordsList',\n [CoreResourceOperation.SEARCH]: 'keywordsSearch',\n [CoreResourceOperation.READ]: 'keywordsRead',\n [CoreResourceOperation.UPDATE]: 'keywordsUpdate',\n [CoreResourceOperation.UPDATE_MANY]: 'keywordsUpdate',\n [CoreResourceOperation.DELETE]: 'keywordsDelete',\n [CoreResourceOperation.DELETE_MANY]: 'keywordsDelete',\n};\n\ntype TComponentFn = (component: FrontendComponentType, key: string, params?: Record<string, string | number>) => string;\n\n/**\n * Resolve a command-menu component keyword label into its list of localized\n * synonyms. The label is authored (and translated) as a comma-separated string;\n * we split it into individual match terms. Fails OPEN to `[]` when the key is\n * not yet generated (`tComponent` returns the raw key path) so a missing\n * translation never injects the literal key path as a bogus keyword.\n */\nfunction resolveKeywordSynonyms(tComponent: TComponentFn, key: string): string[] {\n const componentType = FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU;\n const base = `components.${componentType}.${key}`;\n const resolved = tComponent(componentType, key);\n if (!resolved || resolved === base) return [];\n return resolved.split(',').map(term => term.trim()).filter(Boolean);\n}\n\n/** Localized verb synonyms for a resource-operation command's core semantic. */\nfunction resolveOperationKeywords(\n tComponent: TComponentFn,\n operation: ResourceOperationSemanticsLike | undefined,\n): string[] {\n if (!operation) return [];\n const coreOperation = resolveEffectiveCoreOperationFromOperation(operation);\n const key = coreOperation ? OPERATION_KEYWORD_LABEL_KEY[coreOperation] : undefined;\n return key ? resolveKeywordSynonyms(tComponent, key) : [];\n}\n\n/**\n * The category heading a person reads, from the label tree and nowhere else.\n *\n * This was `resolved === baseKey ? humanizeCategory(category) : resolved` — the exact shape\n * `.claude/rules/display-text-comes-from-i18n.md` names as forbidden, and the reason it is forbidden\n * is visible here: the formatter ran ONLY when the label was missing, which is precisely the case\n * somebody needs to notice. The palette read as finished in every locale, so the keys were never\n * authored and a French user was shown English produced by code — invisible to a translator, because\n * it was never in the tree at all.\n *\n * `tComponent` already answers with the KEY when it cannot resolve one, so returning its answer\n * unchanged IS the missing-looks-missing behaviour. A category with no label now shows its key,\n * which is what makes somebody author it.\n */\nfunction resolveCategoryLabel(\n tComponent: (component: FrontendComponentType, key: string, params?: Record<string, string | number>) => string,\n category: string,\n): string {\n return tComponent(FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU, category);\n}\n\nfunction isCommandMenuConfigObject(\n config: unknown,\n): config is {\n policy?: CommandBarPolicy;\n showRecent?: boolean;\n maxRecentItems?: number;\n showShortcuts?: boolean;\n openShortcut?: string;\n defaultCategory?: string;\n categoryOrder?: string[];\n commands?: CommandMenuCommand[];\n searchResources?: CommandMenuSearchResource[];\n dialogWidth?: string;\n} {\n return typeof config === 'object' && config !== null && !Array.isArray(config);\n}\n\n/** Default desktop max-width class for the palette dialog (see `dialogWidth`). */\nconst DEFAULT_COMMAND_MENU_DIALOG_WIDTH = 'sm:max-w-2xl';\n\n/**\n * Behavior hook for CommandMenu — manages open state (controlled or\n * uncontrolled), search, recent commands, hotkey subscription, and\n * navigation items mapped to command menu entries.\n */\nexport function useCommandMenuBehavior(\n externalIsOpen?: boolean,\n onOpenChange?: (open: boolean) => void,\n options: { listenForHotkeys?: boolean } = {},\n): CommandMenuBehavior {\n const resolutionCtx = useLauncherResolutionContext();\n const { navigate, navigateToResource } = useNavigationController();\n const { registry, doOperation } = useResourceRegistry();\n const appScope = useAppScopeSafe();\n const { appComponentsConfiguration } = useUI();\n const { on, emit } = useEventBus();\n const { register } = useHotkeyRegistry();\n const { t, tComponent, formatDate, formatDateTime } = useI18n({\n component: FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU,\n });\n\n const commandMenuConfig = appComponentsConfiguration?.[ApplicationLevelComponentType.COMMAND_MENU];\n const commandMenuObj = isCommandMenuConfigObject(commandMenuConfig) ? commandMenuConfig : undefined;\n const openShortcut = commandMenuObj?.openShortcut;\n const showRecent = commandMenuObj?.showRecent !== false;\n const maxRecentItems = commandMenuObj?.maxRecentItems ?? 5;\n const showShortcuts = commandMenuObj?.showShortcuts !== false;\n const defaultCategory = commandMenuObj?.defaultCategory ?? 'navigation';\n const categoryOrder = commandMenuObj?.categoryOrder ?? DEFAULT_CATEGORY_ORDER;\n const isOmnibox = commandMenuObj?.policy === CommandBarPolicy.OMNIBOX;\n const searchResources = commandMenuObj?.searchResources;\n const dialogWidth = commandMenuObj?.dialogWidth ?? DEFAULT_COMMAND_MENU_DIALOG_WIDTH;\n const runtimeAvailabilityContext = useLauncherRuntimeAvailabilityContext();\n const configCommands = useMemo(() => (\n filterCommandMenuCommandsByRuntimeAvailability(\n commandMenuObj?.commands,\n runtimeAvailabilityContext,\n )\n ), [commandMenuObj?.commands, runtimeAvailabilityContext]);\n\n const [internalIsOpen, setInternalIsOpen] = useState(false);\n const [searchQuery, setSearchQuery] = useState('');\n const [recentCommandIds, setRecentCommandIds] = useState<string[]>([]);\n\n const isControlled = externalIsOpen !== undefined && onOpenChange !== undefined;\n const isOpen = isControlled ? externalIsOpen : internalIsOpen;\n const isOpenRef = useRef(isOpen);\n isOpenRef.current = isOpen;\n const listenForHotkeys = options.listenForHotkeys !== false;\n\n const handleOpenChange = useCallback((open: boolean) => {\n if (isControlled && onOpenChange) {\n onOpenChange(open);\n } else {\n setInternalIsOpen(open);\n }\n if (!open) {\n setSearchQuery('');\n }\n }, [isControlled, onOpenChange]);\n\n useEffect(() => {\n if (!listenForHotkeys) return;\n const unsubscribe = on(FrontendEvents.HOTKEY_COMMAND_MENU_OPEN, () => {\n handleOpenChange(!isOpenRef.current);\n });\n return unsubscribe;\n }, [on, handleOpenChange, listenForHotkeys]);\n\n useEffect(() => {\n if (!listenForHotkeys) return;\n if (!openShortcut || commandMenuConfig === false) return;\n return register({\n id: 'app-command-menu-open-shortcut',\n shortcut: openShortcut,\n description: t('engine.hotkeys.commandMenuOpen'),\n scope: HotkeyScope.GLOBAL,\n group: HotkeyGroup.NAVIGATION,\n launcher: ApplicationLevelComponentType.COMMAND_MENU,\n preventDefault: true,\n handler: () => {\n emit(FrontendEvents.HOTKEY_COMMAND_MENU_OPEN, {} as FrontendEvent_HotkeyCommandMenuOpen);\n },\n });\n }, [openShortcut, commandMenuConfig, register, emit, t, listenForHotkeys]);\n\n const resolvedCommands = useMemo((): ResolvedCommandMenuItem[] => {\n if (!configCommands || !resolutionCtx) return [];\n return resolveCommandMenuCommands(configCommands, resolutionCtx);\n }, [configCommands, resolutionCtx]);\n\n const commandItems = useMemo((): CommandMenuItem[] => {\n return resolvedCommands\n .filter(cmd => {\n const dp = cmd.displayPolicy;\n if (dp === undefined || dp === CommandMenuDisplayPolicy.ALWAYS) return true;\n if (dp === CommandMenuDisplayPolicy.NEVER) return false;\n if (dp === CommandMenuDisplayPolicy.RECENT) return true;\n if (dp === CommandMenuDisplayPolicy.CONTEXTUAL) {\n if (envLoader.isDevelopment()) {\n console.warn(`[CommandMenu] CONTEXTUAL displayPolicy requires a contextual source and is excluded from the global app-level menu for \"${cmd.id}\"`);\n }\n return false;\n }\n if (envLoader.isDevelopment()) {\n console.warn(`[CommandMenu] Unknown displayPolicy \"${dp}\" for command \"${cmd.id}\" — treating as ALWAYS`);\n }\n return true;\n })\n .map(cmd => ({\n id: cmd.id,\n label: cmd.label,\n shortcut: cmd.shortcut ?? '',\n icon: cmd.icon ?? null,\n category: cmd.category ?? defaultCategory,\n // Localized operation-verb synonyms (translated) + any app-specific\n // literal supplements. The command's localized `label` covers the noun.\n keywords: [\n ...resolveOperationKeywords(tComponent, cmd.operation),\n ...(cmd.searchKeywords ?? []),\n ],\n displayPolicy: cmd.displayPolicy,\n onExecute: () => {\n handleOpenChange(false);\n setRecentCommandIds(prev => {\n const next = [cmd.id, ...prev.filter(id => id !== cmd.id)];\n return next.slice(0, maxRecentItems);\n });\n if (cmd.urlPath) {\n NavigationUtils.dispatchNavigationForResolvedTarget(navigate, cmd, ApplicationLevelComponentType.COMMAND_MENU);\n }\n },\n }));\n }, [resolvedCommands, handleOpenChange, navigate, maxRecentItems, defaultCategory, tComponent]);\n\n const groupedItems = useMemo((): CommandMenuGroup[] => {\n const categoryMap = new Map<string, CommandMenuItem[]>();\n\n for (const item of commandItems) {\n if (item.displayPolicy === CommandMenuDisplayPolicy.RECENT) continue;\n const category = item.category;\n const existing = categoryMap.get(category) ?? [];\n existing.push(item);\n categoryMap.set(category, existing);\n }\n\n for (const items of categoryMap.values()) {\n items.sort((a, b) => a.label.localeCompare(b.label));\n }\n\n const ordered: CommandMenuGroup[] = [];\n for (const cat of categoryOrder) {\n const items = categoryMap.get(cat);\n if (items) {\n ordered.push({ category: cat, label: resolveCategoryLabel(tComponent, cat), items });\n categoryMap.delete(cat);\n }\n }\n for (const [cat, items] of categoryMap.entries()) {\n ordered.push({ category: cat, label: resolveCategoryLabel(tComponent, cat), items });\n }\n\n return ordered;\n }, [commandItems, categoryOrder, tComponent]);\n\n const recentItems = useMemo(() => {\n if (recentCommandIds.length === 0) return [];\n const itemById = new Map(commandItems.map(item => [item.id, item]));\n return recentCommandIds.map(id => itemById.get(id)).filter(Boolean) as CommandMenuItem[];\n }, [commandItems, recentCommandIds]);\n\n // ===================================================================\n // Omnibox record-search layer (policy: OMNIBOX)\n // ===================================================================\n //\n // A live, debounced query against each configured resource's addressable\n // SEARCH operation (falling back to LIST). This is the ONLY query-driven data\n // path in the command menu — static commands remain a synchronous, config-only\n // source. Scope + navigation reuse the proven `SidebarResourceBrowser`\n // precedent: the current org/user/app scope is projected into\n // `contextualParameters` (and `ScopedResourceRegistryProvider` additionally\n // injects the field-identifier-keyed org id onto every `doOperation`), and a\n // selection navigates to the record's addressable READ view.\n\n const [searchResultGroups, setSearchResultGroups] = useState<CommandMenuSearchResultGroup[]>([]);\n const [isSearching, setIsSearching] = useState(false);\n\n // Read mutable dependencies through refs so the debounced fetch effect only\n // re-fires on a genuine (isOpen, query, policy, resource-set) change — never\n // on incidental identity churn of the registry / scope / navigation handles\n // (see the react-effect-identity-churn discipline).\n const doOperationRef = useRef(doOperation);\n doOperationRef.current = doOperation;\n const registryRef = useRef(registry);\n registryRef.current = registry;\n const appScopeRef = useRef(appScope);\n appScopeRef.current = appScope;\n const navigateToResourceRef = useRef(navigateToResource);\n navigateToResourceRef.current = navigateToResource;\n const handleOpenChangeRef = useRef(handleOpenChange);\n handleOpenChangeRef.current = handleOpenChange;\n const tRef = useRef(t);\n tRef.current = t;\n const formatDateRef = useRef(formatDate);\n formatDateRef.current = formatDate;\n const formatDateTimeRef = useRef(formatDateTime);\n formatDateTimeRef.current = formatDateTime;\n const tComponentRef = useRef(tComponent);\n tComponentRef.current = tComponent;\n const searchResourcesRef = useRef(searchResources);\n searchResourcesRef.current = searchResources;\n const omniboxTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n /**\n * Project the current primary scope (user/org/app/anon) into the resource's\n * scope-filtered context identifiers — the same shape `SidebarResourceBrowser`\n * passes to `doOperation`. Keyed by resource type; the scoped provider maps\n * the org id to its field identifier (`organizationId`) on the wire.\n */\n const buildOmniboxScopeIdentifiers = useCallback((resourcePrimaryScope: unknown): Record<string, string> => {\n const scope = appScopeRef.current;\n const primaryScopeInitiatorIds = ScopeUtilsService.buildInitiatorIds({\n userId: scope?.currentUserId,\n organizationId: scope?.currentOrganizationId,\n applicationId: scope?.currentApplicationId,\n anonymousUserId: scope?.currentAnonymousUserId,\n });\n return {\n ...ScopeUtilsService.primaryScopeToContextIdentifiers(\n primaryScopeInitiatorIds,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n resourcePrimaryScope as any,\n ),\n ...(scope?.buildContextResourceIdentifiers() ?? {}),\n };\n }, []);\n\n /** Navigate to a matched record's addressable READ view, then close the menu. */\n const navigateToRecord = useCallback((resourceType: string, recordId: string): void => {\n const currentRegistry = registryRef.current;\n const resourceConfig = currentRegistry.resourceConfigurations[resourceType];\n if (!resourceConfig) return;\n\n const readOperation = pickPreferredOperationForCoreSemantic(\n resourceConfig.operations ?? [],\n CoreResourceOperation.READ,\n );\n if (!readOperation) {\n omniboxLogger.warn('[CommandMenu] Omnibox result has no addressable READ operation', { resourceType, recordId });\n return;\n }\n\n const contextIdentifiers: Record<string, string> = {\n ...buildOmniboxScopeIdentifiers(resourceConfig.resourcePrimaryScope),\n [resourceType]: recordId,\n };\n const parentResourcesRequirements = frontendResourceUtils.buildParentResourcesRequirements(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n resourceType as any,\n contextIdentifiers,\n currentRegistry,\n );\n const resourceContext = frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n resourceType: resourceType as any,\n operation: readOperation,\n contextResourceIdentifiers: contextIdentifiers,\n parentResourcesRequirements,\n });\n\n handleOpenChangeRef.current(false);\n navigateToResourceRef.current(\n resourceContext,\n NavigationUtils.createAppLevelInitiator(ApplicationLevelComponentType.COMMAND_MENU),\n );\n }, [buildOmniboxScopeIdentifiers]);\n\n // Stable key over the configured resource set — the fetch effect re-arms only\n // when the app changes which resources are searchable, not per render.\n const searchResourcesKey = useMemo(\n () => JSON.stringify(searchResources ?? []),\n [searchResources],\n );\n\n const shouldRunOmnibox = isOmnibox && !!searchResources && searchResources.length > 0;\n\n useEffect(() => {\n if (omniboxTimeoutRef.current) {\n clearTimeout(omniboxTimeoutRef.current);\n omniboxTimeoutRef.current = null;\n }\n\n // Below threshold, closed, or omnibox disabled → no query-driven results.\n if (!isOpen || !shouldRunOmnibox || searchQuery.trim().length < OMNIBOX_MIN_SEARCH_CHARS) {\n setSearchResultGroups([]);\n setIsSearching(false);\n return;\n }\n\n let cancelled = false;\n const query = searchQuery.trim();\n setIsSearching(true);\n\n const runSearch = async (): Promise<void> => {\n const currentRegistry = registryRef.current;\n const resources = searchResourcesRef.current ?? [];\n\n const groups = await Promise.all(resources.map(async (entry): Promise<CommandMenuSearchResultGroup | null> => {\n const resourceConfig = currentRegistry.resourceConfigurations[entry.resourceType];\n if (!resourceConfig) {\n omniboxLogger.warn('[CommandMenu] Omnibox searchResource not in registry — skipped', { resourceType: entry.resourceType });\n return null;\n }\n\n let operationPath: string;\n try {\n operationPath = FrontendResourceUtils.buildForeignKeySearchOperationPath(entry.resourceType, currentRegistry);\n } catch {\n omniboxLogger.warn('[CommandMenu] Omnibox resource has no searchable SEARCH/LIST operation — skipped', { resourceType: entry.resourceType });\n return null;\n }\n\n const searchParams = FrontendResourceUtils.buildForeignKeySearchParams(\n query,\n entry.maxResults ?? OMNIBOX_DEFAULT_MAX_RESULTS,\n );\n\n let result: unknown;\n try {\n result = await doOperationRef.current(operationPath, {\n contextualParameters: buildOmniboxScopeIdentifiers(resourceConfig.resourcePrimaryScope),\n queryParameters: searchParams.queryParameters,\n });\n } catch (err) {\n omniboxLogger.error('[CommandMenu] Omnibox search failed', { resourceType: entry.resourceType, ...extractErrorInfo(err), error: err });\n return null;\n }\n\n let items: Record<string, unknown>[] = [];\n if (Array.isArray(result)) {\n items = result as Record<string, unknown>[];\n } else if (result && typeof result === 'object') {\n const resultObj = result as { data?: Record<string, unknown>[]; items?: Record<string, unknown>[] };\n items = resultObj.data ?? resultObj.items ?? [];\n }\n if (items.length === 0) return null;\n\n const fieldIdentifier = FrontendResourceUtils.getResourceFieldIdentifierForType(entry.resourceType, currentRegistry);\n const category = entry.category ?? entry.resourceType;\n // Default to the richer SUMMARY view (the resource's summary card);\n // apps opt out to a one-line LABEL per resource. `ID` collapses to LABEL.\n const displayMode = entry.resultDisplay === ForeignKeyDisplayMode.LABEL\n || entry.resultDisplay === ForeignKeyDisplayMode.ID\n ? ForeignKeyDisplayMode.LABEL\n : ForeignKeyDisplayMode.SUMMARY;\n // The raw query is always carried as a keyword so cmdk's client-side\n // filter never drops a legitimate server hit (matches may be on a field\n // absent from the label, e.g. `description`). We also fold in the\n // LOCALIZED \"search\" verb synonyms so typing a translated synonym keeps\n // the group visible, plus any app-specific literal supplements.\n const baseKeywords = [\n query,\n ...resolveKeywordSynonyms(tComponentRef.current, 'keywordsSearch'),\n ...(entry.searchKeywords ?? []),\n ];\n\n const resultItems: CommandMenuSearchResultItem[] = items.flatMap((item) => {\n const id = FrontendResourceUtils.getResourceObjectId(item, fieldIdentifier);\n if (!id) return [];\n const label = FrontendResourceUtils.computeFrontendResourceLabel({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n resourceType: entry.resourceType as any,\n registry: currentRegistry,\n currentObject: item,\n t: tRef.current,\n formatDate: formatDateRef.current,\n formatDateTime: formatDateTimeRef.current,\n }) ?? id;\n return [{\n id: `omnibox:${entry.resourceType}:${id}`,\n resourceType: entry.resourceType,\n record: item,\n label,\n keywords: baseKeywords,\n onExecute: () => navigateToRecord(entry.resourceType, id),\n }];\n });\n\n if (resultItems.length === 0) return null;\n return {\n category,\n label: resolveCategoryLabel(tComponentRef.current, category),\n displayMode,\n items: resultItems,\n };\n }));\n\n if (cancelled) return;\n setSearchResultGroups(groups.filter((group): group is CommandMenuSearchResultGroup => group !== null));\n setIsSearching(false);\n };\n\n omniboxTimeoutRef.current = setTimeout(() => {\n void runSearch();\n }, OMNIBOX_SEARCH_DEBOUNCE_MS);\n\n return () => {\n cancelled = true;\n if (omniboxTimeoutRef.current) {\n clearTimeout(omniboxTimeoutRef.current);\n omniboxTimeoutRef.current = null;\n }\n };\n }, [isOpen, searchQuery, shouldRunOmnibox, searchResourcesKey, buildOmniboxScopeIdentifiers, navigateToRecord]);\n\n // ===================================================================\n // Unified, ordered palette group list (records + commands, one axis)\n // ===================================================================\n //\n // A single ordering model: every renderable group (live record group +\n // static command-category group) is assigned ONE numeric `order` weight and\n // the merged list is sorted by it. Record groups take the low band (default\n // above commands, so live matches surface first while searching); the app\n // overrides a record group's slot via `CommandMenuSearchResource.order`.\n // Command categories keep their pre-existing relative sequence\n // (`categoryOrder`) inside the high band. The recent group is pinned\n // separately and is not part of this list.\n const recordOrderByCategory = useMemo(() => {\n const map = new Map<string, number>();\n (searchResources ?? []).forEach((entry, index) => {\n const category = entry.category ?? entry.resourceType;\n map.set(category, entry.order ?? RECORD_GROUP_ORDER_BASE + index);\n });\n return map;\n }, [searchResources]);\n\n const orderedGroups = useMemo((): CommandMenuPaletteGroup[] => {\n const entries: CommandMenuPaletteGroup[] = [];\n searchResultGroups.forEach((group, index) => {\n entries.push({\n kind: CommandMenuPaletteGroupKind.RECORDS,\n order: recordOrderByCategory.get(group.category) ?? RECORD_GROUP_ORDER_BASE + index,\n group,\n });\n });\n groupedItems.forEach((group, index) => {\n entries.push({\n kind: CommandMenuPaletteGroupKind.COMMANDS,\n order: COMMAND_GROUP_ORDER_BASE + index,\n group,\n });\n });\n // Stable sort by the single order axis (index tiebreak preserves the\n // per-source sequence when two groups share a weight).\n return entries\n .map((entry, index) => ({ entry, index }))\n .sort((a, b) => a.entry.order - b.entry.order || a.index - b.index)\n .map(({ entry }) => entry);\n }, [searchResultGroups, groupedItems, recordOrderByCategory]);\n\n return {\n isOpen,\n handleOpenChange,\n searchQuery,\n setSearchQuery,\n commandItems,\n groupedItems,\n recentItems,\n searchResultGroups,\n orderedGroups,\n isSearching,\n isNavigationLoading: !resolutionCtx,\n showRecent,\n showShortcuts,\n openShortcut,\n dialogWidth,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"useCommandMenuBehavior.js","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useCommandMenuBehavior.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { FrontendComponentType } from '@wildo-ai/presets-components-models';\nimport { CoreResourceOperation } from '@wildo-ai/saas-models';\nimport { ForeignKeyDisplayMode } from '@wildo-ai/zod-decorators';\n\nimport {\n ApplicationLevelComponentType,\n HotkeyGroup,\n HotkeyScope,\n} from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { CommandMenuDisplayPolicy } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { CommandBarPolicy } from '~wildo-frontend-lib/core/config/app-configuration-frontend.schemas';\nimport type { CommandMenuCommand, CommandMenuSearchResource } from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { ScopeUtilsService } from '~wildo-frontend-lib/core/scope/scope.utils.frontend.service';\nimport { frontendResourceUtils, FrontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport {\n pickPreferredOperationForCoreSemantic,\n resolveEffectiveCoreOperationFromOperation,\n type ResourceOperationSemanticsLike,\n} from '~wildo-frontend-lib/core/resources/operation-semantics.frontend.utils';\nimport { extractErrorInfo } from '~wildo-frontend-lib/core/errors/errors.frontend.schemas';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport {\n FrontendEvents,\n type FrontendEvent_HotkeyCommandMenuOpen,\n} from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport {\n filterCommandMenuCommandsByRuntimeAvailability,\n useLauncherRuntimeAvailabilityContext,\n} from '~wildo-frontend-lib/core/navigation/launcher-runtime-availability';\nimport { NavigationUtils } from '~wildo-frontend-lib/core/navigation/navigation.utils';\nimport { resolveCommandMenuCommands, type ResolvedCommandMenuItem } from '~wildo-frontend-lib/core/navigation/launcher-resolution';\nimport { ApplicationContext } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport { withEngineClientsCommand, withEngineDecisionInboxCommand } from '~wildo-frontend-lib/components/navigation/app-level/engine-launcher-entries';\nimport { useLauncherResolutionContext } from '~wildo-frontend-lib/core/navigation/useLauncherResolutionContext';\nimport { useNavigationController } from '~wildo-frontend-lib/core/navigation/useNavigationController';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\nimport { useHotkeyRegistry } from '~wildo-frontend-lib/core/hotkey/useHotkey';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\n\nimport { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\nimport type {\n CommandMenuBehavior,\n CommandMenuItem,\n CommandMenuGroup,\n CommandMenuSearchResultItem,\n CommandMenuSearchResultGroup,\n CommandMenuPaletteGroup,\n} from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\nimport { CommandMenuPaletteGroupKind } from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\n\nconst DEFAULT_CATEGORY_ORDER: readonly string[] = ['navigation', 'actions'];\n\n/**\n * Order weights for the SINGLE palette ordering axis. Record groups occupy the\n * low band (0..), static command-category groups the high band (1000..), so\n * live record matches surface ABOVE static commands by default while searching.\n * An app overrides per record group via `CommandMenuSearchResource.order`.\n */\nconst RECORD_GROUP_ORDER_BASE = 0;\nconst COMMAND_GROUP_ORDER_BASE = 1000;\n\n/** Omnibox record-search tuning — mirrors `useResourceSearch` (FK picker). */\nconst OMNIBOX_SEARCH_DEBOUNCE_MS = 300;\nconst OMNIBOX_MIN_SEARCH_CHARS = 2;\nconst OMNIBOX_DEFAULT_MAX_RESULTS = 5;\n\nconst omniboxLogger: LoggerFrontendService = LoggerFrontendService.getLogger();\n\n/**\n * Maps a command's core operation semantic to the command-menu component label\n * key holding that operation's LOCALIZED search synonyms (a comma-separated\n * list). `_MANY` variants share their base action's synonyms. Operations\n * without a meaningful synonym set (COUNT) are omitted — they contribute no\n * extra keywords and the command's localized label still matches.\n */\nconst OPERATION_KEYWORD_LABEL_KEY: Partial<Record<CoreResourceOperation, string>> = {\n [CoreResourceOperation.CREATE]: 'keywordsCreate',\n [CoreResourceOperation.CREATE_MANY]: 'keywordsCreate',\n [CoreResourceOperation.LIST]: 'keywordsList',\n [CoreResourceOperation.SEARCH]: 'keywordsSearch',\n [CoreResourceOperation.READ]: 'keywordsRead',\n [CoreResourceOperation.UPDATE]: 'keywordsUpdate',\n [CoreResourceOperation.UPDATE_MANY]: 'keywordsUpdate',\n [CoreResourceOperation.DELETE]: 'keywordsDelete',\n [CoreResourceOperation.DELETE_MANY]: 'keywordsDelete',\n};\n\ntype TComponentFn = (component: FrontendComponentType, key: string, params?: Record<string, string | number>) => string;\n\n/**\n * Resolve a command-menu component keyword label into its list of localized\n * synonyms. The label is authored (and translated) as a comma-separated string;\n * we split it into individual match terms. Fails OPEN to `[]` when the key is\n * not yet generated (`tComponent` returns the raw key path) so a missing\n * translation never injects the literal key path as a bogus keyword.\n */\nfunction resolveKeywordSynonyms(tComponent: TComponentFn, key: string): string[] {\n const componentType = FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU;\n const base = `components.${componentType}.${key}`;\n const resolved = tComponent(componentType, key);\n if (!resolved || resolved === base) return [];\n return resolved.split(',').map(term => term.trim()).filter(Boolean);\n}\n\n/** Localized verb synonyms for a resource-operation command's core semantic. */\nfunction resolveOperationKeywords(\n tComponent: TComponentFn,\n operation: ResourceOperationSemanticsLike | undefined,\n): string[] {\n if (!operation) return [];\n const coreOperation = resolveEffectiveCoreOperationFromOperation(operation);\n const key = coreOperation ? OPERATION_KEYWORD_LABEL_KEY[coreOperation] : undefined;\n return key ? resolveKeywordSynonyms(tComponent, key) : [];\n}\n\n/**\n * The category heading a person reads, from the label tree and nowhere else.\n *\n * This was `resolved === baseKey ? humanizeCategory(category) : resolved` — the exact shape\n * `.claude/rules/display-text-comes-from-i18n.md` names as forbidden, and the reason it is forbidden\n * is visible here: the formatter ran ONLY when the label was missing, which is precisely the case\n * somebody needs to notice. The palette read as finished in every locale, so the keys were never\n * authored and a French user was shown English produced by code — invisible to a translator, because\n * it was never in the tree at all.\n *\n * `tComponent` already answers with the KEY when it cannot resolve one, so returning its answer\n * unchanged IS the missing-looks-missing behaviour. A category with no label now shows its key,\n * which is what makes somebody author it.\n */\nfunction resolveCategoryLabel(\n tComponent: (component: FrontendComponentType, key: string, params?: Record<string, string | number>) => string,\n category: string,\n): string {\n return tComponent(FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU, category);\n}\n\nfunction isCommandMenuConfigObject(\n config: unknown,\n): config is {\n policy?: CommandBarPolicy;\n showRecent?: boolean;\n maxRecentItems?: number;\n showShortcuts?: boolean;\n openShortcut?: string;\n defaultCategory?: string;\n categoryOrder?: string[];\n commands?: CommandMenuCommand[];\n searchResources?: CommandMenuSearchResource[];\n dialogWidth?: string;\n} {\n return typeof config === 'object' && config !== null && !Array.isArray(config);\n}\n\n/** Default desktop max-width class for the palette dialog (see `dialogWidth`). */\nconst DEFAULT_COMMAND_MENU_DIALOG_WIDTH = 'sm:max-w-2xl';\n\n/**\n * Behavior hook for CommandMenu — manages open state (controlled or\n * uncontrolled), search, recent commands, hotkey subscription, and\n * navigation items mapped to command menu entries.\n */\nexport function useCommandMenuBehavior(\n externalIsOpen?: boolean,\n onOpenChange?: (open: boolean) => void,\n options: { listenForHotkeys?: boolean } = {},\n): CommandMenuBehavior {\n const resolutionCtx = useLauncherResolutionContext();\n const { navigate, navigateToResource } = useNavigationController();\n const { registry, doOperation } = useResourceRegistry();\n const appScope = useAppScopeSafe();\n const { appComponentsConfiguration, suppressedEngineNavigationEntries } = useUI();\n const { on, emit } = useEventBus();\n const { register } = useHotkeyRegistry();\n const { t, tComponent, formatDate, formatDateTime } = useI18n({\n component: FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU,\n });\n\n const commandMenuConfig = appComponentsConfiguration?.[ApplicationLevelComponentType.COMMAND_MENU];\n const commandMenuObj = isCommandMenuConfigObject(commandMenuConfig) ? commandMenuConfig : undefined;\n const openShortcut = commandMenuObj?.openShortcut;\n const showRecent = commandMenuObj?.showRecent !== false;\n const maxRecentItems = commandMenuObj?.maxRecentItems ?? 5;\n const showShortcuts = commandMenuObj?.showShortcuts !== false;\n const defaultCategory = commandMenuObj?.defaultCategory ?? 'navigation';\n const categoryOrder = commandMenuObj?.categoryOrder ?? DEFAULT_CATEGORY_ORDER;\n const isOmnibox = commandMenuObj?.policy === CommandBarPolicy.OMNIBOX;\n const searchResources = commandMenuObj?.searchResources;\n const dialogWidth = commandMenuObj?.dialogWidth ?? DEFAULT_COMMAND_MENU_DIALOG_WIDTH;\n const runtimeAvailabilityContext = useLauncherRuntimeAvailabilityContext();\n // The engine's own command (#2527): the decision inbox, beside the application's, gated like its sidebar twin. Read\n // optionally: the command menu needs no application otherwise, and without one it simply offers no inbox.\n const decisionInboxOffer = useContext(ApplicationContext)?.appConfig?.decisionInbox;\n const configCommands = useMemo(() => (\n filterCommandMenuCommandsByRuntimeAvailability(\n withEngineClientsCommand(withEngineDecisionInboxCommand(commandMenuObj?.commands, decisionInboxOffer), suppressedEngineNavigationEntries),\n runtimeAvailabilityContext,\n )\n ), [commandMenuObj?.commands, decisionInboxOffer, suppressedEngineNavigationEntries, runtimeAvailabilityContext]);\n\n const [internalIsOpen, setInternalIsOpen] = useState(false);\n const [searchQuery, setSearchQuery] = useState('');\n const [recentCommandIds, setRecentCommandIds] = useState<string[]>([]);\n\n const isControlled = externalIsOpen !== undefined && onOpenChange !== undefined;\n const isOpen = isControlled ? externalIsOpen : internalIsOpen;\n const isOpenRef = useRef(isOpen);\n isOpenRef.current = isOpen;\n const listenForHotkeys = options.listenForHotkeys !== false;\n\n const handleOpenChange = useCallback((open: boolean) => {\n if (isControlled && onOpenChange) {\n onOpenChange(open);\n } else {\n setInternalIsOpen(open);\n }\n if (!open) {\n setSearchQuery('');\n }\n }, [isControlled, onOpenChange]);\n\n useEffect(() => {\n if (!listenForHotkeys) return;\n const unsubscribe = on(FrontendEvents.HOTKEY_COMMAND_MENU_OPEN, () => {\n handleOpenChange(!isOpenRef.current);\n });\n return unsubscribe;\n }, [on, handleOpenChange, listenForHotkeys]);\n\n useEffect(() => {\n if (!listenForHotkeys) return;\n if (!openShortcut || commandMenuConfig === false) return;\n return register({\n id: 'app-command-menu-open-shortcut',\n shortcut: openShortcut,\n description: t('engine.hotkeys.commandMenuOpen'),\n scope: HotkeyScope.GLOBAL,\n group: HotkeyGroup.NAVIGATION,\n launcher: ApplicationLevelComponentType.COMMAND_MENU,\n preventDefault: true,\n handler: () => {\n emit(FrontendEvents.HOTKEY_COMMAND_MENU_OPEN, {} as FrontendEvent_HotkeyCommandMenuOpen);\n },\n });\n }, [openShortcut, commandMenuConfig, register, emit, t, listenForHotkeys]);\n\n const resolvedCommands = useMemo((): ResolvedCommandMenuItem[] => {\n if (!configCommands || !resolutionCtx) return [];\n return resolveCommandMenuCommands(configCommands, resolutionCtx);\n }, [configCommands, resolutionCtx]);\n\n const commandItems = useMemo((): CommandMenuItem[] => {\n return resolvedCommands\n .filter(cmd => {\n const dp = cmd.displayPolicy;\n if (dp === undefined || dp === CommandMenuDisplayPolicy.ALWAYS) return true;\n if (dp === CommandMenuDisplayPolicy.NEVER) return false;\n if (dp === CommandMenuDisplayPolicy.RECENT) return true;\n if (dp === CommandMenuDisplayPolicy.CONTEXTUAL) {\n if (envLoader.isDevelopment()) {\n console.warn(`[CommandMenu] CONTEXTUAL displayPolicy requires a contextual source and is excluded from the global app-level menu for \"${cmd.id}\"`);\n }\n return false;\n }\n if (envLoader.isDevelopment()) {\n console.warn(`[CommandMenu] Unknown displayPolicy \"${dp}\" for command \"${cmd.id}\" — treating as ALWAYS`);\n }\n return true;\n })\n .map(cmd => ({\n id: cmd.id,\n label: cmd.label,\n shortcut: cmd.shortcut ?? '',\n icon: cmd.icon ?? null,\n category: cmd.category ?? defaultCategory,\n // Localized operation-verb synonyms (translated) + any app-specific\n // literal supplements. The command's localized `label` covers the noun.\n keywords: [\n ...resolveOperationKeywords(tComponent, cmd.operation),\n ...(cmd.searchKeywords ?? []),\n ],\n displayPolicy: cmd.displayPolicy,\n onExecute: () => {\n handleOpenChange(false);\n setRecentCommandIds(prev => {\n const next = [cmd.id, ...prev.filter(id => id !== cmd.id)];\n return next.slice(0, maxRecentItems);\n });\n if (cmd.urlPath) {\n NavigationUtils.dispatchNavigationForResolvedTarget(navigate, cmd, ApplicationLevelComponentType.COMMAND_MENU);\n }\n },\n }));\n }, [resolvedCommands, handleOpenChange, navigate, maxRecentItems, defaultCategory, tComponent]);\n\n const groupedItems = useMemo((): CommandMenuGroup[] => {\n const categoryMap = new Map<string, CommandMenuItem[]>();\n\n for (const item of commandItems) {\n if (item.displayPolicy === CommandMenuDisplayPolicy.RECENT) continue;\n const category = item.category;\n const existing = categoryMap.get(category) ?? [];\n existing.push(item);\n categoryMap.set(category, existing);\n }\n\n for (const items of categoryMap.values()) {\n items.sort((a, b) => a.label.localeCompare(b.label));\n }\n\n const ordered: CommandMenuGroup[] = [];\n for (const cat of categoryOrder) {\n const items = categoryMap.get(cat);\n if (items) {\n ordered.push({ category: cat, label: resolveCategoryLabel(tComponent, cat), items });\n categoryMap.delete(cat);\n }\n }\n for (const [cat, items] of categoryMap.entries()) {\n ordered.push({ category: cat, label: resolveCategoryLabel(tComponent, cat), items });\n }\n\n return ordered;\n }, [commandItems, categoryOrder, tComponent]);\n\n const recentItems = useMemo(() => {\n if (recentCommandIds.length === 0) return [];\n const itemById = new Map(commandItems.map(item => [item.id, item]));\n return recentCommandIds.map(id => itemById.get(id)).filter(Boolean) as CommandMenuItem[];\n }, [commandItems, recentCommandIds]);\n\n // ===================================================================\n // Omnibox record-search layer (policy: OMNIBOX)\n // ===================================================================\n //\n // A live, debounced query against each configured resource's addressable\n // SEARCH operation (falling back to LIST). This is the ONLY query-driven data\n // path in the command menu — static commands remain a synchronous, config-only\n // source. Scope + navigation reuse the proven `SidebarResourceBrowser`\n // precedent: the current org/user/app scope is projected into\n // `contextualParameters` (and `ScopedResourceRegistryProvider` additionally\n // injects the field-identifier-keyed org id onto every `doOperation`), and a\n // selection navigates to the record's addressable READ view.\n\n const [searchResultGroups, setSearchResultGroups] = useState<CommandMenuSearchResultGroup[]>([]);\n const [isSearching, setIsSearching] = useState(false);\n\n // Read mutable dependencies through refs so the debounced fetch effect only\n // re-fires on a genuine (isOpen, query, policy, resource-set) change — never\n // on incidental identity churn of the registry / scope / navigation handles\n // (see the react-effect-identity-churn discipline).\n const doOperationRef = useRef(doOperation);\n doOperationRef.current = doOperation;\n const registryRef = useRef(registry);\n registryRef.current = registry;\n const appScopeRef = useRef(appScope);\n appScopeRef.current = appScope;\n const navigateToResourceRef = useRef(navigateToResource);\n navigateToResourceRef.current = navigateToResource;\n const handleOpenChangeRef = useRef(handleOpenChange);\n handleOpenChangeRef.current = handleOpenChange;\n const tRef = useRef(t);\n tRef.current = t;\n const formatDateRef = useRef(formatDate);\n formatDateRef.current = formatDate;\n const formatDateTimeRef = useRef(formatDateTime);\n formatDateTimeRef.current = formatDateTime;\n const tComponentRef = useRef(tComponent);\n tComponentRef.current = tComponent;\n const searchResourcesRef = useRef(searchResources);\n searchResourcesRef.current = searchResources;\n const omniboxTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n /**\n * Project the current primary scope (user/org/app/anon) into the resource's\n * scope-filtered context identifiers — the same shape `SidebarResourceBrowser`\n * passes to `doOperation`. Keyed by resource type; the scoped provider maps\n * the org id to its field identifier (`organizationId`) on the wire.\n */\n const buildOmniboxScopeIdentifiers = useCallback((resourcePrimaryScope: unknown): Record<string, string> => {\n const scope = appScopeRef.current;\n const primaryScopeInitiatorIds = ScopeUtilsService.buildInitiatorIds({\n userId: scope?.currentUserId,\n organizationId: scope?.currentOrganizationId,\n applicationId: scope?.currentApplicationId,\n anonymousUserId: scope?.currentAnonymousUserId,\n });\n return {\n ...ScopeUtilsService.primaryScopeToContextIdentifiers(\n primaryScopeInitiatorIds,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n resourcePrimaryScope as any,\n ),\n ...(scope?.buildContextResourceIdentifiers() ?? {}),\n };\n }, []);\n\n /** Navigate to a matched record's addressable READ view, then close the menu. */\n const navigateToRecord = useCallback((resourceType: string, recordId: string): void => {\n const currentRegistry = registryRef.current;\n const resourceConfig = currentRegistry.resourceConfigurations[resourceType];\n if (!resourceConfig) return;\n\n const readOperation = pickPreferredOperationForCoreSemantic(\n resourceConfig.operations ?? [],\n CoreResourceOperation.READ,\n );\n if (!readOperation) {\n omniboxLogger.warn('[CommandMenu] Omnibox result has no addressable READ operation', { resourceType, recordId });\n return;\n }\n\n const contextIdentifiers: Record<string, string> = {\n ...buildOmniboxScopeIdentifiers(resourceConfig.resourcePrimaryScope),\n [resourceType]: recordId,\n };\n const parentResourcesRequirements = frontendResourceUtils.buildParentResourcesRequirements(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n resourceType as any,\n contextIdentifiers,\n currentRegistry,\n );\n const resourceContext = frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n resourceType: resourceType as any,\n operation: readOperation,\n contextResourceIdentifiers: contextIdentifiers,\n parentResourcesRequirements,\n });\n\n handleOpenChangeRef.current(false);\n navigateToResourceRef.current(\n resourceContext,\n NavigationUtils.createAppLevelInitiator(ApplicationLevelComponentType.COMMAND_MENU),\n );\n }, [buildOmniboxScopeIdentifiers]);\n\n // Stable key over the configured resource set — the fetch effect re-arms only\n // when the app changes which resources are searchable, not per render.\n const searchResourcesKey = useMemo(\n () => JSON.stringify(searchResources ?? []),\n [searchResources],\n );\n\n const shouldRunOmnibox = isOmnibox && !!searchResources && searchResources.length > 0;\n\n useEffect(() => {\n if (omniboxTimeoutRef.current) {\n clearTimeout(omniboxTimeoutRef.current);\n omniboxTimeoutRef.current = null;\n }\n\n // Below threshold, closed, or omnibox disabled → no query-driven results.\n if (!isOpen || !shouldRunOmnibox || searchQuery.trim().length < OMNIBOX_MIN_SEARCH_CHARS) {\n setSearchResultGroups([]);\n setIsSearching(false);\n return;\n }\n\n let cancelled = false;\n const query = searchQuery.trim();\n setIsSearching(true);\n\n const runSearch = async (): Promise<void> => {\n const currentRegistry = registryRef.current;\n const resources = searchResourcesRef.current ?? [];\n\n const groups = await Promise.all(resources.map(async (entry): Promise<CommandMenuSearchResultGroup | null> => {\n const resourceConfig = currentRegistry.resourceConfigurations[entry.resourceType];\n if (!resourceConfig) {\n omniboxLogger.warn('[CommandMenu] Omnibox searchResource not in registry — skipped', { resourceType: entry.resourceType });\n return null;\n }\n\n let operationPath: string;\n try {\n operationPath = FrontendResourceUtils.buildForeignKeySearchOperationPath(entry.resourceType, currentRegistry);\n } catch {\n omniboxLogger.warn('[CommandMenu] Omnibox resource has no searchable SEARCH/LIST operation — skipped', { resourceType: entry.resourceType });\n return null;\n }\n\n const searchParams = FrontendResourceUtils.buildForeignKeySearchParams(\n query,\n entry.maxResults ?? OMNIBOX_DEFAULT_MAX_RESULTS,\n );\n\n let result: unknown;\n try {\n result = await doOperationRef.current(operationPath, {\n contextualParameters: buildOmniboxScopeIdentifiers(resourceConfig.resourcePrimaryScope),\n queryParameters: searchParams.queryParameters,\n });\n } catch (err) {\n omniboxLogger.error('[CommandMenu] Omnibox search failed', { resourceType: entry.resourceType, ...extractErrorInfo(err), error: err });\n return null;\n }\n\n let items: Record<string, unknown>[] = [];\n if (Array.isArray(result)) {\n items = result as Record<string, unknown>[];\n } else if (result && typeof result === 'object') {\n const resultObj = result as { data?: Record<string, unknown>[]; items?: Record<string, unknown>[] };\n items = resultObj.data ?? resultObj.items ?? [];\n }\n if (items.length === 0) return null;\n\n const fieldIdentifier = FrontendResourceUtils.getResourceFieldIdentifierForType(entry.resourceType, currentRegistry);\n const category = entry.category ?? entry.resourceType;\n // Default to the richer SUMMARY view (the resource's summary card);\n // apps opt out to a one-line LABEL per resource. `ID` collapses to LABEL.\n const displayMode = entry.resultDisplay === ForeignKeyDisplayMode.LABEL\n || entry.resultDisplay === ForeignKeyDisplayMode.ID\n ? ForeignKeyDisplayMode.LABEL\n : ForeignKeyDisplayMode.SUMMARY;\n // The raw query is always carried as a keyword so cmdk's client-side\n // filter never drops a legitimate server hit (matches may be on a field\n // absent from the label, e.g. `description`). We also fold in the\n // LOCALIZED \"search\" verb synonyms so typing a translated synonym keeps\n // the group visible, plus any app-specific literal supplements.\n const baseKeywords = [\n query,\n ...resolveKeywordSynonyms(tComponentRef.current, 'keywordsSearch'),\n ...(entry.searchKeywords ?? []),\n ];\n\n const resultItems: CommandMenuSearchResultItem[] = items.flatMap((item) => {\n const id = FrontendResourceUtils.getResourceObjectId(item, fieldIdentifier);\n if (!id) return [];\n const label = FrontendResourceUtils.computeFrontendResourceLabel({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n resourceType: entry.resourceType as any,\n registry: currentRegistry,\n currentObject: item,\n t: tRef.current,\n formatDate: formatDateRef.current,\n formatDateTime: formatDateTimeRef.current,\n }) ?? id;\n return [{\n id: `omnibox:${entry.resourceType}:${id}`,\n resourceType: entry.resourceType,\n record: item,\n label,\n keywords: baseKeywords,\n onExecute: () => navigateToRecord(entry.resourceType, id),\n }];\n });\n\n if (resultItems.length === 0) return null;\n return {\n category,\n label: resolveCategoryLabel(tComponentRef.current, category),\n displayMode,\n items: resultItems,\n };\n }));\n\n if (cancelled) return;\n setSearchResultGroups(groups.filter((group): group is CommandMenuSearchResultGroup => group !== null));\n setIsSearching(false);\n };\n\n omniboxTimeoutRef.current = setTimeout(() => {\n void runSearch();\n }, OMNIBOX_SEARCH_DEBOUNCE_MS);\n\n return () => {\n cancelled = true;\n if (omniboxTimeoutRef.current) {\n clearTimeout(omniboxTimeoutRef.current);\n omniboxTimeoutRef.current = null;\n }\n };\n }, [isOpen, searchQuery, shouldRunOmnibox, searchResourcesKey, buildOmniboxScopeIdentifiers, navigateToRecord]);\n\n // ===================================================================\n // Unified, ordered palette group list (records + commands, one axis)\n // ===================================================================\n //\n // A single ordering model: every renderable group (live record group +\n // static command-category group) is assigned ONE numeric `order` weight and\n // the merged list is sorted by it. Record groups take the low band (default\n // above commands, so live matches surface first while searching); the app\n // overrides a record group's slot via `CommandMenuSearchResource.order`.\n // Command categories keep their pre-existing relative sequence\n // (`categoryOrder`) inside the high band. The recent group is pinned\n // separately and is not part of this list.\n const recordOrderByCategory = useMemo(() => {\n const map = new Map<string, number>();\n (searchResources ?? []).forEach((entry, index) => {\n const category = entry.category ?? entry.resourceType;\n map.set(category, entry.order ?? RECORD_GROUP_ORDER_BASE + index);\n });\n return map;\n }, [searchResources]);\n\n const orderedGroups = useMemo((): CommandMenuPaletteGroup[] => {\n const entries: CommandMenuPaletteGroup[] = [];\n searchResultGroups.forEach((group, index) => {\n entries.push({\n kind: CommandMenuPaletteGroupKind.RECORDS,\n order: recordOrderByCategory.get(group.category) ?? RECORD_GROUP_ORDER_BASE + index,\n group,\n });\n });\n groupedItems.forEach((group, index) => {\n entries.push({\n kind: CommandMenuPaletteGroupKind.COMMANDS,\n order: COMMAND_GROUP_ORDER_BASE + index,\n group,\n });\n });\n // Stable sort by the single order axis (index tiebreak preserves the\n // per-source sequence when two groups share a weight).\n return entries\n .map((entry, index) => ({ entry, index }))\n .sort((a, b) => a.entry.order - b.entry.order || a.index - b.index)\n .map(({ entry }) => entry);\n }, [searchResultGroups, groupedItems, recordOrderByCategory]);\n\n return {\n isOpen,\n handleOpenChange,\n searchQuery,\n setSearchQuery,\n commandItems,\n groupedItems,\n recentItems,\n searchResultGroups,\n orderedGroups,\n isSearching,\n isNavigationLoading: !resolutionCtx,\n showRecent,\n showShortcuts,\n openShortcut,\n dialogWidth,\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuUserOrgBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useMenuUserOrgBehavior.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,6BAA6B,EAAE,MAAM,uEAAuE,CAAC;AACtH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenuUserOrgBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useMenuUserOrgBehavior.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,6BAA6B,EAAE,MAAM,uEAAuE,CAAC;AACtH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAuB7F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAsDhG;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,CAAC,EAAE,6BAA6B,EAC7C,kBAAkB,CAAC,EAAE,mBAAmB,GAAG,iBAAiB,GAC3D,mBAAmB,CAmOrB"}
|
|
@@ -11,11 +11,13 @@ import { LauncherItemTargetKind } from '../../../core/config/launcher-items.fron
|
|
|
11
11
|
import { resolveItemRef } from '../../../core/navigation/launcher-resolution.js';
|
|
12
12
|
import { useLauncherResolutionContext } from '../../../core/navigation/useLauncherResolutionContext.js';
|
|
13
13
|
import { useUserOrgs } from '../../../core/security/useUserOrgs.js';
|
|
14
|
+
import { accessProfileSwitchableOrganizationIds } from '../../../core/security/effective-permissions.frontend.utils.js';
|
|
15
|
+
import { useOwnOrganizationSearch } from './useOwnOrganizationSearch.js';
|
|
14
16
|
import { useResourceRegistry } from '../../../core/resources/useResourceRegistry.js';
|
|
15
17
|
import { FrontendResourceUtils } from '../../../core/resources/frontend-resource.utils.js';
|
|
16
18
|
import { buildResourceFileServeBaseUrl, buildFileServeThumbnailUrl } from '../../../core/resources/file-serve-url.frontend.utils.js';
|
|
17
19
|
import { useAuthedFileObjectUrl } from '../../../core/resources/useAuthedFileObjectUrl.frontend.hook.js';
|
|
18
|
-
import { CoreResourceType,
|
|
20
|
+
import { CoreResourceType, isRelationshipMembership } from '@wildo-ai/saas-models';
|
|
19
21
|
import { envLoader } from '../../../core/runtime/env-variable-loader.frontend.service.js';
|
|
20
22
|
import { CommonRoutePaths } from '../../../core/runtime/routes.frontend.definitions.js';
|
|
21
23
|
/**
|
|
@@ -24,7 +26,7 @@ import { CommonRoutePaths } from '../../../core/runtime/routes.frontend.definiti
|
|
|
24
26
|
* A literal `?? []` allocates a NEW array on every render, and `settingsTargets`
|
|
25
27
|
* memoizes on this value — so an application that configures `USER_DROPDOWN` as a
|
|
26
28
|
* plain boolean (no config object, so `dropdownConfig` is undefined) would churn
|
|
27
|
-
* the memo
|
|
29
|
+
* the `settingsTargets` memo and every consumer of the returned
|
|
28
30
|
* behavior, forever. The code this replaced depended on a boolean and a string,
|
|
29
31
|
* which are stable by construction; an array is not.
|
|
30
32
|
*/
|
|
@@ -44,7 +46,7 @@ const DEFAULT_SECTIONS = [
|
|
|
44
46
|
*/
|
|
45
47
|
export function useMenuUserOrgBehavior(containerType, containerPlacement) {
|
|
46
48
|
const { appComponentsConfiguration } = useUI();
|
|
47
|
-
const { user, organizations, getCurrentOrganization, setCurrentOrganization, logout, isAuthenticated, } = useUserOrgs();
|
|
49
|
+
const { user, organizations, getCurrentOrganization, setCurrentOrganization, logout, isAuthenticated, permissions, } = useUserOrgs();
|
|
48
50
|
const { registry } = useResourceRegistry();
|
|
49
51
|
const resolutionCtx = useLauncherResolutionContext();
|
|
50
52
|
const routerNavigate = useNavigate();
|
|
@@ -94,8 +96,8 @@ export function useMenuUserOrgBehavior(containerType, containerPlacement) {
|
|
|
94
96
|
* Every entry converges on the unified Settings Hub through the existing
|
|
95
97
|
* typed `SETTINGS_SECTION` launcher ref, so the dropdown gains no navigation
|
|
96
98
|
* semantics of its own — it just names sections. An entry the hub does not
|
|
97
|
-
* declare resolves
|
|
98
|
-
* where an author is told
|
|
99
|
+
* declare still resolves: its row reads its section's label key, which then shows
|
|
100
|
+
* as the missing key it is. The DEV-startup verifier is where an author is told.
|
|
99
101
|
*/
|
|
100
102
|
const settingsTargets = useMemo(() => {
|
|
101
103
|
if (!resolutionCtx)
|
|
@@ -105,16 +107,19 @@ export function useMenuUserOrgBehavior(containerType, containerPlacement) {
|
|
|
105
107
|
return resolved ? [resolved] : [];
|
|
106
108
|
});
|
|
107
109
|
}, [resolutionCtx, settingsEntries]);
|
|
110
|
+
/**
|
|
111
|
+
* The hub ITSELF — always, whatever shortcuts the application authored.
|
|
112
|
+
*
|
|
113
|
+
* It used to be the first authored entry, so an application that added a Profile shortcut lost the way into the rest
|
|
114
|
+
* of Settings from the identity menu, which is where settings live now that no preset puts them in the sidebar.
|
|
115
|
+
* Authored entries are shortcuts INTO the hub; this is the hub.
|
|
116
|
+
*/
|
|
108
117
|
const settingsTarget = useMemo(() => {
|
|
109
118
|
if (!resolutionCtx) {
|
|
110
119
|
return null;
|
|
111
120
|
}
|
|
112
|
-
const firstAuthored = settingsTargets[0];
|
|
113
|
-
if (firstAuthored) {
|
|
114
|
-
return firstAuthored;
|
|
115
|
-
}
|
|
116
121
|
return resolveItemRef({ kind: LauncherItemTargetKind.SETTINGS_SECTION }, resolutionCtx);
|
|
117
|
-
}, [resolutionCtx
|
|
122
|
+
}, [resolutionCtx]);
|
|
118
123
|
const userProfile = user?.userSelfProfile;
|
|
119
124
|
const userInitials = useMemo(() => {
|
|
120
125
|
if (!userProfile) {
|
|
@@ -132,6 +137,15 @@ export function useMenuUserOrgBehavior(containerType, containerPlacement) {
|
|
|
132
137
|
}
|
|
133
138
|
return user.email ?? '';
|
|
134
139
|
}, [user, userProfile]);
|
|
140
|
+
// The person's organizations the list does not hold (#2452): the user context carries only the newest 20
|
|
141
|
+
// memberships. Counted from the access profile's organization-wide entries — the population the search returns.
|
|
142
|
+
const unlistedOrganizationCount = useMemo(() => {
|
|
143
|
+
const listed = new Set((organizations ?? []).map((organization) => String(organization._id)));
|
|
144
|
+
return accessProfileSwitchableOrganizationIds(permissions?.accessProfile)
|
|
145
|
+
.filter((organizationId) => !listed.has(organizationId)).length;
|
|
146
|
+
}, [organizations, permissions?.accessProfile]);
|
|
147
|
+
// Searching applies only while the menu is open and something is unlisted; closing it clears the query.
|
|
148
|
+
const organizationSearch = useOwnOrganizationSearch(isOpen && unlistedOrganizationCount > 0);
|
|
135
149
|
const handleLogout = useCallback(() => {
|
|
136
150
|
setIsOpen(false);
|
|
137
151
|
logout();
|
|
@@ -143,7 +157,7 @@ export function useMenuUserOrgBehavior(containerType, containerPlacement) {
|
|
|
143
157
|
const handleNavigateToSettingsTarget = useCallback((target) => {
|
|
144
158
|
setIsOpen(false);
|
|
145
159
|
// Every settings entry converges on the unified Settings Hub. The hub is
|
|
146
|
-
// URL-driven (`
|
|
160
|
+
// URL-driven (`useSettingsHubOverlaySync` reconstructs it from `/settings`),
|
|
147
161
|
// so navigate by URL only — do NOT push content into PRIMARY, which would
|
|
148
162
|
// double-render the section's panel behind the hub overlay.
|
|
149
163
|
routerNavigate(target.urlPath || CommonRoutePaths.settings);
|
|
@@ -186,16 +200,17 @@ export function useMenuUserOrgBehavior(containerType, containerPlacement) {
|
|
|
186
200
|
}, [registry, user, userProfile, avatarFile?.fileId]);
|
|
187
201
|
const avatarUrl = useAuthedFileObjectUrl(avatarServeUrl) ?? undefined;
|
|
188
202
|
const email = user?.email ?? '';
|
|
189
|
-
// The
|
|
190
|
-
// the membership recorded. Read from the memberships the user context already
|
|
191
|
-
|
|
203
|
+
// The granting organizations this person works in through a representing organization (#1597), keyed to the
|
|
204
|
+
// representing organization's name the membership recorded. Read from the memberships the user context already
|
|
205
|
+
// carries — no request.
|
|
206
|
+
const representingNameByOrganizationId = useMemo(() => {
|
|
192
207
|
const byOrganization = new Map();
|
|
193
208
|
for (const membership of user?.organizationMembers ?? []) {
|
|
194
|
-
if (!
|
|
209
|
+
if (!isRelationshipMembership(membership))
|
|
195
210
|
continue;
|
|
196
|
-
const
|
|
197
|
-
if (typeof
|
|
198
|
-
byOrganization.set(String(membership.organizationId),
|
|
211
|
+
const representingName = membership.representingOrganizationName;
|
|
212
|
+
if (typeof representingName === 'string' && representingName.length > 0)
|
|
213
|
+
byOrganization.set(String(membership.organizationId), representingName);
|
|
199
214
|
}
|
|
200
215
|
return byOrganization;
|
|
201
216
|
}, [user?.organizationMembers]);
|
|
@@ -209,9 +224,15 @@ export function useMenuUserOrgBehavior(containerType, containerPlacement) {
|
|
|
209
224
|
avatarUrl,
|
|
210
225
|
currentOrganization: currentOrganization ? { _id: currentOrganization._id, name: currentOrganization.name } : undefined,
|
|
211
226
|
organizations: (organizations ?? []).map(org => {
|
|
212
|
-
const
|
|
213
|
-
return { _id: org._id, name: org.name, ...(
|
|
227
|
+
const viaOrganizationName = representingNameByOrganizationId.get(String(org._id));
|
|
228
|
+
return { _id: org._id, name: org.name, ...(viaOrganizationName ? { viaOrganizationName } : {}) };
|
|
214
229
|
}),
|
|
230
|
+
unlistedOrganizationCount,
|
|
231
|
+
organizationSearchQuery: organizationSearch.query,
|
|
232
|
+
setOrganizationSearchQuery: organizationSearch.setQuery,
|
|
233
|
+
organizationSearchResults: organizationSearch.results,
|
|
234
|
+
isSearchingOrganizations: organizationSearch.isSearching,
|
|
235
|
+
organizationSearchFailed: organizationSearch.failed,
|
|
215
236
|
sections,
|
|
216
237
|
avatarDisplay,
|
|
217
238
|
showOrgSwitcher,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuUserOrgBehavior.js","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useMenuUserOrgBehavior.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\n\nimport { ApplicationLevelComponentType } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { HorizontalPlacement, VerticalPlacement } from '@wildo-ai/presets-components-models';\nimport {\n UserDropdownAvatarDisplay,\n UserDropdownSection,\n} from '~wildo-frontend-lib/core/config/app-configuration-frontend.schemas';\nimport { HorizontalAlign, type FileMetadata } from '@wildo-ai/zod-decorators';\nimport { PlacementSide } from '@wildo-ai/presets-components-models';\nimport { useLauncherRuntimeAvailabilityContext } from '~wildo-frontend-lib/core/navigation/launcher-runtime-availability';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\nimport { LauncherItemTargetKind } from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport { resolveItemRef, type ResolvedNavigationTarget } from '~wildo-frontend-lib/core/navigation/launcher-resolution';\nimport { useLauncherResolutionContext } from '~wildo-frontend-lib/core/navigation/useLauncherResolutionContext';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { FrontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport { buildResourceFileServeBaseUrl, buildFileServeThumbnailUrl } from '~wildo-frontend-lib/core/resources/file-serve-url.frontend.utils';\nimport { useAuthedFileObjectUrl } from '~wildo-frontend-lib/core/resources/useAuthedFileObjectUrl.frontend.hook';\nimport { CoreResourceType, isServiceProviderMembership } from '@wildo-ai/saas-models';\nimport { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\nimport { CommonRoutePaths } from '~wildo-frontend-lib/core/runtime/routes.frontend.definitions';\n\nimport type { MenuUserOrgBehavior } from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\n\n/** Dropdown config shape extracted from component config (avatarDisplay, sections, etc.). */\ninterface UserDropdownConfiguration {\n avatarDisplay?: UserDropdownAvatarDisplay;\n /**\n * `PREFERENCES` and `SETTINGS` currently affect the same effective settings\n * block. `PREFERENCES` changes labeling when `SETTINGS` is absent; it does not\n * introduce a second independent destination.\n */\n sections?: UserDropdownSection[];\n showOrgSwitcher?: boolean;\n showLogout?: boolean;\n /**\n * Settings-hub section refs to surface inline in the dropdown, in order.\n *\n * Names the SETTINGS vocabulary directly. The previous design took a SIDEBAR\n * section ref and string-matched it (`s.ref === settingsSectionRef`), which\n * made the dropdown's contents a side effect of how the sidebar happened to be\n * arranged — two separate vocabularies joined by a magic string, so moving a\n * sidebar section silently emptied the dropdown.\n *\n * Empty or omitted renders the single \"Settings\" button that opens the hub.\n * There is deliberately no separate `mergeSettings` flag: the presence of\n * entries IS the intent, and a boolean beside a list can only ever disagree\n * with it.\n */\n settingsEntries?: readonly string[];\n}\n\n/**\n * Stable empty entries, shared by both read sites.\n *\n * A literal `?? []` allocates a NEW array on every render, and `settingsTargets`\n * memoizes on this value — so an application that configures `USER_DROPDOWN` as a\n * plain boolean (no config object, so `dropdownConfig` is undefined) would churn\n * the memo, its dependent `settingsTarget`, and every consumer of the returned\n * behavior, forever. The code this replaced depended on a boolean and a string,\n * which are stable by construction; an array is not.\n */\nconst NO_SETTINGS_ENTRIES: readonly string[] = Object.freeze([]);\n\nfunction isUserDropdownConfigObject(config: unknown): config is UserDropdownConfiguration {\n return typeof config === 'object' && config !== null;\n}\n\nconst DEFAULT_SECTIONS: UserDropdownSection[] = [\n UserDropdownSection.USER_INFO,\n UserDropdownSection.ORG_SWITCHER,\n UserDropdownSection.SETTINGS,\n UserDropdownSection.LOGOUT,\n];\n\n\n/**\n * Behavior hook for MenuUserOrg — manages user/org data, dropdown config\n * resolution, popup alignment computation, and navigation handlers.\n */\nexport function useMenuUserOrgBehavior(\n containerType?: ApplicationLevelComponentType,\n containerPlacement?: HorizontalPlacement | VerticalPlacement\n): MenuUserOrgBehavior {\n const { appComponentsConfiguration } = useUI();\n const {\n user,\n organizations,\n getCurrentOrganization,\n setCurrentOrganization,\n logout,\n isAuthenticated,\n } = useUserOrgs();\n const { registry } = useResourceRegistry();\n const resolutionCtx = useLauncherResolutionContext();\n const routerNavigate = useNavigate();\n const runtimeAvailabilityContext = useLauncherRuntimeAvailabilityContext();\n\n const [isOpen, setIsOpen] = useState(false);\n\n const config = appComponentsConfiguration?.[ApplicationLevelComponentType.USER_DROPDOWN];\n\n const dropdownConfig = useMemo((): UserDropdownConfiguration | undefined => {\n const componentConfig = isUserDropdownConfigObject(config) ? config : undefined;\n\n if (!componentConfig) {\n return undefined;\n }\n\n return {\n avatarDisplay: componentConfig.avatarDisplay ?? UserDropdownAvatarDisplay.AVATAR_ONLY,\n sections: componentConfig.sections ?? DEFAULT_SECTIONS,\n showOrgSwitcher: componentConfig.showOrgSwitcher ?? true,\n showLogout: componentConfig.showLogout ?? true,\n settingsEntries: componentConfig.settingsEntries ?? NO_SETTINGS_ENTRIES,\n };\n }, [config]);\n\n const currentOrganization = getCurrentOrganization();\n\n const sections = dropdownConfig?.sections ?? DEFAULT_SECTIONS;\n const avatarDisplay = dropdownConfig?.avatarDisplay ?? UserDropdownAvatarDisplay.AVATAR_ONLY;\n const showOrgSwitcher = dropdownConfig?.showOrgSwitcher !== false;\n const showLogout = dropdownConfig?.showLogout !== false;\n const settingsEntries = dropdownConfig?.settingsEntries ?? NO_SETTINGS_ENTRIES;\n const activeMode = runtimeAvailabilityContext.activeMode;\n const availableModes = runtimeAvailabilityContext.availableModes;\n const allScopeValues = runtimeAvailabilityContext.allScopeValues;\n\n const popupAlignment = useMemo(() => {\n if (containerType === ApplicationLevelComponentType.MENUBAR) {\n if (containerPlacement === HorizontalPlacement.END) {\n return { align: HorizontalAlign.END, side: PlacementSide.BOTTOM };\n }\n return { align: HorizontalAlign.START, side: PlacementSide.BOTTOM };\n }\n\n if (containerType === ApplicationLevelComponentType.SIDEBAR) {\n if (containerPlacement === VerticalPlacement.BOTTOM) {\n return { align: HorizontalAlign.END, side: PlacementSide.END };\n }\n return { align: HorizontalAlign.START, side: PlacementSide.END };\n }\n\n return { align: HorizontalAlign.END, side: PlacementSide.BOTTOM };\n }, [containerType, containerPlacement]);\n\n\n /**\n * Resolve each authored settings-hub section ref to a navigation target.\n *\n * Every entry converges on the unified Settings Hub through the existing\n * typed `SETTINGS_SECTION` launcher ref, so the dropdown gains no navigation\n * semantics of its own — it just names sections. An entry the hub does not\n * declare resolves to nothing and is dropped here; the DEV-startup verifier is\n * where an author is told about it.\n */\n const settingsTargets = useMemo((): ResolvedNavigationTarget[] => {\n if (!resolutionCtx) return [];\n\n return settingsEntries.flatMap(sectionRef => {\n const resolved = resolveItemRef(\n { kind: LauncherItemTargetKind.SETTINGS_SECTION, sectionRef },\n resolutionCtx,\n );\n return resolved ? [resolved] : [];\n });\n }, [resolutionCtx, settingsEntries]);\n\n const settingsTarget = useMemo((): ResolvedNavigationTarget | null => {\n if (!resolutionCtx) {\n return null;\n }\n\n const firstAuthored = settingsTargets[0];\n if (firstAuthored) {\n return firstAuthored;\n }\n\n return resolveItemRef(\n { kind: LauncherItemTargetKind.SETTINGS_SECTION },\n resolutionCtx,\n );\n }, [resolutionCtx, settingsTargets]);\n\n const userProfile = user?.userSelfProfile;\n\n const userInitials = useMemo(() => {\n if (!userProfile) {\n return user?.email?.charAt(0).toUpperCase() || '?';\n }\n const firstName = userProfile.firstName ?? '';\n const lastName = userProfile.lastName ?? '';\n return `${firstName.charAt(0)}${lastName.charAt(0)}`.toUpperCase() || user?.email?.charAt(0).toUpperCase() || '?';\n }, [user, userProfile]);\n\n const displayName = useMemo(() => {\n if (!user) return '';\n if (userProfile?.firstName && userProfile?.lastName) {\n return `${userProfile.firstName} ${userProfile.lastName}`;\n }\n return user.email ?? '';\n }, [user, userProfile]);\n\n const handleLogout = useCallback(() => {\n setIsOpen(false);\n logout();\n }, [logout]);\n\n const handleSwitchOrg = useCallback((orgId: string) => {\n setIsOpen(false);\n setCurrentOrganization(orgId);\n }, [setCurrentOrganization]);\n\n const handleNavigateToSettingsTarget = useCallback((target: ResolvedNavigationTarget) => {\n setIsOpen(false);\n // Every settings entry converges on the unified Settings Hub. The hub is\n // URL-driven (`useSettingsHubRouterSync` reconstructs it from `/settings`),\n // so navigate by URL only — do NOT push content into PRIMARY, which would\n // double-render the section's panel behind the hub overlay.\n routerNavigate(target.urlPath || CommonRoutePaths.settings);\n }, [routerNavigate]);\n\n // Avatar image for the nav. `avatar` is a `z_file()` ref/metadata carrying `fileId`,\n // but its bytes live behind the AUTHENTICATED resource-integrated serve route (an\n // `<img>` can't send the bearer, and the persisted `url`/`thumbnailUrl` are unused).\n // So build the same serve URL the profile display uses — for the CURRENT user's own\n // profile: `/user-user-self/{userId}/user-self-profile/{profileId}/files/avatar/{fileId}`\n // — then fetch the bytes → object URL. Falls back to `undefined` (→ initials) when the\n // avatar is unset or the route can't be resolved.\n const avatarFile = userProfile?.avatar as unknown as FileMetadata | undefined;\n const avatarServeUrl = useMemo<string | null>(() => {\n const userId = String((userProfile as Record<string, unknown> | undefined)?.userId ?? (user as Record<string, unknown> | undefined)?._id ?? '');\n const profileId = String((userProfile as Record<string, unknown> | undefined)?._id ?? '');\n const avatarFileId = avatarFile?.fileId;\n if (!registry || !userId || !profileId || !avatarFileId) return null;\n const resourceConfig = registry.resourceConfigurations?.[CoreResourceType.USER_SELF_PROFILES];\n const readOp = FrontendResourceUtils.resolveSingleResourceReadOperation(CoreResourceType.USER_SELF_PROFILES, registry);\n if (!resourceConfig || !readOp) return null;\n const contextResourceIdentifiers = { [CoreResourceType.USER_SELF]: userId };\n const serveBase = buildResourceFileServeBaseUrl({\n registry,\n resourceConfig,\n operation: readOp,\n resourceType: CoreResourceType.USER_SELF_PROFILES,\n fieldName: 'avatar',\n recordId: profileId,\n contextResourceIdentifiers,\n contextualParameters: FrontendResourceUtils.buildContextualParameters(contextResourceIdentifiers, registry),\n apiBaseUrl: envLoader.getApiUrl(),\n });\n if (!serveBase) return null;\n // The nav avatar is tiny — request the downscaled `?variant=thumbnail` rendition\n // rather than pulling the original bytes.\n return buildFileServeThumbnailUrl(`${serveBase}/${encodeURIComponent(avatarFileId)}`);\n }, [registry, user, userProfile, avatarFile?.fileId]);\n const avatarUrl = useAuthedFileObjectUrl(avatarServeUrl) ?? undefined;\n const email = user?.email ?? '';\n // The client organizations this person works in through a service firm (#1597), keyed to the firm's name\n // the membership recorded. Read from the memberships the user context already carries — no request.\n const providerNameByOrganizationId = useMemo(() => {\n const byOrganization = new Map<string, string>();\n for (const membership of user?.organizationMembers ?? []) {\n if (!isServiceProviderMembership(membership)) continue;\n const firmName = (membership as { providerOrganizationName?: unknown }).providerOrganizationName;\n if (typeof firmName === 'string' && firmName.length > 0) byOrganization.set(String(membership.organizationId), firmName);\n }\n return byOrganization;\n }, [user?.organizationMembers]);\n\n return {\n isOpen,\n setIsOpen,\n isUserAuthenticated: isAuthenticated() && !!user,\n userInitials,\n displayName,\n email,\n avatarUrl,\n currentOrganization: currentOrganization ? { _id: currentOrganization._id, name: currentOrganization.name } : undefined,\n organizations: (organizations ?? []).map(org => {\n const viaProviderOrganizationName = providerNameByOrganizationId.get(String(org._id));\n return { _id: org._id, name: org.name, ...(viaProviderOrganizationName ? { viaProviderOrganizationName } : {}) };\n }),\n sections,\n avatarDisplay,\n showOrgSwitcher,\n showLogout,\n settingsTarget,\n settingsTargets,\n popupAlignment,\n handleLogout,\n handleSwitchOrg,\n handleNavigateToSettingsTarget,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"useMenuUserOrgBehavior.js","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useMenuUserOrgBehavior.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\n\nimport { ApplicationLevelComponentType } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { HorizontalPlacement, VerticalPlacement } from '@wildo-ai/presets-components-models';\nimport {\n UserDropdownAvatarDisplay,\n UserDropdownSection,\n} from '~wildo-frontend-lib/core/config/app-configuration-frontend.schemas';\nimport { HorizontalAlign, type FileMetadata } from '@wildo-ai/zod-decorators';\nimport { PlacementSide } from '@wildo-ai/presets-components-models';\nimport { useLauncherRuntimeAvailabilityContext } from '~wildo-frontend-lib/core/navigation/launcher-runtime-availability';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\nimport { LauncherItemTargetKind } from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport { resolveItemRef, type ResolvedNavigationTarget } from '~wildo-frontend-lib/core/navigation/launcher-resolution';\nimport { useLauncherResolutionContext } from '~wildo-frontend-lib/core/navigation/useLauncherResolutionContext';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { accessProfileSwitchableOrganizationIds } from '~wildo-frontend-lib/core/security/effective-permissions.frontend.utils';\nimport { useOwnOrganizationSearch } from './useOwnOrganizationSearch';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { FrontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport { buildResourceFileServeBaseUrl, buildFileServeThumbnailUrl } from '~wildo-frontend-lib/core/resources/file-serve-url.frontend.utils';\nimport { useAuthedFileObjectUrl } from '~wildo-frontend-lib/core/resources/useAuthedFileObjectUrl.frontend.hook';\nimport { CoreResourceType, isRelationshipMembership } from '@wildo-ai/saas-models';\nimport { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\nimport { CommonRoutePaths } from '~wildo-frontend-lib/core/runtime/routes.frontend.definitions';\n\nimport type { MenuUserOrgBehavior } from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\n\n/** Dropdown config shape extracted from component config (avatarDisplay, sections, etc.). */\ninterface UserDropdownConfiguration {\n avatarDisplay?: UserDropdownAvatarDisplay;\n /**\n * `PREFERENCES` and `SETTINGS` currently affect the same effective settings\n * block. `PREFERENCES` changes labeling when `SETTINGS` is absent; it does not\n * introduce a second independent destination.\n */\n sections?: UserDropdownSection[];\n showOrgSwitcher?: boolean;\n showLogout?: boolean;\n /**\n * Settings-hub section refs to surface inline in the dropdown, in order.\n *\n * Names the SETTINGS vocabulary directly. The previous design took a SIDEBAR\n * section ref and string-matched it (`s.ref === settingsSectionRef`), which\n * made the dropdown's contents a side effect of how the sidebar happened to be\n * arranged — two separate vocabularies joined by a magic string, so moving a\n * sidebar section silently emptied the dropdown.\n *\n * Empty or omitted renders the single \"Settings\" button that opens the hub.\n * There is deliberately no separate `mergeSettings` flag: the presence of\n * entries IS the intent, and a boolean beside a list can only ever disagree\n * with it.\n */\n settingsEntries?: readonly string[];\n}\n\n/**\n * Stable empty entries, shared by both read sites.\n *\n * A literal `?? []` allocates a NEW array on every render, and `settingsTargets`\n * memoizes on this value — so an application that configures `USER_DROPDOWN` as a\n * plain boolean (no config object, so `dropdownConfig` is undefined) would churn\n * the `settingsTargets` memo and every consumer of the returned\n * behavior, forever. The code this replaced depended on a boolean and a string,\n * which are stable by construction; an array is not.\n */\nconst NO_SETTINGS_ENTRIES: readonly string[] = Object.freeze([]);\n\nfunction isUserDropdownConfigObject(config: unknown): config is UserDropdownConfiguration {\n return typeof config === 'object' && config !== null;\n}\n\nconst DEFAULT_SECTIONS: UserDropdownSection[] = [\n UserDropdownSection.USER_INFO,\n UserDropdownSection.ORG_SWITCHER,\n UserDropdownSection.SETTINGS,\n UserDropdownSection.LOGOUT,\n];\n\n\n/**\n * Behavior hook for MenuUserOrg — manages user/org data, dropdown config\n * resolution, popup alignment computation, and navigation handlers.\n */\nexport function useMenuUserOrgBehavior(\n containerType?: ApplicationLevelComponentType,\n containerPlacement?: HorizontalPlacement | VerticalPlacement\n): MenuUserOrgBehavior {\n const { appComponentsConfiguration } = useUI();\n const {\n user,\n organizations,\n getCurrentOrganization,\n setCurrentOrganization,\n logout,\n isAuthenticated,\n permissions,\n } = useUserOrgs();\n const { registry } = useResourceRegistry();\n const resolutionCtx = useLauncherResolutionContext();\n const routerNavigate = useNavigate();\n const runtimeAvailabilityContext = useLauncherRuntimeAvailabilityContext();\n\n const [isOpen, setIsOpen] = useState(false);\n\n const config = appComponentsConfiguration?.[ApplicationLevelComponentType.USER_DROPDOWN];\n\n const dropdownConfig = useMemo((): UserDropdownConfiguration | undefined => {\n const componentConfig = isUserDropdownConfigObject(config) ? config : undefined;\n\n if (!componentConfig) {\n return undefined;\n }\n\n return {\n avatarDisplay: componentConfig.avatarDisplay ?? UserDropdownAvatarDisplay.AVATAR_ONLY,\n sections: componentConfig.sections ?? DEFAULT_SECTIONS,\n showOrgSwitcher: componentConfig.showOrgSwitcher ?? true,\n showLogout: componentConfig.showLogout ?? true,\n settingsEntries: componentConfig.settingsEntries ?? NO_SETTINGS_ENTRIES,\n };\n }, [config]);\n\n const currentOrganization = getCurrentOrganization();\n\n const sections = dropdownConfig?.sections ?? DEFAULT_SECTIONS;\n const avatarDisplay = dropdownConfig?.avatarDisplay ?? UserDropdownAvatarDisplay.AVATAR_ONLY;\n const showOrgSwitcher = dropdownConfig?.showOrgSwitcher !== false;\n const showLogout = dropdownConfig?.showLogout !== false;\n const settingsEntries = dropdownConfig?.settingsEntries ?? NO_SETTINGS_ENTRIES;\n const activeMode = runtimeAvailabilityContext.activeMode;\n const availableModes = runtimeAvailabilityContext.availableModes;\n const allScopeValues = runtimeAvailabilityContext.allScopeValues;\n\n const popupAlignment = useMemo(() => {\n if (containerType === ApplicationLevelComponentType.MENUBAR) {\n if (containerPlacement === HorizontalPlacement.END) {\n return { align: HorizontalAlign.END, side: PlacementSide.BOTTOM };\n }\n return { align: HorizontalAlign.START, side: PlacementSide.BOTTOM };\n }\n\n if (containerType === ApplicationLevelComponentType.SIDEBAR) {\n if (containerPlacement === VerticalPlacement.BOTTOM) {\n return { align: HorizontalAlign.END, side: PlacementSide.END };\n }\n return { align: HorizontalAlign.START, side: PlacementSide.END };\n }\n\n return { align: HorizontalAlign.END, side: PlacementSide.BOTTOM };\n }, [containerType, containerPlacement]);\n\n\n /**\n * Resolve each authored settings-hub section ref to a navigation target.\n *\n * Every entry converges on the unified Settings Hub through the existing\n * typed `SETTINGS_SECTION` launcher ref, so the dropdown gains no navigation\n * semantics of its own — it just names sections. An entry the hub does not\n * declare still resolves: its row reads its section's label key, which then shows\n * as the missing key it is. The DEV-startup verifier is where an author is told.\n */\n const settingsTargets = useMemo((): ResolvedNavigationTarget[] => {\n if (!resolutionCtx) return [];\n\n return settingsEntries.flatMap(sectionRef => {\n const resolved = resolveItemRef(\n { kind: LauncherItemTargetKind.SETTINGS_SECTION, sectionRef },\n resolutionCtx,\n );\n return resolved ? [resolved] : [];\n });\n }, [resolutionCtx, settingsEntries]);\n\n /**\n * The hub ITSELF — always, whatever shortcuts the application authored.\n *\n * It used to be the first authored entry, so an application that added a Profile shortcut lost the way into the rest\n * of Settings from the identity menu, which is where settings live now that no preset puts them in the sidebar.\n * Authored entries are shortcuts INTO the hub; this is the hub.\n */\n const settingsTarget = useMemo((): ResolvedNavigationTarget | null => {\n if (!resolutionCtx) {\n return null;\n }\n return resolveItemRef({ kind: LauncherItemTargetKind.SETTINGS_SECTION }, resolutionCtx);\n }, [resolutionCtx]);\n\n const userProfile = user?.userSelfProfile;\n\n const userInitials = useMemo(() => {\n if (!userProfile) {\n return user?.email?.charAt(0).toUpperCase() || '?';\n }\n const firstName = userProfile.firstName ?? '';\n const lastName = userProfile.lastName ?? '';\n return `${firstName.charAt(0)}${lastName.charAt(0)}`.toUpperCase() || user?.email?.charAt(0).toUpperCase() || '?';\n }, [user, userProfile]);\n\n const displayName = useMemo(() => {\n if (!user) return '';\n if (userProfile?.firstName && userProfile?.lastName) {\n return `${userProfile.firstName} ${userProfile.lastName}`;\n }\n return user.email ?? '';\n }, [user, userProfile]);\n\n // The person's organizations the list does not hold (#2452): the user context carries only the newest 20\n // memberships. Counted from the access profile's organization-wide entries — the population the search returns.\n const unlistedOrganizationCount = useMemo(() => {\n const listed = new Set((organizations ?? []).map((organization) => String(organization._id)));\n return accessProfileSwitchableOrganizationIds(permissions?.accessProfile)\n .filter((organizationId) => !listed.has(organizationId)).length;\n }, [organizations, permissions?.accessProfile]);\n // Searching applies only while the menu is open and something is unlisted; closing it clears the query.\n const organizationSearch = useOwnOrganizationSearch(isOpen && unlistedOrganizationCount > 0);\n\n const handleLogout = useCallback(() => {\n setIsOpen(false);\n logout();\n }, [logout]);\n\n const handleSwitchOrg = useCallback((orgId: string) => {\n setIsOpen(false);\n setCurrentOrganization(orgId);\n }, [setCurrentOrganization]);\n\n const handleNavigateToSettingsTarget = useCallback((target: ResolvedNavigationTarget) => {\n setIsOpen(false);\n // Every settings entry converges on the unified Settings Hub. The hub is\n // URL-driven (`useSettingsHubOverlaySync` reconstructs it from `/settings`),\n // so navigate by URL only — do NOT push content into PRIMARY, which would\n // double-render the section's panel behind the hub overlay.\n routerNavigate(target.urlPath || CommonRoutePaths.settings);\n }, [routerNavigate]);\n\n // Avatar image for the nav. `avatar` is a `z_file()` ref/metadata carrying `fileId`,\n // but its bytes live behind the AUTHENTICATED resource-integrated serve route (an\n // `<img>` can't send the bearer, and the persisted `url`/`thumbnailUrl` are unused).\n // So build the same serve URL the profile display uses — for the CURRENT user's own\n // profile: `/user-user-self/{userId}/user-self-profile/{profileId}/files/avatar/{fileId}`\n // — then fetch the bytes → object URL. Falls back to `undefined` (→ initials) when the\n // avatar is unset or the route can't be resolved.\n const avatarFile = userProfile?.avatar as unknown as FileMetadata | undefined;\n const avatarServeUrl = useMemo<string | null>(() => {\n const userId = String((userProfile as Record<string, unknown> | undefined)?.userId ?? (user as Record<string, unknown> | undefined)?._id ?? '');\n const profileId = String((userProfile as Record<string, unknown> | undefined)?._id ?? '');\n const avatarFileId = avatarFile?.fileId;\n if (!registry || !userId || !profileId || !avatarFileId) return null;\n const resourceConfig = registry.resourceConfigurations?.[CoreResourceType.USER_SELF_PROFILES];\n const readOp = FrontendResourceUtils.resolveSingleResourceReadOperation(CoreResourceType.USER_SELF_PROFILES, registry);\n if (!resourceConfig || !readOp) return null;\n const contextResourceIdentifiers = { [CoreResourceType.USER_SELF]: userId };\n const serveBase = buildResourceFileServeBaseUrl({\n registry,\n resourceConfig,\n operation: readOp,\n resourceType: CoreResourceType.USER_SELF_PROFILES,\n fieldName: 'avatar',\n recordId: profileId,\n contextResourceIdentifiers,\n contextualParameters: FrontendResourceUtils.buildContextualParameters(contextResourceIdentifiers, registry),\n apiBaseUrl: envLoader.getApiUrl(),\n });\n if (!serveBase) return null;\n // The nav avatar is tiny — request the downscaled `?variant=thumbnail` rendition\n // rather than pulling the original bytes.\n return buildFileServeThumbnailUrl(`${serveBase}/${encodeURIComponent(avatarFileId)}`);\n }, [registry, user, userProfile, avatarFile?.fileId]);\n const avatarUrl = useAuthedFileObjectUrl(avatarServeUrl) ?? undefined;\n const email = user?.email ?? '';\n // The granting organizations this person works in through a representing organization (#1597), keyed to the\n // representing organization's name the membership recorded. Read from the memberships the user context already\n // carries — no request.\n const representingNameByOrganizationId = useMemo(() => {\n const byOrganization = new Map<string, string>();\n for (const membership of user?.organizationMembers ?? []) {\n if (!isRelationshipMembership(membership)) continue;\n const representingName = (membership as { representingOrganizationName?: unknown }).representingOrganizationName;\n if (typeof representingName === 'string' && representingName.length > 0) byOrganization.set(String(membership.organizationId), representingName);\n }\n return byOrganization;\n }, [user?.organizationMembers]);\n\n return {\n isOpen,\n setIsOpen,\n isUserAuthenticated: isAuthenticated() && !!user,\n userInitials,\n displayName,\n email,\n avatarUrl,\n currentOrganization: currentOrganization ? { _id: currentOrganization._id, name: currentOrganization.name } : undefined,\n organizations: (organizations ?? []).map(org => {\n const viaOrganizationName = representingNameByOrganizationId.get(String(org._id));\n return { _id: org._id, name: org.name, ...(viaOrganizationName ? { viaOrganizationName } : {}) };\n }),\n unlistedOrganizationCount,\n organizationSearchQuery: organizationSearch.query,\n setOrganizationSearchQuery: organizationSearch.setQuery,\n organizationSearchResults: organizationSearch.results,\n isSearchingOrganizations: organizationSearch.isSearching,\n organizationSearchFailed: organizationSearch.failed,\n sections,\n avatarDisplay,\n showOrgSwitcher,\n showLogout,\n settingsTarget,\n settingsTargets,\n popupAlignment,\n handleLogout,\n handleSwitchOrg,\n handleNavigateToSettingsTarget,\n };\n}\n"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { NavigationBehaviors } from '../../../core/app-shell/app-shell.schemas';
|
|
2
2
|
/**
|
|
3
|
-
* Standalone navigation behavior hook — provides active-state checking,
|
|
4
|
-
* display policy evaluation, click dispatch, and home navigation.
|
|
3
|
+
* Standalone navigation behavior hook — provides active-state checking, click dispatch, and home navigation.
|
|
5
4
|
*
|
|
6
5
|
* This hook is completely independent of item fetching. It does not call
|
|
7
6
|
* any scan-based item discovery. Consumers provide their own items from
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavigationBehaviors.d.ts","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useNavigationBehaviors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useNavigationBehaviors.d.ts","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useNavigationBehaviors.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAEhG;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,CAuC5D"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { useCallback, useMemo } from 'react';
|
|
2
2
|
import { useLocation, useNavigate } from 'react-router-dom';
|
|
3
|
-
import { SidebarItemDisplayPolicy, } from '../../../core/config/app-level-components.frontend.schemas.js';
|
|
4
3
|
import { useEventBus } from '../../../core/events/useEventBus.js';
|
|
5
4
|
import { EnginePageRef, ENGINE_PAGE_METADATA, } from '../../../core/config/launcher-items.frontend.schemas.js';
|
|
6
5
|
import { NavigationUtils } from '../../../core/navigation/navigation.utils.js';
|
|
@@ -8,8 +7,7 @@ import { navigateHomeWithFreshStart } from '../../../core/navigation/navigation-
|
|
|
8
7
|
import { useNavigationController } from '../../../core/navigation/useNavigationController.js';
|
|
9
8
|
import { useNavigationState } from '../../../core/navigation/useNavigationState.js';
|
|
10
9
|
/**
|
|
11
|
-
* Standalone navigation behavior hook — provides active-state checking,
|
|
12
|
-
* display policy evaluation, click dispatch, and home navigation.
|
|
10
|
+
* Standalone navigation behavior hook — provides active-state checking, click dispatch, and home navigation.
|
|
13
11
|
*
|
|
14
12
|
* This hook is completely independent of item fetching. It does not call
|
|
15
13
|
* any scan-based item discovery. Consumers provide their own items from
|
|
@@ -25,17 +23,6 @@ export function useNavigationBehaviors() {
|
|
|
25
23
|
const { navigate } = useNavigationController();
|
|
26
24
|
const { isNavigationItemActive } = useNavigationState();
|
|
27
25
|
const { emit } = useEventBus();
|
|
28
|
-
const shouldShowItem = useCallback((item) => {
|
|
29
|
-
const policy = item.displayPolicy ?? SidebarItemDisplayPolicy.ALWAYS;
|
|
30
|
-
switch (policy) {
|
|
31
|
-
case SidebarItemDisplayPolicy.ALWAYS:
|
|
32
|
-
return 'visible';
|
|
33
|
-
case SidebarItemDisplayPolicy.SECTION_MORE_MENU:
|
|
34
|
-
return 'more_menu';
|
|
35
|
-
default:
|
|
36
|
-
return 'visible';
|
|
37
|
-
}
|
|
38
|
-
}, []);
|
|
39
26
|
const handleNavigationClick = useCallback((item, launcher) => {
|
|
40
27
|
NavigationUtils.dispatchNavigationForItem(navigate, item, launcher);
|
|
41
28
|
}, [navigate]);
|
|
@@ -57,7 +44,6 @@ export function useNavigationBehaviors() {
|
|
|
57
44
|
}, [location.pathname, homePath]);
|
|
58
45
|
return {
|
|
59
46
|
isNavigationItemActive,
|
|
60
|
-
shouldShowItem,
|
|
61
47
|
handleNavigationClick,
|
|
62
48
|
handleHomeClick,
|
|
63
49
|
isHomeActive,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavigationBehaviors.js","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useNavigationBehaviors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"useNavigationBehaviors.js","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useNavigationBehaviors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EACL,aAAa,EACb,oBAAoB,GACrB,MAAM,iEAAiE,CAAC;AAKzE,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2EAA2E,CAAC;AACvH,OAAO,EAAE,uBAAuB,EAAE,MAAM,6DAA6D,CAAC;AACtG,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAI5F;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,cAAc,GAAG,WAAW,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAChE,MAAM,EAAE,QAAQ,EAAE,GAAG,uBAAuB,EAAE,CAAC;IAC/C,MAAM,EAAE,sBAAsB,EAAE,GAAG,kBAAkB,EAAE,CAAC;IACxD,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,IAAuB,EAAE,QAAuC,EAAE,EAAE;QACnE,eAAe,CAAC,yBAAyB,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtE,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF;;;;OAIG;IACH,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,0BAA0B,CAAC;YACzB,IAAI;YACJ,cAAc;YACd,QAAQ;SACT,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC5B,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,QAAQ,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAElC,OAAO;QACL,sBAAsB;QACtB,qBAAqB;QACrB,eAAe;QACf,YAAY;KACb,CAAC;AACJ,CAAC","sourcesContent":["import { useCallback, useMemo } from 'react';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport type { ApplicationLevelComponentType } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport {\n EnginePageRef,\n ENGINE_PAGE_METADATA,\n} from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport {\n NavigationZone,\n type AnyNavigationItem,\n} from '~wildo-frontend-lib/core/navigation/navigation.schemas';\nimport { NavigationUtils } from '~wildo-frontend-lib/core/navigation/navigation.utils';\nimport { navigateHomeWithFreshStart } from '~wildo-frontend-lib/core/navigation/navigation-clean-break.frontend.utils';\nimport { useNavigationController } from '~wildo-frontend-lib/core/navigation/useNavigationController';\nimport { useNavigationState } from '~wildo-frontend-lib/core/navigation/useNavigationState';\n\nimport type { NavigationBehaviors } from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\n\n/**\n * Standalone navigation behavior hook — provides active-state checking, click dispatch, and home navigation.\n *\n * This hook is completely independent of item fetching. It does not call\n * any scan-based item discovery. Consumers provide their own items from\n * per-launcher resolution (declared `contentSections`, `commands`, `tools`, etc.).\n *\n * `handleNavigationClick` requires `launcher` as a second parameter since\n * this hook is not scoped to a single launcher.\n */\nexport function useNavigationBehaviors(): NavigationBehaviors {\n const routerNavigate = useNavigate();\n const location = useLocation();\n const homePath = ENGINE_PAGE_METADATA[EnginePageRef.HOME].route;\n const { navigate } = useNavigationController();\n const { isNavigationItemActive } = useNavigationState();\n const { emit } = useEventBus();\n\n const handleNavigationClick = useCallback(\n (item: AnyNavigationItem, launcher: ApplicationLevelComponentType) => {\n NavigationUtils.dispatchNavigationForItem(navigate, item, launcher);\n },\n [navigate],\n );\n\n /**\n * Home navigation — clears all panes and navigates to the engine home route\n * (`ENGINE_PAGE_ROUTES[EnginePageRef.HOME]`). Wrapped in a NavigationTransaction\n * to prevent useRouterSync from re-populating stale content during the transition.\n */\n const handleHomeClick = useCallback(() => {\n navigateHomeWithFreshStart({\n emit,\n routerNavigate,\n homePath,\n });\n }, [emit, routerNavigate, homePath]);\n\n const isHomeActive = useMemo(() => {\n const p = location.pathname;\n return p === homePath || (homePath === '/' && p === '');\n }, [location.pathname, homePath]);\n\n return {\n isNavigationItemActive,\n handleNavigationClick,\n handleHomeClick,\n isHomeActive,\n };\n}\n"]}
|