@wildo-ai/saas-frontend-lib 1.1.2 → 1.1.4
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/browser-bootstrap/theme-bootstrap.d.ts.map +1 -1
- package/dist/esm/browser-bootstrap/theme-bootstrap.js.map +1 -1
- package/dist/esm/browser-bootstrap.exports.d.ts.map +1 -1
- package/dist/esm/browser-bootstrap.exports.js.map +1 -1
- package/dist/esm/companion-exports.d.ts +1 -1
- package/dist/esm/companion-exports.d.ts.map +1 -1
- package/dist/esm/companion-exports.js +1 -1
- package/dist/esm/companion-exports.js.map +1 -1
- package/dist/esm/companion-runtime-exports.d.ts.map +1 -1
- package/dist/esm/companion-runtime-exports.js.map +1 -1
- package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
- package/dist/esm/components/actions/action-bar.js.map +1 -1
- package/dist/esm/components/actions/action-button.d.ts.map +1 -1
- package/dist/esm/components/actions/action-button.js.map +1 -1
- package/dist/esm/components/actions/button-group.d.ts.map +1 -1
- package/dist/esm/components/actions/button-group.js.map +1 -1
- package/dist/esm/components/actions/button.d.ts.map +1 -1
- package/dist/esm/components/actions/button.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-list.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-list.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/image.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.d.ts +28 -3
- 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/confirmation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/confirmation.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent-wrappers.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.js.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.js.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.js.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.js.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.js.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.js.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.js.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.labels.js.map +1 -1
- package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
- package/dist/esm/components/app/AppLayout_NotificationCenter.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_NotificationCenter.js +7 -2
- package/dist/esm/components/app/AppLayout_NotificationCenter.js.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.js.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.js.map +1 -1
- package/dist/esm/components/app/AppPage_Home.d.ts.map +1 -1
- package/dist/esm/components/app/AppPage_Home.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_MainContainer.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_MainContainer.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_Terms.labels.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_Terms.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.js.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.js.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.js.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.js.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.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.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.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.js.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.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.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.js.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.js.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.labels.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/auth/Auth_Register.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
- 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.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.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.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.js.map +1 -1
- package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/enrollment-method-components.js.map +1 -1
- package/dist/esm/components/auth/methods/EmailOtpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/EmailOtpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/MagicLinkAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/MagicLinkAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/OrgOidcAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgOidcAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/PasskeyAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/PasskeyAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/PasswordAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/PasswordAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/SmsOtpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/SmsOtpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/TotpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/TotpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/auth-method-components.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/auth-method-components.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthCallback.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthExchange.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthExchange.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Invitation.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Invitation.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Main.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OneOffSession.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OneOffSession.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_PasswordLost.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_PasswordLost.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Register.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Register.js.map +1 -1
- package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.js.map +1 -1
- package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.js.map +1 -1
- package/dist/esm/components/auth/utils/LabeledDivider.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/LabeledDivider.js.map +1 -1
- package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/OAuthProvidersSection.js.map +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js.map +1 -1
- package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.js.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/DisplayContextKindContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayContextKindContext.js.map +1 -1
- package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayField.js +8 -5
- package/dist/esm/components/data-display/DisplayField.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.js +6 -2
- package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js.map +1 -1
- package/dist/esm/components/data-display/DisplayTemplateContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayTemplateContext.js.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/SummaryContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/SummaryContext.js.map +1 -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.map +1 -1
- package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
- package/dist/esm/components/data-display/avatar.js.map +1 -1
- 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/chart-echarts.d.ts.map +1 -1
- package/dist/esm/components/data-display/chart-echarts.js.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayChromeContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayChromeContext.js.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
- package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
- package/dist/esm/components/data-display/description-list.js.map +1 -1
- package/dist/esm/components/data-display/display-field-resolution.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-field-resolution.utils.js.map +1 -1
- 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-resource-link-trail.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-resource-link-trail.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-json.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-json.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.js.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
- package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
- package/dist/esm/components/data-display/useFileActivation.js.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
- package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
- package/dist/esm/components/feedback/danger-zone.js.map +1 -1
- package/dist/esm/components/feedback/empty-display-policy.utils.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-display-policy.utils.js.map +1 -1
- package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-state.js.map +1 -1
- package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
- package/dist/esm/components/feedback/error-display.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.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts +36 -0
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js +29 -0
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.js.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.js.map +1 -1
- package/dist/esm/components/feedback/notification-center.d.ts +11 -5
- package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
- package/dist/esm/components/feedback/notification-center.js +2 -3
- package/dist/esm/components/feedback/notification-center.js.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
- package/dist/esm/components/feedback/progress.d.ts.map +1 -1
- package/dist/esm/components/feedback/progress.js.map +1 -1
- package/dist/esm/components/feedback/resource-empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/resource-empty-state.js.map +1 -1
- package/dist/esm/components/feedback/skeleton-text.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton-text.js.map +1 -1
- package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton.js.map +1 -1
- package/dist/esm/components/feedback/toast.d.ts.map +1 -1
- package/dist/esm/components/feedback/toast.js.map +1 -1
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts +41 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.js +207 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts +3 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.js +36 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.js.map +1 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts +8 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts.map +1 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.js +14 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.js.map +1 -0
- package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.js.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.js +21 -4
- 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 +5 -0
- package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.js.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.labels.d.ts.map +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.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.js +1 -1
- 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.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.labels.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 +1 -1
- package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.labels.js.map +1 -1
- package/dist/esm/components/form/Form.d.ts.map +1 -1
- package/dist/esm/components/form/Form.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.js +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.js +16 -9
- package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
- package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormField.js +9 -2
- package/dist/esm/components/form/automated/FormField.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldArray.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldArray.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldComposite.js +8 -6
- 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.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
- package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.js.map +1 -1
- package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.js.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js +37 -3
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts +12 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts.map +1 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js +26 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js.map +1 -0
- package/dist/esm/components/form/automated/autosave-indicator.d.ts.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.js.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.utils.js.map +1 -1
- package/dist/esm/components/form/automated/create-form-default-values.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/create-form-default-values.utils.js.map +1 -1
- package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.helpers.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.helpers.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.shared.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.shared.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.utils.js.map +1 -1
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
- package/dist/esm/components/form/chromes/FormChromeContext.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormChromeContext.js.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
- package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/field.js.map +1 -1
- package/dist/esm/components/form/chromes/form-primitives.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/form-primitives.js.map +1 -1
- package/dist/esm/components/form/combobox.d.ts.map +1 -1
- package/dist/esm/components/form/combobox.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -1
- 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/select-multiple.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
- package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select.js.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.js.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.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.map +1 -1
- package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input-group.js.map +1 -1
- package/dist/esm/components/form/controls/input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input.js.map +1 -1
- package/dist/esm/components/form/controls/number/slider.d.ts +1 -1
- package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
- package/dist/esm/components/form/controls/number/slider.js.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.js.map +1 -1
- package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/inline-edit-text.js.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.js.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.js.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.labels.js.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.js.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.js.map +1 -1
- package/dist/esm/components/form/feedback/RemoteChangeNotification.d.ts.map +1 -1
- package/dist/esm/components/form/feedback/RemoteChangeNotification.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.js +4 -2
- package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.labels.d.ts.map +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.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.labels.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.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.labels.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.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.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 +4 -2
- package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts +15 -5
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js +21 -18
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.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 +139 -2
- package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.labels.js +15 -0
- 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.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.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.js +4 -2
- package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.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.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.labels.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.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.labels.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.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.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.js +7 -2
- package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.labels.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.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.labels.js.map +1 -1
- package/dist/esm/components/form/fields/useFormField.d.ts.map +1 -1
- package/dist/esm/components/form/fields/useFormField.js.map +1 -1
- package/dist/esm/components/form/form-context.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.js.map +1 -1
- package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.utils.js.map +1 -1
- package/dist/esm/components/form/form-field-types.d.ts +20 -0
- package/dist/esm/components/form/form-field-types.d.ts.map +1 -1
- package/dist/esm/components/form/form-field-types.js.map +1 -1
- package/dist/esm/components/form/useFormSchemaContext.d.ts.map +1 -1
- package/dist/esm/components/form/useFormSchemaContext.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.map +1 -1
- package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/form-error-extraction.utils.js.map +1 -1
- package/dist/esm/components/form/validation-errors/form-validation.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/form-validation.js.map +1 -1
- package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
- package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.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.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.js.map +1 -1
- package/dist/esm/components/layout/carousel.d.ts.map +1 -1
- package/dist/esm/components/layout/carousel.js.map +1 -1
- package/dist/esm/components/layout/divider.d.ts.map +1 -1
- package/dist/esm/components/layout/divider.js.map +1 -1
- package/dist/esm/components/layout/resizable.d.ts.map +1 -1
- package/dist/esm/components/layout/resizable.js.map +1 -1
- package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
- package/dist/esm/components/layout/scroll-area.js.map +1 -1
- package/dist/esm/components/layout/separator.d.ts.map +1 -1
- package/dist/esm/components/layout/separator.js.map +1 -1
- package/dist/esm/components/navigation/NavigationItemBadge.d.ts +13 -1
- package/dist/esm/components/navigation/NavigationItemBadge.d.ts.map +1 -1
- package/dist/esm/components/navigation/NavigationItemBadge.js +31 -2
- package/dist/esm/components/navigation/NavigationItemBadge.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.js.map +1 -1
- 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_QuickSwitcher.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.js.map +1 -1
- 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/HostedComponentInteractionsProvider.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.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.map +1 -1
- package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useActivityBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useActivityBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useControlPanelBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useControlPanelBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.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.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts +5 -2
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js +18 -41
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js +13 -3
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useToolbarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useToolbarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +23 -5
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +81 -13
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
- package/dist/esm/components/navigation/command.d.ts.map +1 -1
- package/dist/esm/components/navigation/command.js.map +1 -1
- package/dist/esm/components/navigation/menu-bar.d.ts +1 -1
- package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
- package/dist/esm/components/navigation/menu-bar.js.map +1 -1
- package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/navbar.js.map +1 -1
- package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/sidebar.js.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.js +36 -9
- package/dist/esm/components/overlays/containers/OverlayContainer.js.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.labels.js.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert.js.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.shared-types.js.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.js.map +1 -1
- package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.js.map +1 -1
- package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.js.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.js.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.d.ts +1 -1
- package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.js.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.d.ts +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.js.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.js.map +1 -1
- package/dist/esm/components/overlays/floating/menu.shared-types.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/menu.shared-types.js.map +1 -1
- package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/popover.js.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.js.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.js.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.labels.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.labels.js.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.js.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
- 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/EphemeralFieldsRevealDialog.d.ts.map +1 -1
- package/dist/esm/components/resources/EphemeralFieldsRevealDialog.js.map +1 -1
- package/dist/esm/components/resources/InlineSearchInput.d.ts.map +1 -1
- package/dist/esm/components/resources/InlineSearchInput.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
- package/dist/esm/components/resources/ResourceInPlaceOperationRow.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceInPlaceOperationRow.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.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.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +9 -0
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.js +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
- 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 +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
- 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.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.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.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.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read_Expandable.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read_Expandable.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.js +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionPopover.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionPopover.js.map +1 -1
- package/dist/esm/components/resources/ResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationSurface.js.map +1 -1
- package/dist/esm/components/resources/ResourceOwnedViewEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOwnedViewEmbeds.js.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
- package/dist/esm/components/resources/card-action-placement.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/card-action-placement.utils.js.map +1 -1
- package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
- package/dist/esm/components/resources/collection-view-mode.frontend.d.ts.map +1 -1
- package/dist/esm/components/resources/collection-view-mode.frontend.js.map +1 -1
- package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.js.map +1 -1
- package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.js.map +1 -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/EmbeddedResourceHostContext.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.js.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.js.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
- package/dist/esm/components/resources/inserted-resource-view.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/inserted-resource-view.frontend.utils.js.map +1 -1
- package/dist/esm/components/resources/resource-operation-custom-view.contracts.d.ts.map +1 -1
- package/dist/esm/components/resources/resource-operation-custom-view.contracts.js.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayItemTemplate.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayItemTemplate.js.map +1 -1
- package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.js.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Divider.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Divider.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FieldScopeContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FieldScopeContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ObjectScope.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ObjectScope.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts +12 -0
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js +13 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.shared.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.shared.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionPresentationContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SubmitButton.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SubmitButton.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryHeader.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryHeader.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryMeta.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryMeta.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryTitle.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.shared.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.shared.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.map +1 -1
- package/dist/esm/components/resources/useInlineSearch.d.ts.map +1 -1
- package/dist/esm/components/resources/useInlineSearch.js.map +1 -1
- package/dist/esm/components/resources/useLongPress.d.ts.map +1 -1
- package/dist/esm/components/resources/useLongPress.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.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.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.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.js.map +1 -1
- 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.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.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/sections/accordion.d.ts.map +1 -1
- package/dist/esm/components/sections/accordion.js.map +1 -1
- package/dist/esm/components/sections/card.d.ts.map +1 -1
- package/dist/esm/components/sections/card.js.map +1 -1
- package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
- package/dist/esm/components/sections/collapsible.js.map +1 -1
- package/dist/esm/components/sections/content-section.d.ts.map +1 -1
- package/dist/esm/components/sections/content-section.js.map +1 -1
- package/dist/esm/components/sections/pagination.d.ts.map +1 -1
- package/dist/esm/components/sections/pagination.js.map +1 -1
- package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
- package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
- package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
- package/dist/esm/components/sections/stacked-layout.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/sections/table.d.ts.map +1 -1
- package/dist/esm/components/sections/table.js.map +1 -1
- package/dist/esm/components/sections/tabs.d.ts.map +1 -1
- package/dist/esm/components/sections/tabs.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +121 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +386 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +56 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -0
- package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsHub.js +32 -5
- 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.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
- package/dist/esm/components/settings/SettingsSectionNavigationHost.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsSectionNavigationHost.js.map +1 -1
- package/dist/esm/components/typography/heading.d.ts.map +1 -1
- package/dist/esm/components/typography/heading.js.map +1 -1
- package/dist/esm/components/typography/label.d.ts.map +1 -1
- package/dist/esm/components/typography/label.js.map +1 -1
- package/dist/esm/components/typography/link.d.ts.map +1 -1
- package/dist/esm/components/typography/link.js.map +1 -1
- package/dist/esm/components/typography/text.d.ts.map +1 -1
- package/dist/esm/components/typography/text.js.map +1 -1
- package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
- package/dist/esm/components/typography/truncated-text.js.map +1 -1
- package/dist/esm/components/views/ViewLayout_Header.d.ts.map +1 -1
- package/dist/esm/components/views/ViewLayout_Header.js.map +1 -1
- package/dist/esm/components/views/ViewNotFound.d.ts.map +1 -1
- package/dist/esm/components/views/ViewNotFound.js.map +1 -1
- package/dist/esm/components/views/ViewNotFound.labels.d.ts.map +1 -1
- package/dist/esm/components/views/ViewNotFound.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartEmptyState.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartEmptyState.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartErrorState.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartErrorState.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.lazy.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.lazy.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.labels.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/WildoEChart.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/WildoEChart.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.map +1 -1
- package/dist/esm/components/views/chart-view/chart-runtime.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-runtime.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-theme-bridge.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-theme-bridge.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-view.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-view.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/dev/ChartView.example.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/dev/ChartView.example.js.map +1 -1
- package/dist/esm/components/views/chart-view/echarts-setup.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/echarts-setup.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.d.ts.map +1 -1
- 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.d.ts.map +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/funnel.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.d.ts.map +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/parallel.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.d.ts.map +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/builders/statistical-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.js.map +1 -1
- 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.map +1 -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.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeView.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeView.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeViewContext.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeViewContext.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.map +1 -1
- package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.js.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.d.ts.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.js.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.labels.js.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +11 -7
- 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.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
- package/dist/esm/components/views/full-custom-view/FullCustomView.d.ts.map +1 -1
- package/dist/esm/components/views/full-custom-view/FullCustomView.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.js +9 -2
- package/dist/esm/components/views/onboarding-view/OnboardingView.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.labels.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/onboarding-view.utils.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/onboarding-view.utils.js.map +1 -1
- package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
- package/dist/esm/core/app-shell/PortalContainerContext.js.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts +40 -18
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.js +0 -5
- package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
- package/dist/esm/core/app-shell/app-shell.utils.d.ts.map +1 -1
- package/dist/esm/core/app-shell/app-shell.utils.js.map +1 -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.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -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.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts +16 -0
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js +17 -0
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +31 -11
- 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 +34 -25
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +30 -4
- 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 +233 -17
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
- package/dist/esm/core/billing/BillingContext.d.ts +36 -0
- package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
- package/dist/esm/core/billing/BillingContext.js +1 -0
- package/dist/esm/core/billing/BillingContext.js.map +1 -1
- package/dist/esm/core/billing/BillingErrorNotifier.d.ts.map +1 -1
- package/dist/esm/core/billing/BillingErrorNotifier.js.map +1 -1
- package/dist/esm/core/billing/billing-launcher.d.ts.map +1 -1
- package/dist/esm/core/billing/billing-launcher.js +1 -1
- package/dist/esm/core/billing/billing-launcher.js.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.js.map +1 -1
- package/dist/esm/core/billing/useBilling.d.ts.map +1 -1
- package/dist/esm/core/billing/useBilling.js.map +1 -1
- package/dist/esm/core/billing/useBillingAction.d.ts.map +1 -1
- package/dist/esm/core/billing/useBillingAction.js.map +1 -1
- package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts.map +1 -1
- package/dist/esm/core/billing/useSafeBillingActionExecutor.js.map +1 -1
- package/dist/esm/core/branding/useBrandIdentity.d.ts +17 -0
- package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandIdentity.js +17 -0
- package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
- package/dist/esm/core/commons/devices.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/devices.frontend.schemas.js.map +1 -1
- package/dist/esm/core/commons/local-storage.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/local-storage.frontend.schemas.js.map +1 -1
- package/dist/esm/core/commons/window-event.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/window-event.frontend.schemas.js.map +1 -1
- package/dist/esm/core/companion/companion-exports.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/companion/companion-exports.frontend.definitions.js.map +1 -1
- package/dist/esm/core/components-registry/ComponentNotInjected.d.ts.map +1 -1
- package/dist/esm/core/components-registry/ComponentNotInjected.js.map +1 -1
- 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 +1 -0
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry-loader.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry-loader.frontend.service.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.js +4 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.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 +8 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts +188 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js +255 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -0
- package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
- package/dist/esm/core/components-registry/register-framework-layouts.js +2 -0
- package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts +76 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js +99 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -0
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +15 -5
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
- 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 +44 -7
- 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 +44 -7
- 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 +14 -14
- package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.js.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.d.ts +0 -49
- package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.js +102 -56
- package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
- package/dist/esm/core/config/execution-view.schemas.d.ts.map +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 +5 -3
- package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/flows-actors-view.schemas.js +2 -2
- package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
- package/dist/esm/core/config/full-custom-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/full-custom-view.schemas.js.map +1 -1
- package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
- package/dist/esm/core/config/inserted-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/inserted-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +51 -11
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.js +21 -7
- package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/onboarding-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/onboarding-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +23 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.js +22 -0
- 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 +8 -1
- package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/verify-feature-references.frontend.d.ts +7 -0
- package/dist/esm/core/config/verify-feature-references.frontend.d.ts.map +1 -1
- package/dist/esm/core/config/verify-feature-references.frontend.js +42 -1
- package/dist/esm/core/config/verify-feature-references.frontend.js.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.js +9 -2
- package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
- package/dist/esm/core/config/views-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/views-frontend.schemas.js.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
- package/dist/esm/core/errors/ErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/ErrorBoundary.js.map +1 -1
- package/dist/esm/core/errors/ErrorContext.d.ts.map +1 -1
- package/dist/esm/core/errors/ErrorContext.js.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
- package/dist/esm/core/errors/RouterErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/RouterErrorBoundary.js.map +1 -1
- package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
- package/dist/esm/core/errors/errors-builder.frontend.services.d.ts.map +1 -1
- package/dist/esm/core/errors/errors-builder.frontend.services.js.map +1 -1
- 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/http-error-behavior.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/errors/http-error-behavior.frontend.schemas.js.map +1 -1
- package/dist/esm/core/errors/useError.d.ts.map +1 -1
- package/dist/esm/core/errors/useError.js.map +1 -1
- package/dist/esm/core/errors/withErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/withErrorBoundary.js.map +1 -1
- package/dist/esm/core/events/EventBusContext.d.ts.map +1 -1
- package/dist/esm/core/events/EventBusContext.js.map +1 -1
- package/dist/esm/core/events/NotificationContext.d.ts +6 -5
- package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
- package/dist/esm/core/events/NotificationContext.js +41 -39
- package/dist/esm/core/events/NotificationContext.js.map +1 -1
- package/dist/esm/core/events/event-bus.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/events/event-bus.frontend.service.js.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.d.ts +34 -18
- package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.js +22 -1
- package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
- package/dist/esm/core/events/notification-display-policy.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/notification-display-policy.frontend.schemas.js.map +1 -1
- package/dist/esm/core/events/toast.d.ts.map +1 -1
- package/dist/esm/core/events/toast.js.map +1 -1
- package/dist/esm/core/events/useEventBus.d.ts.map +1 -1
- package/dist/esm/core/events/useEventBus.js.map +1 -1
- package/dist/esm/core/events/useNotification.d.ts.map +1 -1
- package/dist/esm/core/events/useNotification.js.map +1 -1
- package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.d.ts.map +1 -1
- package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.js.map +1 -1
- package/dist/esm/core/execution/ExecutionRuntimeContext.d.ts.map +1 -1
- package/dist/esm/core/execution/ExecutionRuntimeContext.js.map +1 -1
- package/dist/esm/core/execution/execution-anchor.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-anchor.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-dirty-markers.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-dirty-markers.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-failure-handling.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-failure-handling.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-outcome-emission.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-outcome-emission.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-participation.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-participation.utils.js.map +1 -1
- package/dist/esm/core/execution/useExecution.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecution.js.map +1 -1
- package/dist/esm/core/execution/useExecutionDirtyBridge.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionDirtyBridge.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationPrefetch.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationPrefetch.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.js.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts +77 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js +114 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -0
- package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.js.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts +33 -15
- 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 +27 -21
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts +102 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js +117 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js.map +1 -0
- package/dist/esm/core/features/FeatureGate.d.ts.map +1 -1
- package/dist/esm/core/features/FeatureGate.js +1 -1
- package/dist/esm/core/features/FeatureGate.js.map +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.d.ts.map +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.js +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.js.map +1 -1
- package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
- package/dist/esm/core/features/FeaturesContext.js.map +1 -1
- package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts +7 -0
- package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/features/feature-unavailability.frontend.utils.js +5 -0
- package/dist/esm/core/features/feature-unavailability.frontend.utils.js.map +1 -1
- package/dist/esm/core/features/useFeatureAvailability.d.ts +2 -0
- package/dist/esm/core/features/useFeatureAvailability.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatureAvailability.js +4 -2
- package/dist/esm/core/features/useFeatureAvailability.js.map +1 -1
- package/dist/esm/core/features/useFeatureGate.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatureGate.js.map +1 -1
- package/dist/esm/core/features/useFeatures.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatures.js.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +26 -2
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.js +60 -3
- package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
- package/dist/esm/core/flows-actors/useFlowsActors.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/useFlowsActors.js.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.js +2 -2
- package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
- package/dist/esm/core/guidance/GuidanceRenderer.d.ts.map +1 -1
- package/dist/esm/core/guidance/GuidanceRenderer.js.map +1 -1
- package/dist/esm/core/guidance/guidance-audience.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/guidance/guidance-audience.frontend.utils.js.map +1 -1
- package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.d.ts.map +1 -1
- package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.labels.js.map +1 -1
- package/dist/esm/core/guidance/useGuidance.d.ts.map +1 -1
- package/dist/esm/core/guidance/useGuidance.js.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +29 -0
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +76 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
- package/dist/esm/core/hotkey/HotkeyRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/hotkey/HotkeyRegistryContext.js +44 -8
- package/dist/esm/core/hotkey/HotkeyRegistryContext.js.map +1 -1
- package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.d.ts.map +1 -1
- package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.js.map +1 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts +53 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js +78 -13
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts.map +1 -1
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
- package/dist/esm/core/hotkey/useHotkey.d.ts.map +1 -1
- package/dist/esm/core/hotkey/useHotkey.js.map +1 -1
- package/dist/esm/core/i18n/I18nContext.d.ts +32 -0
- package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
- package/dist/esm/core/i18n/I18nContext.js +154 -32
- package/dist/esm/core/i18n/I18nContext.js.map +1 -1
- package/dist/esm/core/i18n/component-label-resolution.utils.d.ts.map +1 -1
- package/dist/esm/core/i18n/component-label-resolution.utils.js.map +1 -1
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts +51 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js +66 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -0
- package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
- package/dist/esm/core/i18n/useI18n.js +22 -2
- package/dist/esm/core/i18n/useI18n.js.map +1 -1
- package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.definitions.js.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/icons/useIconRegistry.d.ts.map +1 -1
- package/dist/esm/core/icons/useIconRegistry.js.map +1 -1
- package/dist/esm/core/loading/AppLoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/AppLoadingGate.js.map +1 -1
- package/dist/esm/core/loading/LoadingBarrier.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingBarrier.js.map +1 -1
- package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingContext.js.map +1 -1
- package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingGate.js +16 -3
- package/dist/esm/core/loading/LoadingGate.js.map +1 -1
- package/dist/esm/core/loading/loading-policy.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-policy.frontend.schemas.js.map +1 -1
- package/dist/esm/core/loading/loading-scope.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-scope.frontend.utils.js.map +1 -1
- package/dist/esm/core/loading/loading-types.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-types.frontend.schemas.js.map +1 -1
- package/dist/esm/core/loading/resolveLoadingPolicy.d.ts.map +1 -1
- package/dist/esm/core/loading/resolveLoadingPolicy.js.map +1 -1
- package/dist/esm/core/loading/useAppLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useAppLoading.js.map +1 -1
- package/dist/esm/core/loading/useComponentLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useComponentLoading.js.map +1 -1
- package/dist/esm/core/loading/useEmitLoadingScope.d.ts.map +1 -1
- package/dist/esm/core/loading/useEmitLoadingScope.js.map +1 -1
- package/dist/esm/core/loading/useLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useLoading.js.map +1 -1
- package/dist/esm/core/mode/AppModeContext.d.ts.map +1 -1
- package/dist/esm/core/mode/AppModeContext.js.map +1 -1
- package/dist/esm/core/mode/section-visibility.d.ts.map +1 -1
- package/dist/esm/core/mode/section-visibility.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/useAnalytics.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/useAnalytics.js.map +1 -1
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts +97 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts.map +1 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js +179 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js.map +1 -0
- package/dist/esm/core/monitoring/logger.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/monitoring/logger.frontend.service.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.js +76 -48
- package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.d.ts +12 -0
- package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.js +24 -0
- package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
- package/dist/esm/core/navigation/hosted-pane.constants.d.ts.map +1 -1
- package/dist/esm/core/navigation/hosted-pane.constants.js.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.d.ts +1 -1
- package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +14 -5
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js +146 -17
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.d.ts +58 -10
- package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.js +1 -1
- package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.d.ts +2 -2
- package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.js +4 -4
- package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
- package/dist/esm/core/navigation/primary-destination-layout.d.ts.map +1 -1
- package/dist/esm/core/navigation/primary-destination-layout.js.map +1 -1
- package/dist/esm/core/navigation/useIsStackEntryActive.d.ts.map +1 -1
- package/dist/esm/core/navigation/useIsStackEntryActive.js.map +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.d.ts +8 -0
- package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.js +26 -6
- package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationState.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationState.js.map +1 -1
- package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
- package/dist/esm/core/navigation/useOverlayTitle.js.map +1 -1
- package/dist/esm/core/navigation/useTransactionAwareSyncRetry.d.ts.map +1 -1
- package/dist/esm/core/navigation/useTransactionAwareSyncRetry.js.map +1 -1
- package/dist/esm/core/navigation/view-title-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/view-title-resolution.js.map +1 -1
- package/dist/esm/core/navigation/zone-content-geometry.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-content-geometry.js.map +1 -1
- package/dist/esm/core/navigation/zone-empty-behavior.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-empty-behavior.js.map +1 -1
- package/dist/esm/core/navigation/zone-visible-entry.d.ts +26 -0
- package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -0
- package/dist/esm/core/navigation/zone-visible-entry.js +76 -0
- package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -0
- package/dist/esm/core/requests/api-readiness-checker.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/api-readiness-checker.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
- package/dist/esm/core/requests/client-instance-id.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/client-instance-id.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/network-backoff.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/requests/network-backoff.frontend.utils.js.map +1 -1
- package/dist/esm/core/requests/offline-replay-policy.frontend.d.ts.map +1 -1
- package/dist/esm/core/requests/offline-replay-policy.frontend.js.map +1 -1
- package/dist/esm/core/requests/request-cancellation.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/requests/request-cancellation.frontend.utils.js.map +1 -1
- package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.js.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useNotificationBadges.js +32 -19
- package/dist/esm/core/requests/websockets/useNotificationBadges.js.map +1 -1
- package/dist/esm/core/requests/websockets/useResourceRoom.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useResourceRoom.js.map +1 -1
- package/dist/esm/core/requests/websockets/useWebSocket.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useWebSocket.js.map +1 -1
- package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +146 -2
- 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 +108 -1
- 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 +3 -2
- 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 +57 -4
- 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 +6 -0
- 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 +1 -0
- package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewContext.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewContext.js.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewProvider.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewProvider.js.map +1 -1
- package/dist/esm/core/resources/ResourceReadCacheBridge.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceReadCacheBridge.js +130 -37
- package/dist/esm/core/resources/ResourceReadCacheBridge.js.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.js.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +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.map +1 -1
- package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/ephemeral-fields.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/ephemeral-fields.utils.js.map +1 -1
- package/dist/esm/core/resources/file-serve-url.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/file-serve-url.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
- package/dist/esm/core/resources/in-place/InPlaceOperationContext.d.ts.map +1 -1
- package/dist/esm/core/resources/in-place/InPlaceOperationContext.js.map +1 -1
- package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js.map +1 -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.map +1 -1
- package/dist/esm/core/resources/resource-operation-view.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-operation-view.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-path.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-path.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-read-cache.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistryContext.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMWebSocketBridge.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMWebSocketBridge.js.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/rmm/field-path.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/field-path.utils.js.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-constants.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-constants.js.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-noop-snapshot.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-noop-snapshot.js.map +1 -1
- package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/types.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/core/resources/rmm/useListInvalidation.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useListInvalidation.js.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMEventHandler.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMEventHandler.js.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMSnapshot.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMSnapshot.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
- package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.d.ts.map +1 -1
- package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.js.map +1 -1
- package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
- package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
- package/dist/esm/core/resources/useOperationEnabled.d.ts.map +1 -1
- package/dist/esm/core/resources/useOperationEnabled.js.map +1 -1
- package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceLabels.js +20 -14
- package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/resources/useResourceRegistry.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceRegistry.js.map +1 -1
- 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.map +1 -1
- 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 +2 -1
- package/dist/esm/core/runtime/AppRouter.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts +9 -0
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.js +1 -0
- package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
- package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/env-variable-loader.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/env-variable-loader.frontend.service.js.map +1 -1
- package/dist/esm/core/runtime/frontend-companion-resource-inputs.d.ts.map +1 -1
- package/dist/esm/core/runtime/frontend-companion-resource-inputs.js.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +6 -0
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.js +7 -0
- package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/runtime.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/runtime/runtime.frontend.schemas.js.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.d.ts +38 -0
- package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.js +92 -3
- package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
- package/dist/esm/core/runtime/useApplication.d.ts.map +1 -1
- package/dist/esm/core/runtime/useApplication.js.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
- package/dist/esm/core/scope/scope.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/scope/scope.frontend.schemas.js.map +1 -1
- package/dist/esm/core/scope/scope.utils.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/scope/scope.utils.frontend.service.js.map +1 -1
- package/dist/esm/core/scope/useAppScope.d.ts.map +1 -1
- package/dist/esm/core/scope/useAppScope.js.map +1 -1
- package/dist/esm/core/security/AnonymousSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/AnonymousSessionContext.js.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.js +97 -13
- package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/auth-session.utils.d.ts.map +1 -1
- package/dist/esm/core/security/auth-session.utils.js.map +1 -1
- package/dist/esm/core/security/cross-frontend-handoff.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/security/cross-frontend-handoff.frontend.service.js.map +1 -1
- package/dist/esm/core/security/jwt.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/jwt.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
- package/dist/esm/core/security/session-token-storage.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/security/session-token-storage.frontend.service.js.map +1 -1
- package/dist/esm/core/security/useAuthSession.d.ts.map +1 -1
- package/dist/esm/core/security/useAuthSession.js.map +1 -1
- package/dist/esm/core/security/useResolvedAuthConfig.d.ts.map +1 -1
- package/dist/esm/core/security/useResolvedAuthConfig.js.map +1 -1
- package/dist/esm/core/security/useStepUpAuth.d.ts.map +1 -1
- package/dist/esm/core/security/useStepUpAuth.js.map +1 -1
- package/dist/esm/core/security/useUserOrgs.d.ts.map +1 -1
- package/dist/esm/core/security/useUserOrgs.js.map +1 -1
- package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfaceErrorBoundary.js.map +1 -1
- package/dist/esm/core/ui/SurfacePolicyContext.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfacePolicyContext.js.map +1 -1
- package/dist/esm/core/ui/TypographyScopeContext.d.ts.map +1 -1
- package/dist/esm/core/ui/TypographyScopeContext.js.map +1 -1
- package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
- package/dist/esm/core/ui/UIContext.js.map +1 -1
- package/dist/esm/core/ui/chart-style-defaults.d.ts.map +1 -1
- package/dist/esm/core/ui/chart-style-defaults.js.map +1 -1
- package/dist/esm/core/ui/cn.d.ts.map +1 -1
- package/dist/esm/core/ui/cn.js.map +1 -1
- package/dist/esm/core/ui/color-conversion.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/color-conversion.utils.js.map +1 -1
- package/dist/esm/core/ui/design-token-class-groups.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token-class-groups.js.map +1 -1
- package/dist/esm/core/ui/design-token-config.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token-config.utils.js.map +1 -1
- package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token.utils.js.map +1 -1
- package/dist/esm/core/ui/material-runtime.d.ts.map +1 -1
- package/dist/esm/core/ui/material-runtime.js.map +1 -1
- package/dist/esm/core/ui/surface-a11y.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/surface-a11y.utils.js.map +1 -1
- package/dist/esm/core/ui/theme-preference-storage.shared.d.ts.map +1 -1
- package/dist/esm/core/ui/theme-preference-storage.shared.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.map +1 -1
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts +7 -2
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/ui/ui.frontend.schemas.js.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
- package/dist/esm/core/ui/useUI.d.ts.map +1 -1
- package/dist/esm/core/ui/useUI.js.map +1 -1
- package/dist/esm/index.d.ts +7 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +20 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tailwind/index.d.ts.map +1 -1
- package/dist/esm/tailwind/index.js.map +1 -1
- package/dist/esm/testing/mock-builders.d.ts.map +1 -1
- package/dist/esm/testing/mock-builders.js +2 -0
- package/dist/esm/testing/mock-builders.js.map +1 -1
- package/dist/esm/testing/mock-factory.d.ts.map +1 -1
- package/dist/esm/testing/mock-factory.js.map +1 -1
- package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/esm/testing.d.ts.map +1 -1
- package/dist/esm/testing.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +6 -5
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts +0 -21
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +0 -1
- package/dist/esm/components/billing/billing-plan-change-preview.js +0 -12
- package/dist/esm/components/billing/billing-plan-change-preview.js.map +0 -1
- package/dist/esm/components/billing/billing-promotion-code-input.d.ts +0 -12
- package/dist/esm/components/billing/billing-promotion-code-input.d.ts.map +0 -1
- package/dist/esm/components/billing/billing-promotion-code-input.js +0 -11
- package/dist/esm/components/billing/billing-promotion-code-input.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavigationController.js","sourceRoot":"","sources":["../../../../../src/core/navigation/useNavigationController.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * useNavigationController Hook\n *\n * The main hook for triggering navigation in the application.\n * Components (sidebar, toolbar, list items, etc.) use this to navigate.\n *\n * The controller:\n * 1. Receives navigation requests\n * 2. Resolves the navigation target using NavigationPolicyResolver\n * 3. Emits appropriate navigation events (PUSH, REPLACE, etc.)\n * 4. Optionally updates the browser URL for addressable operations\n *\n * Also includes URL-to-state synchronization (merged from RouterNavigationSync):\n * - useRouterSync hook syncs external URL changes with navigation state\n * - Uses NavigationSource to track origin and avoid sync loops\n */\n\nimport { createContext, useCallback, useContext, useMemo, useEffect, useRef } from 'react';\nimport { useNavigate, useLocation, useParams } from 'react-router-dom';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { useNavigationState } from './useNavigationState';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { ScopeUtilsService } from '~wildo-frontend-lib/core/scope/scope.utils.frontend.service';\nimport type { EnginePageRef } from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport {\n buildChartRouteUrlPath,\n extractChartRouteContextResourceIdentifiers,\n extractChartRouteUrlParamValues,\n} from '~wildo-frontend-lib/core/config/chart-view.frontend.schemas';\nimport {\n buildCompositeRouteUrlPath,\n extractCompositeRouteContextResourceIdentifiers,\n} from '~wildo-frontend-lib/core/config/composite-view.schemas';\nimport {\n buildExecutionRouteUrlPath,\n extractExecutionRouteContextResourceIdentifiers,\n resolveExecutionViewDefinition,\n} from '~wildo-frontend-lib/core/config/execution-view.schemas';\nimport {\n FrontendEvents,\n FrontendEvent_NavigationPush,\n FrontendEvent_NavigationReplace,\n} from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport {\n NavigationZone,\n NavigationZoneState,\n NavigationContent,\n NavigationContentType,\n NavigationInitiatorContext,\n NAVIGATION_STRUCTURAL_ZONES,\n APP_LEVEL_NAVIGATION_SOURCE,\n type NavigationResolutionContext,\n type NavigationStackEntry,\n} from './navigation.schemas';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport {\n NavigationTransition,\n NavigationZoneName,\n OverlayAppearance,\n SplitAppearance,\n CoreResourceOperation,\n ResourceConfiguration_Operation_UrlParameterInfo,\n ResourceOperationFrontendSurface,\n ResourcesConfigOperationsUrlsBuilderUtils,\n type TransitionConfig,\n} from '@wildo-ai/saas-models';\nimport type { FrontendResource_ParentResourceRequirement } from '~wildo-frontend-lib/core/resources/resource-path.frontend.schemas';\nimport type { FrontendResourcesRegistry, FrontendResourceConfiguration_Operation } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { navigationPolicyResolver, resolveViewportDiscriminated } from './navigation-policy-resolver.service';\nimport { NavigationSource } from './navigation.schemas';\nimport { NavigationUtils } from './navigation.utils';\nimport { emitFreshStartNavigationCleanup } from './navigation-clean-break.frontend.utils';\nimport { useTransactionAwareSyncRetry } from './useTransactionAwareSyncRetry';\nimport { CommonRoutePaths } from '~wildo-frontend-lib/core/runtime/routes.frontend.definitions';\nimport { FrontendResourceOperationContext } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { FrontendResourceUtils, frontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport { isOperationAddressable } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { normalizeContextResourceIdentifiersForTransport } from '~wildo-frontend-lib/core/resources/context-resource-identifiers.frontend.utils';\nimport {\n resolveActionPresentationTransition,\n resolveEffectiveCoreOperationFromOperation,\n resolveResourceOperationActionPresentation,\n getOperationsForCoreSemantic,\n pickPreferredOperationForCoreSemantic,\n} from '~wildo-frontend-lib/core/resources/operation-semantics.frontend.utils';\nimport {\n InPlaceOperationTargetKind,\n useInPlaceOperation,\n type InPlaceOperationTarget,\n} from '~wildo-frontend-lib/core/resources/in-place/InPlaceOperationContext';\nimport type { ResourceOperationActionPresentation } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\n\nconst logger: LoggerFrontendService = LoggerFrontendService.getLogger();\nconst logDebug: (message: string, context?: Record<string, unknown>) => void = logger.debugByType('useNavigationController');\nlogger.setDebugTypeLogging('useNavigationController', false);\n\n/**\n * Update the browser URL via React Router's navigate function, so React Router's\n * `useLocation` hook updates. Everything derived from `useLocation` depends on\n * this: deep-link shareability, back-button state, and the sidebar's\n * most-specific-active highlight (`useSidebarBehavior` reads `useLocation`).\n *\n * ORDERING (why the transaction): the URL→state reconstruction hooks\n * (`useRouterSync`, `useViewRouterSync`, `useEnginePageRouterSync`,\n * `useSettingsHubOverlaySync`) observe `location` changes and rebuild zone state\n * from the URL — UNLESS the target zone already owns the URL, OR a navigation\n * transaction is active. A controller-driven navigation emits the zone-state\n * entry (event bus → `setState`) and THEN changes the URL; if the URL change is\n * observed before that state has committed, those hooks would re-derive stale\n * content (the race the old code papered over). We therefore open (or extend) a\n * navigation transaction so they skip during the commit window and re-validate\n * via their transaction-aware retry once state has committed — by then the\n * emitted entry owns the URL, so they no-op. This mirrors\n * `navigatePathWithFreshStart` / `emitFreshStartNavigationCleanup`, which already\n * pair `beginTransaction` with a synchronous `routerNavigate`.\n *\n * NOT PAINT-GATED (why not requestAnimationFrame): rAF callbacks are throttled to\n * ~0fps in occluded / backgrounded / throttled tabs, so a deferred\n * `routerNavigate` could be stranded indefinitely — zone content (event bus →\n * state) swaps instantly while the URL, sidebar highlight, and back-button state\n * lag until the tab is refocused (reproduced live: composite-view content visible\n * while `location.pathname` stayed stale for 8+ seconds, converging only on tab\n * activation). The transaction guard fills the ordering role rAF was standing in\n * for, without the paint dependency.\n */\n/**\n * Only a resource operation DECLARED `ADDRESSABLE` owns a browser URL.\n *\n * The URL builders are surface-blind — `resolveResourceUrl` happily produces a\n * pattern URL for any URL-bearing variant, including EMBEDDED (notAddressable)\n * ones — but `AppRouter` registers routes for ADDRESSABLE operations only, so\n * writing such a URL to the browser strands refresh / deep-link on the router\n * 404 (seen live 2026-08-19: a breadcrumb click on the EMBEDDED organizations\n * READ rewrote the URL to `/organizations/:id`, a route that does not exist).\n * EMBEDDED content navigates as pure zone/overlay content instead.\n *\n * An `undefined` surface (synthetic/legacy operation objects that never passed\n * through the registry's Step-2.5 posture resolution) keeps the historical\n * URL-writing behavior — only an EXPLICIT non-addressable declaration opts out.\n */\nfunction resourceOperationOwnsBrowserUrl(\n operation: { operationFrontendConfig?: { surface?: ResourceOperationFrontendSurface } } | undefined,\n): boolean {\n const surface = operation?.operationFrontendConfig?.surface;\n return surface !== ResourceOperationFrontendSurface.EMBEDDED\n && surface !== ResourceOperationFrontendSurface.API_ONLY;\n}\n\nfunction updateBrowserUrl(\n routerNavigate: ReturnType<typeof useNavigate>,\n urlPath: string,\n replace: boolean = false\n): void {\n // Preserve an in-flight transaction's source label (e.g. 'app_level_navigation'\n // opened by the APP_LEVEL clean break in navigate()) — only open a fresh window\n // when none is active (zone-level drill, goBack, non-app-level cascade). The\n // transaction auto-commits on setTimeout(0), after React has committed the\n // preceding zone-state emit.\n if (!NavigationUtils.isInTransaction()) {\n NavigationUtils.beginTransaction('controller_url_update');\n }\n routerNavigate(urlPath, { replace });\n}\n\n// ================================\n// Cascading Orchestrator\n// ================================\n\n/**\n * Auto-populate ancestor zones when navigating to SECONDARY or COMPANION.\n *\n * When a resource is placed in SECONDARY or COMPANION, its ancestor resources\n * should be visible in the zones above it. This function checks which\n * ancestor zones are empty and populates them with the appropriate content.\n *\n * Rules:\n * - Only cascades for resource operations (not views)\n * - Only populates EMPTY zones (never overwrites user-navigated content)\n * - Uses `parentResourcesRequirements` to determine ancestor chain\n * - Stops at primary scope ancestors (org/user level)\n * - Maximum 2 ancestor zones (PRIMARY + SECONDARY for a COMPANION target)\n */\n/** Put a flat resource's LIST into PRIMARY beside a detail restored into SECONDARY (#203). */\nfunction cascadeSiblingListIntoPrimary(params: {\n resourceType: string;\n contextResourceIdentifiers: Record<string, string>;\n parentResourcesRequirements: FrontendResource_ParentResourceRequirement[];\n registry: FrontendResourcesRegistry;\n emit: (event: string, payload: any) => void;\n getZoneState: (zone: NavigationZoneName) => NavigationZoneState;\n}): void {\n const { resourceType, contextResourceIdentifiers, parentResourcesRequirements, registry, emit, getZoneState } = params;\n if (getZoneState(NavigationZoneName.PRIMARY).stack.length > 0) return;\n\n const resourceConfig = registry.resourceConfigurations?.[resourceType];\n if (!resourceConfig) return;\n\n const listContextIdentifiers = { ...contextResourceIdentifiers };\n delete listContextIdentifiers[resourceType];\n\n /*\n * The DEFAULT addressable LIST, picked WITHOUT the context-addressability check.\n * `pickPreferredOperationForCoreSemanticAddressability` asks \"reachable given the PARENT context\",\n * which a flat STANDALONE resource can never satisfy — it answers false for an operation that is\n * plainly addressable and reachable from the sidebar. `allowBulk` is required too: a LIST addresses\n * a COLLECTION and the semantic filter drops bulk operations by default.\n */\n const listOperation = pickPreferredOperationForCoreSemantic(\n getOperationsForCoreSemantic(resourceConfig.operations ?? [], CoreResourceOperation.LIST, { allowBulk: true })\n .filter((candidate) => isOperationAddressable(candidate.operationFrontendConfig)),\n CoreResourceOperation.LIST,\n { allowBulk: true },\n );\n if (!listOperation) return;\n\n emit(FrontendEvents.NAVIGATION_REPLACE, {\n zone: NavigationZoneName.PRIMARY,\n content: {\n contentType: NavigationContentType.RESOURCE_OPERATION,\n resourceContext: frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n resourceType, operation: listOperation,\n contextResourceIdentifiers: listContextIdentifiers,\n parentResourcesRequirements,\n }),\n },\n // No urlPath: the browser URL belongs to the DETAIL in secondary.\n stackEntryId: NavigationUtils.generateStackEntryId(),\n initiator: { sourceZone: NavigationZoneName.PRIMARY },\n navigationSource: NavigationSource.URL_SYNC,\n transition: NavigationTransition.REPLACE,\n });\n}\n\nfunction cascadeAncestorZones(\n targetContent: NavigationContent & { contentType: NavigationContentType.RESOURCE_OPERATION },\n resolvedZone: NavigationZoneName,\n registry: FrontendResourcesRegistry,\n contextIdentifiers: Record<string, string>,\n emit: (event: string, payload: any) => void,\n routerNavigate: ReturnType<typeof useNavigate> | null,\n getZoneState: (zone: NavigationZoneName) => NavigationZoneState,\n options?: {\n overwriteExisting?: boolean;\n },\n): void {\n const parentRequirements = targetContent.resourceContext.parentResourcesRequirements as FrontendResource_ParentResourceRequirement[];\n if (!parentRequirements || parentRequirements.length === 0) return;\n\n // Determine which zones need population.\n // Order matters: zonesToPopulate[i] maps to ancestors[i] (nearest parent first).\n // For COMPANION target: nearest parent → SECONDARY (adjacent), furthest → PRIMARY (root).\n // This maintains the master-detail-detail convention: PRIMARY=broadest, COMPANION=most specific.\n const zonesToPopulate: NavigationZoneName[] = [];\n if (resolvedZone === NavigationZoneName.SECONDARY) {\n zonesToPopulate.push(NavigationZoneName.PRIMARY);\n } else if (resolvedZone === NavigationZoneName.COMPANION) {\n zonesToPopulate.push(NavigationZoneName.SECONDARY, NavigationZoneName.PRIMARY);\n }\n\n if (zonesToPopulate.length === 0) return;\n\n // parentResourcesRequirements is ordered root → leaf (closest ancestor last).\n // Reverse to process nearest parent first — nearest maps to adjacent zone.\n const ancestors = [...parentRequirements].reverse();\n\n const targetResourceType = targetContent.resourceContext.resourceType;\n\n for (let i = 0; i < zonesToPopulate.length && i < ancestors.length; i++) {\n const zone = zonesToPopulate[i];\n const ancestor = ancestors[i];\n\n // Skip primary scope ancestors (org, user) — these don't get a zone\n if (ancestor.isPrimaryScope) continue;\n\n // Controller-driven cascade keeps existing user context intact, but URL-first\n // reconstruction is allowed to replace ancestor zones so the visible stack\n // matches the authoritative browser URL again.\n const zoneState = getZoneState(zone);\n if (!options?.overwriteExisting && zoneState.stack.length > 0) continue;\n\n // Get ancestor resource config\n const ancestorResourceType = ancestor.resourceType;\n const ancestorConfig = registry.resourceConfigurations?.[ancestorResourceType];\n if (!ancestorConfig) continue;\n\n // Find relationship between ancestor and target (or intermediate child)\n const childType = ancestor.childResourceType\n ?? (i === 0 ? targetResourceType : ancestors[i - 1].resourceType);\n const relationship = NavigationUtils.findRelationshipBetween(\n ancestorResourceType, childType, registry, ancestor.foreignKeyField\n );\n\n // Build parent requirements for the ancestor itself:\n // The ancestor's parents are those ABOVE it in the chain (root → leaf ordering).\n // Using slice(0, index) ensures we only include entries before the ancestor,\n // not entries below it (which are its children/grandchildren, not parents).\n // Previously used filter(req => req.resourceType !== ancestorResourceType) which\n // incorrectly kept descendants as parents for non-adjacent ancestors (Bug #1).\n // `ancestors` is reversed (nearest parent first) but `parentRequirements`\n // stays root → leaf, so convert back by position instead of looking up by\n // resource type. Position-based slicing is what keeps repeated/self-ref\n // parent types from collapsing onto the first matching entry.\n const ancestorIndex = parentRequirements.length - 1 - i;\n const ancestorParentReqs = ancestorIndex > 0\n ? parentRequirements.slice(0, ancestorIndex)\n : [];\n\n // Build ancestor resource context\n const ancestorContextIdentifiers: Record<string, string> = {};\n for (const req of ancestorParentReqs) {\n const contextKey = req.foreignKeyField ?? req.resourceType;\n // Prefer the FK-keyed slot when present. Same-type parent chains store the\n // parent id under the FK field so the resource-type key can continue to\n // represent the current record.\n const id = contextIdentifiers[contextKey] ?? contextIdentifiers[req.resourceType];\n if (id) {\n ancestorContextIdentifiers[contextKey] = id;\n }\n }\n const ancestorSelfId = contextIdentifiers[ancestorResourceType];\n const ancestorSelectionContextIdentifiers = ancestorSelfId\n ? {\n ...ancestorContextIdentifiers,\n [ancestorResourceType]: ancestorSelfId,\n }\n : ancestorContextIdentifiers;\n\n const opConfig = NavigationUtils.resolveAncestorOperationConfig(\n relationship,\n ancestorConfig as any,\n {\n registry,\n contextResourceIdentifiers: ancestorSelectionContextIdentifiers,\n contextualParameters: FrontendResourceUtils.buildContextualParameters(\n ancestorSelectionContextIdentifiers,\n registry,\n ),\n },\n );\n if (!opConfig) continue;\n const ancestorOp = resolveEffectiveCoreOperationFromOperation(opConfig);\n if (ancestorSelfId && ancestorOp === CoreResourceOperation.READ) {\n ancestorContextIdentifiers[ancestorResourceType] = ancestorSelfId;\n }\n\n const ancestorResourceContext = frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n resourceType: ancestorResourceType,\n operation: opConfig,\n contextResourceIdentifiers: ancestorContextIdentifiers,\n parentResourcesRequirements: ancestorParentReqs,\n });\n\n const ancestorContent: NavigationContent = {\n contentType: NavigationContentType.RESOURCE_OPERATION,\n resourceContext: ancestorResourceContext,\n };\n\n // Resolve URL for ancestor — only when the ancestor operation actually\n // owns a browser URL (declared ADDRESSABLE). Same surface gate as the main\n // navigate() path: an EMBEDDED ancestor read must not stamp an unroutable\n // URL onto the revealed zone entry or the browser.\n let ancestorUrl: string | undefined;\n if (resourceOperationOwnsBrowserUrl(opConfig)) {\n const resolved = NavigationUtils.resolveResourceUrl(\n ancestorConfig as any,\n opConfig as any,\n ancestorContextIdentifiers,\n registry.allResourceFieldIdentifiers,\n ancestorParentReqs as any,\n );\n if (resolved?.resolvedUrl) {\n ancestorUrl = resolved.resolvedUrl;\n }\n }\n\n const stackEntryId = NavigationUtils.generateStackEntryId();\n logDebug('cascadeAncestorZones: populating ancestor zone', {\n zone,\n ancestorResourceType,\n ancestorOp,\n ancestorUrl,\n });\n emit(FrontendEvents.NAVIGATION_REPLACE, {\n zone,\n content: ancestorContent,\n urlPath: ancestorUrl,\n stackEntryId,\n initiator: { sourceZone: zone },\n navigationSource: NavigationSource.CONTROLLER,\n transition: NavigationTransition.REPLACE,\n });\n\n // Update URL only for PRIMARY zone ancestor (the URL bar shows PRIMARY)\n // Skip URL update when routerNavigate is null (reverse cascade from URL sync)\n if (zone === NavigationZoneName.PRIMARY && ancestorUrl && routerNavigate) {\n updateBrowserUrl(routerNavigate, ancestorUrl, true);\n }\n }\n}\n\n/**\n * Navigation request options\n *\n * Note: Navigation target is ALWAYS determined by the NavigationPolicy.\n * There is no preferredTarget option to ensure consistent navigation behavior.\n */\nexport interface NavigateOptions {\n content: NavigationContent;\n initiator: NavigationInitiatorContext;\n urlPath?: string;\n contextResourceIdentifiers?: Record<string, string>;\n /**\n * Transition config from a relationship's `display.inParentNavigation.transition`.\n * When navigating via a parent→child relationship, the caller passes\n * the configured transition so the resolver can honour relationship-level\n * overrides (including ephemeral/persistent lifecycle modifiers).\n */\n relationshipTransition?: TransitionConfig;\n /**\n * Force the browser URL update to replace the current history entry.\n *\n * Used by navigation flows like Home where runtime semantics must still go\n * through the controller/app-level pipeline, but the browser should not keep\n * the transient source route as a back-stack entry.\n */\n replaceBrowserHistory?: boolean;\n}\n\n/**\n * Navigation helpers return type\n */\nexport interface NavigationController {\n /**\n * Navigate to content - resolves target using navigation policy\n */\n navigate: (options: NavigateOptions) => void;\n\n /**\n * Navigate to a resource operation\n * @param resourceContext - The resource operation context\n * @param initiator - Full initiator context for policy resolution\n * @param urlPath - Optional URL path for addressable operations\n * @param transitionOverride - Optional caller-forced transition that overrides\n * source-zone policy (e.g. `PROMOTE` to break a post-mutation reveal out of\n * an overlay into a structural zone).\n */\n navigateToResource: ( resourceContext: FrontendResourceOperationContext, initiator: NavigationInitiatorContext, urlPath?: string, transitionOverride?: TransitionConfig ) => void;\n\n goBack: (zone?: NavigationZone) => void;\n closeOverlay: () => void;\n canGoBack: (zone: NavigationZone) => boolean;\n\n /**\n * Current resource relationship depth (for external use)\n */\n resourceRelationshipDepth: number;\n}\n\n/**\n * Scoped override for {@link useNavigationController}.\n *\n * When a provider supplies a controller here (e.g. the Settings Hub's\n * per-section navigation host), `useNavigationController()` returns IT instead of\n * the global controller — so resource surfaces rendered inside that provider\n * drill / go back / run post-action navigation **within** the host's own stack\n * rather than escaping to the global zones (which, for an overlay-hosted surface,\n * means leaving the hub and 404-ing on unregistered routes). `null` (the default)\n * means \"use the global controller\", so every consumer outside such a provider is\n * byte-for-byte unchanged.\n */\nexport const ScopedNavigationControllerContext = createContext<NavigationController | null>(null);\n\n/**\n * Builds the global navigation controller — the app-level zone/URL navigation\n * pipeline. Most code should call {@link useNavigationController} (which returns a\n * scoped override when one is in context); call this directly only from\n * navigation-runtime internals that must always target the global zones, or from\n * a scoped provider that needs the global controller to delegate to.\n */\nexport function useGlobalNavigationController(): NavigationController {\n const { emit } = useEventBus();\n const { resourceRelationshipDepth: currentResourceRelationshipDepth, getZoneDepth, getZoneState } = useNavigationState();\n const { navigationLayout, currentBreakpoint, compositeViews, fullCustomViews, flowsActorsViews } = useUI();\n const { user } = useUserOrgs();\n const appScope = useAppScopeSafe();\n const { registry, getOperationContextNeeds } = useResourceRegistry();\n const routerNavigate = useNavigate();\n const latestNavigateRequestIdRef = useRef(0);\n /*\n * The LIVE browser URL, read through a ref so `navigate()` and `goBack()` compose a hosted pane's\n * URL from the host's CURRENT view state (`?section=` and the like) rather than from the stamp the\n * primary entry took when it was placed. A ref rather than a dependency: the callbacks below are\n * handed to every action surface, and re-creating them on every location change would re-render\n * every consumer for a value they read only at the instant they fire.\n */\n const location = useLocation();\n const currentBrowserUrlRef = useRef<string>(NavigationUtils.buildBrowserUrl(location.pathname, location.search));\n currentBrowserUrlRef.current = NavigationUtils.buildBrowserUrl(location.pathname, location.search);\n // The element-level host, read from context so the NEAREST collection wins — see the INPLACE\n // branch in navigateToResource. UNAVAILABLE (never undefined) on every surface that has none.\n const inPlaceHost = useInPlaceOperation();\n\n // Note: Context identifiers are now computed per-navigation call with scope filtering\n // to prevent border effects where unrelated identifiers leak into the navigation chain\n\n /**\n * Main navigate function\n * Navigation target is determined purely by the NavigationPolicy - no overrides allowed.\n *\n * contextResourceIdentifiers are merged with global scope identifiers from AppScope:\n * - Global identifiers (organizationId, userId, applicationId, etc.) are injected automatically\n * - Explicit contextResourceIdentifiers override the global values\n *\n * IMPORTANT: The merged identifiers are also injected into the content's resourceContext\n * so that list/read/etc. components have access to parent resource IDs for API calls.\n */\n const navigate = useCallback((options: NavigateOptions) => {\n const requestId = ++latestNavigateRequestIdRef.current;\n\n void (async () => {\n let {\n content,\n initiator,\n urlPath,\n contextResourceIdentifiers,\n relationshipTransition,\n replaceBrowserHistory,\n } = options;\n try {\n\n logDebug('navigate() called', { contentType: content.contentType, sourceZone: initiator.sourceZone, urlPath });\n\n // The Settings Hub is URL-driven: it reconstructs into the overlay from its\n // route via `useSettingsHubRouterSync`. Zone resolution would push it into a\n // structural zone (the controller never updates the URL for overlay entries\n // — see `isStructuralZone` below), so instead navigate to its route and let\n // the route sync own the overlay. Every launcher caller that dispatches\n // SETTINGS_HUB content therefore converges on one URL-first path.\n if (content.contentType === NavigationContentType.SETTINGS_HUB) {\n routerNavigate(urlPath ?? CommonRoutePaths.settings);\n return;\n }\n\n if (!navigationLayout) {\n logDebug('navigate() aborted: no navigationLayout');\n return;\n }\n\n // Extract primaryScope from target content to filter context identifiers\n // This prevents border effects where identifiers from one scope leak into another\n const targetPrimaryScope = ScopeUtilsService.extractPrimaryScopeFromContent(\n content,\n registry,\n compositeViews,\n fullCustomViews,\n flowsActorsViews,\n );\n\n // Get scope-filtered global identifiers - only inject identifiers relevant to target's primaryScope\n const primaryScopeInitiatorIds = ScopeUtilsService.buildInitiatorIds({\n userId: appScope?.currentUserId,\n organizationId: appScope?.currentOrganizationId,\n applicationId: appScope?.currentApplicationId,\n anonymousUserId: appScope?.currentAnonymousUserId,\n });\n const scopeFilteredGlobalIdentifiers = ScopeUtilsService.primaryScopeToContextIdentifiers(\n primaryScopeInitiatorIds,\n targetPrimaryScope\n );\n\n // Custom scope identifiers (resourceType-keyed) from AppScopeContext.\n // Duplicate resourceType declarations are rejected during config validation\n // and AppScopeContext initialization, so this map stays semantically unique.\n const appScopeIdentifiers: Record<string, string> = appScope?.buildContextResourceIdentifiers() ?? {};\n\n // Candidate identifiers for route-path selection (strict relevance applied after selection).\n // Explicit identifiers override everything else.\n const contentProvidedContextIdentifiers: Record<string, string> =\n NavigationUtils.isResourceOperationContent(content)\n ? ((content.resourceContext.contextResourceIdentifiers as any) ?? {})\n : {};\n const candidateContextIdentifiers: Record<string, string> = {\n ...scopeFilteredGlobalIdentifiers,\n ...appScopeIdentifiers,\n ...contentProvidedContextIdentifiers,\n ...contextResourceIdentifiers,\n };\n\n // Normalize candidate identifiers for URL building / route matching\n // (context identifiers may be objects like { fieldIdentifier, resourceId }).\n const normalizedCandidateContextIdentifiers: Record<string, string> = {};\n for (const [resType, rawValue] of Object.entries(candidateContextIdentifiers)) {\n const resourceId = frontendResourceUtils.getResourceId(rawValue as any);\n if (resourceId) {\n normalizedCandidateContextIdentifiers[resType] = resourceId;\n const explicitFieldIdentifier = frontendResourceUtils.getFieldIdentifier(rawValue as any);\n if (explicitFieldIdentifier) {\n normalizedCandidateContextIdentifiers[explicitFieldIdentifier] = resourceId;\n }\n }\n }\n\n let isAddressable = false;\n let operationSurface: ResourceOperationFrontendSurface | undefined;\n let operationOverrides: any[] | undefined;\n let actionPresentation: ResourceOperationActionPresentation | undefined;\n let actionPresentationTransition: NavigationTransition | undefined;\n let actionPresentationIsAuthored = false;\n let selectedRoutePathParameters: ResourceConfiguration_Operation_UrlParameterInfo[] | undefined;\n let selectedRouteTemplateUrl: string | undefined = urlPath;\n let selectedResolvedUrl: string | undefined;\n\n // Create a copy of content with merged context identifiers injected\n // This ensures list/read components have access to parent resource IDs\n let enrichedContent = content;\n\n if (NavigationUtils.isResourceOperationContent(content)) {\n const operation = content.resourceContext.operation;\n operationOverrides = operation?.operationFrontendConfig?.navigationOverrides;\n operationSurface = operation?.operationFrontendConfig?.surface;\n\n // The action-presentation ALIAS, read from the same place as the two lines above rather than\n // threaded in by the caller. Navigation is reached from several action surfaces (the item bar,\n // the bulk bar, the collection toolbar, a breadcrumb, a picker) and a parameter would have to\n // be passed correctly by every one of them; reading it off the operation means it cannot be\n // forgotten at a call site.\n actionPresentation = resolveResourceOperationActionPresentation(operation);\n actionPresentationTransition = resolveActionPresentationTransition(actionPresentation);\n actionPresentationIsAuthored = operation?.operationFrontendConfig?.actionPresentation !== undefined;\n\n // ─── F4: headless content is not navigable — refuse loud ─────────\n // An API_ONLY operation has NO rendered interface by contract; pushing\n // it as zone content produces a broken page. Callers are supposed to\n // pre-filter (action bars, breadcrumb, pickers all do), but the\n // chokepoint must not depend on N callers remembering — refuse here,\n // with an error the author can act on, and navigate nothing.\n if (operationSurface === ResourceOperationFrontendSurface.API_ONLY) {\n logger.error('[useNavigationController] refused navigation to API_ONLY (headless) operation — it has no rendered interface', {\n resourceType: content.resourceContext.resourceType,\n operationIdentifier: String(operation?.operationIdentifier),\n sourceZone: initiator.sourceZone,\n });\n return;\n }\n\n // Use unified URL resolver to select the best route path\n const resourceType = content.resourceContext.resourceType;\n const resourceConfig = registry.resourceConfigurations?.[resourceType];\n if (resourceConfig) {\n const resolved = NavigationUtils.resolveResourceUrl(\n resourceConfig as any,\n operation as any,\n normalizedCandidateContextIdentifiers,\n registry.allResourceFieldIdentifiers,\n content.resourceContext.parentResourcesRequirements as any\n );\n if (resolved) {\n selectedRouteTemplateUrl = resolved.templateUrl;\n selectedRoutePathParameters = resolved.routePathParameters;\n selectedResolvedUrl = resolved.resolvedUrl;\n }\n }\n // Declared-surface gate first: an EMBEDDED/API_ONLY operation never\n // claims addressability, however resolvable its pattern URL is. This\n // both suppresses the browser-URL write (see shouldUpdateUrl below) and\n // keeps the policy resolver's `isAddressable` input truthful.\n isAddressable = resourceOperationOwnsBrowserUrl(operation) && Boolean(selectedResolvedUrl ?? urlPath);\n\n // Strict relevance for navigation context:\n // only inject identifiers that the selected route path actually depends on,\n // plus explicit identifiers (and the resource self identifier if present).\n const allowedResourceTypes = new Set<string>(\n (selectedRoutePathParameters ?? []).map(p => p.resourceType)\n );\n\n // ─── enabledCondition Guard (navigation-time) ───────────────\n // Guard is only evaluated when it does NOT require objectContext fetching.\n // If objectContext is required, the guard must be handled at UI/action level (async data dependency).\n if ('enabledCondition' in operation && operation.enabledCondition) {\n const needs = getOperationContextNeeds(operation);\n if (needs.needsUserContext && !user) {\n console.warn('[useNavigationController] Navigation blocked: enabledCondition requires user context but user is missing', {\n resourceType,\n operationIdentifier: operation.operationIdentifier,\n });\n return;\n }\n // We deliberately do NOT re-evaluate `enabledCondition` here from\n // navigation-time data. The navigation layer has no access to the\n // operation's `currentObject` (it is never threaded through navigate()),\n // so a condition that reads the record's own fields — e.g. todos\n // `change_status`: `currentObject.assignedToUserId === me &&\n // currentObject.status !== COMPLETED` — would be evaluated against an\n // empty object and spuriously block a navigation the action bar already\n // validated against the REAL loaded object. (`needsObjectContext` only\n // tracks parent/child context, not the object's own fields, so\n // object-centric conditions were slipping into this block and failing.)\n //\n // enabledCondition stays enforced in the two places that have complete,\n // authoritative inputs: the action bar / display gate (evaluates the\n // full condition with the loaded `currentObject` before enabling the\n // action) and the backend (rejects the operation on execution). Object-\n // dependent conditions are therefore deferred here exactly like\n // objectContext-dependent ones already were — re-deriving them from\n // incomplete data only produced false negatives (change_status\n // regression, 2026-07).\n }\n\n if (requestId !== latestNavigateRequestIdRef.current) {\n logDebug('navigate() aborted: superseded before state mutation', {\n requestId,\n latestRequestId: latestNavigateRequestIdRef.current,\n sourceZone: initiator.sourceZone,\n });\n return;\n }\n\n const relevantInjected: Record<string, string> = {};\n for (const [resType, value] of Object.entries({\n ...scopeFilteredGlobalIdentifiers,\n ...appScopeIdentifiers,\n })) {\n if (allowedResourceTypes.size === 0 || allowedResourceTypes.has(resType)) {\n relevantInjected[resType] = value;\n }\n }\n const selfIdentifier = content.resourceContext.contextResourceIdentifiers?.[resourceType];\n\n enrichedContent = {\n ...content,\n resourceContext: {\n ...content.resourceContext,\n contextResourceIdentifiers: { // Merge global identifiers into the resourceContext's contextResourceIdentifiers - explicit values in the resourceContext override global values\n ...relevantInjected,\n ...contextResourceIdentifiers,\n ...(selfIdentifier ? { [resourceType]: selfIdentifier } : {}),\n ...content.resourceContext.contextResourceIdentifiers,\n },\n },\n };\n } else if (\n content.contentType === NavigationContentType.COMPOSITE_VIEW\n || content.contentType === NavigationContentType.CHART_VIEW\n || content.contentType === NavigationContentType.FULL_CUSTOM_VIEW\n || content.contentType === NavigationContentType.EXECUTION_VIEW\n || content.contentType === NavigationContentType.FLOWS_ACTORS_VIEW\n ) {\n // Custom views derive ambient primary scope live from AppScope at render time.\n // Only explicit navigation-time identifiers should be persisted on the stack.\n const mergedContextIdentifiers = {\n ...(content.contextResourceIdentifiers ?? {}),\n ...contextResourceIdentifiers,\n };\n\n enrichedContent = {\n ...content,\n contextResourceIdentifiers:\n Object.keys(mergedContextIdentifiers).length > 0\n ? mergedContextIdentifiers\n : undefined,\n };\n } else if (content.contentType === NavigationContentType.CUSTOM_COMPONENT) {\n const mergedContextIdentifiers = {\n ...scopeFilteredGlobalIdentifiers,\n ...appScopeIdentifiers,\n ...(content.contextResourceIdentifiers ?? {}),\n ...contextResourceIdentifiers,\n };\n\n enrichedContent = {\n ...content,\n contextResourceIdentifiers:\n Object.keys(mergedContextIdentifiers).length > 0\n ? mergedContextIdentifiers\n : undefined,\n };\n }\n\n // ─── APP_LEVEL Clean Break ────────────────────────────────\n // Sidebar/toolbar/command-palette navigation is a \"fresh start.\"\n // Clear dependent zones and overlay state within a transaction before placing\n // new content.\n if (initiator.sourceZone === APP_LEVEL_NAVIGATION_SOURCE) {\n emitFreshStartNavigationCleanup(emit, 'app_level_navigation');\n logDebug('APP_LEVEL clean break: cleared SECONDARY + COMPANION + OVERLAY');\n }\n\n // Compute resource relationship depth from parent chain (hierarchy-based, not stack-based)\n const resourceRelationshipDepth = NavigationUtils.isResourceOperationContent(enrichedContent)\n ? NavigationUtils.calculateResourceRelationshipDepth(\n enrichedContent.resourceContext.parentResourcesRequirements as unknown[] | null\n )\n : 0;\n\n // Compute zone occupancy for SPLIT target heuristic\n const zoneOccupancy: Partial<Record<NavigationZoneName, boolean>> = {};\n for (const zone of NAVIGATION_STRUCTURAL_ZONES) {\n zoneOccupancy[zone] = getZoneState(zone).stack.length > 0;\n }\n\n // Derive source zone for resolution context — map initiator.sourceZone\n // to the resolver's expected discriminant (NavigationZoneName | 'appLevel' | 'overlay')\n const sourceZone = initiator.sourceZone;\n\n // Extract operation identifier for policy resolution\n const operationIdentifier = NavigationUtils.isResourceOperationContent(enrichedContent)\n ? (enrichedContent.resourceContext.operation?.operationIdentifier ?? CoreResourceOperation.LIST)\n : CoreResourceOperation.LIST;\n const effectiveOperation = NavigationUtils.isResourceOperationContent(enrichedContent)\n ? resolveEffectiveCoreOperationFromOperation(enrichedContent.resourceContext.operation)\n : CoreResourceOperation.LIST;\n\n // Extract target resource type for resolution context\n const targetResourceType = NavigationUtils.isResourceOperationContent(enrichedContent)\n ? enrichedContent.resourceContext.resourceType\n : undefined;\n\n // Derive focusedZone — only meaningful when sourceZone is a structural zone\n const focusedZone = (sourceZone !== APP_LEVEL_NAVIGATION_SOURCE && sourceZone !== NavigationZone.OVERLAY)\n ? sourceZone as NavigationZoneName\n : undefined;\n\n // Build v3 resolution context — target is determined by policy, not caller\n const resolutionContext: NavigationResolutionContext = {\n sourceZone: sourceZone as NavigationResolutionContext['sourceZone'],\n operation: operationIdentifier,\n effectiveOperation,\n resourceType: targetResourceType,\n operationSurface,\n operationOverrides: operationOverrides as NavigationResolutionContext['operationOverrides'],\n actionPresentationTransition,\n actionPresentationIsAuthored,\n relationshipTransition,\n viewport: currentBreakpoint,\n zoneOccupancy,\n focusedZone,\n };\n\n // collapsed is available in the result for Phase 3E (NavigationContentAreas rendering)\n let resolution = navigationPolicyResolver.resolve(resolutionContext, navigationLayout);\n logDebug('Policy resolved', { targetZone: resolution.targetZone, transition: resolution.transition, appearance: resolution.appearance, collapsed: resolution.collapsed, ephemeral: resolution.ephemeral });\n\n // ─── INPLACE is NOT a zone outcome — hand it to the element-level host ────────────────────────\n //\n // Every other transition places content in a ZONE, and for as long as `INPLACE` was treated as\n // one it fell through to the emit below and left as `NAVIGATION_REPLACE` — swapping the whole\n // zone, which is precisely what its own contract says it is not (\"operates at the element level,\n // not the zone level\", \"surrounding items remain visible\", \"the zone stack is unchanged\"). The\n // preset inline-edit kit has shipped that since it was written.\n //\n // The host is read through REACT CONTEXT rather than reached by an event, and that choice is\n // load-bearing: the nearest provider wins automatically, so a nested child list transforms ITS\n // row and not the parent list's row of the same resource type. An event would have to carry\n // enough identity to disambiguate two mounted collections and would still be guessing.\n //\n // When there is no host — a breadcrumb, a picker, a detail page, any surface with no collection\n // above it — it degrades to an OVERLAY. Note it must NOT degrade to the zone replace it did\n // before: that is the defect, not the fallback.\n if (resolution.transition === NavigationTransition.INPLACE) {\n const inPlaceTarget = NavigationUtils.isResourceOperationContent(enrichedContent)\n ? resolveInPlaceTargetForContent(enrichedContent, effectiveOperation)\n : undefined;\n\n if (inPlaceTarget && inPlaceHost.isAvailable) {\n logDebug('INPLACE resolved to the element-level host', { kind: inPlaceTarget.kind });\n inPlaceHost.open(inPlaceTarget);\n return;\n }\n\n logDebug('INPLACE has no element-level host here — degrading to overlay', {\n hasTarget: Boolean(inPlaceTarget),\n hostAvailable: inPlaceHost.isAvailable,\n });\n resolution = navigationPolicyResolver.resolve(\n { ...resolutionContext, operationOverrides: [{ transition: NavigationTransition.OVERLAY }] },\n navigationLayout,\n );\n }\n\n // ─── PROMOTE Clean Break ─────────────────────────────────\n // When PROMOTE is resolved, the target is outside PRIMARY's subtree.\n // Clear dependent zones and overlay state — the content is \"breaking out\"\n // of the current flow.\n if (resolution.transition === NavigationTransition.PROMOTE) {\n emitFreshStartNavigationCleanup(emit, 'promote_navigation');\n logDebug('PROMOTE clean break: cleared SECONDARY + COMPANION + OVERLAY');\n }\n\n // ─── Cascading Orchestrator ───────────────────────────────\n // When the resolved zone is SECONDARY or COMPANION, auto-populate ancestor\n // zones that are currently empty so the user sees proper context.\n if (\n (resolution.targetZone === NavigationZoneName.SECONDARY || resolution.targetZone === NavigationZoneName.COMPANION)\n && NavigationUtils.isResourceOperationContent(enrichedContent)\n ) {\n cascadeAncestorZones(\n enrichedContent,\n resolution.targetZone as NavigationZoneName,\n registry,\n normalizedCandidateContextIdentifiers,\n emit,\n routerNavigate,\n getZoneState,\n );\n }\n\n const stackEntryId = NavigationUtils.generateStackEntryId();\n\n // The URL was already resolved by resolveResourceUrl above (stored in selectedResolvedUrl).\n // For non-resource content, fall back to the explicitly provided urlPath.\n const resolvedUrlPath = selectedResolvedUrl ?? urlPath;\n\n // URL update: addressable content in structural zones gets a URL\n const isStructuralZone = resolution.targetZone !== NavigationZone.OVERLAY;\n const isAddressableExecutionView =\n enrichedContent.contentType === NavigationContentType.EXECUTION_VIEW\n ? (() => {\n const executionView = resolveExecutionViewDefinition({\n viewRef: enrichedContent.viewRef,\n registry,\n });\n return executionView?.isAddressable === true;\n })()\n : false;\n const isRoutableNonResourceContent =\n enrichedContent.contentType === NavigationContentType.COMPOSITE_VIEW\n || enrichedContent.contentType === NavigationContentType.CHART_VIEW\n || enrichedContent.contentType === NavigationContentType.FULL_CUSTOM_VIEW\n || isAddressableExecutionView\n || enrichedContent.contentType === NavigationContentType.FLOWS_ACTORS_VIEW\n || enrichedContent.contentType === NavigationContentType.ENGINE_PAGE;\n const shouldUpdateUrl = isStructuralZone && Boolean(resolvedUrlPath) && (isAddressable || isRoutableNonResourceContent);\n const finalUrlPath = shouldUpdateUrl\n ? (\n enrichedContent.contentType === NavigationContentType.COMPOSITE_VIEW\n ? buildCompositeRouteUrlPath(\n enrichedContent.viewRef,\n enrichedContent.contextResourceIdentifiers,\n )\n : enrichedContent.contentType === NavigationContentType.CHART_VIEW\n ? buildChartRouteUrlPath(\n enrichedContent.viewRef,\n enrichedContent.contextResourceIdentifiers,\n enrichedContent.urlParamValues,\n )\n : enrichedContent.contentType === NavigationContentType.EXECUTION_VIEW\n ? buildExecutionRouteUrlPath(\n enrichedContent.viewRef,\n enrichedContent.contextResourceIdentifiers,\n )\n : resolvedUrlPath\n )\n : undefined;\n\n /*\n * ─── HOSTED PANE ─────────────────────────────────────────────────────────────────────────\n * A resource landing in SECONDARY beside a primary whose address a resource URL cannot imply\n * (a composite view, a canvas, a chart, an engine page) is HOSTED: the browser URL stays the\n * host's and carries the pane as `?pane=`. Before this the URL became the pane's, the board\n * still on screen was no longer described by it, its `?section=` view state vanished from\n * under the mounted view, and a reload rebuilt a sibling list where the board had been.\n *\n * The entry keeps its OWN address in `urlPath` — that is what `goBack` pops to and what the\n * URL reconciler compares the `pane` parameter against — and the composed URL is produced by\n * the one composer every write site uses. Resource primaries are untouched: their detail URL\n * already implies them (#203).\n */\n const primaryTopForHosting = NavigationUtils.getTopEntry(getZoneState(NavigationZoneName.PRIMARY));\n const hostedPane = resolution.targetZone === NavigationZoneName.SECONDARY\n && NavigationUtils.isResourceOperationContent(enrichedContent)\n // Only an ADDRESSABLE pane can be hosted: an entry with no URL of its own has nothing to ride\n // the host's URL as, and flagging it would make the pane reconciler read the next view-state\n // change (\"no `pane` in the URL\") as the pane having been closed.\n && shouldUpdateUrl\n && finalUrlPath !== undefined\n && primaryTopForHosting?.urlPath !== undefined\n && !NavigationUtils.primaryContentIsUrlDerivable(primaryTopForHosting.content);\n\n const eventPayload: FrontendEvent_NavigationPush | FrontendEvent_NavigationReplace = {\n zone: resolution.targetZone,\n content: enrichedContent,\n urlPath: finalUrlPath,\n stackEntryId,\n initiator,\n navigationSource: NavigationSource.CONTROLLER,\n transition: resolution.transition,\n appearance: resolution.appearance,\n overlayBehavior: resolution.overlayBehavior,\n ephemeral: resolution.ephemeral,\n ...(hostedPane ? { hostedPane: true } : {}),\n };\n logDebug('Emitting navigation event', { event: resolution.transition === NavigationTransition.PUSH ? 'PUSH' : 'REPLACE', zone: resolution.targetZone, finalUrlPath, hostedPane });\n if (resolution.transition === NavigationTransition.PUSH) {\n emit(FrontendEvents.NAVIGATION_PUSH, eventPayload as FrontendEvent_NavigationPush);\n } else {\n // PROMOTE, REPLACE, SPLIT, INPLACE, OVERLAY all emit as REPLACE\n emit(FrontendEvents.NAVIGATION_REPLACE, eventPayload as FrontendEvent_NavigationReplace);\n }\n\n // Update browser URL for addressable operations in structural zones\n if (shouldUpdateUrl && finalUrlPath) {\n const isReplaceLike = replaceBrowserHistory === true\n || resolution.transition === NavigationTransition.REPLACE\n || resolution.transition === NavigationTransition.PROMOTE;\n const browserUrl = hostedPane\n ? NavigationUtils.resolveBrowserUrlForZoneEntry({\n zone: NavigationZoneName.SECONDARY,\n entryUrlPath: finalUrlPath,\n currentBrowserUrl: currentBrowserUrlRef.current,\n getZoneState,\n }) ?? finalUrlPath\n : finalUrlPath;\n updateBrowserUrl(routerNavigate, browserUrl, isReplaceLike);\n }\n } catch (error) {\n logger.error('useNavigationController navigation failed', {\n error,\n requestId,\n sourceZone: initiator.sourceZone,\n contentType: content.contentType,\n urlPath,\n resourceType: NavigationUtils.isResourceOperationContent(content)\n ? content.resourceContext.resourceType\n : undefined,\n operationIdentifier: NavigationUtils.isResourceOperationContent(content)\n ? content.resourceContext.operation?.operationIdentifier\n : undefined,\n });\n }\n })();\n }, [\n emit,\n navigationLayout,\n currentBreakpoint,\n user,\n appScope,\n registry,\n compositeViews,\n fullCustomViews,\n flowsActorsViews,\n getOperationContextNeeds,\n routerNavigate,\n getZoneState,\n inPlaceHost,\n ]);\n\n\n\n const navigateToResource = useCallback(( resourceContext: FrontendResourceOperationContext, initiator: NavigationInitiatorContext, urlPath?: string, transitionOverride?: TransitionConfig) => {\n const content: NavigationContent = {\n contentType: NavigationContentType.RESOURCE_OPERATION,\n resourceContext,\n };\n\n // `transitionOverride` is a caller-forced transition that wins over the\n // source-zone policy (it feeds the resolver's high-priority caller-transition\n // channel — see `NavigateOptions.relationshipTransition`). The canonical use\n // is a breakout: a mutation hosted in an OVERLAY (create/update dialog) that,\n // on success, must reveal the resulting record in a structural zone via\n // PROMOTE — otherwise the follow-up navigation resolves through\n // `fromOverlay.transitions` and stacks the record *inside* the transient\n // dialog, leaving the popup stuck open.\n navigate({ content, initiator, urlPath, relationshipTransition: transitionOverride });\n }, [navigate]);\n\n /**\n * Go back in a specific zone's stack.\n */\n const goBack = useCallback((zone: NavigationZone = NavigationZoneName.PRIMARY) => {\n const zoneState = getZoneState(zone);\n \n /*\n * The ONE go-back resolver, shared with the router error boundary and the feature-route guard,\n * so a hosted pane's URL is composed under its host everywhere \"back\" can be reached. The POP\n * is emitted whenever there is something to pop; the URL is written only when the resolver\n * produced one (a previous entry with no address of its own leaves the URL alone, as before).\n */\n if (zoneState.stack.length === 0) return;\n const target = NavigationUtils.resolveGoBackTarget({\n zone: zone as NavigationZoneName,\n currentBrowserUrl: currentBrowserUrlRef.current,\n getZoneState,\n });\n if (!target) return;\n emit(FrontendEvents.NAVIGATION_POP, { zone });\n if (target.browserUrl) {\n updateBrowserUrl(routerNavigate, target.browserUrl, true);\n }\n }, [emit, getZoneState, routerNavigate]);\n\n /**\n * Close the top overlay entry.\n */\n const closeOverlay = useCallback(() => {\n emit(FrontendEvents.NAVIGATION_CLOSE, { zone: NavigationZone.OVERLAY });\n }, [emit]);\n\n /**\n * Check if a zone's stack has entries to go back to.\n */\n const canGoBack = useCallback((zone: NavigationZone): boolean => {\n return getZoneDepth(zone) > 1;\n }, [getZoneDepth]);\n\n return useMemo(\n () => ({ navigate, navigateToResource, goBack, closeOverlay, canGoBack, resourceRelationshipDepth: currentResourceRelationshipDepth }),\n [ navigate, navigateToResource, goBack, closeOverlay, canGoBack, currentResourceRelationshipDepth ]);\n}\n\n/**\n * Hook to control navigation in the application.\n *\n * Returns the scoped controller from {@link ScopedNavigationControllerContext}\n * when one is in context (the Settings Hub section host installs one so in-hub\n * related actions stay within the section panel), otherwise the global\n * controller. Both hooks run unconditionally — the global builder is\n * effect-free, so building it even when the scoped controller wins costs nothing\n * (and is exactly what every one of the ~27 existing call sites already does).\n */\n/**\n * What an `INPLACE` resolution should hand the element-level host, or `undefined` when this content\n * cannot be hosted in one.\n *\n * `CREATE` is the shape that has no element yet: the collection materialises a NEW one to collect\n * the input, which is what the transition's own docstring describes (\"a create form appears inline\n * in the list\"). Everything else must name the element it transforms, and content that cannot\n * resolve one is not hostable — the caller degrades rather than transforming an arbitrary row.\n */\nfunction resolveInPlaceTargetForContent(\n content: { resourceContext: FrontendResourceOperationContext },\n effectiveOperation: CoreResourceOperation | undefined,\n): InPlaceOperationTarget | undefined {\n const resourceContext = content.resourceContext;\n const operation = resourceContext.operation as FrontendResourceConfiguration_Operation | undefined;\n if (!operation) {\n return undefined;\n }\n\n if (\n effectiveOperation === CoreResourceOperation.CREATE\n || effectiveOperation === CoreResourceOperation.CREATE_MANY\n ) {\n return { kind: InPlaceOperationTargetKind.CREATE, operation, resourceContext };\n }\n\n const elementId = frontendResourceUtils.getResourceId(\n resourceContext.contextResourceIdentifiers?.[resourceContext.resourceType],\n );\n return elementId\n ? { kind: InPlaceOperationTargetKind.ELEMENT, elementId, operation, resourceContext }\n : undefined;\n}\n\nexport function useNavigationController(): NavigationController {\n const scopedController = useContext(ScopedNavigationControllerContext);\n const globalController = useGlobalNavigationController();\n return scopedController ?? globalController;\n}\n\n\n// ================================\n// Router Sync Hook (merged from RouterNavigationSync)\n// ================================\n\n\n/**\n * Hook to sync React Router URL changes with navigation state.\n *\n * When a user navigates via URL (bookmark, direct link, refresh),\n * this hook ensures the navigation state is updated accordingly.\n *\n * Uses NavigationSource to detect controller-initiated navigation:\n * - If top entry has source=CONTROLLER and matches current URL, skip sync\n * - Otherwise, this is an external URL change, sync it with source=URL_SYNC\n *\n * @param resourceType - The resource type for the current route\n * @param operation - The operation configuration\n * @param routePathParameters - Route path parameters with relationship info for deterministic URL selection\n */\nexport function useRouterSync(\n resourceType: string | undefined,\n operation: FrontendResourceConfiguration_Operation | undefined,\n routePathParameters?: ResourceConfiguration_Operation_UrlParameterInfo[]\n): void {\n const location = useLocation();\n const urlParameters = useParams<Record<string, string>>() as Record<string, string>;\n const { registry } = useResourceRegistry();\n const { emit } = useEventBus();\n const { getZoneState } = useNavigationState();\n const appScope = useAppScopeSafe();\n const { navigationLayout: resolvedNavigationLayout } = useUI();\n const currentBrowserUrl = useMemo(\n () => NavigationUtils.buildBrowserUrl(location.pathname, location.search),\n [location.pathname, location.search],\n );\n const liveAppScopeContextIdentifiers = useMemo(\n () => appScope?.buildContextResourceIdentifiers?.() ?? {},\n [appScope],\n );\n const liveAppScopeContextIdentifiersKey = useMemo(\n () => FrontendResourceUtils.buildContextResourceIdentifiersKey(liveAppScopeContextIdentifiers),\n [liveAppScopeContextIdentifiers],\n );\n\n // Track the last synced path to avoid duplicate updates\n const lastSyncedPath = useRef<string | null>(null);\n const {\n retryTick,\n scheduleRetry: scheduleTransactionRetry,\n clearRetry: clearTransactionRetry,\n } = useTransactionAwareSyncRetry(currentBrowserUrl);\n\n // Pre-compute this resource's route patterns (memoized) so the effect can\n // cheaply verify that the current URL actually belongs to this resource.\n // This prevents re-populating the navigation stack when the Outlet briefly\n // mounts this ResourcePageWrapper during a route transition (e.g., Home '/').\n const resourceRoutePatterns = useMemo(() => {\n if (!resourceType || !operation) return [];\n const resourceConfig = registry.resourceConfigurations?.[resourceType];\n if (!resourceConfig) return [];\n return ResourcesConfigOperationsUrlsBuilderUtils.buildOperationFrontendRoutePaths(\n resourceConfig as any, operation, registry.allResourceFieldIdentifiers\n ).map(rp => rp.url);\n }, [resourceType, operation, registry]);\n\n useEffect(() => {\n\n if (!resourceType || !operation) return;\n\n logDebug('useRouterSync: effect fired', {\n resourceType,\n operationId: operation.operationIdentifier,\n locationPathname: location.pathname,\n lastSyncedPath: lastSyncedPath.current,\n routePatternsCount: resourceRoutePatterns.length,\n });\n\n // Guard: A NavigationTransaction is active (e.g., home click, org switch, cascading).\n // The Outlet briefly mounts this ResourcePageWrapper before React Router commits\n // the route change (startTransition = low-priority). Skip sync to prevent\n // re-populating the stack with stale content.\n if (NavigationUtils.isInTransaction()) {\n logDebug('useRouterSync: SKIP — navigation transaction active', { source: NavigationUtils.getTransactionSource() });\n scheduleTransactionRetry();\n return;\n }\n\n clearTransactionRetry();\n\n // Skip if we've already synced this path\n if (lastSyncedPath.current === currentBrowserUrl) {\n logDebug('useRouterSync: SKIP — already synced this path', { currentBrowserUrl });\n return;\n }\n\n // Guard: verify the current URL actually matches one of this resource's route patterns.\n // When navigating to a non-resource route (e.g., Home '/'), the Outlet may briefly\n // mount this ResourcePageWrapper before React Router unmounts it. Without this guard,\n // useRouterSync would re-populate the PRIMARY stack with stale content, preventing\n // the target route (Home) from ever rendering.\n if (resourceRoutePatterns.length > 0) {\n const isUrlRelevant = resourceRoutePatterns.some(pattern =>\n NavigationUtils.matchUrlPattern(pattern, location.pathname)\n );\n if (!isUrlRelevant) {\n logDebug('useRouterSync: SKIP — URL does not match any resource route pattern', {\n pathname: location.pathname,\n patterns: resourceRoutePatterns,\n });\n lastSyncedPath.current = currentBrowserUrl;\n return;\n }\n }\n\n // Get the target resource's primaryScope to filter global identifiers\n // This prevents border effects from URL sync\n const targetPrimaryScope = registry.resourceConfigurations?.[resourceType]?.resourcePrimaryScope;\n\n // Build parentResourcesRequirements from route path parameters if available\n const parentResourcesRequirements = routePathParameters\n ? frontendResourceUtils.buildParentResourcesRequirementsFromRouteParams(\n routePathParameters,\n resourceType,\n registry\n )\n : [];\n\n // Reverse reconstruction must only trust the current top owner of the URL.\n // A stale match buried elsewhere in a stack should not suppress rebuild.\n const zones = resolvedNavigationLayout?.zones;\n const hasSecondary = !!zones?.secondary;\n const hasCompanion = !!zones?.companion;\n const depth = NavigationUtils.calculateResourceRelationshipDepth(parentResourcesRequirements);\n const prefersAdjacentZoneForDetail = depth === 0\n && hasSecondary\n && operation !== undefined\n && NavigationUtils.layoutSplitsOperationFromPrimary(resolvedNavigationLayout, operation);\n const targetZone = NavigationUtils.resolveResourceTargetZone(depth, {\n hasSecondary,\n hasCompanion,\n prefersAdjacentZoneForDetail,\n });\n /*\n * Ownership is asked per ZONE and by DESTINATION: the entry the target zone shows must address\n * this URL, and a view-state query difference (`?dataMode=`) is not a different destination.\n * The always-mounted reconciler refreshes the entry's `urlPath` for such a change; this hook's\n * only job is to not rebuild what is already there.\n */\n const targetZoneOwnsUrl = NavigationUtils.zoneOwnsBrowserUrl(targetZone, currentBrowserUrl, getZoneState);\n\n logDebug('useRouterSync: checking guards', {\n currentBrowserUrl,\n targetZone,\n targetZoneOwnsUrl,\n targetZoneTopUrlPath: NavigationUtils.getTopEntry(getZoneState(targetZone))?.urlPath,\n });\n\n if (targetZoneOwnsUrl) {\n logDebug('useRouterSync: SKIP — target zone already owns current URL', { targetZone });\n lastSyncedPath.current = currentBrowserUrl;\n return;\n }\n\n // Build resource context from URL params\n // Pass routePathParameters for accurate FK field mapping (e.g., assignedToUserId → USERS)\n const urlContextIdentifiers = frontendResourceUtils.extractResourceIdentifiersFromUrlParams(\n urlParameters,\n registry,\n routePathParameters\n );\n\n const mergedContextIdentifiers = ScopeUtilsService.buildResourceOperationContextIdentifiers({\n currentUserId: appScope?.currentUserId,\n currentOrganizationId: appScope?.currentOrganizationId,\n currentApplicationId: appScope?.currentApplicationId,\n currentAnonymousUserId: appScope?.currentAnonymousUserId,\n primaryScope: targetPrimaryScope,\n liveAppScopeContextResourceIdentifiers: liveAppScopeContextIdentifiers,\n explicitContextResourceIdentifiers: urlContextIdentifiers,\n });\n\n const resourceContext = frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n resourceType,\n operation,\n contextResourceIdentifiers: mergedContextIdentifiers,\n parentResourcesRequirements,\n });\n\n // Create navigation content\n const content: NavigationContent = {\n contentType: NavigationContentType.RESOURCE_OPERATION,\n resourceContext,\n };\n\n // Generate stack entry ID\n const stackEntryId = NavigationUtils.generateStackEntryId();\n\n // ─── Reverse Cascade: place content in the correct zone ──────────\n // On page refresh / deep link, the URL-synced resource should land in the\n // zone matching its relationship depth, not always PRIMARY.\n // depth 0 → PRIMARY, depth 1 → SECONDARY, depth 2+ → COMPANION.\n // Ancestor zones are then populated via cascadeAncestorZones.\n //\n logDebug('useRouterSync: EMITTING NAVIGATION_REPLACE (URL_SYNC)', {\n resourceType,\n operationId: operation.operationIdentifier,\n currentBrowserUrl,\n mergedContextIdentifiers,\n depth,\n targetZone,\n });\n\n // For deep resources (depth >= 1), wrap in a transaction so cascading\n // events don't cause useRouterSync to re-fire mid-reconstruction.\n if (depth >= 1) {\n NavigationUtils.beginTransaction('url_reverse_cascade');\n }\n\n emit(FrontendEvents.NAVIGATION_REPLACE, {\n zone: targetZone,\n content,\n urlPath: currentBrowserUrl,\n stackEntryId,\n initiator: { sourceZone: targetZone },\n navigationSource: NavigationSource.URL_SYNC,\n transition: NavigationTransition.REPLACE,\n });\n\n if (prefersAdjacentZoneForDetail && targetZone === NavigationZoneName.SECONDARY) {\n cascadeSiblingListIntoPrimary({\n resourceType: resourceType as string,\n contextResourceIdentifiers: mergedContextIdentifiers as Record<string, string>,\n parentResourcesRequirements, registry, emit, getZoneState,\n });\n }\n\n // Populate ancestor panes for depth 1+ resources\n if (depth >= 1) {\n // Normalize context identifiers to plain strings for cascading\n const normalizedForCascade = normalizeContextResourceIdentifiersForTransport(mergedContextIdentifiers as any);\n cascadeAncestorZones(\n content as NavigationContent & { contentType: NavigationContentType.RESOURCE_OPERATION },\n targetZone,\n registry,\n normalizedForCascade,\n emit,\n null, // No URL update needed — browser already has the correct URL\n getZoneState,\n { overwriteExisting: true },\n );\n // Transaction auto-commits via setTimeout(0)\n }\n\n lastSyncedPath.current = currentBrowserUrl;\n\n }, [\n location.pathname,\n location.search,\n urlParameters,\n resourceType,\n operation,\n registry,\n emit,\n getZoneState,\n appScope?.currentUserId,\n appScope?.currentOrganizationId,\n appScope?.currentApplicationId,\n appScope?.currentAnonymousUserId,\n liveAppScopeContextIdentifiersKey,\n routePathParameters,\n resourceRoutePatterns,\n resolvedNavigationLayout,\n currentBrowserUrl,\n retryTick,\n scheduleTransactionRetry,\n clearTransactionRetry,\n ]);\n}\n\n\n// ================================\n// View Router Sync Hook\n// ================================\n\n/**\n * Hook to sync view routes (composite, chart, custom, flows-actors) with navigation state.\n *\n * Unlike useRouterSync (which handles resource operations), this handles non-resource\n * content types that only need a viewRef and contentType. Views are always depth 0\n * (placed in PRIMARY zone), have no parent chain, and no cascading.\n *\n * On refresh / deep link, this hook populates the PRIMARY zone's navigation stack\n * with the correct view content so that:\n * - ZoneContentRenderer renders the view\n * - Sidebar active state reflects the current view\n * - goBack() works correctly\n *\n * @param viewRef - The view reference from the URL\n * @param contentType - The navigation content type (COMPOSITE_VIEW, CHART_VIEW, etc.)\n */\nexport function useViewRouterSync(\n viewRef: string | undefined,\n contentType: NavigationContentType,\n): void {\n const location = useLocation();\n const { emit } = useEventBus();\n const { getZoneState } = useNavigationState();\n const { registry } = useResourceRegistry();\n const { fullCustomViews, flowsActorsViews } = useUI();\n\n const lastSyncedPath = useRef<string | null>(null);\n const currentUrl = NavigationUtils.buildBrowserUrl(location.pathname, location.search);\n const {\n retryTick,\n scheduleRetry: scheduleTransactionRetry,\n clearRetry: clearTransactionRetry,\n } = useTransactionAwareSyncRetry(currentUrl);\n\n useEffect(() => {\n if (!viewRef) return;\n\n // Guard: transaction active\n if (NavigationUtils.isInTransaction()) {\n scheduleTransactionRetry();\n return;\n }\n\n clearTransactionRetry();\n\n // Skip if already synced\n if (lastSyncedPath.current === currentUrl) return;\n\n // Asked about PRIMARY's half of the URL: under a composed URL the HOST is this view and the\n // `pane` parameter belongs to the secondary zone's own reconciler. A view-state change\n // (`?section=`) on the same view is owned too — the reconciler refreshes the stamp in place.\n if (NavigationUtils.zoneOwnsBrowserUrl(NavigationZoneName.PRIMARY, currentUrl, getZoneState)) {\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n // Deep-link sync should rebuild the same typed view payload, but ambient\n // primary scope is derived live from AppScope by the view itself.\n let content: NavigationContent;\n const compositeRouteContextResourceIdentifiers = contentType === NavigationContentType.COMPOSITE_VIEW\n ? extractCompositeRouteContextResourceIdentifiers(new URLSearchParams(location.search))\n : undefined;\n const chartRouteContextResourceIdentifiers = contentType === NavigationContentType.CHART_VIEW\n ? extractChartRouteContextResourceIdentifiers(new URLSearchParams(location.search))\n : undefined;\n const chartRouteUrlParamValues = contentType === NavigationContentType.CHART_VIEW\n ? extractChartRouteUrlParamValues(new URLSearchParams(location.search))\n : undefined;\n const executionRouteContextResourceIdentifiers = contentType === NavigationContentType.EXECUTION_VIEW\n ? extractExecutionRouteContextResourceIdentifiers(new URLSearchParams(location.search))\n : undefined;\n const fullCustomView = contentType === NavigationContentType.FULL_CUSTOM_VIEW\n ? fullCustomViews?.find(view => view.ref === viewRef)\n : undefined;\n const flowsActorsView = contentType === NavigationContentType.FLOWS_ACTORS_VIEW\n ? flowsActorsViews?.find(view => view.ref === viewRef)\n : undefined;\n const executionView = contentType === NavigationContentType.EXECUTION_VIEW\n ? resolveExecutionViewDefinition({\n viewRef,\n registry,\n })\n : undefined;\n switch (contentType) {\n case NavigationContentType.COMPOSITE_VIEW:\n content = {\n contentType: NavigationContentType.COMPOSITE_VIEW,\n viewRef,\n contextResourceIdentifiers: compositeRouteContextResourceIdentifiers,\n };\n break;\n case NavigationContentType.CHART_VIEW:\n content = {\n contentType: NavigationContentType.CHART_VIEW,\n viewRef,\n contextResourceIdentifiers: chartRouteContextResourceIdentifiers,\n urlParamValues: chartRouteUrlParamValues,\n };\n break;\n case NavigationContentType.FULL_CUSTOM_VIEW:\n if (!fullCustomView) {\n return;\n }\n content = {\n contentType: NavigationContentType.FULL_CUSTOM_VIEW,\n viewRef,\n fullCustomComponentRef: fullCustomView.componentRef,\n };\n break;\n case NavigationContentType.FLOWS_ACTORS_VIEW:\n if (!flowsActorsView) {\n return;\n }\n content = {\n contentType: NavigationContentType.FLOWS_ACTORS_VIEW,\n viewRef,\n flowsActorsSystemRefs: flowsActorsView.systemRefs,\n };\n break;\n case NavigationContentType.EXECUTION_VIEW:\n if (\n !executionView\n || executionView.isAddressable !== true\n ) {\n return;\n }\n\n content = {\n contentType: NavigationContentType.EXECUTION_VIEW,\n viewRef,\n contextResourceIdentifiers: executionRouteContextResourceIdentifiers,\n };\n break;\n default:\n return;\n }\n\n const stackEntryId = NavigationUtils.generateStackEntryId();\n\n logDebug('useViewRouterSync: EMITTING NAVIGATION_REPLACE (URL_SYNC)', {\n viewRef,\n contentType,\n locationPathname: location.pathname,\n locationSearch: location.search,\n });\n\n emit(FrontendEvents.NAVIGATION_REPLACE, {\n zone: NavigationZoneName.PRIMARY,\n content,\n // The view's OWN address: under a composed URL the `pane` half belongs to the secondary\n // entry, and stamping it here would make the host look like a different destination the\n // moment the pane changed.\n urlPath: NavigationUtils.decomposeHostedPaneBrowserUrl(currentUrl).hostUrl,\n stackEntryId,\n initiator: { sourceZone: NavigationZoneName.PRIMARY },\n navigationSource: NavigationSource.URL_SYNC,\n transition: NavigationTransition.REPLACE,\n });\n\n lastSyncedPath.current = currentUrl;\n }, [viewRef, contentType, emit, getZoneState, fullCustomViews, flowsActorsViews, registry, currentUrl, retryTick, scheduleTransactionRetry, clearTransactionRetry]);\n}\n\n/**\n * Router sync for typed engine pages.\n *\n * Engine pages are app-level routes that should still populate the PRIMARY stack\n * so launcher active-state and back-navigation remain coherent after refresh or\n * direct URL entry.\n */\nexport function useEnginePageRouterSync(pageRef: EnginePageRef | undefined): void {\n const location = useLocation();\n const { emit } = useEventBus();\n const { getZoneState } = useNavigationState();\n\n const lastSyncedPath = useRef<string | null>(null);\n const currentUrl = NavigationUtils.buildBrowserUrl(location.pathname, location.search);\n const {\n retryTick,\n scheduleRetry: scheduleTransactionRetry,\n clearRetry: clearTransactionRetry,\n } = useTransactionAwareSyncRetry(currentUrl);\n\n useEffect(() => {\n if (!pageRef) return;\n\n if (NavigationUtils.isInTransaction()) {\n scheduleTransactionRetry();\n return;\n }\n\n clearTransactionRetry();\n\n if (lastSyncedPath.current === currentUrl) return;\n\n // Same per-zone, destination-based ownership as the view sync above.\n if (NavigationUtils.zoneOwnsBrowserUrl(NavigationZoneName.PRIMARY, currentUrl, getZoneState)) {\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n const stackEntryId = NavigationUtils.generateStackEntryId();\n\n emit(FrontendEvents.NAVIGATION_REPLACE, {\n zone: NavigationZoneName.PRIMARY,\n content: {\n contentType: NavigationContentType.ENGINE_PAGE,\n pageRef,\n },\n urlPath: NavigationUtils.decomposeHostedPaneBrowserUrl(currentUrl).hostUrl,\n stackEntryId,\n initiator: { sourceZone: NavigationZoneName.PRIMARY },\n navigationSource: NavigationSource.URL_SYNC,\n transition: NavigationTransition.REPLACE,\n });\n\n lastSyncedPath.current = currentUrl;\n }, [pageRef, emit, getZoneState, currentUrl, retryTick, scheduleTransactionRetry, clearTransactionRetry]);\n}\n\n/**\n * Persistent, always-mounted reconciler that maps browser **back/forward**\n * (history popstate) onto the STRUCTURAL zone stacks (PRIMARY / SECONDARY /\n * COMPANION).\n *\n * ── Why this exists (the gap it closes) ────────────────────────────────────\n * Structural-zone content is rendered from the navigation **stack state**, not\n * from the router `<Outlet/>`: `ZoneContentRenderer` renders `routerChildren`\n * (the Outlet, which hosts `useRouterSync` / `useViewRouterSync` /\n * `useEnginePageRouterSync`) ONLY when a zone's stack is empty. In-session the\n * PRIMARY stack is never empty, so the Outlet — and with it the per-route\n * URL→state sync hooks — is unmounted. Controller-driven navigation (sidebar,\n * links, Home) mutates the stack directly via events, so it is unaffected. But\n * a browser back/forward only changes `location`; with no mounted sync hook\n * observing it, the stack was never reconciled — the URL (and the\n * `useLocation`-derived sidebar highlight) moved while the rendered content\n * stayed on the previous entry. This is the structural-zone analogue of what\n * {@link useSettingsHubOverlaySync} already does for the overlay, and it is\n * mounted the same way: exactly once, at the navigation-runtime level.\n *\n * ── Contract ───────────────────────────────────────────────────────────────\n * On every `location` change (deferred while a navigation transaction is\n * mid-flight, so controller-driven URL updates are not double-handled):\n * 1. Settings-hub URLs (`/settings*`) are owned by {@link useSettingsHubOverlaySync}\n * (overlay layer) — skip them entirely so we never clobber the structural\n * content sitting beneath the hub.\n * 2. If the URL addresses the DESTINATION already at the visible top of a\n * structural zone → no rebuild. When it differs only in VIEW STATE\n * (`?section=`), the entry's `urlPath` is refreshed in place through\n * `NAVIGATION_URL_PATH_UPDATED` — same id, same content. Under a composed\n * URL (`?pane=`, see `useHostedPaneRouteSync`) the host's stamp on PRIMARY\n * and the pane's on SECONDARY are both refreshed.\n * 3. If the URL matches an entry still sitting LOWER in a zone's backstack →\n * restore it with a pure `NAVIGATION_POP` to that entry. This is the common\n * back-button case; popping preserves the revealed entry's live state\n * (scroll, expanded rows) instead of rebuilding it. A composed URL is\n * matched against the SECONDARY backstack while PRIMARY addresses the host.\n * 4. Otherwise the URL is not in any structural stack (forward to a\n * previously-popped entry, or a manual URL edit without reload) → clear the\n * structural zones inside a transaction so the Outlet fallback remounts and\n * the existing route-mounted sync hooks reconstruct from the URL. This\n * reuses the single URL→state derivation rather than duplicating it here,\n * matching the documented URL-first reconstruction model.\n *\n * We never call `routerNavigate` here — the browser already owns the URL; this\n * hook only brings zone state up to match it, so there is no URL-write loop.\n */\nexport function useStructuralZoneBackForwardSync(): void {\n const location = useLocation();\n const { emit } = useEventBus();\n const { getZoneState } = useNavigationState();\n\n const lastSyncedPath = useRef<string | null>(null);\n const currentUrl = NavigationUtils.buildBrowserUrl(location.pathname, location.search);\n const { retryTick, scheduleRetry, clearRetry } = useTransactionAwareSyncRetry(currentUrl);\n\n useEffect(() => {\n // Defer while a controller-driven navigation transaction is committing; the\n // retry tick re-runs this reconciler once the emitted entry owns the URL, so\n // step 2 below no-ops instead of us fighting the controller.\n if (NavigationUtils.isInTransaction()) {\n scheduleRetry();\n return;\n }\n clearRetry();\n\n if (lastSyncedPath.current === currentUrl) return;\n\n // (1) Settings-hub URLs belong to the overlay reconciler — leave the\n // structural stack beneath the hub untouched.\n if (matchSettingsHubPath(location.pathname).isSettings) {\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n const owner = NavigationUtils.findStructuralStackEntryOwningUrl(currentUrl, getZoneState);\n\n // (2) Already the visible top of its zone — nothing to REBUILD. When the URL moved only in\n // VIEW STATE (`?section=` on a board, `?dataMode=` on a list) the entry's stamp is refreshed in\n // place, id and content untouched, so the next comparison sees the URL it will actually get.\n // Under a composed URL both halves are refreshed: the host's stamp on PRIMARY, the pane's on\n // SECONDARY. This is the branch that used to fall through to (4) and tear every zone down for\n // a tab click.\n if (owner?.isTop) {\n if (owner.searchDiffers) {\n const { hostUrl, paneUrl } = NavigationUtils.decomposeHostedPaneBrowserUrl(currentUrl);\n const refreshes: Array<{ zone: NavigationZoneName; entry: NavigationStackEntry | undefined; urlPath: string }> =\n paneUrl !== undefined\n ? [\n { zone: NavigationZoneName.PRIMARY, entry: NavigationUtils.getTopEntry(getZoneState(NavigationZoneName.PRIMARY)), urlPath: hostUrl },\n { zone: NavigationZoneName.SECONDARY, entry: owner.entry, urlPath: paneUrl },\n ]\n : [{ zone: owner.zone, entry: owner.entry, urlPath: currentUrl }];\n for (const refresh of refreshes) {\n if (refresh.entry && refresh.entry.urlPath !== refresh.urlPath) {\n logDebug('useStructuralZoneBackForwardSync: refreshing entry urlPath for a view-state change', {\n zone: refresh.zone,\n stackEntryId: refresh.entry.id,\n from: refresh.entry.urlPath,\n to: refresh.urlPath,\n });\n emit(FrontendEvents.NAVIGATION_URL_PATH_UPDATED, {\n zone: refresh.zone,\n stackEntryId: refresh.entry.id,\n urlPath: refresh.urlPath,\n });\n }\n }\n }\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n // (3) Previously-visited entry still in the backstack — restore via POP.\n if (owner) {\n logDebug('useStructuralZoneBackForwardSync: POP to backstack entry', {\n zone: owner.zone,\n toStackEntryId: owner.entry.id,\n currentUrl,\n });\n emit(FrontendEvents.NAVIGATION_POP, {\n zone: owner.zone,\n toStackEntryId: owner.entry.id,\n });\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n // (4) URL is not anywhere in the structural stacks. If a stack is currently\n // non-empty the Outlet (and its sync hooks) is unmounted, so clear the\n // structural zones inside a transaction and let the Outlet fallback rebuild\n // from the URL. When every structural stack is already empty (cold load /\n // deep-link) the Outlet is mounted and owns reconstruction — do nothing.\n const anyStructuralContent = NAVIGATION_STRUCTURAL_ZONES.some(\n (zone) => getZoneState(zone).stack.length > 0,\n );\n if (anyStructuralContent) {\n logDebug('useStructuralZoneBackForwardSync: clearing structural zones for URL rebuild', { currentUrl });\n NavigationUtils.beginTransaction('backforward_url_rebuild');\n for (const zone of NAVIGATION_STRUCTURAL_ZONES) {\n emit(FrontendEvents.NAVIGATION_CLEAR_ZONE, { zone });\n }\n // Transaction auto-commits (setTimeout(0)); the route-mounted sync hooks\n // skip while it is active and reconstruct on their transaction-aware retry.\n }\n lastSyncedPath.current = currentUrl;\n }, [currentUrl, location.pathname, emit, getZoneState, retryTick, scheduleRetry, clearRetry]);\n}\n\n/**\n * Persistent, always-mounted reconciler that keeps a HOSTED PANE in step with the URL.\n *\n * A hosted pane is a SECONDARY resource destination opened beside a primary whose own address no\n * resource URL implies — a composite view, a canvas, a chart, an engine page. The browser URL is\n * the host's, carrying the pane as `?pane=` (see `HOSTED_PANE_QUERY_PARAM`), so the pane is never\n * the router's route and no route element ever mounts a sync hook for it. This hook is that sync,\n * mounted once at the navigation-runtime level like the two reconcilers beside it.\n *\n * Contract, on every `location` change (deferred while a transaction is committing; settings-hub\n * URLs are left to the overlay reconciler, the structural zones beneath the hub untouched):\n * 1. No `pane` in the URL and the secondary shows a hosted pane → the pane left the URL (browser\n * back, the host's `goBack`) → clear SECONDARY.\n * 2. The pane addresses what the secondary already shows → nothing to do (a view-state change\n * was refreshed by the back/forward reconciler).\n * 3. The pane addresses an entry lower in the secondary backstack → POP to it.\n * 4. Otherwise resolve the pane's URL against the same route table `AppRouter` registers, build\n * its resource context exactly as `useRouterSync` would from the router's params, and place\n * it in SECONDARY as a SPLIT flagged `hostedPane`. Placed regardless of whether PRIMARY has\n * landed yet: the dependency cleanup keeps a hosted pane beside a non-resource primary, so\n * the two halves of a deep link may arrive in either order.\n *\n * Never writes the URL — the browser owns it; this only brings the zone up to match.\n */\nexport function useHostedPaneRouteSync(): void {\n const location = useLocation();\n const { emit } = useEventBus();\n const { getZoneState } = useNavigationState();\n const { registry } = useResourceRegistry();\n const appScope = useAppScopeSafe();\n const { navigationLayout, currentBreakpoint } = useUI();\n\n const lastSyncedPath = useRef<string | null>(null);\n const currentUrl = NavigationUtils.buildBrowserUrl(location.pathname, location.search);\n const { retryTick, scheduleRetry, clearRetry } = useTransactionAwareSyncRetry(currentUrl);\n const liveAppScopeContextIdentifiers = useMemo(\n () => appScope?.buildContextResourceIdentifiers?.() ?? {},\n [appScope],\n );\n\n useEffect(() => {\n if (NavigationUtils.isInTransaction()) {\n scheduleRetry();\n return;\n }\n clearRetry();\n\n if (lastSyncedPath.current === currentUrl) return;\n\n // Settings-hub URLs belong to the overlay reconciler; the structural zones beneath the hub —\n // a hosted pane included — are left exactly as they are, the same exemption the back/forward\n // reconciler makes. Without it, opening Settings read as \"the pane left the URL\".\n if (matchSettingsHubPath(location.pathname).isSettings) {\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n const { paneUrl } = NavigationUtils.decomposeHostedPaneBrowserUrl(currentUrl);\n const secondaryState = getZoneState(NavigationZoneName.SECONDARY);\n const secondaryTop = NavigationUtils.getTopEntry(secondaryState);\n\n // (1) The pane left the URL.\n if (paneUrl === undefined) {\n if (secondaryTop?.hostedPane) {\n logDebug('useHostedPaneRouteSync: pane left the URL — clearing SECONDARY', { currentUrl });\n emit(FrontendEvents.NAVIGATION_CLEAR_ZONE, { zone: NavigationZoneName.SECONDARY });\n }\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n // (2) Already showing it.\n if (secondaryTop?.hostedPane && NavigationUtils.urlsAddressSameDestination(secondaryTop.urlPath, paneUrl)) {\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n // (3) Lower in the backstack — a browser back between two panes under one host.\n const buried = [...secondaryState.stack].reverse().find(\n (entry) => entry.hostedPane && NavigationUtils.urlsAddressSameDestination(entry.urlPath, paneUrl),\n );\n if (buried) {\n logDebug('useHostedPaneRouteSync: POP to a buried pane', { toStackEntryId: buried.id, paneUrl });\n emit(FrontendEvents.NAVIGATION_POP, { zone: NavigationZoneName.SECONDARY, toStackEntryId: buried.id });\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n // (4) Rebuild the pane from its own address.\n const route = NavigationUtils.resolveResourceRouteForUrl(paneUrl, registry);\n if (!route) {\n logDebug('useHostedPaneRouteSync: pane URL matches no addressable resource route — ignored', { paneUrl });\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n const parentResourcesRequirements = frontendResourceUtils.buildParentResourcesRequirementsFromRouteParams(\n route.routePathParameters,\n route.resourceType,\n registry,\n );\n const urlContextIdentifiers = frontendResourceUtils.extractResourceIdentifiersFromUrlParams(\n route.urlParameters,\n registry,\n route.routePathParameters,\n );\n const targetPrimaryScope = registry.resourceConfigurations?.[route.resourceType]?.resourcePrimaryScope;\n const contextResourceIdentifiers = ScopeUtilsService.buildResourceOperationContextIdentifiers({\n currentUserId: appScope?.currentUserId,\n currentOrganizationId: appScope?.currentOrganizationId,\n currentApplicationId: appScope?.currentApplicationId,\n currentAnonymousUserId: appScope?.currentAnonymousUserId,\n primaryScope: targetPrimaryScope,\n liveAppScopeContextResourceIdentifiers: liveAppScopeContextIdentifiers,\n explicitContextResourceIdentifiers: urlContextIdentifiers,\n });\n const resourceContext = frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n resourceType: route.resourceType,\n operation: route.operation,\n contextResourceIdentifiers,\n parentResourcesRequirements,\n });\n // The split appearance a click from PRIMARY would have resolved — the pane is the same pane\n // whether it arrived by click or by URL.\n const appearance = (currentBreakpoint !== undefined\n ? resolveViewportDiscriminated(navigationLayout?.zones?.primary?.appearance?.split, currentBreakpoint)\n : undefined) ?? SplitAppearance.PANEL;\n\n logDebug('useHostedPaneRouteSync: EMITTING NAVIGATION_REPLACE (URL_SYNC) for the hosted pane', {\n paneUrl,\n resourceType: route.resourceType,\n operationId: route.operation.operationIdentifier,\n });\n emit(FrontendEvents.NAVIGATION_REPLACE, {\n zone: NavigationZoneName.SECONDARY,\n content: { contentType: NavigationContentType.RESOURCE_OPERATION, resourceContext },\n urlPath: paneUrl,\n stackEntryId: NavigationUtils.generateStackEntryId(),\n initiator: { sourceZone: NavigationZoneName.PRIMARY },\n navigationSource: NavigationSource.URL_SYNC,\n transition: NavigationTransition.SPLIT,\n appearance,\n hostedPane: true,\n });\n lastSyncedPath.current = currentUrl;\n }, [\n currentUrl,\n location.pathname,\n emit,\n getZoneState,\n registry,\n appScope?.currentUserId,\n appScope?.currentOrganizationId,\n appScope?.currentApplicationId,\n appScope?.currentAnonymousUserId,\n liveAppScopeContextIdentifiers,\n navigationLayout,\n currentBreakpoint,\n retryTick,\n scheduleRetry,\n clearRetry,\n ]);\n}\n\n/**\n * Matches the unified Settings Hub URL family.\n * `/settings` → `{ isSettings: true }`; `/settings/:sectionRef` →\n * `{ isSettings: true, sectionRef }`.\n */\nfunction matchSettingsHubPath(pathname: string): { isSettings: boolean; sectionRef?: string } {\n if (pathname === CommonRoutePaths.settings) return { isSettings: true };\n const prefix = `${CommonRoutePaths.settings}/`;\n if (pathname.startsWith(prefix)) {\n const sectionRef = pathname.slice(prefix.length);\n return { isSettings: true, sectionRef: sectionRef.length > 0 ? sectionRef : undefined };\n }\n return { isSettings: false };\n}\n\n/**\n * Persistent, idempotent reconciler that keeps the Settings Hub overlay in sync\n * with the URL. The hub is overlay-rendered but URL-addressable, and the URL is\n * its single source of truth.\n *\n * Mounted ONCE at the navigation-runtime level (NOT per-route, NOT in the\n * `/settings` route element). This is deliberate: a route-mounted sync that\n * pushed on mount and tore down on unmount would, under React StrictMode, have\n * its unmount-teardown double-invoked and close the just-pushed overlay during\n * in-session navigation — the exact \"refresh works, in-session click does not\"\n * failure mode. A persistent reconciler reads the current URL + overlay state\n * and converges to the correct state on every run, so StrictMode double-invokes\n * and the `state.overlay` dependency re-running are both harmless no-ops.\n *\n * Contract:\n * - On `/settings` / `/settings/:sectionRef`: ensure the overlay top is a\n * `SETTINGS_HUB` at that section (push when absent, replace on section change,\n * no-op when already correct).\n * - Off the settings URL: close the hub if it is the top overlay — covers\n * dismiss-driven navigation, browser back/forward, and app-level navigation\n * away from settings, all through one URL-driven path.\n *\n * The PRIMARY surface beneath the hub is the route element's render (home as the\n * `routerChildren` fallback on a cold deep-link) or the persisted PRIMARY stack\n * (in-session) — see `NavigationContentAreas`'\n * `ZoneContentRenderer fallback={routerChildren}`.\n */\nexport function useSettingsHubOverlaySync(): void {\n const location = useLocation();\n const { emit } = useEventBus();\n const { state } = useNavigationState();\n const { retryTick, scheduleRetry, clearRetry } = useTransactionAwareSyncRetry(location.pathname);\n\n // Dedupes the asynchronous overlay reconciliation emit. The reconciler reacts\n // to `state.overlay`, but PUSH/REPLACE/CLOSE land asynchronously (event →\n // setState), so the effect can re-run — including React StrictMode's\n // intentional setup/cleanup/setup double-invoke — and observe the SAME\n // pre-emit overlay before the previous emit has applied, stacking a duplicate\n // hub. Keying the emit on (action, path, section, observed stack length) makes\n // a repeat emit against an unchanged observation a no-op; it is cleared the\n // instant the overlay reaches the desired (converged / closed) state, so a\n // genuinely new transition still emits.\n const lastEmitRef = useRef<string | null>(null);\n\n useEffect(() => {\n // Defer while a navigation transaction is mid-flight; the retry tick re-runs\n // this reconciler once it commits.\n if (NavigationUtils.isInTransaction()) {\n scheduleRetry();\n return;\n }\n clearRetry();\n\n const { isSettings, sectionRef } = matchSettingsHubPath(location.pathname);\n\n const overlayStack = state.overlay;\n const topEntry = overlayStack.length > 0 ? overlayStack[overlayStack.length - 1] : undefined;\n let topIsHub = false;\n let topSectionRef: string | undefined;\n if (topEntry && topEntry.content.contentType === NavigationContentType.SETTINGS_HUB) {\n topIsHub = true;\n topSectionRef = topEntry.content.sectionRef;\n }\n\n if (isSettings) {\n // Already showing the hub at the requested section → converged, nothing to do.\n if (topIsHub && topSectionRef === sectionRef) {\n lastEmitRef.current = null;\n return;\n }\n const action = topIsHub ? FrontendEvents.NAVIGATION_REPLACE : FrontendEvents.NAVIGATION_PUSH;\n const emitKey = `${action}|${location.pathname}|${sectionRef ?? ''}|${overlayStack.length}`;\n if (lastEmitRef.current === emitKey) return;\n lastEmitRef.current = emitKey;\n emit(action, {\n zone: NavigationZone.OVERLAY,\n content: { contentType: NavigationContentType.SETTINGS_HUB, sectionRef },\n urlPath: NavigationUtils.buildBrowserUrl(location.pathname, location.search),\n stackEntryId: NavigationUtils.generateStackEntryId(),\n initiator: { sourceZone: NavigationZone.OVERLAY },\n navigationSource: NavigationSource.URL_SYNC,\n transition: NavigationTransition.OVERLAY,\n appearance: OverlayAppearance.DIALOG,\n ephemeral: false,\n });\n return;\n }\n\n // Off the settings URL: if the hub is still the top overlay, the URL departed\n // (dismiss, browser back, app-level nav) → close it.\n if (topIsHub) {\n const emitKey = `${FrontendEvents.NAVIGATION_CLOSE}|${overlayStack.length}`;\n if (lastEmitRef.current === emitKey) return;\n lastEmitRef.current = emitKey;\n emit(FrontendEvents.NAVIGATION_CLOSE, { zone: NavigationZone.OVERLAY });\n return;\n }\n lastEmitRef.current = null;\n }, [location.pathname, location.search, emit, state.overlay, retryTick, scheduleRetry, clearRetry]);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"useNavigationController.js","sourceRoot":"","sources":["../../../../src/core/navigation/useNavigationController.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * useNavigationController Hook\n *\n * The main hook for triggering navigation in the application.\n * Components (sidebar, toolbar, list items, etc.) use this to navigate.\n *\n * The controller:\n * 1. Receives navigation requests\n * 2. Resolves the navigation target using NavigationPolicyResolver\n * 3. Emits appropriate navigation events (PUSH, REPLACE, etc.)\n * 4. Optionally updates the browser URL for addressable operations\n *\n * Also includes URL-to-state synchronization (merged from RouterNavigationSync):\n * - useRouterSync hook syncs external URL changes with navigation state\n * - Uses NavigationSource to track origin and avoid sync loops\n */\n\nimport { createContext, useCallback, useContext, useMemo, useEffect, useRef } from 'react';\nimport { useNavigate, useLocation, useParams } from 'react-router-dom';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { useNavigationState } from './useNavigationState';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { ScopeUtilsService } from '~wildo-frontend-lib/core/scope/scope.utils.frontend.service';\nimport type { EnginePageRef } from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport {\n buildChartRouteUrlPath,\n extractChartRouteContextResourceIdentifiers,\n extractChartRouteUrlParamValues,\n} from '~wildo-frontend-lib/core/config/chart-view.frontend.schemas';\nimport {\n buildCompositeRouteUrlPath,\n extractCompositeRouteContextResourceIdentifiers,\n} from '~wildo-frontend-lib/core/config/composite-view.schemas';\nimport {\n buildExecutionRouteUrlPath,\n extractExecutionRouteContextResourceIdentifiers,\n resolveExecutionViewDefinition,\n} from '~wildo-frontend-lib/core/config/execution-view.schemas';\nimport {\n FrontendEvents,\n FrontendEvent_NavigationPush,\n FrontendEvent_NavigationReplace,\n} from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport {\n NavigationZone,\n NavigationZoneState,\n NavigationContent,\n NavigationContentType,\n NavigationInitiatorContext,\n NAVIGATION_STRUCTURAL_ZONES,\n APP_LEVEL_NAVIGATION_SOURCE,\n type NavigationResolutionContext,\n type NavigationStackEntry,\n} from './navigation.schemas';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport {\n NavigationTransition,\n NavigationZoneName,\n OverlayAppearance,\n SplitAppearance,\n CoreResourceOperation,\n ResourceConfiguration_Operation_UrlParameterInfo,\n ResourceOperationFrontendSurface,\n ResourcesConfigOperationsUrlsBuilderUtils,\n type TransitionConfig,\n} from '@wildo-ai/saas-models';\nimport type { FrontendResource_ParentResourceRequirement } from '~wildo-frontend-lib/core/resources/resource-path.frontend.schemas';\nimport type { FrontendResourcesRegistry, FrontendResourceConfiguration_Operation } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { navigationPolicyResolver, resolveViewportDiscriminated } from './navigation-policy-resolver.service';\nimport { NavigationSource } from './navigation.schemas';\nimport { NavigationUtils } from './navigation.utils';\nimport { emitFreshStartNavigationCleanup } from './navigation-clean-break.frontend.utils';\nimport { useTransactionAwareSyncRetry } from './useTransactionAwareSyncRetry';\nimport { CommonRoutePaths } from '~wildo-frontend-lib/core/runtime/routes.frontend.definitions';\nimport { FrontendResourceOperationContext } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { FrontendResourceUtils, frontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport { isOperationAddressable } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { normalizeContextResourceIdentifiersForTransport } from '~wildo-frontend-lib/core/resources/context-resource-identifiers.frontend.utils';\nimport {\n resolveActionPresentationTransition,\n resolveEffectiveCoreOperationFromOperation,\n resolveResourceOperationActionPresentation,\n getOperationsForCoreSemantic,\n pickPreferredOperationForCoreSemantic,\n} from '~wildo-frontend-lib/core/resources/operation-semantics.frontend.utils';\nimport {\n InPlaceOperationTargetKind,\n useInPlaceOperation,\n type InPlaceOperationTarget,\n} from '~wildo-frontend-lib/core/resources/in-place/InPlaceOperationContext';\nimport type { ResourceOperationActionPresentation } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\n\nconst logger: LoggerFrontendService = LoggerFrontendService.getLogger();\nconst logDebug: (message: string, context?: Record<string, unknown>) => void = logger.debugByType('useNavigationController');\nlogger.setDebugTypeLogging('useNavigationController', false);\n\n/**\n * Update the browser URL via React Router's navigate function, so React Router's\n * `useLocation` hook updates. Everything derived from `useLocation` depends on\n * this: deep-link shareability, back-button state, and the sidebar's\n * most-specific-active highlight (`useSidebarBehavior` reads `useLocation`).\n *\n * ORDERING (why the transaction): the URL→state reconstruction hooks\n * (`useRouterSync`, `useViewRouterSync`, `useEnginePageRouterSync`,\n * `useSettingsHubOverlaySync`) observe `location` changes and rebuild zone state\n * from the URL — UNLESS the target zone already owns the URL, OR a navigation\n * transaction is active. A controller-driven navigation emits the zone-state\n * entry (event bus → `setState`) and THEN changes the URL; if the URL change is\n * observed before that state has committed, those hooks would re-derive stale\n * content (the race the old code papered over). We therefore open (or extend) a\n * navigation transaction so they skip during the commit window and re-validate\n * via their transaction-aware retry once state has committed — by then the\n * emitted entry owns the URL, so they no-op. This mirrors\n * `navigatePathWithFreshStart` / `emitFreshStartNavigationCleanup`, which already\n * pair `beginTransaction` with a synchronous `routerNavigate`.\n *\n * NOT PAINT-GATED (why not requestAnimationFrame): rAF callbacks are throttled to\n * ~0fps in occluded / backgrounded / throttled tabs, so a deferred\n * `routerNavigate` could be stranded indefinitely — zone content (event bus →\n * state) swaps instantly while the URL, sidebar highlight, and back-button state\n * lag until the tab is refocused (reproduced live: composite-view content visible\n * while `location.pathname` stayed stale for 8+ seconds, converging only on tab\n * activation). The transaction guard fills the ordering role rAF was standing in\n * for, without the paint dependency.\n */\n/**\n * Only a resource operation DECLARED `ADDRESSABLE` owns a browser URL.\n *\n * The URL builders are surface-blind — `resolveResourceUrl` happily produces a\n * pattern URL for any URL-bearing variant, including EMBEDDED (notAddressable)\n * ones — but `AppRouter` registers routes for ADDRESSABLE operations only, so\n * writing such a URL to the browser strands refresh / deep-link on the router\n * 404 (seen live 2026-08-19: a breadcrumb click on the EMBEDDED organizations\n * READ rewrote the URL to `/organizations/:id`, a route that does not exist).\n * EMBEDDED content navigates as pure zone/overlay content instead.\n *\n * An `undefined` surface (synthetic/legacy operation objects that never passed\n * through the registry's Step-2.5 posture resolution) keeps the historical\n * URL-writing behavior — only an EXPLICIT non-addressable declaration opts out.\n */\nfunction resourceOperationOwnsBrowserUrl(\n operation: { operationFrontendConfig?: { surface?: ResourceOperationFrontendSurface } } | undefined,\n): boolean {\n const surface = operation?.operationFrontendConfig?.surface;\n return surface !== ResourceOperationFrontendSurface.EMBEDDED\n && surface !== ResourceOperationFrontendSurface.API_ONLY;\n}\n\nfunction updateBrowserUrl(\n routerNavigate: ReturnType<typeof useNavigate>,\n urlPath: string,\n replace: boolean = false\n): void {\n // Preserve an in-flight transaction's source label (e.g. 'app_level_navigation'\n // opened by the APP_LEVEL clean break in navigate()) — only open a fresh window\n // when none is active (zone-level drill, goBack, non-app-level cascade). The\n // transaction auto-commits on setTimeout(0), after React has committed the\n // preceding zone-state emit.\n if (!NavigationUtils.isInTransaction()) {\n NavigationUtils.beginTransaction('controller_url_update');\n }\n routerNavigate(urlPath, { replace });\n}\n\n// ================================\n// Cascading Orchestrator\n// ================================\n\n/**\n * Auto-populate ancestor zones when navigating to SECONDARY or COMPANION.\n *\n * When a resource is placed in SECONDARY or COMPANION, its ancestor resources\n * should be visible in the zones above it. This function checks which\n * ancestor zones are empty and populates them with the appropriate content.\n *\n * Rules:\n * - Only cascades for resource operations (not views)\n * - Only populates EMPTY zones (never overwrites user-navigated content)\n * - Uses `parentResourcesRequirements` to determine ancestor chain\n * - Stops at primary scope ancestors (org/user level)\n * - Maximum 2 ancestor zones (PRIMARY + SECONDARY for a COMPANION target)\n */\n/** Put a flat resource's LIST into PRIMARY beside a detail restored into SECONDARY (#203). */\nfunction cascadeSiblingListIntoPrimary(params: {\n resourceType: string;\n contextResourceIdentifiers: Record<string, string>;\n parentResourcesRequirements: FrontendResource_ParentResourceRequirement[];\n registry: FrontendResourcesRegistry;\n emit: (event: string, payload: any) => void;\n getZoneState: (zone: NavigationZoneName) => NavigationZoneState;\n}): void {\n const { resourceType, contextResourceIdentifiers, parentResourcesRequirements, registry, emit, getZoneState } = params;\n if (getZoneState(NavigationZoneName.PRIMARY).stack.length > 0) return;\n\n const resourceConfig = registry.resourceConfigurations?.[resourceType];\n if (!resourceConfig) return;\n\n const listContextIdentifiers = { ...contextResourceIdentifiers };\n delete listContextIdentifiers[resourceType];\n\n /*\n * The DEFAULT addressable LIST, picked WITHOUT the context-addressability check.\n * `pickPreferredOperationForCoreSemanticAddressability` asks \"reachable given the PARENT context\",\n * which a flat STANDALONE resource can never satisfy — it answers false for an operation that is\n * plainly addressable and reachable from the sidebar. `allowBulk` is required too: a LIST addresses\n * a COLLECTION and the semantic filter drops bulk operations by default.\n */\n const listOperation = pickPreferredOperationForCoreSemantic(\n getOperationsForCoreSemantic(resourceConfig.operations ?? [], CoreResourceOperation.LIST, { allowBulk: true })\n .filter((candidate) => isOperationAddressable(candidate.operationFrontendConfig)),\n CoreResourceOperation.LIST,\n { allowBulk: true },\n );\n if (!listOperation) return;\n\n emit(FrontendEvents.NAVIGATION_REPLACE, {\n zone: NavigationZoneName.PRIMARY,\n content: {\n contentType: NavigationContentType.RESOURCE_OPERATION,\n resourceContext: frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n resourceType, operation: listOperation,\n contextResourceIdentifiers: listContextIdentifiers,\n parentResourcesRequirements,\n }),\n },\n // No urlPath: the browser URL belongs to the DETAIL in secondary.\n stackEntryId: NavigationUtils.generateStackEntryId(),\n initiator: { sourceZone: NavigationZoneName.PRIMARY },\n navigationSource: NavigationSource.URL_SYNC,\n transition: NavigationTransition.REPLACE,\n });\n}\n\nfunction cascadeAncestorZones(\n targetContent: NavigationContent & { contentType: NavigationContentType.RESOURCE_OPERATION },\n resolvedZone: NavigationZoneName,\n registry: FrontendResourcesRegistry,\n contextIdentifiers: Record<string, string>,\n emit: (event: string, payload: any) => void,\n routerNavigate: ReturnType<typeof useNavigate> | null,\n getZoneState: (zone: NavigationZoneName) => NavigationZoneState,\n options?: {\n overwriteExisting?: boolean;\n },\n): void {\n const parentRequirements = targetContent.resourceContext.parentResourcesRequirements as FrontendResource_ParentResourceRequirement[];\n if (!parentRequirements || parentRequirements.length === 0) return;\n\n // Determine which zones need population.\n // Order matters: zonesToPopulate[i] maps to ancestors[i] (nearest parent first).\n // For COMPANION target: nearest parent → SECONDARY (adjacent), furthest → PRIMARY (root).\n // This maintains the master-detail-detail convention: PRIMARY=broadest, COMPANION=most specific.\n const zonesToPopulate: NavigationZoneName[] = [];\n if (resolvedZone === NavigationZoneName.SECONDARY) {\n zonesToPopulate.push(NavigationZoneName.PRIMARY);\n } else if (resolvedZone === NavigationZoneName.COMPANION) {\n zonesToPopulate.push(NavigationZoneName.SECONDARY, NavigationZoneName.PRIMARY);\n }\n\n if (zonesToPopulate.length === 0) return;\n\n // parentResourcesRequirements is ordered root → leaf (closest ancestor last).\n // Reverse to process nearest parent first — nearest maps to adjacent zone.\n const ancestors = [...parentRequirements].reverse();\n\n const targetResourceType = targetContent.resourceContext.resourceType;\n\n for (let i = 0; i < zonesToPopulate.length && i < ancestors.length; i++) {\n const zone = zonesToPopulate[i];\n const ancestor = ancestors[i];\n\n // Skip primary scope ancestors (org, user) — these don't get a zone\n if (ancestor.isPrimaryScope) continue;\n\n // Controller-driven cascade keeps existing user context intact, but URL-first\n // reconstruction is allowed to replace ancestor zones so the visible stack\n // matches the authoritative browser URL again.\n const zoneState = getZoneState(zone);\n if (!options?.overwriteExisting && zoneState.stack.length > 0) continue;\n\n // Get ancestor resource config\n const ancestorResourceType = ancestor.resourceType;\n const ancestorConfig = registry.resourceConfigurations?.[ancestorResourceType];\n if (!ancestorConfig) continue;\n\n // Find relationship between ancestor and target (or intermediate child)\n const childType = ancestor.childResourceType\n ?? (i === 0 ? targetResourceType : ancestors[i - 1].resourceType);\n const relationship = NavigationUtils.findRelationshipBetween(\n ancestorResourceType, childType, registry, ancestor.foreignKeyField\n );\n\n // Build parent requirements for the ancestor itself:\n // The ancestor's parents are those ABOVE it in the chain (root → leaf ordering).\n // Using slice(0, index) ensures we only include entries before the ancestor,\n // not entries below it (which are its children/grandchildren, not parents).\n // Previously used filter(req => req.resourceType !== ancestorResourceType) which\n // incorrectly kept descendants as parents for non-adjacent ancestors (Bug #1).\n // `ancestors` is reversed (nearest parent first) but `parentRequirements`\n // stays root → leaf, so convert back by position instead of looking up by\n // resource type. Position-based slicing is what keeps repeated/self-ref\n // parent types from collapsing onto the first matching entry.\n const ancestorIndex = parentRequirements.length - 1 - i;\n const ancestorParentReqs = ancestorIndex > 0\n ? parentRequirements.slice(0, ancestorIndex)\n : [];\n\n // Build ancestor resource context\n const ancestorContextIdentifiers: Record<string, string> = {};\n for (const req of ancestorParentReqs) {\n const contextKey = req.foreignKeyField ?? req.resourceType;\n // Prefer the FK-keyed slot when present. Same-type parent chains store the\n // parent id under the FK field so the resource-type key can continue to\n // represent the current record.\n const id = contextIdentifiers[contextKey] ?? contextIdentifiers[req.resourceType];\n if (id) {\n ancestorContextIdentifiers[contextKey] = id;\n }\n }\n const ancestorSelfId = contextIdentifiers[ancestorResourceType];\n const ancestorSelectionContextIdentifiers = ancestorSelfId\n ? {\n ...ancestorContextIdentifiers,\n [ancestorResourceType]: ancestorSelfId,\n }\n : ancestorContextIdentifiers;\n\n const opConfig = NavigationUtils.resolveAncestorOperationConfig(\n relationship,\n ancestorConfig as any,\n {\n registry,\n contextResourceIdentifiers: ancestorSelectionContextIdentifiers,\n contextualParameters: FrontendResourceUtils.buildContextualParameters(\n ancestorSelectionContextIdentifiers,\n registry,\n ),\n },\n );\n if (!opConfig) continue;\n const ancestorOp = resolveEffectiveCoreOperationFromOperation(opConfig);\n if (ancestorSelfId && ancestorOp === CoreResourceOperation.READ) {\n ancestorContextIdentifiers[ancestorResourceType] = ancestorSelfId;\n }\n\n const ancestorResourceContext = frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n resourceType: ancestorResourceType,\n operation: opConfig,\n contextResourceIdentifiers: ancestorContextIdentifiers,\n parentResourcesRequirements: ancestorParentReqs,\n });\n\n const ancestorContent: NavigationContent = {\n contentType: NavigationContentType.RESOURCE_OPERATION,\n resourceContext: ancestorResourceContext,\n };\n\n // Resolve URL for ancestor — only when the ancestor operation actually\n // owns a browser URL (declared ADDRESSABLE). Same surface gate as the main\n // navigate() path: an EMBEDDED ancestor read must not stamp an unroutable\n // URL onto the revealed zone entry or the browser.\n let ancestorUrl: string | undefined;\n if (resourceOperationOwnsBrowserUrl(opConfig)) {\n const resolved = NavigationUtils.resolveResourceUrl(\n ancestorConfig as any,\n opConfig as any,\n ancestorContextIdentifiers,\n registry.allResourceFieldIdentifiers,\n ancestorParentReqs as any,\n );\n if (resolved?.resolvedUrl) {\n ancestorUrl = resolved.resolvedUrl;\n }\n }\n\n const stackEntryId = NavigationUtils.generateStackEntryId();\n logDebug('cascadeAncestorZones: populating ancestor zone', {\n zone,\n ancestorResourceType,\n ancestorOp,\n ancestorUrl,\n });\n emit(FrontendEvents.NAVIGATION_REPLACE, {\n zone,\n content: ancestorContent,\n urlPath: ancestorUrl,\n stackEntryId,\n initiator: { sourceZone: zone },\n navigationSource: NavigationSource.CONTROLLER,\n transition: NavigationTransition.REPLACE,\n });\n\n // Update URL only for PRIMARY zone ancestor (the URL bar shows PRIMARY)\n // Skip URL update when routerNavigate is null (reverse cascade from URL sync)\n if (zone === NavigationZoneName.PRIMARY && ancestorUrl && routerNavigate) {\n updateBrowserUrl(routerNavigate, ancestorUrl, true);\n }\n }\n}\n\n/**\n * Navigation request options\n *\n * Note: Navigation target is ALWAYS determined by the NavigationPolicy.\n * There is no preferredTarget option to ensure consistent navigation behavior.\n */\nexport interface NavigateOptions {\n content: NavigationContent;\n initiator: NavigationInitiatorContext;\n urlPath?: string;\n contextResourceIdentifiers?: Record<string, string>;\n /**\n * Transition config from a relationship's `display.inParentNavigation.transition`.\n * When navigating via a parent→child relationship, the caller passes\n * the configured transition so the resolver can honour relationship-level\n * overrides (including ephemeral/persistent lifecycle modifiers).\n */\n relationshipTransition?: TransitionConfig;\n /**\n * `RelationshipDisplayConfig.maxDepth` for the relationship being traversed — the per-relationship\n * override of `NavigationLayout.maxDepth`.\n *\n * Travels beside `relationshipTransition` and for the same reason: only the call site knows which\n * relationship it is rendering. A nested container passes both from one `config`.\n */\n relationshipMaxDepth?: number;\n /**\n * Force the browser URL update to replace the current history entry.\n *\n * Used by navigation flows like Home where runtime semantics must still go\n * through the controller/app-level pipeline, but the browser should not keep\n * the transient source route as a back-stack entry.\n */\n replaceBrowserHistory?: boolean;\n}\n\n/**\n * Navigation helpers return type\n */\nexport interface NavigationController {\n /**\n * Navigate to content - resolves target using navigation policy\n */\n navigate: (options: NavigateOptions) => void;\n\n /**\n * Navigate to a resource operation\n * @param resourceContext - The resource operation context\n * @param initiator - Full initiator context for policy resolution\n * @param urlPath - Optional URL path for addressable operations\n * @param transitionOverride - Optional caller-forced transition that overrides\n * source-zone policy (e.g. `PROMOTE` to break a post-mutation reveal out of\n * an overlay into a structural zone).\n */\n navigateToResource: ( resourceContext: FrontendResourceOperationContext, initiator: NavigationInitiatorContext, urlPath?: string, transitionOverride?: TransitionConfig ) => void;\n\n goBack: (zone?: NavigationZone) => void;\n closeOverlay: () => void;\n canGoBack: (zone: NavigationZone) => boolean;\n\n /**\n * Current resource relationship depth (for external use)\n */\n resourceRelationshipDepth: number;\n}\n\n/**\n * Scoped override for {@link useNavigationController}.\n *\n * When a provider supplies a controller here (e.g. the Settings Hub's\n * per-section navigation host), `useNavigationController()` returns IT instead of\n * the global controller — so resource surfaces rendered inside that provider\n * drill / go back / run post-action navigation **within** the host's own stack\n * rather than escaping to the global zones (which, for an overlay-hosted surface,\n * means leaving the hub and 404-ing on unregistered routes). `null` (the default)\n * means \"use the global controller\", so every consumer outside such a provider is\n * byte-for-byte unchanged.\n */\nexport const ScopedNavigationControllerContext = createContext<NavigationController | null>(null);\n\n/**\n * Builds the global navigation controller — the app-level zone/URL navigation\n * pipeline. Most code should call {@link useNavigationController} (which returns a\n * scoped override when one is in context); call this directly only from\n * navigation-runtime internals that must always target the global zones, or from\n * a scoped provider that needs the global controller to delegate to.\n */\nexport function useGlobalNavigationController(): NavigationController {\n const { emit } = useEventBus();\n const { resourceRelationshipDepth: currentResourceRelationshipDepth, getZoneDepth, getZoneState } = useNavigationState();\n const { navigationLayout, currentBreakpoint, compositeViews, fullCustomViews, flowsActorsViews } = useUI();\n const { user } = useUserOrgs();\n const appScope = useAppScopeSafe();\n const { registry, getOperationContextNeeds } = useResourceRegistry();\n const routerNavigate = useNavigate();\n const latestNavigateRequestIdRef = useRef(0);\n /*\n * The LIVE browser URL, read through a ref so `navigate()` and `goBack()` compose a hosted pane's\n * URL from the host's CURRENT view state (`?section=` and the like) rather than from the stamp the\n * primary entry took when it was placed. A ref rather than a dependency: the callbacks below are\n * handed to every action surface, and re-creating them on every location change would re-render\n * every consumer for a value they read only at the instant they fire.\n */\n const location = useLocation();\n const currentBrowserUrlRef = useRef<string>(NavigationUtils.buildBrowserUrl(location.pathname, location.search));\n currentBrowserUrlRef.current = NavigationUtils.buildBrowserUrl(location.pathname, location.search);\n // The element-level host, read from context so the NEAREST collection wins — see the INPLACE\n // branch in navigateToResource. UNAVAILABLE (never undefined) on every surface that has none.\n const inPlaceHost = useInPlaceOperation();\n\n // Note: Context identifiers are now computed per-navigation call with scope filtering\n // to prevent border effects where unrelated identifiers leak into the navigation chain\n\n /**\n * Main navigate function\n * Navigation target is determined purely by the NavigationPolicy - no overrides allowed.\n *\n * contextResourceIdentifiers are merged with global scope identifiers from AppScope:\n * - Global identifiers (organizationId, userId, applicationId, etc.) are injected automatically\n * - Explicit contextResourceIdentifiers override the global values\n *\n * IMPORTANT: The merged identifiers are also injected into the content's resourceContext\n * so that list/read/etc. components have access to parent resource IDs for API calls.\n */\n const navigate = useCallback((options: NavigateOptions) => {\n const requestId = ++latestNavigateRequestIdRef.current;\n\n void (async () => {\n let {\n content,\n initiator,\n urlPath,\n contextResourceIdentifiers,\n relationshipTransition,\n relationshipMaxDepth,\n replaceBrowserHistory,\n } = options;\n try {\n\n logDebug('navigate() called', { contentType: content.contentType, sourceZone: initiator.sourceZone, urlPath });\n\n // The Settings Hub is URL-driven: it reconstructs into the overlay from its\n // route via `useSettingsHubRouterSync`. Zone resolution would push it into a\n // structural zone (the controller never updates the URL for overlay entries\n // — see `isStructuralZone` below), so instead navigate to its route and let\n // the route sync own the overlay. Every launcher caller that dispatches\n // SETTINGS_HUB content therefore converges on one URL-first path.\n if (content.contentType === NavigationContentType.SETTINGS_HUB) {\n routerNavigate(urlPath ?? CommonRoutePaths.settings);\n return;\n }\n\n if (!navigationLayout) {\n logDebug('navigate() aborted: no navigationLayout');\n return;\n }\n\n // Extract primaryScope from target content to filter context identifiers\n // This prevents border effects where identifiers from one scope leak into another\n const targetPrimaryScope = ScopeUtilsService.extractPrimaryScopeFromContent(\n content,\n registry,\n compositeViews,\n fullCustomViews,\n flowsActorsViews,\n );\n\n // Get scope-filtered global identifiers - only inject identifiers relevant to target's primaryScope\n const primaryScopeInitiatorIds = ScopeUtilsService.buildInitiatorIds({\n userId: appScope?.currentUserId,\n organizationId: appScope?.currentOrganizationId,\n applicationId: appScope?.currentApplicationId,\n anonymousUserId: appScope?.currentAnonymousUserId,\n });\n const scopeFilteredGlobalIdentifiers = ScopeUtilsService.primaryScopeToContextIdentifiers(\n primaryScopeInitiatorIds,\n targetPrimaryScope\n );\n\n // Custom scope identifiers (resourceType-keyed) from AppScopeContext.\n // Duplicate resourceType declarations are rejected during config validation\n // and AppScopeContext initialization, so this map stays semantically unique.\n const appScopeIdentifiers: Record<string, string> = appScope?.buildContextResourceIdentifiers() ?? {};\n\n // Candidate identifiers for route-path selection (strict relevance applied after selection).\n // Explicit identifiers override everything else.\n const contentProvidedContextIdentifiers: Record<string, string> =\n NavigationUtils.isResourceOperationContent(content)\n ? ((content.resourceContext.contextResourceIdentifiers as any) ?? {})\n : {};\n const candidateContextIdentifiers: Record<string, string> = {\n ...scopeFilteredGlobalIdentifiers,\n ...appScopeIdentifiers,\n ...contentProvidedContextIdentifiers,\n ...contextResourceIdentifiers,\n };\n\n // Normalize candidate identifiers for URL building / route matching\n // (context identifiers may be objects like { fieldIdentifier, resourceId }).\n const normalizedCandidateContextIdentifiers: Record<string, string> = {};\n for (const [resType, rawValue] of Object.entries(candidateContextIdentifiers)) {\n const resourceId = frontendResourceUtils.getResourceId(rawValue as any);\n if (resourceId) {\n normalizedCandidateContextIdentifiers[resType] = resourceId;\n const explicitFieldIdentifier = frontendResourceUtils.getFieldIdentifier(rawValue as any);\n if (explicitFieldIdentifier) {\n normalizedCandidateContextIdentifiers[explicitFieldIdentifier] = resourceId;\n }\n }\n }\n\n let isAddressable = false;\n let operationSurface: ResourceOperationFrontendSurface | undefined;\n let operationOverrides: any[] | undefined;\n let actionPresentation: ResourceOperationActionPresentation | undefined;\n let actionPresentationTransition: NavigationTransition | undefined;\n let actionPresentationIsAuthored = false;\n let selectedRoutePathParameters: ResourceConfiguration_Operation_UrlParameterInfo[] | undefined;\n let selectedRouteTemplateUrl: string | undefined = urlPath;\n let selectedResolvedUrl: string | undefined;\n\n // Create a copy of content with merged context identifiers injected\n // This ensures list/read components have access to parent resource IDs\n let enrichedContent = content;\n\n if (NavigationUtils.isResourceOperationContent(content)) {\n const operation = content.resourceContext.operation;\n operationOverrides = operation?.operationFrontendConfig?.navigationOverrides;\n operationSurface = operation?.operationFrontendConfig?.surface;\n\n // The action-presentation ALIAS, read from the same place as the two lines above rather than\n // threaded in by the caller. Navigation is reached from several action surfaces (the item bar,\n // the bulk bar, the collection toolbar, a breadcrumb, a picker) and a parameter would have to\n // be passed correctly by every one of them; reading it off the operation means it cannot be\n // forgotten at a call site.\n actionPresentation = resolveResourceOperationActionPresentation(operation);\n actionPresentationTransition = resolveActionPresentationTransition(actionPresentation);\n actionPresentationIsAuthored = operation?.operationFrontendConfig?.actionPresentation !== undefined;\n\n // ─── F4: headless content is not navigable — refuse loud ─────────\n // An API_ONLY operation has NO rendered interface by contract; pushing\n // it as zone content produces a broken page. Callers are supposed to\n // pre-filter (action bars, breadcrumb, pickers all do), but the\n // chokepoint must not depend on N callers remembering — refuse here,\n // with an error the author can act on, and navigate nothing.\n if (operationSurface === ResourceOperationFrontendSurface.API_ONLY) {\n logger.error('[useNavigationController] refused navigation to API_ONLY (headless) operation — it has no rendered interface', {\n resourceType: content.resourceContext.resourceType,\n operationIdentifier: String(operation?.operationIdentifier),\n sourceZone: initiator.sourceZone,\n });\n return;\n }\n\n // Use unified URL resolver to select the best route path\n const resourceType = content.resourceContext.resourceType;\n const resourceConfig = registry.resourceConfigurations?.[resourceType];\n if (resourceConfig) {\n const resolved = NavigationUtils.resolveResourceUrl(\n resourceConfig as any,\n operation as any,\n normalizedCandidateContextIdentifiers,\n registry.allResourceFieldIdentifiers,\n content.resourceContext.parentResourcesRequirements as any\n );\n if (resolved) {\n selectedRouteTemplateUrl = resolved.templateUrl;\n selectedRoutePathParameters = resolved.routePathParameters;\n selectedResolvedUrl = resolved.resolvedUrl;\n }\n }\n // Declared-surface gate first: an EMBEDDED/API_ONLY operation never\n // claims addressability, however resolvable its pattern URL is. This\n // both suppresses the browser-URL write (see shouldUpdateUrl below) and\n // keeps the policy resolver's `isAddressable` input truthful.\n isAddressable = resourceOperationOwnsBrowserUrl(operation) && Boolean(selectedResolvedUrl ?? urlPath);\n\n // Strict relevance for navigation context:\n // only inject identifiers that the selected route path actually depends on,\n // plus explicit identifiers (and the resource self identifier if present).\n const allowedResourceTypes = new Set<string>(\n (selectedRoutePathParameters ?? []).map(p => p.resourceType)\n );\n\n // ─── enabledCondition Guard (navigation-time) ───────────────\n // Guard is only evaluated when it does NOT require objectContext fetching.\n // If objectContext is required, the guard must be handled at UI/action level (async data dependency).\n if ('enabledCondition' in operation && operation.enabledCondition) {\n const needs = getOperationContextNeeds(operation);\n if (needs.needsUserContext && !user) {\n console.warn('[useNavigationController] Navigation blocked: enabledCondition requires user context but user is missing', {\n resourceType,\n operationIdentifier: operation.operationIdentifier,\n });\n return;\n }\n // We deliberately do NOT re-evaluate `enabledCondition` here from\n // navigation-time data. The navigation layer has no access to the\n // operation's `currentObject` (it is never threaded through navigate()),\n // so a condition that reads the record's own fields — e.g. todos\n // `change_status`: `currentObject.assignedToUserId === me &&\n // currentObject.status !== COMPLETED` — would be evaluated against an\n // empty object and spuriously block a navigation the action bar already\n // validated against the REAL loaded object. (`needsObjectContext` only\n // tracks parent/child context, not the object's own fields, so\n // object-centric conditions were slipping into this block and failing.)\n //\n // enabledCondition stays enforced in the two places that have complete,\n // authoritative inputs: the action bar / display gate (evaluates the\n // full condition with the loaded `currentObject` before enabling the\n // action) and the backend (rejects the operation on execution). Object-\n // dependent conditions are therefore deferred here exactly like\n // objectContext-dependent ones already were — re-deriving them from\n // incomplete data only produced false negatives (change_status\n // regression, 2026-07).\n }\n\n if (requestId !== latestNavigateRequestIdRef.current) {\n logDebug('navigate() aborted: superseded before state mutation', {\n requestId,\n latestRequestId: latestNavigateRequestIdRef.current,\n sourceZone: initiator.sourceZone,\n });\n return;\n }\n\n const relevantInjected: Record<string, string> = {};\n for (const [resType, value] of Object.entries({\n ...scopeFilteredGlobalIdentifiers,\n ...appScopeIdentifiers,\n })) {\n if (allowedResourceTypes.size === 0 || allowedResourceTypes.has(resType)) {\n relevantInjected[resType] = value;\n }\n }\n const selfIdentifier = content.resourceContext.contextResourceIdentifiers?.[resourceType];\n\n enrichedContent = {\n ...content,\n resourceContext: {\n ...content.resourceContext,\n contextResourceIdentifiers: { // Merge global identifiers into the resourceContext's contextResourceIdentifiers - explicit values in the resourceContext override global values\n ...relevantInjected,\n ...contextResourceIdentifiers,\n ...(selfIdentifier ? { [resourceType]: selfIdentifier } : {}),\n ...content.resourceContext.contextResourceIdentifiers,\n },\n },\n };\n } else if (\n content.contentType === NavigationContentType.COMPOSITE_VIEW\n || content.contentType === NavigationContentType.CHART_VIEW\n || content.contentType === NavigationContentType.FULL_CUSTOM_VIEW\n || content.contentType === NavigationContentType.EXECUTION_VIEW\n || content.contentType === NavigationContentType.FLOWS_ACTORS_VIEW\n ) {\n // Custom views derive ambient primary scope live from AppScope at render time.\n // Only explicit navigation-time identifiers should be persisted on the stack.\n const mergedContextIdentifiers = {\n ...(content.contextResourceIdentifiers ?? {}),\n ...contextResourceIdentifiers,\n };\n\n enrichedContent = {\n ...content,\n contextResourceIdentifiers:\n Object.keys(mergedContextIdentifiers).length > 0\n ? mergedContextIdentifiers\n : undefined,\n };\n } else if (content.contentType === NavigationContentType.CUSTOM_COMPONENT) {\n const mergedContextIdentifiers = {\n ...scopeFilteredGlobalIdentifiers,\n ...appScopeIdentifiers,\n ...(content.contextResourceIdentifiers ?? {}),\n ...contextResourceIdentifiers,\n };\n\n enrichedContent = {\n ...content,\n contextResourceIdentifiers:\n Object.keys(mergedContextIdentifiers).length > 0\n ? mergedContextIdentifiers\n : undefined,\n };\n }\n\n // ─── APP_LEVEL Clean Break ────────────────────────────────\n // Sidebar/toolbar/command-palette navigation is a \"fresh start.\"\n // Clear dependent zones and overlay state within a transaction before placing\n // new content.\n if (initiator.sourceZone === APP_LEVEL_NAVIGATION_SOURCE) {\n emitFreshStartNavigationCleanup(emit, 'app_level_navigation');\n logDebug('APP_LEVEL clean break: cleared SECONDARY + COMPANION + OVERLAY');\n }\n\n // Compute resource relationship depth from parent chain (hierarchy-based, not stack-based)\n const resourceRelationshipDepth = NavigationUtils.isResourceOperationContent(enrichedContent)\n ? NavigationUtils.calculateResourceRelationshipDepth(\n enrichedContent.resourceContext.parentResourcesRequirements as unknown[] | null\n )\n : 0;\n\n /*\n * ONE read of each zone's stack, projected two ways: occupancy for the SPLIT target heuristic,\n * and DEPTH for `maxDepth` escalation. Two loops would be two measurements of the same thing at\n * two instants, and the boolean cannot be un-flattened back into the number.\n */\n const zoneOccupancy: Partial<Record<NavigationZoneName, boolean>> = {};\n const zoneDepth: Partial<Record<NavigationZoneName, number>> = {};\n for (const zone of NAVIGATION_STRUCTURAL_ZONES) {\n const depth = getZoneState(zone).stack.length;\n zoneDepth[zone] = depth;\n zoneOccupancy[zone] = depth > 0;\n }\n\n // Derive source zone for resolution context — map initiator.sourceZone\n // to the resolver's expected discriminant (NavigationZoneName | 'appLevel' | 'overlay')\n const sourceZone = initiator.sourceZone;\n\n // Extract operation identifier for policy resolution\n const operationIdentifier = NavigationUtils.isResourceOperationContent(enrichedContent)\n ? (enrichedContent.resourceContext.operation?.operationIdentifier ?? CoreResourceOperation.LIST)\n : CoreResourceOperation.LIST;\n const effectiveOperation = NavigationUtils.isResourceOperationContent(enrichedContent)\n ? resolveEffectiveCoreOperationFromOperation(enrichedContent.resourceContext.operation)\n : CoreResourceOperation.LIST;\n\n // Extract target resource type for resolution context\n const targetResourceType = NavigationUtils.isResourceOperationContent(enrichedContent)\n ? enrichedContent.resourceContext.resourceType\n : undefined;\n\n // Derive focusedZone — only meaningful when sourceZone is a structural zone\n const focusedZone = (sourceZone !== APP_LEVEL_NAVIGATION_SOURCE && sourceZone !== NavigationZone.OVERLAY)\n ? sourceZone as NavigationZoneName\n : undefined;\n\n // Build v3 resolution context — target is determined by policy, not caller\n const resolutionContext: NavigationResolutionContext = {\n sourceZone: sourceZone as NavigationResolutionContext['sourceZone'],\n operation: operationIdentifier,\n effectiveOperation,\n resourceType: targetResourceType,\n operationSurface,\n operationOverrides: operationOverrides as NavigationResolutionContext['operationOverrides'],\n actionPresentationTransition,\n actionPresentationIsAuthored,\n relationshipTransition,\n relationshipMaxDepth,\n viewport: currentBreakpoint,\n zoneOccupancy,\n zoneDepth,\n focusedZone,\n };\n\n /*\n * The resolver APPLIES responsive collapse — `targetZone` and `transition` below are already the\n * collapsed outcome. `collapsed` / `collapsedFromZone` are the report, not an instruction: the\n * comment here used to say the flag was \"available in the result for Phase 3E\", and Phase 3E\n * never arrived, so for as long as the flag existed nothing acted on it (#411).\n */\n let resolution = navigationPolicyResolver.resolve(resolutionContext, navigationLayout);\n logDebug('Policy resolved', { targetZone: resolution.targetZone, transition: resolution.transition, appearance: resolution.appearance, collapsed: resolution.collapsed, collapsedFromZone: resolution.collapsedFromZone, ephemeral: resolution.ephemeral });\n\n // ─── INPLACE is NOT a zone outcome — hand it to the element-level host ────────────────────────\n //\n // Every other transition places content in a ZONE, and for as long as `INPLACE` was treated as\n // one it fell through to the emit below and left as `NAVIGATION_REPLACE` — swapping the whole\n // zone, which is precisely what its own contract says it is not (\"operates at the element level,\n // not the zone level\", \"surrounding items remain visible\", \"the zone stack is unchanged\"). The\n // preset inline-edit kit has shipped that since it was written.\n //\n // The host is read through REACT CONTEXT rather than reached by an event, and that choice is\n // load-bearing: the nearest provider wins automatically, so a nested child list transforms ITS\n // row and not the parent list's row of the same resource type. An event would have to carry\n // enough identity to disambiguate two mounted collections and would still be guessing.\n //\n // When there is no host — a breadcrumb, a picker, a detail page, any surface with no collection\n // above it — it degrades to an OVERLAY. Note it must NOT degrade to the zone replace it did\n // before: that is the defect, not the fallback.\n if (resolution.transition === NavigationTransition.INPLACE) {\n const inPlaceTarget = NavigationUtils.isResourceOperationContent(enrichedContent)\n ? resolveInPlaceTargetForContent(enrichedContent, effectiveOperation)\n : undefined;\n\n if (inPlaceTarget && inPlaceHost.isAvailable) {\n logDebug('INPLACE resolved to the element-level host', { kind: inPlaceTarget.kind });\n inPlaceHost.open(inPlaceTarget);\n return;\n }\n\n logDebug('INPLACE has no element-level host here — degrading to overlay', {\n hasTarget: Boolean(inPlaceTarget),\n hostAvailable: inPlaceHost.isAvailable,\n });\n resolution = navigationPolicyResolver.resolve(\n { ...resolutionContext, operationOverrides: [{ transition: NavigationTransition.OVERLAY }] },\n navigationLayout,\n );\n }\n\n // ─── PROMOTE Clean Break ─────────────────────────────────\n // When PROMOTE is resolved, the target is outside PRIMARY's subtree.\n // Clear dependent zones and overlay state — the content is \"breaking out\"\n // of the current flow.\n if (resolution.transition === NavigationTransition.PROMOTE) {\n emitFreshStartNavigationCleanup(emit, 'promote_navigation');\n logDebug('PROMOTE clean break: cleared SECONDARY + COMPANION + OVERLAY');\n }\n\n // ─── Cascading Orchestrator ───────────────────────────────\n // When the resolved zone is SECONDARY or COMPANION, auto-populate ancestor\n // zones that are currently empty so the user sees proper context.\n if (\n (resolution.targetZone === NavigationZoneName.SECONDARY || resolution.targetZone === NavigationZoneName.COMPANION)\n && NavigationUtils.isResourceOperationContent(enrichedContent)\n ) {\n cascadeAncestorZones(\n enrichedContent,\n resolution.targetZone as NavigationZoneName,\n registry,\n normalizedCandidateContextIdentifiers,\n emit,\n routerNavigate,\n getZoneState,\n );\n }\n\n const stackEntryId = NavigationUtils.generateStackEntryId();\n\n // The URL was already resolved by resolveResourceUrl above (stored in selectedResolvedUrl).\n // For non-resource content, fall back to the explicitly provided urlPath.\n const resolvedUrlPath = selectedResolvedUrl ?? urlPath;\n\n // URL update: addressable content in structural zones gets a URL\n const isStructuralZone = resolution.targetZone !== NavigationZone.OVERLAY;\n const isAddressableExecutionView =\n enrichedContent.contentType === NavigationContentType.EXECUTION_VIEW\n ? (() => {\n const executionView = resolveExecutionViewDefinition({\n viewRef: enrichedContent.viewRef,\n registry,\n });\n return executionView?.isAddressable === true;\n })()\n : false;\n const isRoutableNonResourceContent =\n enrichedContent.contentType === NavigationContentType.COMPOSITE_VIEW\n || enrichedContent.contentType === NavigationContentType.CHART_VIEW\n || enrichedContent.contentType === NavigationContentType.FULL_CUSTOM_VIEW\n || isAddressableExecutionView\n || enrichedContent.contentType === NavigationContentType.FLOWS_ACTORS_VIEW\n || enrichedContent.contentType === NavigationContentType.ENGINE_PAGE;\n const shouldUpdateUrl = isStructuralZone && Boolean(resolvedUrlPath) && (isAddressable || isRoutableNonResourceContent);\n const finalUrlPath = shouldUpdateUrl\n ? (\n enrichedContent.contentType === NavigationContentType.COMPOSITE_VIEW\n ? buildCompositeRouteUrlPath(\n enrichedContent.viewRef,\n enrichedContent.contextResourceIdentifiers,\n )\n : enrichedContent.contentType === NavigationContentType.CHART_VIEW\n ? buildChartRouteUrlPath(\n enrichedContent.viewRef,\n enrichedContent.contextResourceIdentifiers,\n enrichedContent.urlParamValues,\n )\n : enrichedContent.contentType === NavigationContentType.EXECUTION_VIEW\n ? buildExecutionRouteUrlPath(\n enrichedContent.viewRef,\n enrichedContent.contextResourceIdentifiers,\n )\n : resolvedUrlPath\n )\n : undefined;\n\n /*\n * ─── HOSTED PANE ─────────────────────────────────────────────────────────────────────────\n * A resource landing in SECONDARY beside a primary whose address a resource URL cannot imply\n * (a composite view, a canvas, a chart, an engine page) is HOSTED: the browser URL stays the\n * host's and carries the pane as `?pane=`. Before this the URL became the pane's, the board\n * still on screen was no longer described by it, its `?section=` view state vanished from\n * under the mounted view, and a reload rebuilt a sibling list where the board had been.\n *\n * The entry keeps its OWN address in `urlPath` — that is what `goBack` pops to and what the\n * URL reconciler compares the `pane` parameter against — and the composed URL is produced by\n * the one composer every write site uses. Resource primaries are untouched: their detail URL\n * already implies them (#203).\n */\n const primaryTopForHosting = NavigationUtils.getTopEntry(getZoneState(NavigationZoneName.PRIMARY));\n const hostedPane = resolution.targetZone === NavigationZoneName.SECONDARY\n && NavigationUtils.isResourceOperationContent(enrichedContent)\n // Only an ADDRESSABLE pane can be hosted: an entry with no URL of its own has nothing to ride\n // the host's URL as, and flagging it would make the pane reconciler read the next view-state\n // change (\"no `pane` in the URL\") as the pane having been closed.\n && shouldUpdateUrl\n && finalUrlPath !== undefined\n && primaryTopForHosting?.urlPath !== undefined\n && !NavigationUtils.primaryContentIsUrlDerivable(primaryTopForHosting.content);\n\n const eventPayload: FrontendEvent_NavigationPush | FrontendEvent_NavigationReplace = {\n zone: resolution.targetZone,\n content: enrichedContent,\n urlPath: finalUrlPath,\n stackEntryId,\n initiator,\n navigationSource: NavigationSource.CONTROLLER,\n transition: resolution.transition,\n appearance: resolution.appearance,\n overlayBehavior: resolution.overlayBehavior,\n ephemeral: resolution.ephemeral,\n ...(hostedPane ? { hostedPane: true } : {}),\n /*\n * Only present when the resolver RETARGETED this placement because the authored zone is\n * responsively collapsed at this viewport. It records where the entry belongs, which is the\n * one thing a migration back needs and the reason the collapse could not be reversed before.\n */\n ...(resolution.collapsedFromZone ? { collapsedFromZone: resolution.collapsedFromZone } : {}),\n };\n logDebug('Emitting navigation event', { event: resolution.transition === NavigationTransition.PUSH ? 'PUSH' : 'REPLACE', zone: resolution.targetZone, finalUrlPath, hostedPane });\n if (resolution.transition === NavigationTransition.PUSH) {\n emit(FrontendEvents.NAVIGATION_PUSH, eventPayload as FrontendEvent_NavigationPush);\n } else {\n // PROMOTE, REPLACE, SPLIT, INPLACE, OVERLAY all emit as REPLACE\n emit(FrontendEvents.NAVIGATION_REPLACE, eventPayload as FrontendEvent_NavigationReplace);\n }\n\n // Update browser URL for addressable operations in structural zones\n if (shouldUpdateUrl && finalUrlPath) {\n const isReplaceLike = replaceBrowserHistory === true\n || resolution.transition === NavigationTransition.REPLACE\n || resolution.transition === NavigationTransition.PROMOTE;\n const browserUrl = hostedPane\n ? NavigationUtils.resolveBrowserUrlForZoneEntry({\n zone: NavigationZoneName.SECONDARY,\n entryUrlPath: finalUrlPath,\n currentBrowserUrl: currentBrowserUrlRef.current,\n getZoneState,\n }) ?? finalUrlPath\n : finalUrlPath;\n updateBrowserUrl(routerNavigate, browserUrl, isReplaceLike);\n }\n } catch (error) {\n logger.error('useNavigationController navigation failed', {\n error,\n requestId,\n sourceZone: initiator.sourceZone,\n contentType: content.contentType,\n urlPath,\n resourceType: NavigationUtils.isResourceOperationContent(content)\n ? content.resourceContext.resourceType\n : undefined,\n operationIdentifier: NavigationUtils.isResourceOperationContent(content)\n ? content.resourceContext.operation?.operationIdentifier\n : undefined,\n });\n }\n })();\n }, [\n emit,\n navigationLayout,\n currentBreakpoint,\n user,\n appScope,\n registry,\n compositeViews,\n fullCustomViews,\n flowsActorsViews,\n getOperationContextNeeds,\n routerNavigate,\n getZoneState,\n inPlaceHost,\n ]);\n\n\n\n const navigateToResource = useCallback(( resourceContext: FrontendResourceOperationContext, initiator: NavigationInitiatorContext, urlPath?: string, transitionOverride?: TransitionConfig) => {\n const content: NavigationContent = {\n contentType: NavigationContentType.RESOURCE_OPERATION,\n resourceContext,\n };\n\n // `transitionOverride` is a caller-forced transition that wins over the\n // source-zone policy (it feeds the resolver's high-priority caller-transition\n // channel — see `NavigateOptions.relationshipTransition`). The canonical use\n // is a breakout: a mutation hosted in an OVERLAY (create/update dialog) that,\n // on success, must reveal the resulting record in a structural zone via\n // PROMOTE — otherwise the follow-up navigation resolves through\n // `fromOverlay.transitions` and stacks the record *inside* the transient\n // dialog, leaving the popup stuck open.\n navigate({ content, initiator, urlPath, relationshipTransition: transitionOverride });\n }, [navigate]);\n\n /**\n * Go back in a specific zone's stack.\n */\n const goBack = useCallback((zone: NavigationZone = NavigationZoneName.PRIMARY) => {\n const zoneState = getZoneState(zone);\n \n /*\n * The ONE go-back resolver, shared with the router error boundary and the feature-route guard,\n * so a hosted pane's URL is composed under its host everywhere \"back\" can be reached. The POP\n * is emitted whenever there is something to pop; the URL is written only when the resolver\n * produced one (a previous entry with no address of its own leaves the URL alone, as before).\n */\n if (zoneState.stack.length === 0) return;\n const target = NavigationUtils.resolveGoBackTarget({\n zone: zone as NavigationZoneName,\n currentBrowserUrl: currentBrowserUrlRef.current,\n getZoneState,\n });\n if (!target) return;\n emit(FrontendEvents.NAVIGATION_POP, { zone });\n if (target.browserUrl) {\n updateBrowserUrl(routerNavigate, target.browserUrl, true);\n }\n }, [emit, getZoneState, routerNavigate]);\n\n /**\n * Close the top overlay entry.\n */\n const closeOverlay = useCallback(() => {\n emit(FrontendEvents.NAVIGATION_CLOSE, { zone: NavigationZone.OVERLAY });\n }, [emit]);\n\n /**\n * Check if a zone's stack has entries to go back to.\n */\n const canGoBack = useCallback((zone: NavigationZone): boolean => {\n return getZoneDepth(zone) > 1;\n }, [getZoneDepth]);\n\n return useMemo(\n () => ({ navigate, navigateToResource, goBack, closeOverlay, canGoBack, resourceRelationshipDepth: currentResourceRelationshipDepth }),\n [ navigate, navigateToResource, goBack, closeOverlay, canGoBack, currentResourceRelationshipDepth ]);\n}\n\n/**\n * Hook to control navigation in the application.\n *\n * Returns the scoped controller from {@link ScopedNavigationControllerContext}\n * when one is in context (the Settings Hub section host installs one so in-hub\n * related actions stay within the section panel), otherwise the global\n * controller. Both hooks run unconditionally — the global builder is\n * effect-free, so building it even when the scoped controller wins costs nothing\n * (and is exactly what every one of the ~27 existing call sites already does).\n */\n/**\n * What an `INPLACE` resolution should hand the element-level host, or `undefined` when this content\n * cannot be hosted in one.\n *\n * `CREATE` is the shape that has no element yet: the collection materialises a NEW one to collect\n * the input, which is what the transition's own docstring describes (\"a create form appears inline\n * in the list\"). Everything else must name the element it transforms, and content that cannot\n * resolve one is not hostable — the caller degrades rather than transforming an arbitrary row.\n */\nfunction resolveInPlaceTargetForContent(\n content: { resourceContext: FrontendResourceOperationContext },\n effectiveOperation: CoreResourceOperation | undefined,\n): InPlaceOperationTarget | undefined {\n const resourceContext = content.resourceContext;\n const operation = resourceContext.operation as FrontendResourceConfiguration_Operation | undefined;\n if (!operation) {\n return undefined;\n }\n\n if (\n effectiveOperation === CoreResourceOperation.CREATE\n || effectiveOperation === CoreResourceOperation.CREATE_MANY\n ) {\n return { kind: InPlaceOperationTargetKind.CREATE, operation, resourceContext };\n }\n\n const elementId = frontendResourceUtils.getResourceId(\n resourceContext.contextResourceIdentifiers?.[resourceContext.resourceType],\n );\n return elementId\n ? { kind: InPlaceOperationTargetKind.ELEMENT, elementId, operation, resourceContext }\n : undefined;\n}\n\nexport function useNavigationController(): NavigationController {\n const scopedController = useContext(ScopedNavigationControllerContext);\n const globalController = useGlobalNavigationController();\n return scopedController ?? globalController;\n}\n\n\n// ================================\n// Router Sync Hook (merged from RouterNavigationSync)\n// ================================\n\n\n/**\n * Hook to sync React Router URL changes with navigation state.\n *\n * When a user navigates via URL (bookmark, direct link, refresh),\n * this hook ensures the navigation state is updated accordingly.\n *\n * Uses NavigationSource to detect controller-initiated navigation:\n * - If top entry has source=CONTROLLER and matches current URL, skip sync\n * - Otherwise, this is an external URL change, sync it with source=URL_SYNC\n *\n * @param resourceType - The resource type for the current route\n * @param operation - The operation configuration\n * @param routePathParameters - Route path parameters with relationship info for deterministic URL selection\n */\nexport function useRouterSync(\n resourceType: string | undefined,\n operation: FrontendResourceConfiguration_Operation | undefined,\n routePathParameters?: ResourceConfiguration_Operation_UrlParameterInfo[]\n): void {\n const location = useLocation();\n const urlParameters = useParams<Record<string, string>>() as Record<string, string>;\n const { registry } = useResourceRegistry();\n const { emit } = useEventBus();\n const { getZoneState } = useNavigationState();\n const appScope = useAppScopeSafe();\n const { navigationLayout: resolvedNavigationLayout } = useUI();\n const currentBrowserUrl = useMemo(\n () => NavigationUtils.buildBrowserUrl(location.pathname, location.search),\n [location.pathname, location.search],\n );\n const liveAppScopeContextIdentifiers = useMemo(\n () => appScope?.buildContextResourceIdentifiers?.() ?? {},\n [appScope],\n );\n const liveAppScopeContextIdentifiersKey = useMemo(\n () => FrontendResourceUtils.buildContextResourceIdentifiersKey(liveAppScopeContextIdentifiers),\n [liveAppScopeContextIdentifiers],\n );\n\n // Track the last synced path to avoid duplicate updates\n const lastSyncedPath = useRef<string | null>(null);\n const {\n retryTick,\n scheduleRetry: scheduleTransactionRetry,\n clearRetry: clearTransactionRetry,\n } = useTransactionAwareSyncRetry(currentBrowserUrl);\n\n // Pre-compute this resource's route patterns (memoized) so the effect can\n // cheaply verify that the current URL actually belongs to this resource.\n // This prevents re-populating the navigation stack when the Outlet briefly\n // mounts this ResourcePageWrapper during a route transition (e.g., Home '/').\n const resourceRoutePatterns = useMemo(() => {\n if (!resourceType || !operation) return [];\n const resourceConfig = registry.resourceConfigurations?.[resourceType];\n if (!resourceConfig) return [];\n return ResourcesConfigOperationsUrlsBuilderUtils.buildOperationFrontendRoutePaths(\n resourceConfig as any, operation, registry.allResourceFieldIdentifiers\n ).map(rp => rp.url);\n }, [resourceType, operation, registry]);\n\n useEffect(() => {\n\n if (!resourceType || !operation) return;\n\n logDebug('useRouterSync: effect fired', {\n resourceType,\n operationId: operation.operationIdentifier,\n locationPathname: location.pathname,\n lastSyncedPath: lastSyncedPath.current,\n routePatternsCount: resourceRoutePatterns.length,\n });\n\n // Guard: A NavigationTransaction is active (e.g., home click, org switch, cascading).\n // The Outlet briefly mounts this ResourcePageWrapper before React Router commits\n // the route change (startTransition = low-priority). Skip sync to prevent\n // re-populating the stack with stale content.\n if (NavigationUtils.isInTransaction()) {\n logDebug('useRouterSync: SKIP — navigation transaction active', { source: NavigationUtils.getTransactionSource() });\n scheduleTransactionRetry();\n return;\n }\n\n clearTransactionRetry();\n\n // Skip if we've already synced this path\n if (lastSyncedPath.current === currentBrowserUrl) {\n logDebug('useRouterSync: SKIP — already synced this path', { currentBrowserUrl });\n return;\n }\n\n // Guard: verify the current URL actually matches one of this resource's route patterns.\n // When navigating to a non-resource route (e.g., Home '/'), the Outlet may briefly\n // mount this ResourcePageWrapper before React Router unmounts it. Without this guard,\n // useRouterSync would re-populate the PRIMARY stack with stale content, preventing\n // the target route (Home) from ever rendering.\n if (resourceRoutePatterns.length > 0) {\n const isUrlRelevant = resourceRoutePatterns.some(pattern =>\n NavigationUtils.matchUrlPattern(pattern, location.pathname)\n );\n if (!isUrlRelevant) {\n logDebug('useRouterSync: SKIP — URL does not match any resource route pattern', {\n pathname: location.pathname,\n patterns: resourceRoutePatterns,\n });\n lastSyncedPath.current = currentBrowserUrl;\n return;\n }\n }\n\n // Get the target resource's primaryScope to filter global identifiers\n // This prevents border effects from URL sync\n const targetPrimaryScope = registry.resourceConfigurations?.[resourceType]?.resourcePrimaryScope;\n\n // Build parentResourcesRequirements from route path parameters if available\n const parentResourcesRequirements = routePathParameters\n ? frontendResourceUtils.buildParentResourcesRequirementsFromRouteParams(\n routePathParameters,\n resourceType,\n registry\n )\n : [];\n\n // Reverse reconstruction must only trust the current top owner of the URL.\n // A stale match buried elsewhere in a stack should not suppress rebuild.\n const zones = resolvedNavigationLayout?.zones;\n const hasSecondary = !!zones?.secondary;\n const hasCompanion = !!zones?.companion;\n const depth = NavigationUtils.calculateResourceRelationshipDepth(parentResourcesRequirements);\n const prefersAdjacentZoneForDetail = depth === 0\n && hasSecondary\n && operation !== undefined\n && NavigationUtils.layoutSplitsOperationFromPrimary(resolvedNavigationLayout, operation);\n const targetZone = NavigationUtils.resolveResourceTargetZone(depth, {\n hasSecondary,\n hasCompanion,\n prefersAdjacentZoneForDetail,\n });\n /*\n * Ownership is asked per ZONE and by DESTINATION: the entry the target zone shows must address\n * this URL, and a view-state query difference (`?dataMode=`) is not a different destination.\n * The always-mounted reconciler refreshes the entry's `urlPath` for such a change; this hook's\n * only job is to not rebuild what is already there.\n */\n const targetZoneOwnsUrl = NavigationUtils.zoneOwnsBrowserUrl(targetZone, currentBrowserUrl, getZoneState);\n\n logDebug('useRouterSync: checking guards', {\n currentBrowserUrl,\n targetZone,\n targetZoneOwnsUrl,\n targetZoneTopUrlPath: NavigationUtils.getTopEntry(getZoneState(targetZone))?.urlPath,\n });\n\n if (targetZoneOwnsUrl) {\n logDebug('useRouterSync: SKIP — target zone already owns current URL', { targetZone });\n lastSyncedPath.current = currentBrowserUrl;\n return;\n }\n\n // Build resource context from URL params\n // Pass routePathParameters for accurate FK field mapping (e.g., assignedToUserId → USERS)\n const urlContextIdentifiers = frontendResourceUtils.extractResourceIdentifiersFromUrlParams(\n urlParameters,\n registry,\n routePathParameters\n );\n\n const mergedContextIdentifiers = ScopeUtilsService.buildResourceOperationContextIdentifiers({\n currentUserId: appScope?.currentUserId,\n currentOrganizationId: appScope?.currentOrganizationId,\n currentApplicationId: appScope?.currentApplicationId,\n currentAnonymousUserId: appScope?.currentAnonymousUserId,\n primaryScope: targetPrimaryScope,\n liveAppScopeContextResourceIdentifiers: liveAppScopeContextIdentifiers,\n explicitContextResourceIdentifiers: urlContextIdentifiers,\n });\n\n const resourceContext = frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n resourceType,\n operation,\n contextResourceIdentifiers: mergedContextIdentifiers,\n parentResourcesRequirements,\n });\n\n // Create navigation content\n const content: NavigationContent = {\n contentType: NavigationContentType.RESOURCE_OPERATION,\n resourceContext,\n };\n\n // Generate stack entry ID\n const stackEntryId = NavigationUtils.generateStackEntryId();\n\n // ─── Reverse Cascade: place content in the correct zone ──────────\n // On page refresh / deep link, the URL-synced resource should land in the\n // zone matching its relationship depth, not always PRIMARY.\n // depth 0 → PRIMARY, depth 1 → SECONDARY, depth 2+ → COMPANION.\n // Ancestor zones are then populated via cascadeAncestorZones.\n //\n logDebug('useRouterSync: EMITTING NAVIGATION_REPLACE (URL_SYNC)', {\n resourceType,\n operationId: operation.operationIdentifier,\n currentBrowserUrl,\n mergedContextIdentifiers,\n depth,\n targetZone,\n });\n\n // For deep resources (depth >= 1), wrap in a transaction so cascading\n // events don't cause useRouterSync to re-fire mid-reconstruction.\n if (depth >= 1) {\n NavigationUtils.beginTransaction('url_reverse_cascade');\n }\n\n emit(FrontendEvents.NAVIGATION_REPLACE, {\n zone: targetZone,\n content,\n urlPath: currentBrowserUrl,\n stackEntryId,\n initiator: { sourceZone: targetZone },\n navigationSource: NavigationSource.URL_SYNC,\n transition: NavigationTransition.REPLACE,\n });\n\n if (prefersAdjacentZoneForDetail && targetZone === NavigationZoneName.SECONDARY) {\n cascadeSiblingListIntoPrimary({\n resourceType: resourceType as string,\n contextResourceIdentifiers: mergedContextIdentifiers as Record<string, string>,\n parentResourcesRequirements, registry, emit, getZoneState,\n });\n }\n\n // Populate ancestor panes for depth 1+ resources\n if (depth >= 1) {\n // Normalize context identifiers to plain strings for cascading\n const normalizedForCascade = normalizeContextResourceIdentifiersForTransport(mergedContextIdentifiers as any);\n cascadeAncestorZones(\n content as NavigationContent & { contentType: NavigationContentType.RESOURCE_OPERATION },\n targetZone,\n registry,\n normalizedForCascade,\n emit,\n null, // No URL update needed — browser already has the correct URL\n getZoneState,\n { overwriteExisting: true },\n );\n // Transaction auto-commits via setTimeout(0)\n }\n\n lastSyncedPath.current = currentBrowserUrl;\n\n }, [\n location.pathname,\n location.search,\n urlParameters,\n resourceType,\n operation,\n registry,\n emit,\n getZoneState,\n appScope?.currentUserId,\n appScope?.currentOrganizationId,\n appScope?.currentApplicationId,\n appScope?.currentAnonymousUserId,\n liveAppScopeContextIdentifiersKey,\n routePathParameters,\n resourceRoutePatterns,\n resolvedNavigationLayout,\n currentBrowserUrl,\n retryTick,\n scheduleTransactionRetry,\n clearTransactionRetry,\n ]);\n}\n\n\n// ================================\n// View Router Sync Hook\n// ================================\n\n/**\n * Hook to sync view routes (composite, chart, custom, flows-actors) with navigation state.\n *\n * Unlike useRouterSync (which handles resource operations), this handles non-resource\n * content types that only need a viewRef and contentType. Views are always depth 0\n * (placed in PRIMARY zone), have no parent chain, and no cascading.\n *\n * On refresh / deep link, this hook populates the PRIMARY zone's navigation stack\n * with the correct view content so that:\n * - ZoneContentRenderer renders the view\n * - Sidebar active state reflects the current view\n * - goBack() works correctly\n *\n * @param viewRef - The view reference from the URL\n * @param contentType - The navigation content type (COMPOSITE_VIEW, CHART_VIEW, etc.)\n */\nexport function useViewRouterSync(\n viewRef: string | undefined,\n contentType: NavigationContentType,\n): void {\n const location = useLocation();\n const { emit } = useEventBus();\n const { getZoneState } = useNavigationState();\n const { registry } = useResourceRegistry();\n const { fullCustomViews, flowsActorsViews } = useUI();\n\n const lastSyncedPath = useRef<string | null>(null);\n const currentUrl = NavigationUtils.buildBrowserUrl(location.pathname, location.search);\n const {\n retryTick,\n scheduleRetry: scheduleTransactionRetry,\n clearRetry: clearTransactionRetry,\n } = useTransactionAwareSyncRetry(currentUrl);\n\n useEffect(() => {\n if (!viewRef) return;\n\n // Guard: transaction active\n if (NavigationUtils.isInTransaction()) {\n scheduleTransactionRetry();\n return;\n }\n\n clearTransactionRetry();\n\n // Skip if already synced\n if (lastSyncedPath.current === currentUrl) return;\n\n // Asked about PRIMARY's half of the URL: under a composed URL the HOST is this view and the\n // `pane` parameter belongs to the secondary zone's own reconciler. A view-state change\n // (`?section=`) on the same view is owned too — the reconciler refreshes the stamp in place.\n if (NavigationUtils.zoneOwnsBrowserUrl(NavigationZoneName.PRIMARY, currentUrl, getZoneState)) {\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n // Deep-link sync should rebuild the same typed view payload, but ambient\n // primary scope is derived live from AppScope by the view itself.\n let content: NavigationContent;\n const compositeRouteContextResourceIdentifiers = contentType === NavigationContentType.COMPOSITE_VIEW\n ? extractCompositeRouteContextResourceIdentifiers(new URLSearchParams(location.search))\n : undefined;\n const chartRouteContextResourceIdentifiers = contentType === NavigationContentType.CHART_VIEW\n ? extractChartRouteContextResourceIdentifiers(new URLSearchParams(location.search))\n : undefined;\n const chartRouteUrlParamValues = contentType === NavigationContentType.CHART_VIEW\n ? extractChartRouteUrlParamValues(new URLSearchParams(location.search))\n : undefined;\n const executionRouteContextResourceIdentifiers = contentType === NavigationContentType.EXECUTION_VIEW\n ? extractExecutionRouteContextResourceIdentifiers(new URLSearchParams(location.search))\n : undefined;\n const fullCustomView = contentType === NavigationContentType.FULL_CUSTOM_VIEW\n ? fullCustomViews?.find(view => view.ref === viewRef)\n : undefined;\n const flowsActorsView = contentType === NavigationContentType.FLOWS_ACTORS_VIEW\n ? flowsActorsViews?.find(view => view.ref === viewRef)\n : undefined;\n const executionView = contentType === NavigationContentType.EXECUTION_VIEW\n ? resolveExecutionViewDefinition({\n viewRef,\n registry,\n })\n : undefined;\n switch (contentType) {\n case NavigationContentType.COMPOSITE_VIEW:\n content = {\n contentType: NavigationContentType.COMPOSITE_VIEW,\n viewRef,\n contextResourceIdentifiers: compositeRouteContextResourceIdentifiers,\n };\n break;\n case NavigationContentType.CHART_VIEW:\n content = {\n contentType: NavigationContentType.CHART_VIEW,\n viewRef,\n contextResourceIdentifiers: chartRouteContextResourceIdentifiers,\n urlParamValues: chartRouteUrlParamValues,\n };\n break;\n case NavigationContentType.FULL_CUSTOM_VIEW:\n if (!fullCustomView) {\n return;\n }\n content = {\n contentType: NavigationContentType.FULL_CUSTOM_VIEW,\n viewRef,\n fullCustomComponentRef: fullCustomView.componentRef,\n };\n break;\n case NavigationContentType.FLOWS_ACTORS_VIEW:\n if (!flowsActorsView) {\n return;\n }\n content = {\n contentType: NavigationContentType.FLOWS_ACTORS_VIEW,\n viewRef,\n flowsActorsSystemRef: flowsActorsView.systemRef,\n };\n break;\n case NavigationContentType.EXECUTION_VIEW:\n if (\n !executionView\n || executionView.isAddressable !== true\n ) {\n return;\n }\n\n content = {\n contentType: NavigationContentType.EXECUTION_VIEW,\n viewRef,\n contextResourceIdentifiers: executionRouteContextResourceIdentifiers,\n };\n break;\n default:\n return;\n }\n\n const stackEntryId = NavigationUtils.generateStackEntryId();\n\n logDebug('useViewRouterSync: EMITTING NAVIGATION_REPLACE (URL_SYNC)', {\n viewRef,\n contentType,\n locationPathname: location.pathname,\n locationSearch: location.search,\n });\n\n emit(FrontendEvents.NAVIGATION_REPLACE, {\n zone: NavigationZoneName.PRIMARY,\n content,\n // The view's OWN address: under a composed URL the `pane` half belongs to the secondary\n // entry, and stamping it here would make the host look like a different destination the\n // moment the pane changed.\n urlPath: NavigationUtils.decomposeHostedPaneBrowserUrl(currentUrl).hostUrl,\n stackEntryId,\n initiator: { sourceZone: NavigationZoneName.PRIMARY },\n navigationSource: NavigationSource.URL_SYNC,\n transition: NavigationTransition.REPLACE,\n });\n\n lastSyncedPath.current = currentUrl;\n }, [viewRef, contentType, emit, getZoneState, fullCustomViews, flowsActorsViews, registry, currentUrl, retryTick, scheduleTransactionRetry, clearTransactionRetry]);\n}\n\n/**\n * Router sync for typed engine pages.\n *\n * Engine pages are app-level routes that should still populate the PRIMARY stack\n * so launcher active-state and back-navigation remain coherent after refresh or\n * direct URL entry.\n */\nexport function useEnginePageRouterSync(pageRef: EnginePageRef | undefined): void {\n const location = useLocation();\n const { emit } = useEventBus();\n const { getZoneState } = useNavigationState();\n\n const lastSyncedPath = useRef<string | null>(null);\n const currentUrl = NavigationUtils.buildBrowserUrl(location.pathname, location.search);\n const {\n retryTick,\n scheduleRetry: scheduleTransactionRetry,\n clearRetry: clearTransactionRetry,\n } = useTransactionAwareSyncRetry(currentUrl);\n\n useEffect(() => {\n if (!pageRef) return;\n\n if (NavigationUtils.isInTransaction()) {\n scheduleTransactionRetry();\n return;\n }\n\n clearTransactionRetry();\n\n if (lastSyncedPath.current === currentUrl) return;\n\n // Same per-zone, destination-based ownership as the view sync above.\n if (NavigationUtils.zoneOwnsBrowserUrl(NavigationZoneName.PRIMARY, currentUrl, getZoneState)) {\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n const stackEntryId = NavigationUtils.generateStackEntryId();\n\n emit(FrontendEvents.NAVIGATION_REPLACE, {\n zone: NavigationZoneName.PRIMARY,\n content: {\n contentType: NavigationContentType.ENGINE_PAGE,\n pageRef,\n },\n urlPath: NavigationUtils.decomposeHostedPaneBrowserUrl(currentUrl).hostUrl,\n stackEntryId,\n initiator: { sourceZone: NavigationZoneName.PRIMARY },\n navigationSource: NavigationSource.URL_SYNC,\n transition: NavigationTransition.REPLACE,\n });\n\n lastSyncedPath.current = currentUrl;\n }, [pageRef, emit, getZoneState, currentUrl, retryTick, scheduleTransactionRetry, clearTransactionRetry]);\n}\n\n/**\n * Persistent, always-mounted reconciler that maps browser **back/forward**\n * (history popstate) onto the STRUCTURAL zone stacks (PRIMARY / SECONDARY /\n * COMPANION).\n *\n * ── Why this exists (the gap it closes) ────────────────────────────────────\n * Structural-zone content is rendered from the navigation **stack state**, not\n * from the router `<Outlet/>`: `ZoneContentRenderer` renders `routerChildren`\n * (the Outlet, which hosts `useRouterSync` / `useViewRouterSync` /\n * `useEnginePageRouterSync`) ONLY when a zone's stack is empty. In-session the\n * PRIMARY stack is never empty, so the Outlet — and with it the per-route\n * URL→state sync hooks — is unmounted. Controller-driven navigation (sidebar,\n * links, Home) mutates the stack directly via events, so it is unaffected. But\n * a browser back/forward only changes `location`; with no mounted sync hook\n * observing it, the stack was never reconciled — the URL (and the\n * `useLocation`-derived sidebar highlight) moved while the rendered content\n * stayed on the previous entry. This is the structural-zone analogue of what\n * {@link useSettingsHubOverlaySync} already does for the overlay, and it is\n * mounted the same way: exactly once, at the navigation-runtime level.\n *\n * ── Contract ───────────────────────────────────────────────────────────────\n * On every `location` change (deferred while a navigation transaction is\n * mid-flight, so controller-driven URL updates are not double-handled):\n * 1. Settings-hub URLs (`/settings*`) are owned by {@link useSettingsHubOverlaySync}\n * (overlay layer) — skip them entirely so we never clobber the structural\n * content sitting beneath the hub.\n * 2. If the URL addresses the DESTINATION already at the visible top of a\n * structural zone → no rebuild. When it differs only in VIEW STATE\n * (`?section=`), the entry's `urlPath` is refreshed in place through\n * `NAVIGATION_URL_PATH_UPDATED` — same id, same content. Under a composed\n * URL (`?pane=`, see `useHostedPaneRouteSync`) the host's stamp on PRIMARY\n * and the pane's on SECONDARY are both refreshed.\n * 3. If the URL matches an entry still sitting LOWER in a zone's backstack →\n * restore it with a pure `NAVIGATION_POP` to that entry. This is the common\n * back-button case; popping preserves the revealed entry's live state\n * (scroll, expanded rows) instead of rebuilding it. A composed URL is\n * matched against the SECONDARY backstack while PRIMARY addresses the host.\n * 4. Otherwise the URL is not in any structural stack (forward to a\n * previously-popped entry, or a manual URL edit without reload) → clear the\n * structural zones inside a transaction so the Outlet fallback remounts and\n * the existing route-mounted sync hooks reconstruct from the URL. This\n * reuses the single URL→state derivation rather than duplicating it here,\n * matching the documented URL-first reconstruction model.\n *\n * We never call `routerNavigate` here — the browser already owns the URL; this\n * hook only brings zone state up to match it, so there is no URL-write loop.\n */\nexport function useStructuralZoneBackForwardSync(): void {\n const location = useLocation();\n const { emit } = useEventBus();\n const { getZoneState } = useNavigationState();\n\n const lastSyncedPath = useRef<string | null>(null);\n const currentUrl = NavigationUtils.buildBrowserUrl(location.pathname, location.search);\n const { retryTick, scheduleRetry, clearRetry } = useTransactionAwareSyncRetry(currentUrl);\n\n useEffect(() => {\n // Defer while a controller-driven navigation transaction is committing; the\n // retry tick re-runs this reconciler once the emitted entry owns the URL, so\n // step 2 below no-ops instead of us fighting the controller.\n if (NavigationUtils.isInTransaction()) {\n scheduleRetry();\n return;\n }\n clearRetry();\n\n if (lastSyncedPath.current === currentUrl) return;\n\n // (1) Settings-hub URLs belong to the overlay reconciler — leave the\n // structural stack beneath the hub untouched.\n if (matchSettingsHubPath(location.pathname).isSettings) {\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n const owner = NavigationUtils.findStructuralStackEntryOwningUrl(currentUrl, getZoneState);\n\n // (2) Already the visible top of its zone — nothing to REBUILD. When the URL moved only in\n // VIEW STATE (`?section=` on a board, `?dataMode=` on a list) the entry's stamp is refreshed in\n // place, id and content untouched, so the next comparison sees the URL it will actually get.\n // Under a composed URL both halves are refreshed: the host's stamp on PRIMARY, the pane's on\n // SECONDARY. This is the branch that used to fall through to (4) and tear every zone down for\n // a tab click.\n if (owner?.isTop) {\n if (owner.searchDiffers) {\n const { hostUrl, paneUrl } = NavigationUtils.decomposeHostedPaneBrowserUrl(currentUrl);\n const refreshes: Array<{ zone: NavigationZoneName; entry: NavigationStackEntry | undefined; urlPath: string }> =\n paneUrl !== undefined\n ? [\n { zone: NavigationZoneName.PRIMARY, entry: NavigationUtils.getTopEntry(getZoneState(NavigationZoneName.PRIMARY)), urlPath: hostUrl },\n { zone: NavigationZoneName.SECONDARY, entry: owner.entry, urlPath: paneUrl },\n ]\n : [{ zone: owner.zone, entry: owner.entry, urlPath: currentUrl }];\n for (const refresh of refreshes) {\n if (refresh.entry && refresh.entry.urlPath !== refresh.urlPath) {\n logDebug('useStructuralZoneBackForwardSync: refreshing entry urlPath for a view-state change', {\n zone: refresh.zone,\n stackEntryId: refresh.entry.id,\n from: refresh.entry.urlPath,\n to: refresh.urlPath,\n });\n emit(FrontendEvents.NAVIGATION_URL_PATH_UPDATED, {\n zone: refresh.zone,\n stackEntryId: refresh.entry.id,\n urlPath: refresh.urlPath,\n });\n }\n }\n }\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n // (3) Previously-visited entry still in the backstack — restore via POP.\n if (owner) {\n logDebug('useStructuralZoneBackForwardSync: POP to backstack entry', {\n zone: owner.zone,\n toStackEntryId: owner.entry.id,\n currentUrl,\n });\n emit(FrontendEvents.NAVIGATION_POP, {\n zone: owner.zone,\n toStackEntryId: owner.entry.id,\n });\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n // (4) URL is not anywhere in the structural stacks. If a stack is currently\n // non-empty the Outlet (and its sync hooks) is unmounted, so clear the\n // structural zones inside a transaction and let the Outlet fallback rebuild\n // from the URL. When every structural stack is already empty (cold load /\n // deep-link) the Outlet is mounted and owns reconstruction — do nothing.\n const anyStructuralContent = NAVIGATION_STRUCTURAL_ZONES.some(\n (zone) => getZoneState(zone).stack.length > 0,\n );\n if (anyStructuralContent) {\n logDebug('useStructuralZoneBackForwardSync: clearing structural zones for URL rebuild', { currentUrl });\n NavigationUtils.beginTransaction('backforward_url_rebuild');\n for (const zone of NAVIGATION_STRUCTURAL_ZONES) {\n emit(FrontendEvents.NAVIGATION_CLEAR_ZONE, { zone });\n }\n // Transaction auto-commits (setTimeout(0)); the route-mounted sync hooks\n // skip while it is active and reconstruct on their transaction-aware retry.\n }\n lastSyncedPath.current = currentUrl;\n }, [currentUrl, location.pathname, emit, getZoneState, retryTick, scheduleRetry, clearRetry]);\n}\n\n/**\n * Persistent, always-mounted reconciler that keeps a HOSTED PANE in step with the URL.\n *\n * A hosted pane is a SECONDARY resource destination opened beside a primary whose own address no\n * resource URL implies — a composite view, a canvas, a chart, an engine page. The browser URL is\n * the host's, carrying the pane as `?pane=` (see `HOSTED_PANE_QUERY_PARAM`), so the pane is never\n * the router's route and no route element ever mounts a sync hook for it. This hook is that sync,\n * mounted once at the navigation-runtime level like the two reconcilers beside it.\n *\n * Contract, on every `location` change (deferred while a transaction is committing; settings-hub\n * URLs are left to the overlay reconciler, the structural zones beneath the hub untouched):\n * 1. No `pane` in the URL and the secondary shows a hosted pane → the pane left the URL (browser\n * back, the host's `goBack`) → clear SECONDARY.\n * 2. The pane addresses what the secondary already shows → nothing to do (a view-state change\n * was refreshed by the back/forward reconciler).\n * 3. The pane addresses an entry lower in the secondary backstack → POP to it.\n * 4. Otherwise resolve the pane's URL against the same route table `AppRouter` registers, build\n * its resource context exactly as `useRouterSync` would from the router's params, and place\n * it in SECONDARY as a SPLIT flagged `hostedPane`. Placed regardless of whether PRIMARY has\n * landed yet: the dependency cleanup keeps a hosted pane beside a non-resource primary, so\n * the two halves of a deep link may arrive in either order.\n *\n * Never writes the URL — the browser owns it; this only brings the zone up to match.\n */\nexport function useHostedPaneRouteSync(): void {\n const location = useLocation();\n const { emit } = useEventBus();\n const { getZoneState } = useNavigationState();\n const { registry } = useResourceRegistry();\n const appScope = useAppScopeSafe();\n const { navigationLayout, currentBreakpoint } = useUI();\n\n const lastSyncedPath = useRef<string | null>(null);\n const currentUrl = NavigationUtils.buildBrowserUrl(location.pathname, location.search);\n const { retryTick, scheduleRetry, clearRetry } = useTransactionAwareSyncRetry(currentUrl);\n const liveAppScopeContextIdentifiers = useMemo(\n () => appScope?.buildContextResourceIdentifiers?.() ?? {},\n [appScope],\n );\n\n useEffect(() => {\n if (NavigationUtils.isInTransaction()) {\n scheduleRetry();\n return;\n }\n clearRetry();\n\n if (lastSyncedPath.current === currentUrl) return;\n\n // Settings-hub URLs belong to the overlay reconciler; the structural zones beneath the hub —\n // a hosted pane included — are left exactly as they are, the same exemption the back/forward\n // reconciler makes. Without it, opening Settings read as \"the pane left the URL\".\n if (matchSettingsHubPath(location.pathname).isSettings) {\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n const { paneUrl } = NavigationUtils.decomposeHostedPaneBrowserUrl(currentUrl);\n const secondaryState = getZoneState(NavigationZoneName.SECONDARY);\n const secondaryTop = NavigationUtils.getTopEntry(secondaryState);\n\n // (1) The pane left the URL.\n if (paneUrl === undefined) {\n if (secondaryTop?.hostedPane) {\n logDebug('useHostedPaneRouteSync: pane left the URL — clearing SECONDARY', { currentUrl });\n emit(FrontendEvents.NAVIGATION_CLEAR_ZONE, { zone: NavigationZoneName.SECONDARY });\n }\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n // (2) Already showing it.\n if (secondaryTop?.hostedPane && NavigationUtils.urlsAddressSameDestination(secondaryTop.urlPath, paneUrl)) {\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n // (3) Lower in the backstack — a browser back between two panes under one host.\n const buried = [...secondaryState.stack].reverse().find(\n (entry) => entry.hostedPane && NavigationUtils.urlsAddressSameDestination(entry.urlPath, paneUrl),\n );\n if (buried) {\n logDebug('useHostedPaneRouteSync: POP to a buried pane', { toStackEntryId: buried.id, paneUrl });\n emit(FrontendEvents.NAVIGATION_POP, { zone: NavigationZoneName.SECONDARY, toStackEntryId: buried.id });\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n // (4) Rebuild the pane from its own address.\n const route = NavigationUtils.resolveResourceRouteForUrl(paneUrl, registry);\n if (!route) {\n logDebug('useHostedPaneRouteSync: pane URL matches no addressable resource route — ignored', { paneUrl });\n lastSyncedPath.current = currentUrl;\n return;\n }\n\n const parentResourcesRequirements = frontendResourceUtils.buildParentResourcesRequirementsFromRouteParams(\n route.routePathParameters,\n route.resourceType,\n registry,\n );\n const urlContextIdentifiers = frontendResourceUtils.extractResourceIdentifiersFromUrlParams(\n route.urlParameters,\n registry,\n route.routePathParameters,\n );\n const targetPrimaryScope = registry.resourceConfigurations?.[route.resourceType]?.resourcePrimaryScope;\n const contextResourceIdentifiers = ScopeUtilsService.buildResourceOperationContextIdentifiers({\n currentUserId: appScope?.currentUserId,\n currentOrganizationId: appScope?.currentOrganizationId,\n currentApplicationId: appScope?.currentApplicationId,\n currentAnonymousUserId: appScope?.currentAnonymousUserId,\n primaryScope: targetPrimaryScope,\n liveAppScopeContextResourceIdentifiers: liveAppScopeContextIdentifiers,\n explicitContextResourceIdentifiers: urlContextIdentifiers,\n });\n const resourceContext = frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n resourceType: route.resourceType,\n operation: route.operation,\n contextResourceIdentifiers,\n parentResourcesRequirements,\n });\n // The split appearance a click from PRIMARY would have resolved — the pane is the same pane\n // whether it arrived by click or by URL.\n const appearance = (currentBreakpoint !== undefined\n ? resolveViewportDiscriminated(navigationLayout?.zones?.primary?.appearance?.split, currentBreakpoint)\n : undefined) ?? SplitAppearance.PANEL;\n\n logDebug('useHostedPaneRouteSync: EMITTING NAVIGATION_REPLACE (URL_SYNC) for the hosted pane', {\n paneUrl,\n resourceType: route.resourceType,\n operationId: route.operation.operationIdentifier,\n });\n emit(FrontendEvents.NAVIGATION_REPLACE, {\n zone: NavigationZoneName.SECONDARY,\n content: { contentType: NavigationContentType.RESOURCE_OPERATION, resourceContext },\n urlPath: paneUrl,\n stackEntryId: NavigationUtils.generateStackEntryId(),\n initiator: { sourceZone: NavigationZoneName.PRIMARY },\n navigationSource: NavigationSource.URL_SYNC,\n transition: NavigationTransition.SPLIT,\n appearance,\n hostedPane: true,\n });\n lastSyncedPath.current = currentUrl;\n }, [\n currentUrl,\n location.pathname,\n emit,\n getZoneState,\n registry,\n appScope?.currentUserId,\n appScope?.currentOrganizationId,\n appScope?.currentApplicationId,\n appScope?.currentAnonymousUserId,\n liveAppScopeContextIdentifiers,\n navigationLayout,\n currentBreakpoint,\n retryTick,\n scheduleRetry,\n clearRetry,\n ]);\n}\n\n/**\n * Matches the unified Settings Hub URL family.\n * `/settings` → `{ isSettings: true }`; `/settings/:sectionRef` →\n * `{ isSettings: true, sectionRef }`.\n */\nfunction matchSettingsHubPath(pathname: string): { isSettings: boolean; sectionRef?: string } {\n if (pathname === CommonRoutePaths.settings) return { isSettings: true };\n const prefix = `${CommonRoutePaths.settings}/`;\n if (pathname.startsWith(prefix)) {\n const sectionRef = pathname.slice(prefix.length);\n return { isSettings: true, sectionRef: sectionRef.length > 0 ? sectionRef : undefined };\n }\n return { isSettings: false };\n}\n\n/**\n * Persistent, idempotent reconciler that keeps the Settings Hub overlay in sync\n * with the URL. The hub is overlay-rendered but URL-addressable, and the URL is\n * its single source of truth.\n *\n * Mounted ONCE at the navigation-runtime level (NOT per-route, NOT in the\n * `/settings` route element). This is deliberate: a route-mounted sync that\n * pushed on mount and tore down on unmount would, under React StrictMode, have\n * its unmount-teardown double-invoked and close the just-pushed overlay during\n * in-session navigation — the exact \"refresh works, in-session click does not\"\n * failure mode. A persistent reconciler reads the current URL + overlay state\n * and converges to the correct state on every run, so StrictMode double-invokes\n * and the `state.overlay` dependency re-running are both harmless no-ops.\n *\n * Contract:\n * - On `/settings` / `/settings/:sectionRef`: ensure the overlay top is a\n * `SETTINGS_HUB` at that section (push when absent, replace on section change,\n * no-op when already correct).\n * - Off the settings URL: close the hub if it is the top overlay — covers\n * dismiss-driven navigation, browser back/forward, and app-level navigation\n * away from settings, all through one URL-driven path.\n *\n * The PRIMARY surface beneath the hub is the route element's render (home as the\n * `routerChildren` fallback on a cold deep-link) or the persisted PRIMARY stack\n * (in-session) — see `NavigationContentAreas`'\n * `ZoneContentRenderer fallback={routerChildren}`.\n */\nexport function useSettingsHubOverlaySync(): void {\n const location = useLocation();\n const { emit } = useEventBus();\n const { state } = useNavigationState();\n const { retryTick, scheduleRetry, clearRetry } = useTransactionAwareSyncRetry(location.pathname);\n\n // Dedupes the asynchronous overlay reconciliation emit. The reconciler reacts\n // to `state.overlay`, but PUSH/REPLACE/CLOSE land asynchronously (event →\n // setState), so the effect can re-run — including React StrictMode's\n // intentional setup/cleanup/setup double-invoke — and observe the SAME\n // pre-emit overlay before the previous emit has applied, stacking a duplicate\n // hub. Keying the emit on (action, path, section, observed stack length) makes\n // a repeat emit against an unchanged observation a no-op; it is cleared the\n // instant the overlay reaches the desired (converged / closed) state, so a\n // genuinely new transition still emits.\n const lastEmitRef = useRef<string | null>(null);\n\n useEffect(() => {\n // Defer while a navigation transaction is mid-flight; the retry tick re-runs\n // this reconciler once it commits.\n if (NavigationUtils.isInTransaction()) {\n scheduleRetry();\n return;\n }\n clearRetry();\n\n const { isSettings, sectionRef } = matchSettingsHubPath(location.pathname);\n\n const overlayStack = state.overlay;\n const topEntry = overlayStack.length > 0 ? overlayStack[overlayStack.length - 1] : undefined;\n let topIsHub = false;\n let topSectionRef: string | undefined;\n if (topEntry && topEntry.content.contentType === NavigationContentType.SETTINGS_HUB) {\n topIsHub = true;\n topSectionRef = topEntry.content.sectionRef;\n }\n\n if (isSettings) {\n // Already showing the hub at the requested section → converged, nothing to do.\n if (topIsHub && topSectionRef === sectionRef) {\n lastEmitRef.current = null;\n return;\n }\n const action = topIsHub ? FrontendEvents.NAVIGATION_REPLACE : FrontendEvents.NAVIGATION_PUSH;\n const emitKey = `${action}|${location.pathname}|${sectionRef ?? ''}|${overlayStack.length}`;\n if (lastEmitRef.current === emitKey) return;\n lastEmitRef.current = emitKey;\n emit(action, {\n zone: NavigationZone.OVERLAY,\n content: { contentType: NavigationContentType.SETTINGS_HUB, sectionRef },\n urlPath: NavigationUtils.buildBrowserUrl(location.pathname, location.search),\n stackEntryId: NavigationUtils.generateStackEntryId(),\n initiator: { sourceZone: NavigationZone.OVERLAY },\n navigationSource: NavigationSource.URL_SYNC,\n transition: NavigationTransition.OVERLAY,\n appearance: OverlayAppearance.DIALOG,\n ephemeral: false,\n });\n return;\n }\n\n // Off the settings URL: if the hub is still the top overlay, the URL departed\n // (dismiss, browser back, app-level nav) → close it.\n if (topIsHub) {\n const emitKey = `${FrontendEvents.NAVIGATION_CLOSE}|${overlayStack.length}`;\n if (lastEmitRef.current === emitKey) return;\n lastEmitRef.current = emitKey;\n emit(FrontendEvents.NAVIGATION_CLOSE, { zone: NavigationZone.OVERLAY });\n return;\n }\n lastEmitRef.current = null;\n }, [location.pathname, location.search, emit, state.overlay, retryTick, scheduleRetry, clearRetry]);\n}\n"]}
|