@wildo-ai/saas-frontend-lib 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/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.map +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 +15 -2
- 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 +14 -2
- 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 +2 -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.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.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.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.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 +90 -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.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 +6 -0
- package/dist/esm/components/navigation/NavigationItemBadge.d.ts.map +1 -1
- package/dist/esm/components/navigation/NavigationItemBadge.js +2 -1
- 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.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.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.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.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.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.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.map +1 -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 +64 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +184 -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 +26 -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 +3 -0
- 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.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.map +1 -1
- 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 +232 -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.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 +128 -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 +183 -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 +68 -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 +98 -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 +6 -6
- 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 +4 -4
- 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 +20 -0
- package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.js +90 -5
- 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 +14 -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 +13 -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.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 +66 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js +101 -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 +103 -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 +20 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.js +50 -1
- 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 +9 -0
- package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
- package/dist/esm/core/i18n/I18nContext.js +149 -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 +73 -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 +56 -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.map +1 -1
- 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.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 +2 -2
- 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 +84 -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 +37 -9
- 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":"useNavigationState.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"useNavigationState.d.ts","sourceRoot":"","sources":["../../../../src/core/navigation/useNavigationState.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAqB,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAO/E;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,qBAAqB,CAQ1D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavigationState.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"useNavigationState.js","sourceRoot":"","sources":["../../../../src/core/navigation/useNavigationState.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAyB,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AAEpG,MAAM,MAAM,GAA0B,qBAAqB,CAAC,SAAS,EAAE,CAAC;AACxE,MAAM,QAAQ,GAAiE,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;AACxH,MAAM,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAE9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["/**\n * useNavigationState Hook\n * \n * Hook to access navigation state from NavigationContext.\n * Separated from NavigationContext.tsx for React Fast Refresh compatibility.\n */\n\nimport { useContext } from 'react';\nimport { NavigationContext, NavigationContextType } from './NavigationContext';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\n\nconst logger: LoggerFrontendService = LoggerFrontendService.getLogger();\nconst logDebug: (message: string, context?: Record<string, unknown>) => void = logger.debugByType('useNavigationState');\nlogger.setDebugTypeLogging('useNavigationState', false);\n\n/**\n * Hook to access navigation state and actions\n */\nexport function useNavigationState(): NavigationContextType {\n const context = useContext(NavigationContext);\n \n if (!context) {\n throw new Error('useNavigationState must be used within a NavigationProvider');\n }\n \n return context;\n}\n\n\n\n\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOverlayTitle.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"useOverlayTitle.d.ts","sourceRoot":"","sources":["../../../../src/core/navigation/useOverlayTitle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAC;AA0B9B;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,oBAAoB,GAAG,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAmEnH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOverlayTitle.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"useOverlayTitle.js","sourceRoot":"","sources":["../../../../src/core/navigation/useOverlayTitle.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * useOverlayTitle Hook\n * \n * Separated from NavigationContentAreas.tsx for React Fast Refresh compatibility.\n */\n\nimport { useMemo } from 'react';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport {\n NavigationContentType,\n type NavigationContent,\n type NavigationStackEntry,\n} from './navigation.schemas';\nimport {\n buildCompositeViewLabelKey,\n buildNavigationViewLabelKey,\n resolveCompositeViewTranslationRef,\n resolveNavigationViewLabelTarget,\n resolveNavigationViewTitle,\n} from './view-title-resolution';\n\ntype OverlayTitleViewContent = Extract<\n NavigationContent,\n { viewRef: string }\n>;\n\nfunction isOverlayTitleViewContent(\n content: NavigationContent,\n): content is OverlayTitleViewContent {\n return (\n content.contentType === NavigationContentType.COMPOSITE_VIEW\n || content.contentType === NavigationContentType.CHART_VIEW\n || content.contentType === NavigationContentType.FULL_CUSTOM_VIEW\n || content.contentType === NavigationContentType.FLOWS_ACTORS_VIEW\n || content.contentType === NavigationContentType.EXECUTION_VIEW\n );\n}\n\n/**\n * Derive overlay title/description from the navigation stack entry.\n * Resource operations resolve through their operation title contract.\n * Composite and other view families resolve through their dedicated\n * translation-ref-based view title contracts.\n */\nexport function useOverlayTitle(topEntry: NavigationStackEntry | undefined): { title: string; description?: string } {\n const resourceType = topEntry?.content?.contentType === NavigationContentType.RESOURCE_OPERATION\n ? topEntry.content.resourceContext.resourceType\n : undefined;\n const compositeLabelKeys = useMemo(() => {\n if (topEntry?.content.contentType !== NavigationContentType.COMPOSITE_VIEW) {\n return [];\n }\n\n const translationRef = resolveCompositeViewTranslationRef(topEntry.content.viewRef);\n return translationRef ? [buildCompositeViewLabelKey(translationRef)] : [];\n }, [topEntry]);\n const viewLabelKeys = useMemo(() => {\n const content = topEntry?.content;\n if (\n !content\n || !isOverlayTitleViewContent(content)\n || content.contentType === NavigationContentType.COMPOSITE_VIEW\n ) {\n return [];\n }\n\n const viewTarget = resolveNavigationViewLabelTarget({\n viewRef: content.viewRef,\n contentType: content.contentType,\n });\n return viewTarget ? [buildNavigationViewLabelKey(viewTarget)] : [];\n }, [topEntry]);\n const { tResourceOperation, tCompositeView, tView } = useI18n({\n resource: resourceType,\n keys: [...compositeLabelKeys, ...viewLabelKeys],\n });\n\n return useMemo(() => {\n if (!topEntry) return { title: '' };\n\n const { content } = topEntry;\n\n if (content.contentType === NavigationContentType.RESOURCE_OPERATION) {\n const { resourceType, operationIdentifier } = content.resourceContext;\n\n const operationTitle = tResourceOperation(resourceType, operationIdentifier, 'title');\n if (operationTitle) {\n return { title: operationTitle };\n }\n\n return { title: '' };\n }\n\n if (isOverlayTitleViewContent(content)) {\n return {\n title: resolveNavigationViewTitle({\n viewRef: content.viewRef,\n contentType: content.contentType,\n tCompositeView,\n tView,\n }),\n };\n }\n\n if (content.contentType === NavigationContentType.SETTINGS_HUB) {\n // i18n for the hub title is wired in the settings-hub i18n slice; literal for now.\n return { title: 'Settings' };\n }\n\n return { title: '' };\n }, [topEntry, tCompositeView, tResourceOperation, tView]);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTransactionAwareSyncRetry.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"useTransactionAwareSyncRetry.d.ts","sourceRoot":"","sources":["../../../../src/core/navigation/useTransactionAwareSyncRetry.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG;IACnF,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAgBA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTransactionAwareSyncRetry.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"useTransactionAwareSyncRetry.js","sourceRoot":"","sources":["../../../../src/core/navigation/useTransactionAwareSyncRetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,4BAA4B,CAAC,UAAqC;IAKhF,KAAK,UAAU,CAAC;IAEhB,MAAM,SAAS,GAAG,oBAAoB,CACpC,eAAe,CAAC,2BAA2B,EAC3C,eAAe,CAAC,mBAAmB,EACnC,eAAe,CAAC,mBAAmB,CACpC,CAAC;IAEF,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAE9C,OAAO;QACL,SAAS;QACT,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;KACjB,CAAC;AACJ,CAAC","sourcesContent":["import { useCallback, useSyncExternalStore } from 'react';\n\nimport { NavigationUtils } from './navigation.utils';\n\n/**\n * Re-run a router-sync hook once the navigation transaction it deferred to has ended.\n *\n * ## What this replaced, and why the replacement is a different shape\n *\n * Router-sync hooks legitimately skip while a navigation transaction is active, and then need to run\n * again once it closes. That used to be a per-instance `setTimeout(0)` that bumped a per-instance\n * counter — and it lost the retry whenever the instance did not survive to see its own timer (#212).\n *\n * That is not an edge case, it is the common path. `useRouterSync` lives in the ROUTE ELEMENT, which\n * `NavigationContentAreas` renders only while PRIMARY's stack is empty. The back/forward reconciler\n * clears the structural zones inside a transaction precisely so that element MOUNTS and rebuilds — so\n * the instance that schedules the retry is routinely unmounted and replaced before it fires. Measured\n * on a browser back between two details: two instances each scheduled, the first unmounted and\n * cancelled its timer, and the reconstruction never ran. The detail then rendered through PRIMARY's\n * `routerChildren` fallback — in the wrong zone, with no error.\n *\n * The transaction is GLOBAL (a static flag), so the signal that it ended has to be global too. This\n * subscribes to that signal instead of racing it.\n *\n * ## Why an EPOCH and not an event\n *\n * A hook that mounts AFTER the transaction ended must not wait for a notification that already fired.\n * An epoch has no such hole: the newcomer reads the current value, finds `isInTransaction()` false, and\n * proceeds on its first run. `useSyncExternalStore` keeps that read consistent across concurrent\n * renders rather than sampling it in an effect.\n *\n * The returned shape is unchanged so call sites did not move. `scheduleRetry` and `clearRetry` are now\n * no-ops kept for exactly that reason — there is nothing per-instance left to schedule or cancel, and\n * a caller declaring \"I am deferring\" costs nothing and reads correctly at the call site.\n */\nexport function useTransactionAwareSyncRetry(currentUrl: string | null | undefined): {\n retryTick: number;\n scheduleRetry: () => void;\n clearRetry: () => void;\n} {\n void currentUrl;\n\n const retryTick = useSyncExternalStore(\n NavigationUtils.subscribeToTransactionState,\n NavigationUtils.getTransactionEpoch,\n NavigationUtils.getTransactionEpoch,\n );\n\n const noop = useCallback(() => undefined, []);\n\n return {\n retryTick,\n scheduleRetry: noop,\n clearRetry: noop,\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-title-resolution.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"view-title-resolution.d.ts","sourceRoot":"","sources":["../../../../src/core/navigation/view-title-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,yBAAyB,EAC1B,MAAM,qCAAqC,CAAC;AAU7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE;IAClD,MAAM,EAAE,yBAAyB,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,MAAM,CAET;AAED,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,+BAA+B,CAC7C,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,MAAM,CAER;AAED,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS,CAiBpB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,yBAAyB,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,qBAAqB,CAAC;CACpC,GAAG,yBAAyB,GAAG,SAAS,CAoDxC;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,qBAAqB,CAAC;IACnC,cAAc,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;IACjE,KAAK,EAAE,CACL,MAAM,EAAE,yBAAyB,EACjC,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,OAAO,KACT,MAAM,CAAC;CACb,GAAG,MAAM,CAmBT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-title-resolution.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"view-title-resolution.js","sourceRoot":"","sources":["../../../../src/core/navigation/view-title-resolution.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n LabellingTypes,\n NavigationViewLabelFamily,\n} from '@wildo-ai/presets-components-models';\nimport {\n buildApplicationCompositeViewTranslationRef,\n buildResourceCompositeViewTranslationRef,\n} from '~wildo-frontend-lib/core/config/composite-view.schemas';\nimport {\n FrontendInsertedViewHostKind,\n FrontendInsertedViewKind,\n parseFrontendInsertedViewRef,\n} from '~wildo-frontend-lib/core/config/inserted-view.frontend.schemas';\nimport { NavigationContentType } from './navigation.schemas';\n\nexport function buildCompositeViewLabelKey(translationRef: string): string {\n return `${LabellingTypes.COMPOSITE_VIEWS}.${translationRef}`;\n}\n\nexport function buildNavigationViewLabelKey(params: {\n family: NavigationViewLabelFamily;\n translationRef: string;\n}): string {\n return `${LabellingTypes.VIEWS}.${params.family}.${params.translationRef}`;\n}\n\nexport function buildApplicationViewTranslationRef(viewRef: string): string {\n return `app.${viewRef}`;\n}\n\nexport function buildResourceViewTranslationRef(\n resourceType: string,\n localRef: string,\n): string {\n return `resources.${resourceType}.${localRef}`;\n}\n\nexport function resolveCompositeViewTranslationRef(\n viewRef: string,\n): string | undefined {\n const insertedView = parseFrontendInsertedViewRef(viewRef);\n if (!insertedView) {\n return buildApplicationCompositeViewTranslationRef(viewRef);\n }\n if (insertedView.viewKind !== FrontendInsertedViewKind.COMPOSITE_VIEW) {\n return undefined;\n }\n\n if (insertedView.hostKind === FrontendInsertedViewHostKind.RESOURCE) {\n return buildResourceCompositeViewTranslationRef(\n insertedView.hostRef,\n insertedView.localRef,\n );\n }\n\n return buildApplicationCompositeViewTranslationRef(insertedView.localRef);\n}\n\nexport interface NavigationViewLabelTarget {\n family: NavigationViewLabelFamily;\n translationRef: string;\n}\n\nexport function resolveNavigationViewLabelTarget(params: {\n viewRef: string;\n contentType: NavigationContentType;\n}): NavigationViewLabelTarget | undefined {\n const insertedView = parseFrontendInsertedViewRef(params.viewRef);\n\n if (params.contentType === NavigationContentType.CHART_VIEW) {\n if (insertedView?.viewKind === FrontendInsertedViewKind.CHART_VIEW) {\n return {\n family: NavigationViewLabelFamily.CHART,\n translationRef: buildResourceViewTranslationRef(\n insertedView.hostRef,\n insertedView.localRef,\n ),\n };\n }\n\n return {\n family: NavigationViewLabelFamily.CHART,\n translationRef: buildApplicationViewTranslationRef(params.viewRef),\n };\n }\n\n if (params.contentType === NavigationContentType.EXECUTION_VIEW) {\n if (insertedView?.viewKind === FrontendInsertedViewKind.EXECUTION_VIEW) {\n return {\n family: NavigationViewLabelFamily.EXECUTION,\n translationRef: buildResourceViewTranslationRef(\n insertedView.hostRef,\n insertedView.localRef,\n ),\n };\n }\n\n return {\n family: NavigationViewLabelFamily.EXECUTION,\n translationRef: buildApplicationViewTranslationRef(params.viewRef),\n };\n }\n\n if (params.contentType === NavigationContentType.FULL_CUSTOM_VIEW) {\n return {\n family: NavigationViewLabelFamily.FULL_CUSTOM,\n translationRef: buildApplicationViewTranslationRef(params.viewRef),\n };\n }\n\n if (params.contentType === NavigationContentType.FLOWS_ACTORS_VIEW) {\n return {\n family: NavigationViewLabelFamily.FLOWS_ACTORS,\n translationRef: buildApplicationViewTranslationRef(params.viewRef),\n };\n }\n\n return undefined;\n}\n\n/**\n * Resolve the display title for a navigable view surface.\n *\n * Composite views have a first-class translation identity and must resolve\n * through `composite_views.{translationRef}.title`. Other supported view\n * families resolve through `views.{family}.{translationRef}.title`.\n */\nexport function resolveNavigationViewTitle(params: {\n viewRef: string;\n contentType: NavigationContentType;\n tCompositeView: (translationRef: string, key: 'title') => string;\n tView: (\n family: NavigationViewLabelFamily,\n translationRef: string,\n key: 'title',\n ) => string;\n}): string {\n if (params.contentType === NavigationContentType.COMPOSITE_VIEW) {\n const translationRef = resolveCompositeViewTranslationRef(params.viewRef);\n if (!translationRef) {\n return '';\n }\n\n return params.tCompositeView(translationRef, 'title');\n }\n\n const viewTarget = resolveNavigationViewLabelTarget({\n viewRef: params.viewRef,\n contentType: params.contentType,\n });\n if (!viewTarget) {\n return '';\n }\n\n return params.tView(viewTarget.family, viewTarget.translationRef, 'title');\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zone-content-geometry.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"zone-content-geometry.d.ts","sourceRoot":"","sources":["../../../../src/core/navigation/zone-content-geometry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAGpF,OAAO,KAAK,EAAE,+BAA+B,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAE/G,mEAAmE;AACnE,MAAM,WAAW,mBAAmB;IAClC,kGAAkG;IAClG,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,uFAAuF;IACvF,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,iGAAiG;AACjG,eAAO,MAAM,6BAA6B,EAAE,mBAAiE,CAAC;AAE9G;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE;IACxD,cAAc,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACtD,cAAc,EAAE,SAAS,+BAA+B,EAAE,GAAG,SAAS,CAAC;CACxE,GAAG,mBAAmB,CAMtB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kCAAkC,CAAC,MAAM,EAAE;IACzD,WAAW,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACnD,cAAc,EAAE,SAAS,+BAA+B,EAAE,GAAG,SAAS,CAAC;CACxE,GAAG,mBAAmB,CAStB;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,wBAAwB,GAC7B,wBAAwB,CAI1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sCAAsC,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAExG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zone-content-geometry.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"zone-content-geometry.js","sourceRoot":"","sources":["../../../../src/core/navigation/zone-content-geometry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAKH,OAAO,EAAE,0CAA0C,EAAE,MAAM,8BAA8B,CAAC;AAW1F,iGAAiG;AACjG,MAAM,CAAC,MAAM,6BAA6B,GAAwB,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAE9G;;;;;;GAMG;AACH,MAAM,UAAU,iCAAiC,CAAC,MAGjD;IACC,MAAM,QAAQ,GAAG,0CAA0C,CAAC,MAAM,CAAC,CAAC;IACpE,OAAO;QACL,QAAQ,EAAE,QAAQ,EAAE,mBAAmB,IAAI,6BAA6B,CAAC,QAAQ;QACjF,WAAW,EAAE,QAAQ,EAAE,sBAAsB,IAAI,6BAA6B,CAAC,WAAW;KAC3F,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kCAAkC,CAAC,MAGlD;IACC,MAAM,QAAQ,GAAG,0CAA0C,CAAC;QAC1D,cAAc,EAAE,MAAM,CAAC,WAAW;QAClC,cAAc,EAAE,MAAM,CAAC,cAAc;KACtC,CAAC,CAAC;IACH,OAAO;QACL,QAAQ,EAAE,QAAQ,EAAE,mBAAmB,IAAI,6BAA6B,CAAC,QAAQ;QACjF,WAAW,EAAE,KAAK;KACnB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mCAAmC,CACjD,QAA6B,EAC7B,IAA8B;IAE9B,OAAO,QAAQ,CAAC,QAAQ,KAAK,6BAA6B,CAAC,QAAQ;QACjE,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,EAAE,kBAAkB,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;AACvE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sCAAsC,CAAC,QAA6B;IAClF,OAAO,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC","sourcesContent":["/**\n * Zone content geometry (#176) — how much of a zone a destination's content occupies.\n *\n * ## Two axes, deliberately not one enum\n *\n * This replaced `ZoneContentFill`, a three-member enum — `NONE` / `WIDTH` / `BOTH` — that fused a\n * WIDTH decision and a HEIGHT decision into one value. Three points on a 2×2 grid: `NONE`→`WIDTH`\n * moved the width, `WIDTH`→`BOTH` moved the height, and the fourth cell (a capped width with a\n * definite height) was unrepresentable. Its width half also restated `ResponsiveMaxWidth`, the\n * vocabulary a Surface, a `DisplayLayout` and a `FormLayout` already use — so the same question had\n * two answers with different spellings depending on which level you asked.\n *\n * Splitting them costs one extra field and buys the missing cell, one vocabulary for width across\n * every level, and a height flag that reads as what it is. `design-philosophy.md` says not to merge\n * semantically distinct concepts for convenience; this is that rule applied to something that had\n * already shipped.\n *\n * ## What the boundary is for\n *\n * The boundary caps and centres a zone's content, and its defaults are RIGHT for almost everything a\n * zone hosts: a form, a list or a settings page stretched across a wide monitor is unreadable. What\n * did not exist before #176 was a way to say \"this one is a canvas\" — so the one surface that needed\n * it hand-rolled `h-[70vh]`, sizing against the WINDOW rather than its container and ignoring whatever\n * chrome sat above it.\n *\n * The defaults are preserved rather than inverted: every surface authored before this existed keeps\n * `'content'` and a natural height, and opting out is per-destination and explicit. The alternative\n * door — the application-wide `--content-max-width` variable — is the one that already existed and is\n * the reason the issue was filed: uncapping a graph that way uncaps every form in the application.\n */\n\nimport type { ResponsiveMaxWidth } from '@wildo-ai/presets-components-models';\nimport type { DeepPartialSurfacePolicy } from '@wildo-ai/presets-components-models';\n\nimport { resolvePrimaryDestinationLayoutDeclaration } from './primary-destination-layout';\nimport type { PrimaryDestinationCompositeView, PrimaryDestinationContent } from './primary-destination-layout';\n\n/** The two independent answers a zone's content boundary needs. */\nexport interface ZoneContentGeometry {\n /** The width cap, in the framework's shared vocabulary. `'content'` is the historical default. */\n maxWidth: ResponsiveMaxWidth;\n /** Whether the boundary becomes a definite-height flex column the content can fill. */\n fillsHeight: boolean;\n}\n\n/** What a destination that declares nothing receives — and what every pre-#176 surface keeps. */\nexport const DEFAULT_ZONE_CONTENT_GEOMETRY: ZoneContentGeometry = { maxWidth: 'content', fillsHeight: false };\n\n/**\n * Read the geometry off whatever occupies PRIMARY, defaulting to {@link DEFAULT_ZONE_CONTENT_GEOMETRY}.\n *\n * Defaults HERE rather than at the declaration sites so there is one answer to \"what does a destination\n * that declares nothing get\", and it is the same answer for a composite view, a resource operation, a\n * content kind that cannot declare, and an empty primary stack.\n */\nexport function resolvePrimaryZoneContentGeometry(params: {\n primaryContent: PrimaryDestinationContent | undefined;\n compositeViews: readonly PrimaryDestinationCompositeView[] | undefined;\n}): ZoneContentGeometry {\n const declared = resolvePrimaryDestinationLayoutDeclaration(params);\n return {\n maxWidth: declared?.zoneContentMaxWidth ?? DEFAULT_ZONE_CONTENT_GEOMETRY.maxWidth,\n fillsHeight: declared?.zoneContentFillsHeight ?? DEFAULT_ZONE_CONTENT_GEOMETRY.fillsHeight,\n };\n}\n\n/**\n * The geometry for an ADJACENT zone's content.\n *\n * Adjacent zones had no content boundary at all before #176: a detail pane's width was decided by\n * whatever component happened to be rendered in it, so the workbench's artifact detail capped itself\n * and centred — an application solving, locally and invisibly, a question the engine had not answered.\n * The answer is the one primary already gets: cap at the page-content width and fill anything narrower.\n * A detail pane is usually narrower than that cap, so in practice the content fills the pane, which is\n * what \"full width, up to a maximum\" describes without the pane having to know its own size.\n *\n * `fillsHeight` is forced FALSE here, whatever the destination declared. Filling the height requires a\n * definite-height ancestor chain and an adjacent zone SCROLLS — it is the one place where a filling\n * child and a scrolling parent contradict each other. A canvas belongs in primary.\n */\nexport function resolveAdjacentZoneContentGeometry(params: {\n zoneContent: PrimaryDestinationContent | undefined;\n compositeViews: readonly PrimaryDestinationCompositeView[] | undefined;\n}): ZoneContentGeometry {\n const declared = resolvePrimaryDestinationLayoutDeclaration({\n primaryContent: params.zoneContent,\n compositeViews: params.compositeViews,\n });\n return {\n maxWidth: declared?.zoneContentMaxWidth ?? DEFAULT_ZONE_CONTENT_GEOMETRY.maxWidth,\n fillsHeight: false,\n };\n}\n\n/**\n * The boundary's surface policy for a given geometry.\n *\n * The width rides the policy because that is the framework's declared channel for it — the same field\n * a Surface anywhere else sets, so the boundary announces its tier in the DOM like every other cap.\n */\nexport function zoneContentGeometryToPolicyOverride(\n geometry: ZoneContentGeometry,\n base: DeepPartialSurfacePolicy,\n): DeepPartialSurfacePolicy {\n return geometry.maxWidth === DEFAULT_ZONE_CONTENT_GEOMETRY.maxWidth\n ? base\n : { ...base, geometry: { responsiveMaxWidth: geometry.maxWidth } };\n}\n\n/**\n * Extra classes the boundary element needs so filling content can actually fill.\n *\n * This is the half a surface policy cannot express. Filling the HEIGHT is not a property of the\n * boundary's own box — it is a property of the CHAIN: the boundary must become a definite-height flex\n * column so that the view's root, as its flex item, has something for `flex-1 min-h-0` to resolve\n * against. `h-full` alone is not enough (an auto-height parent gives a percentage height nothing to\n * measure), which is precisely why the previous state forced viewport fractions.\n *\n * `min-h-0` is what lets the column shrink rather than overflow its zone; without it a tall child\n * pushes the boundary past the content area and the zone's own scroll never engages.\n */\nexport function zoneContentGeometryToBoundaryClassName(geometry: ZoneContentGeometry): string | undefined {\n return geometry.fillsHeight ? 'flex h-full min-h-0 flex-col' : undefined;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zone-empty-behavior.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"zone-empty-behavior.d.ts","sourceRoot":"","sources":["../../../../src/core/navigation/zone-empty-behavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,OAAO,KAAK,EAAE,+BAA+B,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAE/G;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,mGAAmG;IACnG,IAAI,EAAE,kBAAkB,CAAC;IACzB,4FAA4F;IAC5F,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAC7C;;;OAGG;IACH,mBAAmB,EAAE,iBAAiB,GAAG,SAAS,CAAC;CACpD;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,IAAI,EACJ,KAAK,EACL,mBAAmB,GACpB,EAAE,uBAAuB,GAAG,iBAAiB,CAO7C;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAE/E;AAED;;;;;;GAMG;AACH,wBAAgB,4CAA4C,CAAC,MAAM,EAAE;IACnE,cAAc,EAAE,yBAAyB,GAAG,SAAS,CAAC;IACtD,cAAc,EAAE,SAAS,+BAA+B,EAAE,GAAG,SAAS,CAAC;CACxE,GAAG,iBAAiB,GAAG,SAAS,CAEhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zone-empty-behavior.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"zone-empty-behavior.js","sourceRoot":"","sources":["../../../../src/core/navigation/zone-empty-behavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG9E,OAAO,EAAE,0CAA0C,EAAE,MAAM,8BAA8B,CAAC;AAuB1F;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,EACvC,IAAI,EACJ,KAAK,EACL,mBAAmB,GACK;IACxB,IAAI,IAAI,KAAK,kBAAkB,CAAC,OAAO,EAAE,CAAC;QACxC,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACpC,CAAC;IACD,OAAO,mBAAmB;WACrB,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO;WACtB,iBAAiB,CAAC,QAAQ,CAAC;AAClC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAA2B;IACpE,OAAO,QAAQ,KAAK,iBAAiB,CAAC,WAAW,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4CAA4C,CAAC,MAG5D;IACC,OAAO,0CAA0C,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;AACjF,CAAC","sourcesContent":["/**\n * Zone empty-behavior resolution — what an ADJACENT zone does once its last content is dismissed.\n *\n * ## Why this is a resolver rather than a field read\n *\n * `ZoneConfig.onEmpty` is declared per ZONE, so one value covers every destination that splits into\n * that zone — and destinations legitimately disagree. A LIST wants the detail pane to stay put so the\n * layout does not reflow while a reviewer steps through rows; a CANVAS wants its width back the moment\n * nothing is selected. They share one secondary zone, so a single zone-level value is wrong for one of\n * them whichever way it is set.\n *\n * The override therefore lives on the DESTINATION — the thing occupying primary — because the question\n * \"what should happen to my detail pane when it empties\" is a property of the surface being returned\n * TO, not of the content that just left.\n *\n * ## Precedence, and why COLLAPSE is the floor\n *\n * destination override → zone config → `ZoneEmptyBehavior.COLLAPSE`\n *\n * COLLAPSE is the schema default and, until this resolver existed, the UNCONDITIONAL behavior: nothing\n * read `onEmpty` at all, so every zone collapsed regardless of what its layout declared (issue #191).\n * Keeping COLLAPSE as the floor is what makes this change invisible to every layout that authored\n * nothing — and to every layout that authored COLLAPSE and was silently getting it by accident.\n */\n\nimport { NavigationZoneName, ZoneEmptyBehavior } from '@wildo-ai/saas-models';\nimport type { NavigationLayout } from '@wildo-ai/saas-models';\n\nimport { resolvePrimaryDestinationLayoutDeclaration } from './primary-destination-layout';\nimport type { PrimaryDestinationCompositeView, PrimaryDestinationContent } from './primary-destination-layout';\n\n/**\n * The destination-level override, already resolved from whatever is in primary.\n *\n * Passed in rather than looked up here so this stays a pure function of its arguments: resolving a\n * composite view's or a resource operation's frontend config needs the registry and the app config,\n * and threading those through would make the precedence rule — the part worth testing — untestable\n * without mounting half the runtime.\n */\nexport interface ZoneEmptyBehaviorInputs {\n /** The zone whose empty behavior is being resolved. PRIMARY never empties; see the guard below. */\n zone: NavigationZoneName;\n /** The resolved layout's zone declarations, or `undefined` when no layout is configured. */\n zones: NavigationLayout['zones'] | undefined;\n /**\n * `adjacentZoneOnEmpty` declared by whatever currently occupies PRIMARY, or `undefined` when the\n * destination declares nothing (the common case).\n */\n destinationOverride: ZoneEmptyBehavior | undefined;\n}\n\n/**\n * Resolve what `zone` does when its stack empties.\n *\n * PRIMARY always answers COLLAPSE, which is not a behavior so much as a refusal: primary never empties\n * (it falls back to the router's own children), so no caller should be asking. Answering the floor\n * rather than throwing keeps a mis-call from taking the shell down over a layout question.\n */\nexport function resolveZoneEmptyBehavior({\n zone,\n zones,\n destinationOverride,\n}: ZoneEmptyBehaviorInputs): ZoneEmptyBehavior {\n if (zone === NavigationZoneName.PRIMARY) {\n return ZoneEmptyBehavior.COLLAPSE;\n }\n return destinationOverride\n ?? zones?.[zone]?.onEmpty\n ?? ZoneEmptyBehavior.COLLAPSE;\n}\n\n/**\n * Should `zone` occupy space right now?\n *\n * Two reasons a zone is shown, and they are different questions: it HAS content, or it has none and\n * its resolved behavior is `EMPTY_STATE` (a reserved pane carrying a placeholder). Kept beside the\n * resolver so the two can never drift — a caller that resolved the behavior and then wrote its own\n * visibility expression is how one of them ends up reading the field and the other not.\n */\nexport function zoneOccupiesSpaceWhenEmpty(behavior: ZoneEmptyBehavior): boolean {\n return behavior === ZoneEmptyBehavior.EMPTY_STATE;\n}\n\n/**\n * Read `adjacentZoneOnEmpty` off whatever occupies PRIMARY.\n *\n * A thin projection over {@link resolvePrimaryDestinationLayoutDeclaration}, which owns the\n * content-kind switch shared with `zoneContentFill`. Kept as a named function rather than inlined at\n * the call site so the pins below exercise the same path the runtime takes.\n */\nexport function resolvePrimaryDestinationAdjacentZoneOnEmpty(params: {\n primaryContent: PrimaryDestinationContent | undefined;\n compositeViews: readonly PrimaryDestinationCompositeView[] | undefined;\n}): ZoneEmptyBehavior | undefined {\n return resolvePrimaryDestinationLayoutDeclaration(params)?.adjacentZoneOnEmpty;\n}\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which entry of a zone's stack is the VISIBLE one — the single behavioural difference between the
|
|
3
|
+
* two `NavigationZoneContentModel` members (#411).
|
|
4
|
+
*
|
|
5
|
+
* Both models keep every entry mounted. `SINGLE` shows the TOP of the stack and BACK pops it;
|
|
6
|
+
* `TABBED` shows the ACTIVE tab and the rest are one click away. Everything else about the two
|
|
7
|
+
* renderings is identical, so this function is the whole distinction and is the only place it is
|
|
8
|
+
* decided.
|
|
9
|
+
*
|
|
10
|
+
* It exists as a named pure function rather than an expression inside `ZoneContentRenderer` because
|
|
11
|
+
* that expression is what `TABBED` was missing for its entire life: the member was declared,
|
|
12
|
+
* documented as "parallel tabs, tab bar visible", validated by the layout schema and selected by one
|
|
13
|
+
* of the framework's own shipped presets, while the renderer showed the top of the stack — with no
|
|
14
|
+
* error. A behaviour that is one inline ternary is a behaviour nothing can pin.
|
|
15
|
+
*/
|
|
16
|
+
import { NavigationZoneContentModel } from '@wildo-ai/saas-models';
|
|
17
|
+
import type { NavigationStackEntry } from './navigation.schemas';
|
|
18
|
+
/**
|
|
19
|
+
* @param stack The zone's entries, oldest first.
|
|
20
|
+
* @param contentModel The zone's DECLARED content model. `undefined` reads as `SINGLE` — the schema
|
|
21
|
+
* default, and the behaviour every zone had before a model was declarable.
|
|
22
|
+
* @param activeTabId `NavigationZoneState.activeTabId`. Ignored outside `TABBED`.
|
|
23
|
+
* @returns The index to render, or `-1` for an empty stack.
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolveVisibleEntryIndex(stack: NavigationStackEntry[], contentModel: NavigationZoneContentModel | undefined, activeTabId: string | undefined): number;
|
|
26
|
+
//# sourceMappingURL=zone-visible-entry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zone-visible-entry.d.ts","sourceRoot":"","sources":["../../../../src/core/navigation/zone-visible-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,oBAAoB,EAAE,EAC7B,YAAY,EAAE,0BAA0B,GAAG,SAAS,EACpD,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,MAAM,CAuDR"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which entry of a zone's stack is the VISIBLE one — the single behavioural difference between the
|
|
3
|
+
* two `NavigationZoneContentModel` members (#411).
|
|
4
|
+
*
|
|
5
|
+
* Both models keep every entry mounted. `SINGLE` shows the TOP of the stack and BACK pops it;
|
|
6
|
+
* `TABBED` shows the ACTIVE tab and the rest are one click away. Everything else about the two
|
|
7
|
+
* renderings is identical, so this function is the whole distinction and is the only place it is
|
|
8
|
+
* decided.
|
|
9
|
+
*
|
|
10
|
+
* It exists as a named pure function rather than an expression inside `ZoneContentRenderer` because
|
|
11
|
+
* that expression is what `TABBED` was missing for its entire life: the member was declared,
|
|
12
|
+
* documented as "parallel tabs, tab bar visible", validated by the layout schema and selected by one
|
|
13
|
+
* of the framework's own shipped presets, while the renderer showed the top of the stack — with no
|
|
14
|
+
* error. A behaviour that is one inline ternary is a behaviour nothing can pin.
|
|
15
|
+
*/
|
|
16
|
+
import { NavigationZoneContentModel } from '@wildo-ai/saas-models';
|
|
17
|
+
/**
|
|
18
|
+
* @param stack The zone's entries, oldest first.
|
|
19
|
+
* @param contentModel The zone's DECLARED content model. `undefined` reads as `SINGLE` — the schema
|
|
20
|
+
* default, and the behaviour every zone had before a model was declarable.
|
|
21
|
+
* @param activeTabId `NavigationZoneState.activeTabId`. Ignored outside `TABBED`.
|
|
22
|
+
* @returns The index to render, or `-1` for an empty stack.
|
|
23
|
+
*/
|
|
24
|
+
export function resolveVisibleEntryIndex(stack, contentModel, activeTabId) {
|
|
25
|
+
if (stack.length === 0)
|
|
26
|
+
return -1;
|
|
27
|
+
const topIndex = stack.length - 1;
|
|
28
|
+
/*
|
|
29
|
+
* ─── EXHAUSTIVE ON PURPOSE: a new content model must not be able to ship silently ───────────────
|
|
30
|
+
*
|
|
31
|
+
* This switch is the fourth item of #411, and it is the one that outlives the other three. All
|
|
32
|
+
* three behaviours that issue fixed failed the SAME way — declared in a vocabulary, validated by a
|
|
33
|
+
* schema, selected by a config, and read by no renderer, with no error — and `TABBED` is the
|
|
34
|
+
* clearest case because the framework's own preset chose it and got a single stack.
|
|
35
|
+
*
|
|
36
|
+
* A `switch` with a `never` assignment turns the next such member into a COMPILE error at the
|
|
37
|
+
* exact place a renderer has to exist. That is strictly stronger than a runtime warning, which
|
|
38
|
+
* fires only if someone happens to configure the member and happens to be reading the console;
|
|
39
|
+
* `preset-navigation.ts` selected TABBED for months with nobody reading anything.
|
|
40
|
+
*
|
|
41
|
+
* `undefined` (the schema default, and every zone that predates the field) is handled BEFORE the
|
|
42
|
+
* switch so that adding a member cannot be satisfied by widening a `default:` arm — there is no
|
|
43
|
+
* `default:` arm to widen.
|
|
44
|
+
*/
|
|
45
|
+
if (contentModel === undefined)
|
|
46
|
+
return topIndex;
|
|
47
|
+
switch (contentModel) {
|
|
48
|
+
case NavigationZoneContentModel.SINGLE:
|
|
49
|
+
return topIndex;
|
|
50
|
+
case NavigationZoneContentModel.TABBED:
|
|
51
|
+
break;
|
|
52
|
+
default: {
|
|
53
|
+
const unrenderedContentModel = contentModel;
|
|
54
|
+
/*
|
|
55
|
+
* Unreachable while the switch is exhaustive. Kept as a THROW rather than a silent fallback
|
|
56
|
+
* because the alternative — quietly returning the top entry — is precisely the degradation
|
|
57
|
+
* this whole guard exists to make impossible, and a build that somehow reaches here (a value
|
|
58
|
+
* from an older bundle, a cast) should say so rather than pretend.
|
|
59
|
+
*/
|
|
60
|
+
throw new Error(`[navigation] Zone content model '${String(unrenderedContentModel)}' reaches no renderer. `
|
|
61
|
+
+ 'Add a case to resolveVisibleEntryIndex, and the rendering that case implies.');
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/*
|
|
65
|
+
* The TOP entry is the fallback in two situations, and both are ordinary rather than exceptional:
|
|
66
|
+
* nothing has been activated yet (the frame after the first tab opens), and `activeTabId` names an
|
|
67
|
+
* entry the stack no longer holds (a tab closed while it was active). Rendering nothing in either
|
|
68
|
+
* case would blank the zone under a full tab bar.
|
|
69
|
+
*
|
|
70
|
+
* Falling back to the TOP rather than the FIRST is deliberate: the newest tab is the one the user
|
|
71
|
+
* just caused to exist, so it is the one they are looking for.
|
|
72
|
+
*/
|
|
73
|
+
const activeIndex = stack.findIndex(entry => entry.id === activeTabId);
|
|
74
|
+
return activeIndex >= 0 ? activeIndex : topIndex;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=zone-visible-entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zone-visible-entry.js","sourceRoot":"","sources":["../../../../src/core/navigation/zone-visible-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAInE;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAA6B,EAC7B,YAAoD,EACpD,WAA+B;IAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAElC;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAEhD,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,0BAA0B,CAAC,MAAM;YACpC,OAAO,QAAQ,CAAC;QAClB,KAAK,0BAA0B,CAAC,MAAM;YACpC,MAAM;QACR,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,sBAAsB,GAAU,YAAY,CAAC;YACnD;;;;;eAKG;YACH,MAAM,IAAI,KAAK,CACb,oCAAoC,MAAM,CAAC,sBAAsB,CAAC,yBAAyB;kBACzF,8EAA8E,CACjF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;IACvE,OAAO,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnD,CAAC","sourcesContent":["/**\n * Which entry of a zone's stack is the VISIBLE one — the single behavioural difference between the\n * two `NavigationZoneContentModel` members (#411).\n *\n * Both models keep every entry mounted. `SINGLE` shows the TOP of the stack and BACK pops it;\n * `TABBED` shows the ACTIVE tab and the rest are one click away. Everything else about the two\n * renderings is identical, so this function is the whole distinction and is the only place it is\n * decided.\n *\n * It exists as a named pure function rather than an expression inside `ZoneContentRenderer` because\n * that expression is what `TABBED` was missing for its entire life: the member was declared,\n * documented as \"parallel tabs, tab bar visible\", validated by the layout schema and selected by one\n * of the framework's own shipped presets, while the renderer showed the top of the stack — with no\n * error. A behaviour that is one inline ternary is a behaviour nothing can pin.\n */\n\nimport { NavigationZoneContentModel } from '@wildo-ai/saas-models';\n\nimport type { NavigationStackEntry } from './navigation.schemas';\n\n/**\n * @param stack The zone's entries, oldest first.\n * @param contentModel The zone's DECLARED content model. `undefined` reads as `SINGLE` — the schema\n * default, and the behaviour every zone had before a model was declarable.\n * @param activeTabId `NavigationZoneState.activeTabId`. Ignored outside `TABBED`.\n * @returns The index to render, or `-1` for an empty stack.\n */\nexport function resolveVisibleEntryIndex(\n stack: NavigationStackEntry[],\n contentModel: NavigationZoneContentModel | undefined,\n activeTabId: string | undefined,\n): number {\n if (stack.length === 0) return -1;\n\n const topIndex = stack.length - 1;\n\n /*\n * ─── EXHAUSTIVE ON PURPOSE: a new content model must not be able to ship silently ───────────────\n *\n * This switch is the fourth item of #411, and it is the one that outlives the other three. All\n * three behaviours that issue fixed failed the SAME way — declared in a vocabulary, validated by a\n * schema, selected by a config, and read by no renderer, with no error — and `TABBED` is the\n * clearest case because the framework's own preset chose it and got a single stack.\n *\n * A `switch` with a `never` assignment turns the next such member into a COMPILE error at the\n * exact place a renderer has to exist. That is strictly stronger than a runtime warning, which\n * fires only if someone happens to configure the member and happens to be reading the console;\n * `preset-navigation.ts` selected TABBED for months with nobody reading anything.\n *\n * `undefined` (the schema default, and every zone that predates the field) is handled BEFORE the\n * switch so that adding a member cannot be satisfied by widening a `default:` arm — there is no\n * `default:` arm to widen.\n */\n if (contentModel === undefined) return topIndex;\n\n switch (contentModel) {\n case NavigationZoneContentModel.SINGLE:\n return topIndex;\n case NavigationZoneContentModel.TABBED:\n break;\n default: {\n const unrenderedContentModel: never = contentModel;\n /*\n * Unreachable while the switch is exhaustive. Kept as a THROW rather than a silent fallback\n * because the alternative — quietly returning the top entry — is precisely the degradation\n * this whole guard exists to make impossible, and a build that somehow reaches here (a value\n * from an older bundle, a cast) should say so rather than pretend.\n */\n throw new Error(\n `[navigation] Zone content model '${String(unrenderedContentModel)}' reaches no renderer. `\n + 'Add a case to resolveVisibleEntryIndex, and the rendering that case implies.',\n );\n }\n }\n\n /*\n * The TOP entry is the fallback in two situations, and both are ordinary rather than exceptional:\n * nothing has been activated yet (the frame after the first tab opens), and `activeTabId` names an\n * entry the stack no longer holds (a tab closed while it was active). Rendering nothing in either\n * case would blank the zone under a full tab bar.\n *\n * Falling back to the TOP rather than the FIRST is deliberate: the newest tab is the one the user\n * just caused to exist, so it is the one they are looking for.\n */\n const activeIndex = stack.findIndex(entry => entry.id === activeTabId);\n return activeIndex >= 0 ? activeIndex : topIndex;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-readiness-checker.frontend.service.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"api-readiness-checker.frontend.service.d.ts","sourceRoot":"","sources":["../../../../src/core/requests/api-readiness-checker.frontend.service.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAkB,IAAI,sBAAsB;IAC5C,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAK/C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,gBAAgB,CAA8B;IAItD,OAAO,CAAC,UAAU,CAAkB;gBAExB,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,sBAA2B;IAYhE;;;;;;;;;;OAUG;IACH,OAAO,CAAC,cAAc;IAItB;;;OAGG;YACW,SAAS;IAsBvB;;;;;;;;;;;;;;;;;;OAkBG;IACU,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC5D;;OAEG;YACW,qBAAqB;IAgEnC;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;OAEG;IACI,UAAU,IAAI,OAAO;IAI5B;;;;;;;;;OASG;IACI,KAAK,IAAI,IAAI;IAOpB;;OAEG;IACI,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAK5C;AAQD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,sBAAsB,GAC9B,mBAAmB,CAUrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-readiness-checker.frontend.service.js","sourceRoot":"","sources":["../../../../../src/core/requests/api-readiness-checker.frontend.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAwBzF,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAClC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AACnC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAExC;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACvB,IAAI,GAAG,kBAAkB,CAAC;IAC5C,0DAA0D;IACjD,IAAI,GAAG,eAAe,CAAC;IACvB,OAAO,CAAS;IAChB,SAAS,CAAS;IAE3B,YAAY,OAAe,EAAE,SAAiB;QAC5C,KAAK,CAAC,kBAAkB,OAAO,IAAI,iBAAiB,gCAAgC,SAAS,IAAI,CAAC,CAAC;QACnG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,mBAAmB;IACtB,OAAO,CAAS;IAChB,MAAM,CAAmC;IACzC,MAAM,CAAwB;IAC9B,QAAQ,CAA2C;IACnD,OAAO,GAAY,KAAK,CAAC;IACzB,gBAAgB,GAAyB,IAAI,CAAC;IACtD,gFAAgF;IAChF,gFAAgF;IAChF,kEAAkE;IAC1D,UAAU,GAAY,KAAK,CAAC;IAEpC,YAAY,OAAe,EAAE,SAAiC,EAAE;QAC9D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACtE,IAAI,CAAC,MAAM,GAAG;YACZ,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,qBAAqB;YACxD,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,oBAAoB;YACrD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,0BAA0B;SACxE,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC,SAAS,EAAE,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;;;OAUG;IACK,cAAc,CAAC,OAAe;QACpC,OAAO,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACvF,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,GAAG,IAAI,CAAC,OAAO,eAAe,EAC9B;gBACE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;gBACrC,yDAAyD;gBACzD,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI;aAC3B,CACF,CAAC;YAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;gBACnE,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+BAA+B;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,YAAY,CAAC,SAAkB;QAC1C,iDAAiD;QACjD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,uCAAuC;QACvC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,0EAA0E;QAC1E,sDAAsD;QACtD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACvD,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAExC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,SAAS,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,KAAgD,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,SAAS;gBACT,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;oBAC/B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBAC7F,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,uEAAuE;YACvE,sEAAsE;YACtE,IAAI,KAAK,KAAK,SAAS;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB;QACjC,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,8BAA8B,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAEzE,IAAI,CAAC;YACL,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBAErC,IAAI,KAAK,EAAE,CAAC;oBACV,wEAAwE;oBACxE,0EAA0E;oBAC1E,oEAAoE;oBACpE,0EAA0E;oBAC1E,kEAAkE;oBAClE,0EAA0E;oBAC1E,+BAA+B;oBAC/B,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;wBAChB,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;wBAClC,IAAI,CAAC,QAAQ,CAAC,2DAA2D,EAAE;4BACzE,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,QAAQ,EAAE,MAAM;yBACjB,CAAC,CAAC;wBACH,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBACzB,sEAAsE;wBACtE,wEAAwE;wBACxE,oEAAoE;wBACpE,4DAA4D;wBAC5D,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;4BAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;4BAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0DAA0D,KAAK,IAAI,EAAE;gCACpF,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,OAAO,EAAE,OAAO,GAAG,CAAC;6BACrB,CAAC,CAAC;4BACH,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BACxB,OAAO,EAAE,CAAC;4BACV,SAAS;wBACX,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;wBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,QAAQ,EAAE,OAAO,GAAG,CAAC;qBACtB,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAED,oCAAoC;gBACpC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,KAAK,IAAI,EAAE;oBACxD,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,OAAO,EAAE,OAAO,GAAG,CAAC;oBACpB,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC;gBAEH,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxB,OAAO,EAAE,CAAC;YACZ,CAAC;QACD,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,UAAU;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK;QACV,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,OAAe;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACtE,mCAAmC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,iBAAiB,GAAqC,IAAI,GAAG,EAAE,CAAC;AAEtE;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,MAA+B;IAE/B,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAE7E,IAAI,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,IAAI,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACzD,iBAAiB,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import axios from 'axios';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { fullJitterBackoffMs, recoveryOffsetMs } from './network-backoff.frontend.utils';\n\n/**\n * Readiness check response from /health/ready endpoint\n */\ninterface ReadinessResponse {\n status: 'healthy' | 'unhealthy' | 'degraded';\n timestamp: string;\n uptime: number;\n version: string;\n}\n\n/**\n * Configuration for the readiness checker\n */\nexport interface ReadinessCheckerConfig {\n /** Base delay in ms for exponential backoff (default: 100) */\n baseDelayMs?: number;\n /** Maximum delay cap in ms (default: 10000 = 10s) */\n maxDelayMs?: number;\n /** Timeout for each health check request in ms (default: 5000) */\n requestTimeoutMs?: number;\n}\n\nconst DEFAULT_BASE_DELAY_MS = 100;\nconst DEFAULT_MAX_DELAY_MS = 10000;\nconst DEFAULT_REQUEST_TIMEOUT_MS = 5000;\n\n/**\n * Typed rejection produced when a BOUNDED {@link ApiReadinessChecker.waitForReady}\n * gives up before the backend reports ready.\n *\n * This is the first-class \"network unavailable\" lane for foreground requests:\n * before it existed, every request issued after a connection loss parked forever\n * on the never-settling readiness promise (audit finding B2 — an FK dropdown\n * spinner that never resolves). Callers and retry ladders classify it by `name`\n * / `code` (or via {@link isApiNotReadyError}); it is a TRANSIENT condition —\n * the backend may come back — never a validation or server failure.\n *\n * The background poll loop is NOT stopped by this rejection: it keeps polling\n * `/health/ready` (that part is by design, see {@link ApiReadinessChecker}),\n * so a later request finds the gate open again once the backend recovers.\n */\nexport class ApiNotReadyError extends Error {\n override readonly name = 'ApiNotReadyError';\n /** Stable machine-readable classifier for retry logic. */\n readonly code = 'API_NOT_READY';\n readonly baseUrl: string;\n readonly timeoutMs: number;\n\n constructor(baseUrl: string, timeoutMs: number) {\n super(`Backend API at ${baseUrl || '<unset baseUrl>'} did not become ready within ${timeoutMs}ms`);\n this.baseUrl = baseUrl;\n this.timeoutMs = timeoutMs;\n }\n}\n\n/**\n * Recognise an {@link ApiNotReadyError} across module instances (dual-package /\n * multiple bundles), matching by the stable `name` rather than `instanceof`.\n */\nexport function isApiNotReadyError(error: unknown): error is ApiNotReadyError {\n return error instanceof Error && error.name === 'ApiNotReadyError';\n}\n\n/**\n * API Readiness Checker\n *\n * Checks if the target API is ready by polling /health/ready endpoint.\n * Uses exponential backoff: 2^attempts * baseDelay, capped at maxDelay.\n * The background poll loop never stops — it keeps retrying until the API is\n * ready. Individual waiters may bound their wait (`waitForReady(timeoutMs)`)\n * and receive a typed {@link ApiNotReadyError} rejection without affecting\n * the shared loop.\n *\n * @example\n * ```typescript\n * const checker = new ApiReadinessChecker('https://api.example.com');\n * await checker.waitForReady(); // Blocks until API is ready (unbounded)\n * await checker.waitForReady(10_000); // Rejects with ApiNotReadyError after 10s\n * ```\n */\nexport class ApiReadinessChecker {\n private baseUrl: string;\n private config: Required<ReadinessCheckerConfig>;\n private logger: LoggerFrontendService;\n private logDebug: (message: string, context?: any) => void;\n private isReady: boolean = false;\n private readinessPromise: Promise<void> | null = null;\n // True while a `performReadinessCheck` loop is actively polling. Guards against\n // `reset()` nulling `readinessPromise` mid-poll and letting a second concurrent\n // loop spawn on the same instance (redundant /health/ready load).\n private isChecking: boolean = false;\n\n constructor(baseUrl: string, config: ReadinessCheckerConfig = {}) {\n this.baseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;\n this.config = {\n baseDelayMs: config.baseDelayMs ?? DEFAULT_BASE_DELAY_MS,\n maxDelayMs: config.maxDelayMs ?? DEFAULT_MAX_DELAY_MS,\n requestTimeoutMs: config.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS,\n };\n this.logger = LoggerFrontendService.getLogger();\n this.logDebug = this.logger.debugByType('ApiReadinessChecker');\n this.logger.setDebugTypeLogging('ApiReadinessChecker', false);\n }\n\n /**\n * Calculate the poll delay for a given attempt using JITTERED exponential\n * backoff: a random value in [0, min(maxDelay, 2^attempt · baseDelay)].\n *\n * The jitter is the cross-client de-herd lever for the readiness gate. Every\n * client that was up when the backend went down starts polling /health/ready at\n * the same moment and, with a deterministic curve, would hit the endpoint in\n * lockstep — and then all flip \"ready\" and flood the backend on the same tick.\n * Randomising the poll cadence spreads both the health-probe load and the\n * subsequent recovery burst.\n */\n private calculateDelay(attempt: number): number {\n return fullJitterBackoffMs(attempt, this.config.baseDelayMs, this.config.maxDelayMs);\n }\n\n /**\n * Check readiness once\n * @returns true if API is ready, false otherwise\n */\n private async checkOnce(): Promise<boolean> {\n try {\n const response = await axios.get<ReadinessResponse>(\n `${this.baseUrl}/health/ready`,\n {\n timeout: this.config.requestTimeoutMs,\n // Don't throw on non-2xx status - we handle it ourselves\n validateStatus: () => true,\n }\n );\n\n if (response.status === 200 && response.data?.status === 'healthy') {\n return true;\n }\n\n return false;\n } catch (error) {\n // Network error, timeout, etc.\n return false;\n }\n }\n\n /**\n * Wait until the API is ready.\n *\n * Without `timeoutMs`, blocks until the backend reports ready — the shared\n * poll loop (`performReadinessCheck`) uses exponential backoff and never\n * gives up. That unbounded form is appropriate for background consumers\n * (e.g. connectivity banners) that WANT to ride the outage to its end.\n *\n * With `timeoutMs`, the wait is BOUNDED: if the backend is still not ready\n * when the timeout elapses, the returned promise rejects with a typed\n * {@link ApiNotReadyError} so the caller's error path runs (toast, inline\n * error, retry ladder classification). Foreground request paths MUST use\n * this form — an unbounded wait parks every user-visible request forever\n * after a connection loss (audit B2). The timeout is per-caller: it never\n * settles, cancels, or otherwise affects the SHARED `readinessPromise`,\n * whose loop keeps polling in the background so a later call can succeed.\n *\n * @param timeoutMs - Optional bound in ms. Omit for the unbounded wait.\n */\n public async waitForReady(timeoutMs?: number): Promise<void> {\n // If no baseUrl configured, skip readiness check\n if (!this.baseUrl) {\n this.logger.warn('API readiness check skipped: no baseUrl configured');\n return;\n }\n\n // If already ready, return immediately\n if (this.isReady) {\n return;\n }\n\n // Join (or start) the shared readiness poll. The shared promise only ever\n // RESOLVES (the loop retries forever), so racing it below can never leave\n // an unhandled rejection behind on the shared object.\n if (!this.readinessPromise) {\n this.readinessPromise = this.performReadinessCheck();\n }\n const readiness = this.readinessPromise;\n\n if (timeoutMs === undefined) {\n await readiness;\n return;\n }\n\n let timer: ReturnType<typeof setTimeout> | undefined;\n try {\n await Promise.race([\n readiness,\n new Promise<never>((_, reject) => {\n timer = setTimeout(() => reject(new ApiNotReadyError(this.baseUrl, timeoutMs)), timeoutMs);\n }),\n ]);\n } finally {\n // Always clear the per-caller timer so a resolved wait doesn't leave a\n // stray timeout (and a pending ApiNotReadyError construction) behind.\n if (timer !== undefined) clearTimeout(timer);\n }\n }\n\n /**\n * Perform the actual readiness check with retries\n */\n private async performReadinessCheck(): Promise<void> {\n let attempt = 0;\n\n this.isChecking = true;\n this.logDebug('Starting API readiness check', { baseUrl: this.baseUrl });\n\n try {\n while (!this.isReady) {\n const ready = await this.checkOnce();\n\n if (ready) {\n // Recovery de-sync: if the backend was actually unavailable for a while\n // (attempt > 0 = we had to retry), delay the \"ready\" flip by a per-client\n // random offset so every client that was blocked on the SAME outage\n // doesn't release its queued requests — and re-fire its WS reconnect — in\n // the same instant. The first-ever cold check (attempt 0 succeeds\n // immediately against a healthy backend) is NOT delayed, so page load and\n // normal navigation stay fast.\n if (attempt > 0) {\n const offset = recoveryOffsetMs();\n this.logDebug('API ready after outage — applying recovery de-sync offset', {\n baseUrl: this.baseUrl,\n offsetMs: offset,\n });\n await this.sleep(offset);\n // The backend may have died again DURING the (up to 2s) offset sleep.\n // Re-confirm before committing the sticky `isReady` flag — otherwise we\n // could flip the gate open against a down backend and fire the next\n // request blindly. If it's no longer healthy, keep polling.\n if (!(await this.checkOnce())) {\n const delay = this.calculateDelay(attempt);\n this.logger.warn(`API went unhealthy during recovery offset, retrying in ${delay}ms`, {\n baseUrl: this.baseUrl,\n attempt: attempt + 1,\n });\n await this.sleep(delay);\n attempt++;\n continue;\n }\n }\n this.isReady = true;\n this.logDebug('API is ready', {\n baseUrl: this.baseUrl,\n attempts: attempt + 1,\n });\n return;\n }\n\n // Not ready - log warning and retry\n const delay = this.calculateDelay(attempt);\n this.logger.warn(`API not ready, retrying in ${delay}ms`, {\n baseUrl: this.baseUrl,\n attempt: attempt + 1,\n nextDelayMs: delay,\n });\n\n await this.sleep(delay);\n attempt++;\n }\n } finally {\n this.isChecking = false;\n }\n }\n\n /**\n * Sleep for given duration\n */\n private sleep(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n }\n\n /**\n * Check if API is currently marked as ready\n */\n public getIsReady(): boolean {\n return this.isReady;\n }\n\n /**\n * Reset the ready state (useful for reconnection scenarios).\n *\n * Only clears `readinessPromise` when no poll loop is currently running. If a\n * `performReadinessCheck` is mid-flight, nulling the promise here would let the\n * next `waitForReady()` spawn a SECOND concurrent poll loop on the same instance\n * (both would hammer /health/ready). Instead the running loop is left in place —\n * setting `isReady = false` keeps it polling until the backend recovers, which\n * is exactly the re-arm behaviour `reset()` wants.\n */\n public reset(): void {\n this.isReady = false;\n if (!this.isChecking) {\n this.readinessPromise = null;\n }\n }\n\n /**\n * Update the base URL (useful when environment changes)\n */\n public updateBaseUrl(baseUrl: string): void {\n this.baseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;\n // Reset readiness when URL changes\n this.reset();\n }\n}\n\n/**\n * Singleton factory for API readiness checkers\n * Maintains one checker per base URL\n */\nconst readinessCheckers: Map<string, ApiReadinessChecker> = new Map();\n\n/**\n * Get or create an API readiness checker for the given base URL\n */\nexport function getReadinessChecker(\n baseUrl: string,\n config?: ReadinessCheckerConfig\n): ApiReadinessChecker {\n const normalizedUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;\n \n let checker = readinessCheckers.get(normalizedUrl);\n if (!checker) {\n checker = new ApiReadinessChecker(normalizedUrl, config);\n readinessCheckers.set(normalizedUrl, checker);\n }\n \n return checker;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"api-readiness-checker.frontend.service.js","sourceRoot":"","sources":["../../../../src/core/requests/api-readiness-checker.frontend.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAwBzF,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAClC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AACnC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAExC;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACvB,IAAI,GAAG,kBAAkB,CAAC;IAC5C,0DAA0D;IACjD,IAAI,GAAG,eAAe,CAAC;IACvB,OAAO,CAAS;IAChB,SAAS,CAAS;IAE3B,YAAY,OAAe,EAAE,SAAiB;QAC5C,KAAK,CAAC,kBAAkB,OAAO,IAAI,iBAAiB,gCAAgC,SAAS,IAAI,CAAC,CAAC;QACnG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,mBAAmB;IACtB,OAAO,CAAS;IAChB,MAAM,CAAmC;IACzC,MAAM,CAAwB;IAC9B,QAAQ,CAA2C;IACnD,OAAO,GAAY,KAAK,CAAC;IACzB,gBAAgB,GAAyB,IAAI,CAAC;IACtD,gFAAgF;IAChF,gFAAgF;IAChF,kEAAkE;IAC1D,UAAU,GAAY,KAAK,CAAC;IAEpC,YAAY,OAAe,EAAE,SAAiC,EAAE;QAC9D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACtE,IAAI,CAAC,MAAM,GAAG;YACZ,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,qBAAqB;YACxD,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,oBAAoB;YACrD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,0BAA0B;SACxE,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC,SAAS,EAAE,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;;;OAUG;IACK,cAAc,CAAC,OAAe;QACpC,OAAO,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACvF,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,GAAG,IAAI,CAAC,OAAO,eAAe,EAC9B;gBACE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;gBACrC,yDAAyD;gBACzD,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI;aAC3B,CACF,CAAC;YAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;gBACnE,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+BAA+B;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACI,KAAK,CAAC,YAAY,CAAC,SAAkB;QAC1C,iDAAiD;QACjD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QAED,uCAAuC;QACvC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,0EAA0E;QAC1E,sDAAsD;QACtD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACvD,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAExC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,SAAS,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,KAAgD,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,SAAS;gBACT,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;oBAC/B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBAC7F,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,uEAAuE;YACvE,sEAAsE;YACtE,IAAI,KAAK,KAAK,SAAS;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB;QACjC,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,8BAA8B,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAEzE,IAAI,CAAC;YACL,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBAErC,IAAI,KAAK,EAAE,CAAC;oBACV,wEAAwE;oBACxE,0EAA0E;oBAC1E,oEAAoE;oBACpE,0EAA0E;oBAC1E,kEAAkE;oBAClE,0EAA0E;oBAC1E,+BAA+B;oBAC/B,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;wBAChB,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;wBAClC,IAAI,CAAC,QAAQ,CAAC,2DAA2D,EAAE;4BACzE,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,QAAQ,EAAE,MAAM;yBACjB,CAAC,CAAC;wBACH,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBACzB,sEAAsE;wBACtE,wEAAwE;wBACxE,oEAAoE;wBACpE,4DAA4D;wBAC5D,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;4BAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;4BAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0DAA0D,KAAK,IAAI,EAAE;gCACpF,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,OAAO,EAAE,OAAO,GAAG,CAAC;6BACrB,CAAC,CAAC;4BACH,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BACxB,OAAO,EAAE,CAAC;4BACV,SAAS;wBACX,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;wBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,QAAQ,EAAE,OAAO,GAAG,CAAC;qBACtB,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAED,oCAAoC;gBACpC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,KAAK,IAAI,EAAE;oBACxD,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,OAAO,EAAE,OAAO,GAAG,CAAC;oBACpB,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC;gBAEH,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxB,OAAO,EAAE,CAAC;YACZ,CAAC;QACD,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,UAAU;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK;QACV,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,OAAe;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACtE,mCAAmC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,iBAAiB,GAAqC,IAAI,GAAG,EAAE,CAAC;AAEtE;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,MAA+B;IAE/B,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAE7E,IAAI,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,IAAI,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACzD,iBAAiB,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import axios from 'axios';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { fullJitterBackoffMs, recoveryOffsetMs } from './network-backoff.frontend.utils';\n\n/**\n * Readiness check response from /health/ready endpoint\n */\ninterface ReadinessResponse {\n status: 'healthy' | 'unhealthy' | 'degraded';\n timestamp: string;\n uptime: number;\n version: string;\n}\n\n/**\n * Configuration for the readiness checker\n */\nexport interface ReadinessCheckerConfig {\n /** Base delay in ms for exponential backoff (default: 100) */\n baseDelayMs?: number;\n /** Maximum delay cap in ms (default: 10000 = 10s) */\n maxDelayMs?: number;\n /** Timeout for each health check request in ms (default: 5000) */\n requestTimeoutMs?: number;\n}\n\nconst DEFAULT_BASE_DELAY_MS = 100;\nconst DEFAULT_MAX_DELAY_MS = 10000;\nconst DEFAULT_REQUEST_TIMEOUT_MS = 5000;\n\n/**\n * Typed rejection produced when a BOUNDED {@link ApiReadinessChecker.waitForReady}\n * gives up before the backend reports ready.\n *\n * This is the first-class \"network unavailable\" lane for foreground requests:\n * before it existed, every request issued after a connection loss parked forever\n * on the never-settling readiness promise (audit finding B2 — an FK dropdown\n * spinner that never resolves). Callers and retry ladders classify it by `name`\n * / `code` (or via {@link isApiNotReadyError}); it is a TRANSIENT condition —\n * the backend may come back — never a validation or server failure.\n *\n * The background poll loop is NOT stopped by this rejection: it keeps polling\n * `/health/ready` (that part is by design, see {@link ApiReadinessChecker}),\n * so a later request finds the gate open again once the backend recovers.\n */\nexport class ApiNotReadyError extends Error {\n override readonly name = 'ApiNotReadyError';\n /** Stable machine-readable classifier for retry logic. */\n readonly code = 'API_NOT_READY';\n readonly baseUrl: string;\n readonly timeoutMs: number;\n\n constructor(baseUrl: string, timeoutMs: number) {\n super(`Backend API at ${baseUrl || '<unset baseUrl>'} did not become ready within ${timeoutMs}ms`);\n this.baseUrl = baseUrl;\n this.timeoutMs = timeoutMs;\n }\n}\n\n/**\n * Recognise an {@link ApiNotReadyError} across module instances (dual-package /\n * multiple bundles), matching by the stable `name` rather than `instanceof`.\n */\nexport function isApiNotReadyError(error: unknown): error is ApiNotReadyError {\n return error instanceof Error && error.name === 'ApiNotReadyError';\n}\n\n/**\n * API Readiness Checker\n *\n * Checks if the target API is ready by polling /health/ready endpoint.\n * Uses exponential backoff: 2^attempts * baseDelay, capped at maxDelay.\n * The background poll loop never stops — it keeps retrying until the API is\n * ready. Individual waiters may bound their wait (`waitForReady(timeoutMs)`)\n * and receive a typed {@link ApiNotReadyError} rejection without affecting\n * the shared loop.\n *\n * @example\n * ```typescript\n * const checker = new ApiReadinessChecker('https://api.example.com');\n * await checker.waitForReady(); // Blocks until API is ready (unbounded)\n * await checker.waitForReady(10_000); // Rejects with ApiNotReadyError after 10s\n * ```\n */\nexport class ApiReadinessChecker {\n private baseUrl: string;\n private config: Required<ReadinessCheckerConfig>;\n private logger: LoggerFrontendService;\n private logDebug: (message: string, context?: any) => void;\n private isReady: boolean = false;\n private readinessPromise: Promise<void> | null = null;\n // True while a `performReadinessCheck` loop is actively polling. Guards against\n // `reset()` nulling `readinessPromise` mid-poll and letting a second concurrent\n // loop spawn on the same instance (redundant /health/ready load).\n private isChecking: boolean = false;\n\n constructor(baseUrl: string, config: ReadinessCheckerConfig = {}) {\n this.baseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;\n this.config = {\n baseDelayMs: config.baseDelayMs ?? DEFAULT_BASE_DELAY_MS,\n maxDelayMs: config.maxDelayMs ?? DEFAULT_MAX_DELAY_MS,\n requestTimeoutMs: config.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS,\n };\n this.logger = LoggerFrontendService.getLogger();\n this.logDebug = this.logger.debugByType('ApiReadinessChecker');\n this.logger.setDebugTypeLogging('ApiReadinessChecker', false);\n }\n\n /**\n * Calculate the poll delay for a given attempt using JITTERED exponential\n * backoff: a random value in [0, min(maxDelay, 2^attempt · baseDelay)].\n *\n * The jitter is the cross-client de-herd lever for the readiness gate. Every\n * client that was up when the backend went down starts polling /health/ready at\n * the same moment and, with a deterministic curve, would hit the endpoint in\n * lockstep — and then all flip \"ready\" and flood the backend on the same tick.\n * Randomising the poll cadence spreads both the health-probe load and the\n * subsequent recovery burst.\n */\n private calculateDelay(attempt: number): number {\n return fullJitterBackoffMs(attempt, this.config.baseDelayMs, this.config.maxDelayMs);\n }\n\n /**\n * Check readiness once\n * @returns true if API is ready, false otherwise\n */\n private async checkOnce(): Promise<boolean> {\n try {\n const response = await axios.get<ReadinessResponse>(\n `${this.baseUrl}/health/ready`,\n {\n timeout: this.config.requestTimeoutMs,\n // Don't throw on non-2xx status - we handle it ourselves\n validateStatus: () => true,\n }\n );\n\n if (response.status === 200 && response.data?.status === 'healthy') {\n return true;\n }\n\n return false;\n } catch (error) {\n // Network error, timeout, etc.\n return false;\n }\n }\n\n /**\n * Wait until the API is ready.\n *\n * Without `timeoutMs`, blocks until the backend reports ready — the shared\n * poll loop (`performReadinessCheck`) uses exponential backoff and never\n * gives up. That unbounded form is appropriate for background consumers\n * (e.g. connectivity banners) that WANT to ride the outage to its end.\n *\n * With `timeoutMs`, the wait is BOUNDED: if the backend is still not ready\n * when the timeout elapses, the returned promise rejects with a typed\n * {@link ApiNotReadyError} so the caller's error path runs (toast, inline\n * error, retry ladder classification). Foreground request paths MUST use\n * this form — an unbounded wait parks every user-visible request forever\n * after a connection loss (audit B2). The timeout is per-caller: it never\n * settles, cancels, or otherwise affects the SHARED `readinessPromise`,\n * whose loop keeps polling in the background so a later call can succeed.\n *\n * @param timeoutMs - Optional bound in ms. Omit for the unbounded wait.\n */\n public async waitForReady(timeoutMs?: number): Promise<void> {\n // If no baseUrl configured, skip readiness check\n if (!this.baseUrl) {\n this.logger.warn('API readiness check skipped: no baseUrl configured');\n return;\n }\n\n // If already ready, return immediately\n if (this.isReady) {\n return;\n }\n\n // Join (or start) the shared readiness poll. The shared promise only ever\n // RESOLVES (the loop retries forever), so racing it below can never leave\n // an unhandled rejection behind on the shared object.\n if (!this.readinessPromise) {\n this.readinessPromise = this.performReadinessCheck();\n }\n const readiness = this.readinessPromise;\n\n if (timeoutMs === undefined) {\n await readiness;\n return;\n }\n\n let timer: ReturnType<typeof setTimeout> | undefined;\n try {\n await Promise.race([\n readiness,\n new Promise<never>((_, reject) => {\n timer = setTimeout(() => reject(new ApiNotReadyError(this.baseUrl, timeoutMs)), timeoutMs);\n }),\n ]);\n } finally {\n // Always clear the per-caller timer so a resolved wait doesn't leave a\n // stray timeout (and a pending ApiNotReadyError construction) behind.\n if (timer !== undefined) clearTimeout(timer);\n }\n }\n\n /**\n * Perform the actual readiness check with retries\n */\n private async performReadinessCheck(): Promise<void> {\n let attempt = 0;\n\n this.isChecking = true;\n this.logDebug('Starting API readiness check', { baseUrl: this.baseUrl });\n\n try {\n while (!this.isReady) {\n const ready = await this.checkOnce();\n\n if (ready) {\n // Recovery de-sync: if the backend was actually unavailable for a while\n // (attempt > 0 = we had to retry), delay the \"ready\" flip by a per-client\n // random offset so every client that was blocked on the SAME outage\n // doesn't release its queued requests — and re-fire its WS reconnect — in\n // the same instant. The first-ever cold check (attempt 0 succeeds\n // immediately against a healthy backend) is NOT delayed, so page load and\n // normal navigation stay fast.\n if (attempt > 0) {\n const offset = recoveryOffsetMs();\n this.logDebug('API ready after outage — applying recovery de-sync offset', {\n baseUrl: this.baseUrl,\n offsetMs: offset,\n });\n await this.sleep(offset);\n // The backend may have died again DURING the (up to 2s) offset sleep.\n // Re-confirm before committing the sticky `isReady` flag — otherwise we\n // could flip the gate open against a down backend and fire the next\n // request blindly. If it's no longer healthy, keep polling.\n if (!(await this.checkOnce())) {\n const delay = this.calculateDelay(attempt);\n this.logger.warn(`API went unhealthy during recovery offset, retrying in ${delay}ms`, {\n baseUrl: this.baseUrl,\n attempt: attempt + 1,\n });\n await this.sleep(delay);\n attempt++;\n continue;\n }\n }\n this.isReady = true;\n this.logDebug('API is ready', {\n baseUrl: this.baseUrl,\n attempts: attempt + 1,\n });\n return;\n }\n\n // Not ready - log warning and retry\n const delay = this.calculateDelay(attempt);\n this.logger.warn(`API not ready, retrying in ${delay}ms`, {\n baseUrl: this.baseUrl,\n attempt: attempt + 1,\n nextDelayMs: delay,\n });\n\n await this.sleep(delay);\n attempt++;\n }\n } finally {\n this.isChecking = false;\n }\n }\n\n /**\n * Sleep for given duration\n */\n private sleep(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n }\n\n /**\n * Check if API is currently marked as ready\n */\n public getIsReady(): boolean {\n return this.isReady;\n }\n\n /**\n * Reset the ready state (useful for reconnection scenarios).\n *\n * Only clears `readinessPromise` when no poll loop is currently running. If a\n * `performReadinessCheck` is mid-flight, nulling the promise here would let the\n * next `waitForReady()` spawn a SECOND concurrent poll loop on the same instance\n * (both would hammer /health/ready). Instead the running loop is left in place —\n * setting `isReady = false` keeps it polling until the backend recovers, which\n * is exactly the re-arm behaviour `reset()` wants.\n */\n public reset(): void {\n this.isReady = false;\n if (!this.isChecking) {\n this.readinessPromise = null;\n }\n }\n\n /**\n * Update the base URL (useful when environment changes)\n */\n public updateBaseUrl(baseUrl: string): void {\n this.baseUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;\n // Reset readiness when URL changes\n this.reset();\n }\n}\n\n/**\n * Singleton factory for API readiness checkers\n * Maintains one checker per base URL\n */\nconst readinessCheckers: Map<string, ApiReadinessChecker> = new Map();\n\n/**\n * Get or create an API readiness checker for the given base URL\n */\nexport function getReadinessChecker(\n baseUrl: string,\n config?: ReadinessCheckerConfig\n): ApiReadinessChecker {\n const normalizedUrl = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;\n \n let checker = readinessCheckers.get(normalizedUrl);\n if (!checker) {\n checker = new ApiReadinessChecker(normalizedUrl, config);\n readinessCheckers.set(normalizedUrl, checker);\n }\n \n return checker;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-refresh-resilience.frontend.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"auth-refresh-resilience.frontend.d.ts","sourceRoot":"","sources":["../../../../src/core/requests/auth-refresh-resilience.frontend.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAWvE;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iCAAiC,+BAA+B,CAAC;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAyBjE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAM7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-refresh-resilience.frontend.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"auth-refresh-resilience.frontend.js","sourceRoot":"","sources":["../../../../src/core/requests/auth-refresh-resilience.frontend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uEAAuE,CAAC;AAElG;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,+BAA+B,CAAC,KAAc;IAC5D,MAAM,CAAC,GAAG,KAAqF,CAAC;IAChG,MAAM,SAAS,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC;IACvD,MAAM,MAAM,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAErE,6DAA6D;IAC7D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACvC,6CAA6C;IAC7C,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IAClD,0DAA0D;IAC1D,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC;AAC5D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,4BAA4B,CAAC;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,MAAM,CAAC,GAAG,KAQU,CAAC;IAErB,IAAI,CAAC,EAAE,CAAC,iCAAiC,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEjE,MAAM,SAAS,GAAG,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC;IACvD,MAAM,MAAM,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,IAAI,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC;IACzC,CAAC;IAED,4EAA4E;IAC5E,8EAA8E;IAC9E,OAAO,CAAC,EAAE,YAAY,KAAK,IAAI;WAC1B,CAAC,EAAE,OAAO,KAAK,SAAS;WACxB,CAAC,EAAE,MAAM,KAAK,SAAS;WACvB,OAAO,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC","sourcesContent":["import { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\n\n/**\n * Token-refresh resilience helpers (shared by `WildoHttpClient`'s 401-renewal\n * interceptor and `AuthSessionContext.tokenRenewalHandler`).\n *\n * Background — why this exists:\n * The refresh token travels in the `__wildo_refresh` `HttpOnly` cookie.\n * `AuthSessionContext.logout()` clears that cookie server-side, and the\n * cookie is SHARED across every tab of the same origin. Historically ANY\n * refresh failure triggered `logout()`, so a single non-authoritative blip\n * (the backend restarting during a dev recompile, a 5xx, a timeout, or a\n * racy revoke) did not merely fail one request — it DELETED the refresh\n * token, turning a recoverable hiccup into a permanent, cross-tab forced\n * logout. That is wrong in production (a backend blip must not log everyone\n * out) and catastrophic in development (constant recompiles → constant\n * \"you need to sign in again\").\n *\n * The fix splits refresh failures into two classes and only lets an\n * AUTHORITATIVE rejection destroy the session.\n */\n\n/**\n * Was the renewal AUTHORITATIVELY rejected — i.e. did the backend explicitly\n * refuse THIS refresh token, meaning the session is genuinely dead and the\n * user must re-authenticate?\n *\n * AUTHORITATIVE (returns `true`) — destroy the session:\n * - `400` — the `__wildo_refresh` cookie was absent (no session to refresh).\n * - `401` — the refresh token failed verification / was revoked / all\n * sessions were invalidated.\n * - `403` — the refresh was forbidden.\n *\n * TRANSIENT (returns `false`) — preserve the session, retry on a later request:\n * - No HTTP response at all (`status` undefined) — network error,\n * `ECONNREFUSED` while the backend is restarting, DNS, CORS preflight fail.\n * - `>= 500` — a backend-side error (the backend is up but unhealthy /\n * mid-boot), unrelated to the validity of the refresh token.\n * - `408` — request timeout.\n * - Any other unexpected status — treated conservatively as transient so an\n * ambiguous code never silently destroys a valid session.\n *\n * The error shape is the enhanced axios error produced by\n * `WildoHttpClient.responseErrorInterceptor`, which sets `error.httpStatus`\n * only when the response carries a body; we therefore fall back to the raw\n * `error.response.status` so a body-less 4xx/5xx refresh response is still\n * classified by its status.\n */\nexport function isAuthoritativeRefreshRejection(error: unknown): boolean {\n const e = error as { httpStatus?: unknown; response?: { status?: unknown } } | null | undefined;\n const rawStatus = e?.httpStatus ?? e?.response?.status;\n const status = typeof rawStatus === 'number' ? rawStatus : undefined;\n\n // No response → network / unreachable / timeout → transient.\n if (status === undefined) return false;\n // Backend-side error or timeout → transient.\n if (status >= 500 || status === 408) return false;\n // The backend authoritatively refused this refresh token.\n return status === 400 || status === 401 || status === 403;\n}\n\n/**\n * Property the 401-renewal interceptor stamps on the ORIGINAL request error\n * when a token renewal could not complete for a NON-authoritative reason\n * (backend unreachable / 5xx / timeout). It lets a downstream recovery path\n * (notably session restore) recognise that a resulting 401 reflects \"renewal\n * couldn't happen\", not \"the session is dead\" — so it should be retried rather\n * than logged out. Set only when the renewal failure was transient; a genuinely\n * authoritative rejection is never tagged.\n */\nexport const RENEWAL_TRANSIENTLY_FAILED_MARKER = '__renewalTransientlyFailed';\n\n/**\n * Should a failure be treated as a TRANSIENT backend problem that warrants\n * preserving the session and retrying, rather than tearing it down?\n *\n * Returns `true` for:\n * - an error tagged {@link RENEWAL_TRANSIENTLY_FAILED_MARKER} (a 401 whose\n * in-flight renewal failed transiently — the session is not proven dead),\n * - `>= 500` / `408` (backend-side error / timeout), and\n * - a response-less error that is recognisably an HTTP/network-layer failure\n * (axios network error: `isAxiosError` / `request` / `config` / a string\n * `code`). A response-less error WITHOUT those markers is treated as\n * NON-transient — it is almost certainly a thrown code bug, and retrying it\n * forever would mask the bug and spin.\n *\n * Returns `false` for authoritative 4xx (400/401/403/etc.) and for non-HTTP\n * exceptions, both of which must terminate rather than retry.\n */\nexport function isTransientBackendFailure(error: unknown): boolean {\n const e = error as {\n [RENEWAL_TRANSIENTLY_FAILED_MARKER]?: unknown;\n httpStatus?: unknown;\n response?: { status?: unknown };\n request?: unknown;\n config?: unknown;\n code?: unknown;\n isAxiosError?: unknown;\n } | null | undefined;\n\n if (e?.[RENEWAL_TRANSIENTLY_FAILED_MARKER] === true) return true;\n\n const rawStatus = e?.httpStatus ?? e?.response?.status;\n const status = typeof rawStatus === 'number' ? rawStatus : undefined;\n if (status !== undefined) {\n return status >= 500 || status === 408;\n }\n\n // No HTTP status: transient only if it's recognisably an HTTP/network-layer\n // error, never for an arbitrary thrown exception (which would retry forever).\n return e?.isAxiosError === true\n || e?.request !== undefined\n || e?.config !== undefined\n || typeof e?.code === 'string';\n}\n\n/**\n * Is development-mode refresh leniency active?\n *\n * In `development` the backend is recompiled and restarted constantly by the\n * dev watchers, which routinely produces authoritative-LOOKING `400`/`401`\n * responses (e.g. the cookie momentarily cleared by a racing tab, or the\n * session store transiently unavailable) even though the session is fine once\n * the backend settles. To keep dev / AI-driven sessions alive we never\n * hard-logout on a refresh failure in development — the session is preserved\n * and the next request retries.\n *\n * Security note: this NEVER relaxes production. On any uncertainty (env not yet\n * loaded, loader throws) we fail closed to strict production behavior.\n */\nexport function isRefreshDevLenient(): boolean {\n try {\n return envLoader.isDevelopment();\n } catch {\n return false;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-instance-id.frontend.service.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"client-instance-id.frontend.service.d.ts","sourceRoot":"","sources":["../../../../src/core/requests/client-instance-id.frontend.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAwE9D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAqClF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAKxD;AAED,iFAAiF;AACjF,wBAAgB,wBAAwB,IAAI,qBAAqB,CAEhE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAIlD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-instance-id.frontend.service.js","sourceRoot":"","sources":["../../../../../src/core/requests/client-instance-id.frontend.service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Client-install identification (`clientInstanceId`) — the browser half of the OPT-IN,\n * DEFAULT-OFF capability decided in Fork D / SD9.\n *\n * A `clientInstanceId` answers \"which browser/device install issued this request?\" — the axis that\n * lets an investigator group one actor's activity across sessions and logins, which the per-request\n * `correlationId` and the static `frontendServiceName` cannot. Because it is stored on the user's\n * terminal equipment it engages ePrivacy Art 5(3), so the framework never enables it on its own:\n * each application authors `compliance.clientInstanceIdScope` and this module obeys it.\n *\n * **Why a module-level singleton rather than React state.** The HTTP clients are constructed during\n * bootstrap, BEFORE the backend app-config (which carries the policy) has been fetched, and they live\n * outside the React tree — so they cannot read `ApplicationContext`. This mirrors the established\n * `envLoader` singleton + the \"push state into the HTTP client\" pattern already used for anonymous\n * sessions and consumable tokens.\n *\n * **Fail-closed by construction.** The scope starts `DISABLED`, so between process start and the\n * moment bootstrap calls {@link configureClientInstanceIdPolicy} nothing is minted, stored, or sent.\n * An application that never opts in therefore never creates the identifier at all — and even if a\n * client did send the header, the backend independently refuses to ingest it under the same policy.\n */\nimport { ClientInstanceIdScope } from '@wildo-ai/saas-models';\nimport { RUNTIME_SCOPED_STORAGE_KEYS } from '~wildo-frontend-lib/core/commons/local-storage.frontend.schemas';\n\n/**\n * Storage key for the minted id — named in `RUNTIME_SCOPED_STORAGE_KEYS` (the registry for keys whose\n * storage AREA is chosen at runtime), not in `LOCAL_STORAGE_KEYS`, because this value may live in\n * either area depending on the authored scope.\n */\nconst CLIENT_INSTANCE_ID_STORAGE_KEY = RUNTIME_SCOPED_STORAGE_KEYS.CLIENT_INSTANCE_ID;\n\n/**\n * The policy currently in force. `DISABLED` until bootstrap says otherwise — see \"fail-closed\" above.\n */\nlet activeScope: ClientInstanceIdScope = ClientInstanceIdScope.DISABLED;\n\n/** In-memory cache so the per-request read in the axios interceptor never touches storage. */\nlet cachedClientInstanceId: string | undefined;\n\n/**\n * The Web Storage area a scope stores its id in. `SESSION` uses `sessionStorage` so the id dies with\n * the tab; `PERSISTENT` uses `localStorage` so it survives restarts and logouts. `DISABLED` has none.\n *\n * **Probes availability instead of sniffing for `window`.** `engine/CLAUDE.md` requires frontend libs to\n * stay pure-frontend with no `typeof window` checks, and the check would be the wrong question anyway:\n * what this module needs to know is whether a STORAGE AREA exists, which is also false in a browser with\n * storage blocked (private mode, disabled cookies, a sandboxed cross-origin frame). Reading through\n * `globalThis` inside try/catch answers exactly that in one expression — `undefined` in a non-browser\n * realm, a throw when the browser refuses access, a `Storage` otherwise.\n */\nfunction storageForScope(scope: ClientInstanceIdScope): Storage | undefined {\n try {\n const area: Storage | undefined =\n scope === ClientInstanceIdScope.SESSION ? globalThis.sessionStorage\n : scope === ClientInstanceIdScope.PERSISTENT ? globalThis.localStorage\n : undefined;\n return area ?? undefined;\n } catch {\n // The browser refused access to the area. Treated as unavailable — see the mint rule below.\n return undefined;\n }\n}\n\n/**\n * Erase any previously stored id from BOTH storage areas.\n *\n * Called on every policy application, which is what makes the control reversible: turning the policy\n * OFF (or NARROWING `PERSISTENT` → `SESSION`) must not leave the old identifier sitting on the user's\n * device. Without this, a persistent id would silently outlive the consent or the decision that\n * created it — the practical form of the Art-17 erasure obligation on this field.\n *\n * assurance-control: WILDO.PRIVACY.DATA_MINIMIZATION — withdrawing or narrowing the client-install\n * policy erases the identifier from the user's device rather than merely ceasing to send it.\n */\nfunction purgeStoredClientInstanceIds(): void {\n for (const scope of [ClientInstanceIdScope.SESSION, ClientInstanceIdScope.PERSISTENT]) {\n try {\n storageForScope(scope)?.removeItem(CLIENT_INSTANCE_ID_STORAGE_KEY);\n } catch {\n // Unavailable storage — nothing to purge there.\n }\n }\n}\n\nfunction mintClientInstanceId(): string {\n if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') {\n return crypto.randomUUID();\n }\n // Fallback for environments without the WebCrypto UUID helper. This value is a correlation token,\n // never a secret or an authorization input, so a non-cryptographic fallback is acceptable.\n return `ci-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 12)}`;\n}\n\n/**\n * Apply the application's authored policy. Called ONCE from bootstrap, after the backend app-config\n * (which carries `compliance.clientInstanceIdScope`) has been fetched.\n *\n * - `DISABLED` → purges any stored id and sends nothing thereafter.\n * - `SESSION` / `PERSISTENT` → reuses the id already held in that scope's storage, or mints one.\n *\n * Idempotent, and safe to call again with a DIFFERENT scope: the previous storage area is purged\n * first, so narrowing the policy genuinely removes the wider-lifetime identifier.\n *\n * **No storage ⇒ no identifier.** If the scope's storage area is unavailable (a non-browser realm such\n * as the companion's Node bridge or an SSR pass, or a browser refusing access in private mode), this\n * mints NOTHING and the capability stays off. That is deliberate on two grounds. Correctness: this\n * module's state is module-level, so an id minted in a shared Node process would be one identifier\n * handed to every user that process serves — a cross-user identifier, the exact opposite of what a\n * per-install id means. Value: the id exists to correlate activity ACROSS sessions, which an\n * in-memory-only value cannot do, so the fallback bought nothing while carrying that risk.\n */\nexport function configureClientInstanceIdPolicy(scope: ClientInstanceIdScope): void {\n activeScope = scope;\n cachedClientInstanceId = undefined;\n\n if (scope === ClientInstanceIdScope.DISABLED) {\n purgeStoredClientInstanceIds();\n return;\n }\n\n const storage = storageForScope(scope);\n if (!storage) {\n // See \"No storage ⇒ no identifier\" above. `activeScope` is left as authored so a transparency\n // surface still reports the app's posture truthfully; `getClientInstanceId()` returns undefined\n // because nothing was minted.\n return;\n }\n\n let existing: string | null = null;\n try {\n existing = storage.getItem(CLIENT_INSTANCE_ID_STORAGE_KEY);\n } catch {\n existing = null;\n }\n\n // Purge AFTER reading so the id is carried across a same-scope re-configure, but the OTHER area's\n // stale copy (from a previously wider scope) is still removed.\n purgeStoredClientInstanceIds();\n\n const id = existing || mintClientInstanceId();\n try {\n storage.setItem(CLIENT_INSTANCE_ID_STORAGE_KEY, id);\n } catch {\n // The area existed a moment ago but refused the write (quota, eviction). Do not cache an id we\n // could not persist — it would be per-page-load only, i.e. the case ruled out above.\n return;\n }\n cachedClientInstanceId = id;\n}\n\n/**\n * The id to stamp on outbound requests, or `undefined` when the application has not opted in.\n * Read per request (never cached at client construction) so the policy takes effect the moment\n * bootstrap applies it, on a client that was built before the config arrived.\n */\nexport function getClientInstanceId(): string | undefined {\n if (activeScope === ClientInstanceIdScope.DISABLED) {\n return undefined;\n }\n return cachedClientInstanceId;\n}\n\n/** The policy currently in force — for diagnostics and transparency surfaces. */\nexport function getClientInstanceIdScope(): ClientInstanceIdScope {\n return activeScope;\n}\n\n/**\n * Reset to the fail-closed default and erase stored ids. Used by tests, and available to an\n * application that must honour a consent withdrawal without a reload.\n */\nexport function resetClientInstanceIdPolicy(): void {\n activeScope = ClientInstanceIdScope.DISABLED;\n cachedClientInstanceId = undefined;\n purgeStoredClientInstanceIds();\n}\n"]}
|
|
1
|
+
{"version":3,"file":"client-instance-id.frontend.service.js","sourceRoot":"","sources":["../../../../src/core/requests/client-instance-id.frontend.service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Client-install identification (`clientInstanceId`) — the browser half of the OPT-IN,\n * DEFAULT-OFF capability decided in Fork D / SD9.\n *\n * A `clientInstanceId` answers \"which browser/device install issued this request?\" — the axis that\n * lets an investigator group one actor's activity across sessions and logins, which the per-request\n * `correlationId` and the static `frontendServiceName` cannot. Because it is stored on the user's\n * terminal equipment it engages ePrivacy Art 5(3), so the framework never enables it on its own:\n * each application authors `compliance.clientInstanceIdScope` and this module obeys it.\n *\n * **Why a module-level singleton rather than React state.** The HTTP clients are constructed during\n * bootstrap, BEFORE the backend app-config (which carries the policy) has been fetched, and they live\n * outside the React tree — so they cannot read `ApplicationContext`. This mirrors the established\n * `envLoader` singleton + the \"push state into the HTTP client\" pattern already used for anonymous\n * sessions and consumable tokens.\n *\n * **Fail-closed by construction.** The scope starts `DISABLED`, so between process start and the\n * moment bootstrap calls {@link configureClientInstanceIdPolicy} nothing is minted, stored, or sent.\n * An application that never opts in therefore never creates the identifier at all — and even if a\n * client did send the header, the backend independently refuses to ingest it under the same policy.\n */\nimport { ClientInstanceIdScope } from '@wildo-ai/saas-models';\nimport { RUNTIME_SCOPED_STORAGE_KEYS } from '~wildo-frontend-lib/core/commons/local-storage.frontend.schemas';\n\n/**\n * Storage key for the minted id — named in `RUNTIME_SCOPED_STORAGE_KEYS` (the registry for keys whose\n * storage AREA is chosen at runtime), not in `LOCAL_STORAGE_KEYS`, because this value may live in\n * either area depending on the authored scope.\n */\nconst CLIENT_INSTANCE_ID_STORAGE_KEY = RUNTIME_SCOPED_STORAGE_KEYS.CLIENT_INSTANCE_ID;\n\n/**\n * The policy currently in force. `DISABLED` until bootstrap says otherwise — see \"fail-closed\" above.\n */\nlet activeScope: ClientInstanceIdScope = ClientInstanceIdScope.DISABLED;\n\n/** In-memory cache so the per-request read in the axios interceptor never touches storage. */\nlet cachedClientInstanceId: string | undefined;\n\n/**\n * The Web Storage area a scope stores its id in. `SESSION` uses `sessionStorage` so the id dies with\n * the tab; `PERSISTENT` uses `localStorage` so it survives restarts and logouts. `DISABLED` has none.\n *\n * **Probes availability instead of sniffing for `window`.** `engine/CLAUDE.md` requires frontend libs to\n * stay pure-frontend with no `typeof window` checks, and the check would be the wrong question anyway:\n * what this module needs to know is whether a STORAGE AREA exists, which is also false in a browser with\n * storage blocked (private mode, disabled cookies, a sandboxed cross-origin frame). Reading through\n * `globalThis` inside try/catch answers exactly that in one expression — `undefined` in a non-browser\n * realm, a throw when the browser refuses access, a `Storage` otherwise.\n */\nfunction storageForScope(scope: ClientInstanceIdScope): Storage | undefined {\n try {\n const area: Storage | undefined =\n scope === ClientInstanceIdScope.SESSION ? globalThis.sessionStorage\n : scope === ClientInstanceIdScope.PERSISTENT ? globalThis.localStorage\n : undefined;\n return area ?? undefined;\n } catch {\n // The browser refused access to the area. Treated as unavailable — see the mint rule below.\n return undefined;\n }\n}\n\n/**\n * Erase any previously stored id from BOTH storage areas.\n *\n * Called on every policy application, which is what makes the control reversible: turning the policy\n * OFF (or NARROWING `PERSISTENT` → `SESSION`) must not leave the old identifier sitting on the user's\n * device. Without this, a persistent id would silently outlive the consent or the decision that\n * created it — the practical form of the Art-17 erasure obligation on this field.\n *\n * assurance-control: WILDO.PRIVACY.DATA_MINIMIZATION — withdrawing or narrowing the client-install\n * policy erases the identifier from the user's device rather than merely ceasing to send it.\n */\nfunction purgeStoredClientInstanceIds(): void {\n for (const scope of [ClientInstanceIdScope.SESSION, ClientInstanceIdScope.PERSISTENT]) {\n try {\n storageForScope(scope)?.removeItem(CLIENT_INSTANCE_ID_STORAGE_KEY);\n } catch {\n // Unavailable storage — nothing to purge there.\n }\n }\n}\n\nfunction mintClientInstanceId(): string {\n if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') {\n return crypto.randomUUID();\n }\n // Fallback for environments without the WebCrypto UUID helper. This value is a correlation token,\n // never a secret or an authorization input, so a non-cryptographic fallback is acceptable.\n return `ci-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 12)}`;\n}\n\n/**\n * Apply the application's authored policy. Called ONCE from bootstrap, after the backend app-config\n * (which carries `compliance.clientInstanceIdScope`) has been fetched.\n *\n * - `DISABLED` → purges any stored id and sends nothing thereafter.\n * - `SESSION` / `PERSISTENT` → reuses the id already held in that scope's storage, or mints one.\n *\n * Idempotent, and safe to call again with a DIFFERENT scope: the previous storage area is purged\n * first, so narrowing the policy genuinely removes the wider-lifetime identifier.\n *\n * **No storage ⇒ no identifier.** If the scope's storage area is unavailable (a non-browser realm such\n * as the companion's Node bridge or an SSR pass, or a browser refusing access in private mode), this\n * mints NOTHING and the capability stays off. That is deliberate on two grounds. Correctness: this\n * module's state is module-level, so an id minted in a shared Node process would be one identifier\n * handed to every user that process serves — a cross-user identifier, the exact opposite of what a\n * per-install id means. Value: the id exists to correlate activity ACROSS sessions, which an\n * in-memory-only value cannot do, so the fallback bought nothing while carrying that risk.\n */\nexport function configureClientInstanceIdPolicy(scope: ClientInstanceIdScope): void {\n activeScope = scope;\n cachedClientInstanceId = undefined;\n\n if (scope === ClientInstanceIdScope.DISABLED) {\n purgeStoredClientInstanceIds();\n return;\n }\n\n const storage = storageForScope(scope);\n if (!storage) {\n // See \"No storage ⇒ no identifier\" above. `activeScope` is left as authored so a transparency\n // surface still reports the app's posture truthfully; `getClientInstanceId()` returns undefined\n // because nothing was minted.\n return;\n }\n\n let existing: string | null = null;\n try {\n existing = storage.getItem(CLIENT_INSTANCE_ID_STORAGE_KEY);\n } catch {\n existing = null;\n }\n\n // Purge AFTER reading so the id is carried across a same-scope re-configure, but the OTHER area's\n // stale copy (from a previously wider scope) is still removed.\n purgeStoredClientInstanceIds();\n\n const id = existing || mintClientInstanceId();\n try {\n storage.setItem(CLIENT_INSTANCE_ID_STORAGE_KEY, id);\n } catch {\n // The area existed a moment ago but refused the write (quota, eviction). Do not cache an id we\n // could not persist — it would be per-page-load only, i.e. the case ruled out above.\n return;\n }\n cachedClientInstanceId = id;\n}\n\n/**\n * The id to stamp on outbound requests, or `undefined` when the application has not opted in.\n * Read per request (never cached at client construction) so the policy takes effect the moment\n * bootstrap applies it, on a client that was built before the config arrived.\n */\nexport function getClientInstanceId(): string | undefined {\n if (activeScope === ClientInstanceIdScope.DISABLED) {\n return undefined;\n }\n return cachedClientInstanceId;\n}\n\n/** The policy currently in force — for diagnostics and transparency surfaces. */\nexport function getClientInstanceIdScope(): ClientInstanceIdScope {\n return activeScope;\n}\n\n/**\n * Reset to the fail-closed default and erase stored ids. Used by tests, and available to an\n * application that must honour a consent withdrawal without a reload.\n */\nexport function resetClientInstanceIdPolicy(): void {\n activeScope = ClientInstanceIdScope.DISABLED;\n cachedClientInstanceId = undefined;\n purgeStoredClientInstanceIds();\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-backoff.frontend.utils.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"network-backoff.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../src/core/requests/network-backoff.frontend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AASH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAI/F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,GAAE,MAAuC,GAAG,MAAM,CAEvF;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,KAAK,GAAE,MAA+B,EACtC,KAAK,GAAE,MAA+B,GACrC,MAAM,CAER;AAED,iEAAiE;AACjE,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C"}
|