@wildo-ai/saas-frontend-lib 1.1.2 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/browser-bootstrap/theme-bootstrap.d.ts.map +1 -1
- package/dist/esm/browser-bootstrap/theme-bootstrap.js.map +1 -1
- package/dist/esm/browser-bootstrap.exports.d.ts.map +1 -1
- package/dist/esm/browser-bootstrap.exports.js.map +1 -1
- package/dist/esm/companion-exports.d.ts +1 -1
- package/dist/esm/companion-exports.d.ts.map +1 -1
- package/dist/esm/companion-exports.js +1 -1
- package/dist/esm/companion-exports.js.map +1 -1
- package/dist/esm/companion-runtime-exports.d.ts.map +1 -1
- package/dist/esm/companion-runtime-exports.js.map +1 -1
- package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
- package/dist/esm/components/actions/action-bar.js.map +1 -1
- package/dist/esm/components/actions/action-button.d.ts.map +1 -1
- package/dist/esm/components/actions/action-button.js.map +1 -1
- package/dist/esm/components/actions/button-group.d.ts.map +1 -1
- package/dist/esm/components/actions/button-group.js.map +1 -1
- package/dist/esm/components/actions/button.d.ts.map +1 -1
- package/dist/esm/components/actions/button.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-list.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-list.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/image.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.d.ts +28 -3
- package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/confirmation.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent-wrappers.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.js.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.js.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.js.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.js.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.js.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.js.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.js.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.labels.js.map +1 -1
- package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
- package/dist/esm/components/app/AppLayout_NotificationCenter.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_NotificationCenter.js +7 -2
- package/dist/esm/components/app/AppLayout_NotificationCenter.js.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.js.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.js.map +1 -1
- package/dist/esm/components/app/AppPage_Home.d.ts.map +1 -1
- package/dist/esm/components/app/AppPage_Home.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_MainContainer.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_MainContainer.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_Terms.labels.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_Terms.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.js.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.js.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.js.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.js.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.js.map +1 -1
- package/dist/esm/components/auth/Auth_Main.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.js.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.js.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.js.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Register.js.map +1 -1
- package/dist/esm/components/auth/Auth_Register.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.js.map +1 -1
- package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js.map +1 -1
- package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/enrollment-method-components.js.map +1 -1
- package/dist/esm/components/auth/methods/EmailOtpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/EmailOtpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/MagicLinkAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/MagicLinkAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/OrgOidcAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgOidcAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/PasskeyAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/PasskeyAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/PasswordAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/PasswordAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/SmsOtpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/SmsOtpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/TotpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/TotpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/auth-method-components.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/auth-method-components.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthCallback.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthExchange.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthExchange.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Invitation.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Invitation.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Main.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OneOffSession.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OneOffSession.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_PasswordLost.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_PasswordLost.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Register.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Register.js.map +1 -1
- package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.js.map +1 -1
- package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.js.map +1 -1
- package/dist/esm/components/auth/utils/LabeledDivider.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/LabeledDivider.js.map +1 -1
- package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/OAuthProvidersSection.js.map +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js.map +1 -1
- package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.js.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/DisplayContextKindContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayContextKindContext.js.map +1 -1
- package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayField.js +8 -5
- package/dist/esm/components/data-display/DisplayField.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.js +6 -2
- package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js.map +1 -1
- package/dist/esm/components/data-display/DisplayTemplateContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayTemplateContext.js.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/SummaryContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
- package/dist/esm/components/data-display/automatic-displayer.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/automatic-displayer.utils.js.map +1 -1
- package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
- package/dist/esm/components/data-display/avatar.js.map +1 -1
- package/dist/esm/components/data-display/badge.d.ts.map +1 -1
- package/dist/esm/components/data-display/badge.js.map +1 -1
- package/dist/esm/components/data-display/chart-echarts.d.ts.map +1 -1
- package/dist/esm/components/data-display/chart-echarts.js.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayChromeContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayChromeContext.js.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
- package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
- package/dist/esm/components/data-display/description-list.js.map +1 -1
- package/dist/esm/components/data-display/display-field-resolution.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-field-resolution.utils.js.map +1 -1
- package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
- package/dist/esm/components/data-display/display-resource-link-trail.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-resource-link-trail.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-json.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-json.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.js.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
- package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
- package/dist/esm/components/data-display/useFileActivation.js.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
- package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
- package/dist/esm/components/feedback/danger-zone.js.map +1 -1
- package/dist/esm/components/feedback/empty-display-policy.utils.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-display-policy.utils.js.map +1 -1
- package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-state.js.map +1 -1
- package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
- package/dist/esm/components/feedback/error-display.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts +36 -0
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js +29 -0
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.js.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.js.map +1 -1
- package/dist/esm/components/feedback/notification-center.d.ts +11 -5
- package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
- package/dist/esm/components/feedback/notification-center.js +2 -3
- package/dist/esm/components/feedback/notification-center.js.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
- package/dist/esm/components/feedback/progress.d.ts.map +1 -1
- package/dist/esm/components/feedback/progress.js.map +1 -1
- package/dist/esm/components/feedback/resource-empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/resource-empty-state.js.map +1 -1
- package/dist/esm/components/feedback/skeleton-text.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton-text.js.map +1 -1
- package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton.js.map +1 -1
- package/dist/esm/components/feedback/toast.d.ts.map +1 -1
- package/dist/esm/components/feedback/toast.js.map +1 -1
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts +41 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.js +207 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts +3 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.js +36 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.js.map +1 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts +8 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts.map +1 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.js +14 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.js.map +1 -0
- package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/actor.js.map +1 -1
- package/dist/esm/components/flows-actors/actor.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/actor.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.js.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.js +21 -4
- package/dist/esm/components/flows-actors/approval.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.labels.js +5 -0
- package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.js.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.js +1 -1
- package/dist/esm/components/flows-actors/execution-plan.js.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.js +1 -1
- package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.labels.js.map +1 -1
- package/dist/esm/components/form/Form.d.ts.map +1 -1
- package/dist/esm/components/form/Form.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.js +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.js +16 -9
- package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
- package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormField.js +9 -2
- package/dist/esm/components/form/automated/FormField.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldArray.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldArray.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldComposite.js +8 -6
- package/dist/esm/components/form/automated/FormFieldComposite.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldRecord.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
- package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.js.map +1 -1
- package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.js.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js +37 -3
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.js.map +1 -1
- package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts +12 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts.map +1 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js +26 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js.map +1 -0
- package/dist/esm/components/form/automated/autosave-indicator.d.ts.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.js.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.utils.js.map +1 -1
- package/dist/esm/components/form/automated/create-form-default-values.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/create-form-default-values.utils.js.map +1 -1
- package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.helpers.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.helpers.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.shared.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.shared.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.utils.js.map +1 -1
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
- package/dist/esm/components/form/chromes/FormChromeContext.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormChromeContext.js.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
- package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/field.js.map +1 -1
- package/dist/esm/components/form/chromes/form-primitives.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/form-primitives.js.map +1 -1
- package/dist/esm/components/form/combobox.d.ts.map +1 -1
- package/dist/esm/components/form/combobox.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
- package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select.js.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.js.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.js.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
- package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input-group.js.map +1 -1
- package/dist/esm/components/form/controls/input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input.js.map +1 -1
- package/dist/esm/components/form/controls/number/slider.d.ts +1 -1
- package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
- package/dist/esm/components/form/controls/number/slider.js.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.js.map +1 -1
- package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/inline-edit-text.js.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.js.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.js.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.labels.js.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.js.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.js.map +1 -1
- package/dist/esm/components/form/feedback/RemoteChangeNotification.d.ts.map +1 -1
- package/dist/esm/components/form/feedback/RemoteChangeNotification.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.js +4 -2
- package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.js +4 -2
- package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts +15 -5
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js +21 -18
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.js +139 -2
- package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.labels.js +15 -0
- package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.js +4 -2
- package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.js +7 -2
- package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.labels.js.map +1 -1
- package/dist/esm/components/form/fields/useFormField.d.ts.map +1 -1
- package/dist/esm/components/form/fields/useFormField.js.map +1 -1
- package/dist/esm/components/form/form-context.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.js.map +1 -1
- package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.utils.js.map +1 -1
- package/dist/esm/components/form/form-field-types.d.ts +20 -0
- package/dist/esm/components/form/form-field-types.d.ts.map +1 -1
- package/dist/esm/components/form/form-field-types.js.map +1 -1
- package/dist/esm/components/form/useFormSchemaContext.d.ts.map +1 -1
- package/dist/esm/components/form/useFormSchemaContext.js.map +1 -1
- package/dist/esm/components/form/validation-errors/FormErrorSummary.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
- package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/form-error-extraction.utils.js.map +1 -1
- package/dist/esm/components/form/validation-errors/form-validation.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/form-validation.js.map +1 -1
- package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
- package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
- package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.js.map +1 -1
- package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.js.map +1 -1
- package/dist/esm/components/layout/carousel.d.ts.map +1 -1
- package/dist/esm/components/layout/carousel.js.map +1 -1
- package/dist/esm/components/layout/divider.d.ts.map +1 -1
- package/dist/esm/components/layout/divider.js.map +1 -1
- package/dist/esm/components/layout/resizable.d.ts.map +1 -1
- package/dist/esm/components/layout/resizable.js.map +1 -1
- package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
- package/dist/esm/components/layout/scroll-area.js.map +1 -1
- package/dist/esm/components/layout/separator.d.ts.map +1 -1
- package/dist/esm/components/layout/separator.js.map +1 -1
- package/dist/esm/components/navigation/NavigationItemBadge.d.ts +13 -1
- package/dist/esm/components/navigation/NavigationItemBadge.d.ts.map +1 -1
- package/dist/esm/components/navigation/NavigationItemBadge.js +31 -2
- package/dist/esm/components/navigation/NavigationItemBadge.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.js.map +1 -1
- package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
- package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useActivityBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useActivityBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useControlPanelBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useControlPanelBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts +5 -2
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js +18 -41
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js +13 -3
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useToolbarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useToolbarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +23 -5
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +81 -13
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
- package/dist/esm/components/navigation/command.d.ts.map +1 -1
- package/dist/esm/components/navigation/command.js.map +1 -1
- package/dist/esm/components/navigation/menu-bar.d.ts +1 -1
- package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
- package/dist/esm/components/navigation/menu-bar.js.map +1 -1
- package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/navbar.js.map +1 -1
- package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/sidebar.js.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.js +36 -9
- package/dist/esm/components/overlays/containers/OverlayContainer.js.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.labels.js.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert.js.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.shared-types.js.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.js.map +1 -1
- package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.js.map +1 -1
- package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.js.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.js.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.d.ts +1 -1
- package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.js.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.d.ts +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.js.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.js.map +1 -1
- package/dist/esm/components/overlays/floating/menu.shared-types.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/menu.shared-types.js.map +1 -1
- package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/popover.js.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.js.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.js.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.labels.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.labels.js.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.js.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
- package/dist/esm/components/resources/CollectionSelectionControls.d.ts.map +1 -1
- package/dist/esm/components/resources/CollectionSelectionControls.js.map +1 -1
- package/dist/esm/components/resources/EphemeralFieldsRevealDialog.d.ts.map +1 -1
- package/dist/esm/components/resources/EphemeralFieldsRevealDialog.js.map +1 -1
- package/dist/esm/components/resources/InlineSearchInput.d.ts.map +1 -1
- package/dist/esm/components/resources/InlineSearchInput.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
- package/dist/esm/components/resources/ResourceInPlaceOperationRow.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceInPlaceOperationRow.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +9 -0
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.js +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.js +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_InsertedViews.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read_Expandable.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read_Expandable.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SortControl.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SortControl.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.js +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionPopover.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionPopover.js.map +1 -1
- package/dist/esm/components/resources/ResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationSurface.js.map +1 -1
- package/dist/esm/components/resources/ResourceOwnedViewEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOwnedViewEmbeds.js.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
- package/dist/esm/components/resources/card-action-placement.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/card-action-placement.utils.js.map +1 -1
- package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
- package/dist/esm/components/resources/collection-view-mode.frontend.d.ts.map +1 -1
- package/dist/esm/components/resources/collection-view-mode.frontend.js.map +1 -1
- package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.js.map +1 -1
- package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.js.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.js.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.js.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.js.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
- package/dist/esm/components/resources/inserted-resource-view.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/inserted-resource-view.frontend.utils.js.map +1 -1
- package/dist/esm/components/resources/resource-operation-custom-view.contracts.d.ts.map +1 -1
- package/dist/esm/components/resources/resource-operation-custom-view.contracts.js.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayItemTemplate.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayItemTemplate.js.map +1 -1
- package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.js.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Divider.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Divider.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FieldScopeContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FieldScopeContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ObjectScope.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ObjectScope.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts +12 -0
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js +13 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.shared.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.shared.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionPresentationContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SubmitButton.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SubmitButton.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryHeader.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryHeader.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryMeta.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryMeta.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryTitle.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.shared.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.shared.js.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.utils.js.map +1 -1
- package/dist/esm/components/resources/useInlineSearch.d.ts.map +1 -1
- package/dist/esm/components/resources/useInlineSearch.js.map +1 -1
- package/dist/esm/components/resources/useLongPress.d.ts.map +1 -1
- package/dist/esm/components/resources/useLongPress.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.labels.js.map +1 -1
- package/dist/esm/components/sections/accordion.d.ts.map +1 -1
- package/dist/esm/components/sections/accordion.js.map +1 -1
- package/dist/esm/components/sections/card.d.ts.map +1 -1
- package/dist/esm/components/sections/card.js.map +1 -1
- package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
- package/dist/esm/components/sections/collapsible.js.map +1 -1
- package/dist/esm/components/sections/content-section.d.ts.map +1 -1
- package/dist/esm/components/sections/content-section.js.map +1 -1
- package/dist/esm/components/sections/pagination.d.ts.map +1 -1
- package/dist/esm/components/sections/pagination.js.map +1 -1
- package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
- package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
- package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
- package/dist/esm/components/sections/stacked-layout.js.map +1 -1
- package/dist/esm/components/sections/stepper.d.ts.map +1 -1
- package/dist/esm/components/sections/stepper.js.map +1 -1
- package/dist/esm/components/sections/surface.d.ts.map +1 -1
- package/dist/esm/components/sections/surface.js.map +1 -1
- package/dist/esm/components/sections/table.d.ts.map +1 -1
- package/dist/esm/components/sections/table.js.map +1 -1
- package/dist/esm/components/sections/tabs.d.ts.map +1 -1
- package/dist/esm/components/sections/tabs.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +121 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +386 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +56 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -0
- package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsHub.js +32 -5
- package/dist/esm/components/settings/SettingsHub.js.map +1 -1
- package/dist/esm/components/settings/SettingsHub.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsHub.labels.js.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
- package/dist/esm/components/settings/SettingsSectionNavigationHost.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsSectionNavigationHost.js.map +1 -1
- package/dist/esm/components/typography/heading.d.ts.map +1 -1
- package/dist/esm/components/typography/heading.js.map +1 -1
- package/dist/esm/components/typography/label.d.ts.map +1 -1
- package/dist/esm/components/typography/label.js.map +1 -1
- package/dist/esm/components/typography/link.d.ts.map +1 -1
- package/dist/esm/components/typography/link.js.map +1 -1
- package/dist/esm/components/typography/text.d.ts.map +1 -1
- package/dist/esm/components/typography/text.js.map +1 -1
- package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
- package/dist/esm/components/typography/truncated-text.js.map +1 -1
- package/dist/esm/components/views/ViewLayout_Header.d.ts.map +1 -1
- package/dist/esm/components/views/ViewLayout_Header.js.map +1 -1
- package/dist/esm/components/views/ViewNotFound.d.ts.map +1 -1
- package/dist/esm/components/views/ViewNotFound.js.map +1 -1
- package/dist/esm/components/views/ViewNotFound.labels.d.ts.map +1 -1
- package/dist/esm/components/views/ViewNotFound.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartEmptyState.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartEmptyState.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartErrorState.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartErrorState.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.lazy.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.lazy.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.labels.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/WildoEChart.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/WildoEChart.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-export.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-export.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-runtime.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-runtime.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-theme-bridge.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-theme-bridge.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-view.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-view.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/dev/ChartView.example.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/dev/ChartView.example.js.map +1 -1
- package/dist/esm/components/views/chart-view/echarts-setup.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/echarts-setup.js.map +1 -1
- package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/enum-color-bridge.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builder-utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeView.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeView.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeViewContext.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeViewContext.js.map +1 -1
- package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js.map +1 -1
- package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.js.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.d.ts.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.js.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.labels.js.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +11 -7
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
- package/dist/esm/components/views/full-custom-view/FullCustomView.d.ts.map +1 -1
- package/dist/esm/components/views/full-custom-view/FullCustomView.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.js +9 -2
- package/dist/esm/components/views/onboarding-view/OnboardingView.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.labels.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/onboarding-view.utils.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/onboarding-view.utils.js.map +1 -1
- package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
- package/dist/esm/core/app-shell/PortalContainerContext.js.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts +40 -18
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.js +0 -5
- package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
- package/dist/esm/core/app-shell/app-shell.utils.d.ts.map +1 -1
- package/dist/esm/core/app-shell/app-shell.utils.js.map +1 -1
- package/dist/esm/core/app-shell/hosted-components.utils.d.ts.map +1 -1
- package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
- package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts +16 -0
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js +17 -0
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +31 -11
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +34 -25
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +30 -4
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js +233 -17
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
- package/dist/esm/core/billing/BillingContext.d.ts +36 -0
- package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
- package/dist/esm/core/billing/BillingContext.js +1 -0
- package/dist/esm/core/billing/BillingContext.js.map +1 -1
- package/dist/esm/core/billing/BillingErrorNotifier.d.ts.map +1 -1
- package/dist/esm/core/billing/BillingErrorNotifier.js.map +1 -1
- package/dist/esm/core/billing/billing-launcher.d.ts.map +1 -1
- package/dist/esm/core/billing/billing-launcher.js +1 -1
- package/dist/esm/core/billing/billing-launcher.js.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.js.map +1 -1
- package/dist/esm/core/billing/useBilling.d.ts.map +1 -1
- package/dist/esm/core/billing/useBilling.js.map +1 -1
- package/dist/esm/core/billing/useBillingAction.d.ts.map +1 -1
- package/dist/esm/core/billing/useBillingAction.js.map +1 -1
- package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts.map +1 -1
- package/dist/esm/core/billing/useSafeBillingActionExecutor.js.map +1 -1
- package/dist/esm/core/branding/useBrandIdentity.d.ts +17 -0
- package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandIdentity.js +17 -0
- package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
- package/dist/esm/core/commons/devices.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/devices.frontend.schemas.js.map +1 -1
- package/dist/esm/core/commons/local-storage.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/local-storage.frontend.schemas.js.map +1 -1
- package/dist/esm/core/commons/window-event.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/window-event.frontend.schemas.js.map +1 -1
- package/dist/esm/core/companion/companion-exports.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/companion/companion-exports.frontend.definitions.js.map +1 -1
- package/dist/esm/core/components-registry/ComponentNotInjected.d.ts.map +1 -1
- package/dist/esm/core/components-registry/ComponentNotInjected.js.map +1 -1
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +1 -0
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry-loader.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry-loader.frontend.service.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.js +4 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.js +8 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts +188 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js +255 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -0
- package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
- package/dist/esm/core/components-registry/register-framework-layouts.js +2 -0
- package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts +76 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js +99 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -0
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +15 -5
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +44 -7
- package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-level-components.frontend.schemas.js +44 -7
- package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +14 -14
- package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.js.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.d.ts +0 -49
- package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.js +102 -56
- package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
- package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/execution-view.schemas.js.map +1 -1
- package/dist/esm/core/config/flows-actors-view.schemas.d.ts +5 -3
- package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/flows-actors-view.schemas.js +2 -2
- package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
- package/dist/esm/core/config/full-custom-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/full-custom-view.schemas.js.map +1 -1
- package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
- package/dist/esm/core/config/inserted-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/inserted-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +51 -11
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.js +21 -7
- package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/onboarding-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/onboarding-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.js.map +1 -1
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +23 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.js +22 -0
- package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/useSettingsHubConfig.d.ts.map +1 -1
- package/dist/esm/core/config/useSettingsHubConfig.js +8 -1
- package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/verify-feature-references.frontend.d.ts +7 -0
- package/dist/esm/core/config/verify-feature-references.frontend.d.ts.map +1 -1
- package/dist/esm/core/config/verify-feature-references.frontend.js +42 -1
- package/dist/esm/core/config/verify-feature-references.frontend.js.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.js +9 -2
- package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
- package/dist/esm/core/config/views-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/views-frontend.schemas.js.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
- package/dist/esm/core/errors/ErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/ErrorBoundary.js.map +1 -1
- package/dist/esm/core/errors/ErrorContext.d.ts.map +1 -1
- package/dist/esm/core/errors/ErrorContext.js.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
- package/dist/esm/core/errors/RouterErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/RouterErrorBoundary.js.map +1 -1
- package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
- package/dist/esm/core/errors/errors-builder.frontend.services.d.ts.map +1 -1
- package/dist/esm/core/errors/errors-builder.frontend.services.js.map +1 -1
- package/dist/esm/core/errors/errors.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/errors/errors.frontend.schemas.js.map +1 -1
- package/dist/esm/core/errors/http-error-behavior.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/errors/http-error-behavior.frontend.schemas.js.map +1 -1
- package/dist/esm/core/errors/useError.d.ts.map +1 -1
- package/dist/esm/core/errors/useError.js.map +1 -1
- package/dist/esm/core/errors/withErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/withErrorBoundary.js.map +1 -1
- package/dist/esm/core/events/EventBusContext.d.ts.map +1 -1
- package/dist/esm/core/events/EventBusContext.js.map +1 -1
- package/dist/esm/core/events/NotificationContext.d.ts +6 -5
- package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
- package/dist/esm/core/events/NotificationContext.js +41 -39
- package/dist/esm/core/events/NotificationContext.js.map +1 -1
- package/dist/esm/core/events/event-bus.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/events/event-bus.frontend.service.js.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.d.ts +34 -18
- package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.js +22 -1
- package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
- package/dist/esm/core/events/notification-display-policy.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/notification-display-policy.frontend.schemas.js.map +1 -1
- package/dist/esm/core/events/toast.d.ts.map +1 -1
- package/dist/esm/core/events/toast.js.map +1 -1
- package/dist/esm/core/events/useEventBus.d.ts.map +1 -1
- package/dist/esm/core/events/useEventBus.js.map +1 -1
- package/dist/esm/core/events/useNotification.d.ts.map +1 -1
- package/dist/esm/core/events/useNotification.js.map +1 -1
- package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.d.ts.map +1 -1
- package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.js.map +1 -1
- package/dist/esm/core/execution/ExecutionRuntimeContext.d.ts.map +1 -1
- package/dist/esm/core/execution/ExecutionRuntimeContext.js.map +1 -1
- package/dist/esm/core/execution/execution-anchor.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-anchor.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-dirty-markers.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-dirty-markers.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-failure-handling.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-failure-handling.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-outcome-emission.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-outcome-emission.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-participation.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-participation.utils.js.map +1 -1
- package/dist/esm/core/execution/useExecution.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecution.js.map +1 -1
- package/dist/esm/core/execution/useExecutionDirtyBridge.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionDirtyBridge.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationPrefetch.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationPrefetch.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.js.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts +77 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js +114 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -0
- package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.js.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts +33 -15
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js +27 -21
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts +102 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js +117 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js.map +1 -0
- package/dist/esm/core/features/FeatureGate.d.ts.map +1 -1
- package/dist/esm/core/features/FeatureGate.js +1 -1
- package/dist/esm/core/features/FeatureGate.js.map +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.d.ts.map +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.js +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.js.map +1 -1
- package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
- package/dist/esm/core/features/FeaturesContext.js.map +1 -1
- package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts +7 -0
- package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/features/feature-unavailability.frontend.utils.js +5 -0
- package/dist/esm/core/features/feature-unavailability.frontend.utils.js.map +1 -1
- package/dist/esm/core/features/useFeatureAvailability.d.ts +2 -0
- package/dist/esm/core/features/useFeatureAvailability.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatureAvailability.js +4 -2
- package/dist/esm/core/features/useFeatureAvailability.js.map +1 -1
- package/dist/esm/core/features/useFeatureGate.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatureGate.js.map +1 -1
- package/dist/esm/core/features/useFeatures.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatures.js.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +26 -2
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.js +60 -3
- package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
- package/dist/esm/core/flows-actors/useFlowsActors.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/useFlowsActors.js.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.js +2 -2
- package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
- package/dist/esm/core/guidance/GuidanceRenderer.d.ts.map +1 -1
- package/dist/esm/core/guidance/GuidanceRenderer.js.map +1 -1
- package/dist/esm/core/guidance/guidance-audience.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/guidance/guidance-audience.frontend.utils.js.map +1 -1
- package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.d.ts.map +1 -1
- package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.labels.js.map +1 -1
- package/dist/esm/core/guidance/useGuidance.d.ts.map +1 -1
- package/dist/esm/core/guidance/useGuidance.js.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +29 -0
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +76 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
- package/dist/esm/core/hotkey/HotkeyRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/hotkey/HotkeyRegistryContext.js +44 -8
- package/dist/esm/core/hotkey/HotkeyRegistryContext.js.map +1 -1
- package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.d.ts.map +1 -1
- package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.js.map +1 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts +53 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js +78 -13
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts.map +1 -1
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
- package/dist/esm/core/hotkey/useHotkey.d.ts.map +1 -1
- package/dist/esm/core/hotkey/useHotkey.js.map +1 -1
- package/dist/esm/core/i18n/I18nContext.d.ts +32 -0
- package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
- package/dist/esm/core/i18n/I18nContext.js +154 -32
- package/dist/esm/core/i18n/I18nContext.js.map +1 -1
- package/dist/esm/core/i18n/component-label-resolution.utils.d.ts.map +1 -1
- package/dist/esm/core/i18n/component-label-resolution.utils.js.map +1 -1
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts +51 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js +66 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -0
- package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
- package/dist/esm/core/i18n/useI18n.js +22 -2
- package/dist/esm/core/i18n/useI18n.js.map +1 -1
- package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
- package/dist/esm/core/icons/IconRegistryBridge.js.map +1 -1
- package/dist/esm/core/icons/IconRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/icons/IconRegistryContext.js.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.definitions.js.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/icons/useIconRegistry.d.ts.map +1 -1
- package/dist/esm/core/icons/useIconRegistry.js.map +1 -1
- package/dist/esm/core/loading/AppLoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/AppLoadingGate.js.map +1 -1
- package/dist/esm/core/loading/LoadingBarrier.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingBarrier.js.map +1 -1
- package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingContext.js.map +1 -1
- package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingGate.js +16 -3
- package/dist/esm/core/loading/LoadingGate.js.map +1 -1
- package/dist/esm/core/loading/loading-policy.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-policy.frontend.schemas.js.map +1 -1
- package/dist/esm/core/loading/loading-scope.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-scope.frontend.utils.js.map +1 -1
- package/dist/esm/core/loading/loading-types.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-types.frontend.schemas.js.map +1 -1
- package/dist/esm/core/loading/resolveLoadingPolicy.d.ts.map +1 -1
- package/dist/esm/core/loading/resolveLoadingPolicy.js.map +1 -1
- package/dist/esm/core/loading/useAppLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useAppLoading.js.map +1 -1
- package/dist/esm/core/loading/useComponentLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useComponentLoading.js.map +1 -1
- package/dist/esm/core/loading/useEmitLoadingScope.d.ts.map +1 -1
- package/dist/esm/core/loading/useEmitLoadingScope.js.map +1 -1
- package/dist/esm/core/loading/useLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useLoading.js.map +1 -1
- package/dist/esm/core/mode/AppModeContext.d.ts.map +1 -1
- package/dist/esm/core/mode/AppModeContext.js.map +1 -1
- package/dist/esm/core/mode/section-visibility.d.ts.map +1 -1
- package/dist/esm/core/mode/section-visibility.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/useAnalytics.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/useAnalytics.js.map +1 -1
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts +97 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts.map +1 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js +179 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js.map +1 -0
- package/dist/esm/core/monitoring/logger.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/monitoring/logger.frontend.service.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.js +76 -48
- package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.d.ts +12 -0
- package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.js +24 -0
- package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
- package/dist/esm/core/navigation/hosted-pane.constants.d.ts.map +1 -1
- package/dist/esm/core/navigation/hosted-pane.constants.js.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.d.ts +1 -1
- package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +14 -5
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js +146 -17
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.d.ts +58 -10
- package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.js +1 -1
- package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.d.ts +2 -2
- package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.js +4 -4
- package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
- package/dist/esm/core/navigation/primary-destination-layout.d.ts.map +1 -1
- package/dist/esm/core/navigation/primary-destination-layout.js.map +1 -1
- package/dist/esm/core/navigation/useIsStackEntryActive.d.ts.map +1 -1
- package/dist/esm/core/navigation/useIsStackEntryActive.js.map +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.d.ts +8 -0
- package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.js +26 -6
- package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationState.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationState.js.map +1 -1
- package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
- package/dist/esm/core/navigation/useOverlayTitle.js.map +1 -1
- package/dist/esm/core/navigation/useTransactionAwareSyncRetry.d.ts.map +1 -1
- package/dist/esm/core/navigation/useTransactionAwareSyncRetry.js.map +1 -1
- package/dist/esm/core/navigation/view-title-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/view-title-resolution.js.map +1 -1
- package/dist/esm/core/navigation/zone-content-geometry.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-content-geometry.js.map +1 -1
- package/dist/esm/core/navigation/zone-empty-behavior.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-empty-behavior.js.map +1 -1
- package/dist/esm/core/navigation/zone-visible-entry.d.ts +26 -0
- package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -0
- package/dist/esm/core/navigation/zone-visible-entry.js +76 -0
- package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -0
- package/dist/esm/core/requests/api-readiness-checker.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/api-readiness-checker.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
- package/dist/esm/core/requests/client-instance-id.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/client-instance-id.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/network-backoff.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/requests/network-backoff.frontend.utils.js.map +1 -1
- package/dist/esm/core/requests/offline-replay-policy.frontend.d.ts.map +1 -1
- package/dist/esm/core/requests/offline-replay-policy.frontend.js.map +1 -1
- package/dist/esm/core/requests/request-cancellation.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/requests/request-cancellation.frontend.utils.js.map +1 -1
- package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.js.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
- package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useNotificationBadges.js +32 -19
- package/dist/esm/core/requests/websockets/useNotificationBadges.js.map +1 -1
- package/dist/esm/core/requests/websockets/useResourceRoom.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useResourceRoom.js.map +1 -1
- package/dist/esm/core/requests/websockets/useWebSocket.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useWebSocket.js.map +1 -1
- package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +146 -2
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +108 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts +3 -2
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js +57 -4
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +6 -0
- package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client.frontend.service.js +1 -0
- package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewContext.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewContext.js.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewProvider.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewProvider.js.map +1 -1
- package/dist/esm/core/resources/ResourceReadCacheBridge.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceReadCacheBridge.js +130 -37
- package/dist/esm/core/resources/ResourceReadCacheBridge.js.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.js.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
- package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/ephemeral-fields.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/ephemeral-fields.utils.js.map +1 -1
- package/dist/esm/core/resources/file-serve-url.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/file-serve-url.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
- package/dist/esm/core/resources/in-place/InPlaceOperationContext.d.ts.map +1 -1
- package/dist/esm/core/resources/in-place/InPlaceOperationContext.js.map +1 -1
- package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/relationship-quick-create.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-operation-view.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-operation-view.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-path.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-path.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-read-cache.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistryContext.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMWebSocketBridge.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMWebSocketBridge.js.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/rmm/field-path.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/field-path.utils.js.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-constants.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-constants.js.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-noop-snapshot.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-noop-snapshot.js.map +1 -1
- package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/types.js.map +1 -1
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
- package/dist/esm/core/resources/rmm/useListInvalidation.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useListInvalidation.js.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMEventHandler.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMEventHandler.js.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMSnapshot.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMSnapshot.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
- package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.d.ts.map +1 -1
- package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.js.map +1 -1
- package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
- package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
- package/dist/esm/core/resources/useOperationEnabled.d.ts.map +1 -1
- package/dist/esm/core/resources/useOperationEnabled.js.map +1 -1
- package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceLabels.js +20 -14
- package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/resources/useResourceRegistry.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceRegistry.js.map +1 -1
- package/dist/esm/core/resources/useResourceSelection.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceSelection.js.map +1 -1
- package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js.map +1 -1
- package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
- package/dist/esm/core/runtime/AppRouter.js +2 -1
- package/dist/esm/core/runtime/AppRouter.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts +9 -0
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.js +1 -0
- package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
- package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/env-variable-loader.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/env-variable-loader.frontend.service.js.map +1 -1
- package/dist/esm/core/runtime/frontend-companion-resource-inputs.d.ts.map +1 -1
- package/dist/esm/core/runtime/frontend-companion-resource-inputs.js.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +6 -0
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.js +7 -0
- package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/runtime.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/runtime/runtime.frontend.schemas.js.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.d.ts +38 -0
- package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.js +92 -3
- package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
- package/dist/esm/core/runtime/useApplication.d.ts.map +1 -1
- package/dist/esm/core/runtime/useApplication.js.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
- package/dist/esm/core/scope/scope.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/scope/scope.frontend.schemas.js.map +1 -1
- package/dist/esm/core/scope/scope.utils.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/scope/scope.utils.frontend.service.js.map +1 -1
- package/dist/esm/core/scope/useAppScope.d.ts.map +1 -1
- package/dist/esm/core/scope/useAppScope.js.map +1 -1
- package/dist/esm/core/security/AnonymousSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/AnonymousSessionContext.js.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.js +97 -13
- package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/auth-session.utils.d.ts.map +1 -1
- package/dist/esm/core/security/auth-session.utils.js.map +1 -1
- package/dist/esm/core/security/cross-frontend-handoff.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/security/cross-frontend-handoff.frontend.service.js.map +1 -1
- package/dist/esm/core/security/jwt.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/jwt.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
- package/dist/esm/core/security/session-token-storage.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/security/session-token-storage.frontend.service.js.map +1 -1
- package/dist/esm/core/security/useAuthSession.d.ts.map +1 -1
- package/dist/esm/core/security/useAuthSession.js.map +1 -1
- package/dist/esm/core/security/useResolvedAuthConfig.d.ts.map +1 -1
- package/dist/esm/core/security/useResolvedAuthConfig.js.map +1 -1
- package/dist/esm/core/security/useStepUpAuth.d.ts.map +1 -1
- package/dist/esm/core/security/useStepUpAuth.js.map +1 -1
- package/dist/esm/core/security/useUserOrgs.d.ts.map +1 -1
- package/dist/esm/core/security/useUserOrgs.js.map +1 -1
- package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfaceErrorBoundary.js.map +1 -1
- package/dist/esm/core/ui/SurfacePolicyContext.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfacePolicyContext.js.map +1 -1
- package/dist/esm/core/ui/TypographyScopeContext.d.ts.map +1 -1
- package/dist/esm/core/ui/TypographyScopeContext.js.map +1 -1
- package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
- package/dist/esm/core/ui/UIContext.js.map +1 -1
- package/dist/esm/core/ui/chart-style-defaults.d.ts.map +1 -1
- package/dist/esm/core/ui/chart-style-defaults.js.map +1 -1
- package/dist/esm/core/ui/cn.d.ts.map +1 -1
- package/dist/esm/core/ui/cn.js.map +1 -1
- package/dist/esm/core/ui/color-conversion.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/color-conversion.utils.js.map +1 -1
- package/dist/esm/core/ui/design-token-class-groups.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token-class-groups.js.map +1 -1
- package/dist/esm/core/ui/design-token-config.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token-config.utils.js.map +1 -1
- package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token.utils.js.map +1 -1
- package/dist/esm/core/ui/material-runtime.d.ts.map +1 -1
- package/dist/esm/core/ui/material-runtime.js.map +1 -1
- package/dist/esm/core/ui/surface-a11y.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/surface-a11y.utils.js.map +1 -1
- package/dist/esm/core/ui/theme-preference-storage.shared.d.ts.map +1 -1
- package/dist/esm/core/ui/theme-preference-storage.shared.js.map +1 -1
- package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
- package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts +7 -2
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/ui/ui.frontend.schemas.js.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
- package/dist/esm/core/ui/useUI.d.ts.map +1 -1
- package/dist/esm/core/ui/useUI.js.map +1 -1
- package/dist/esm/index.d.ts +7 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +20 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tailwind/index.d.ts.map +1 -1
- package/dist/esm/tailwind/index.js.map +1 -1
- package/dist/esm/testing/mock-builders.d.ts.map +1 -1
- package/dist/esm/testing/mock-builders.js +2 -0
- package/dist/esm/testing/mock-builders.js.map +1 -1
- package/dist/esm/testing/mock-factory.d.ts.map +1 -1
- package/dist/esm/testing/mock-factory.js.map +1 -1
- package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
- package/dist/esm/testing/rmm-helpers.js.map +1 -1
- package/dist/esm/testing/test-providers.d.ts.map +1 -1
- package/dist/esm/testing/test-providers.js.map +1 -1
- package/dist/esm/testing.d.ts.map +1 -1
- package/dist/esm/testing.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +6 -5
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts +0 -21
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +0 -1
- package/dist/esm/components/billing/billing-plan-change-preview.js +0 -12
- package/dist/esm/components/billing/billing-plan-change-preview.js.map +0 -1
- package/dist/esm/components/billing/billing-promotion-code-input.d.ts +0 -12
- package/dist/esm/components/billing/billing-promotion-code-input.d.ts.map +0 -1
- package/dist/esm/components/billing/billing-promotion-code-input.js +0 -11
- package/dist/esm/components/billing/billing-promotion-code-input.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GuidanceContext.js","sourceRoot":"","sources":["../../../../../src/core/guidance/GuidanceContext.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Guidance Context Provider\n *\n * Central frontend context for managing guidance flows (onboarding, tooltips,\n * tours, banners, surveys, checklists). Provides:\n * - Multi-scope state management (USER / ORGANIZATION)\n * - 5 trigger types (FIRST_VISIT, ROUTE_MATCH, EVENT, DELAYED, MANUAL)\n * - Audience evaluation (roles, features, completed flows, creation date)\n * - Coexistence rules (max 1 overlay, max 1 checklist, N inline)\n * - Real-time sync via EventBus\n */\n\nimport React, { createContext, useContext, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type {\n GuidanceFlowDefinition,\n GuidanceFlowState,\n OnboardingElement,\n GuidanceState,\n GuidanceAudience,\n ProgressionState,\n ProgressionMilestoneAchieved,\n ProgressionCategoryProgress,\n MilestoneDefinition,\n LifecycleState,\n WS_LifecycleStageChangedPayload,\n ActivationCriterion,\n} from '@wildo-ai/saas-models';\nimport {\n GuidanceFlowScope,\n GuidanceRenderMode,\n GUIDANCE_SCOPE_TO_RESOURCE,\n OnboardingTriggerType,\n OnboardingStatus,\n isTerminalOnboardingStatus,\n ProgressionScope,\n PROGRESSION_SCOPE_TO_RESOURCE,\n LifecycleStage,\n LifecycleScope,\n LIFECYCLE_SCOPE_TO_RESOURCE,\n GuidanceStateUtils,\n hasReachedStage as hasReachedStageUtil,\n MilestoneRewardType,\n CelebrationDisplayMode,\n CoreResourceOperation,\n ResourceOperationVariantType,\n ResourcesConfig_OperationPathUtils,\n} from '@wildo-ai/saas-models';\nimport { compileResourceGuidance } from './guidance-resource-compiler.shared.utils';\nimport { ApplicationContext } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { FrontendEvents } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport type { FrontendEvent_GuidanceFlow, FrontendEvent_MilestoneAchieved, FrontendEvent_ProgressionUpdated, FrontendEvent_LifecycleStageChanged } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { getManualCallsHttpClient } from '~wildo-frontend-lib/core/requests/wildo-http-client-manual-calls.frontend.service';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport type { ResourceRegistryContextType } from '~wildo-frontend-lib/core/resources/ResourceRegistryContext';\nimport { FeaturesContext } from '~wildo-frontend-lib/core/features/FeaturesContext';\nimport { buildFeaturePolicyRoles } from '~wildo-frontend-lib/core/features/feature-unavailability.frontend.utils';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { errorManagement } from '~wildo-frontend-lib/core/errors/error-management.frontend.service';\nimport { useEmitLoadingScope } from '~wildo-frontend-lib/core/loading/useEmitLoadingScope';\nimport { ContextLoadingIdentifier } from '~wildo-frontend-lib/core/loading/loading-types.frontend.schemas';\nimport {\n evaluateGuidanceAudience,\n type GuidanceAudienceContext,\n} from './guidance-audience.frontend.utils';\n\n// ─── Progression Context Slice (Phase 4) ────────────────────────\n\nexport interface ProgressionContextSlice {\n /** Scoped progression states — separate state per active scope */\n scopedStates: Record<ProgressionScope, ProgressionState | null>;\n /** Quick lookup: is a specific milestone achieved? (searches all scopes) */\n isMilestoneAchieved: (milestoneRef: string) => boolean;\n /** Get achievement details for a milestone (searches all scopes) */\n getMilestoneAchievement: (milestoneRef: string) => ProgressionMilestoneAchieved | undefined;\n /** Get progress for a category (merged across scopes) */\n getCategoryProgress: (category: string) => ProgressionCategoryProgress | undefined;\n /** Total points (summed across all scopes) */\n totalPoints: number;\n /** All milestone definitions (for display) */\n milestoneDefinitions: MilestoneDefinition[];\n /** Whether initial progression state is still loading */\n isLoading: boolean;\n}\n\n// ─── Lifecycle Context Slice (Phase 5) ───────────────────────────\n\nexport interface LifecycleContextSlice {\n /** Current lifecycle stage (null if system disabled or loading) */\n currentStage: LifecycleStage | null;\n /** When the current stage was entered */\n stageEnteredAt: Date | null;\n /** Whether lifecycle system is enabled (from app config) */\n isEnabled: boolean;\n /** Whether initial state is loading */\n isLoading: boolean;\n /** Check if user has reached at least a specific stage */\n hasReachedStage: (stage: LifecycleStage) => boolean;\n /** Activation progress (which criteria are met) */\n activationProgress: {\n criteriaMet: Record<string, boolean>;\n /** Full activation criteria definitions (for tActivationCriterion dispatch) */\n criteria: ActivationCriterion[];\n totalCriteria: number;\n metCriteria: number;\n isFullyActivated: boolean;\n };\n}\n\n// ─── Context Value Interface ────────────────────────────────────\n\nexport interface GuidanceContextValue {\n /** Currently active (visible) guidance flow definitions */\n activeFlows: GuidanceFlowDefinition[];\n /** All flow states keyed by flow ref (across all scopes) */\n flowStates: Record<string, GuidanceFlowState>;\n /** Manually activate a flow by ref (MANUAL trigger or re-activate) */\n activateFlow: (ref: string) => void;\n /** Mark a specific element within a flow as completed */\n completeElement: (flowRef: string, elementRef: string, data?: { surveyAnswers?: Record<string, unknown>; lastStepIndex?: number }) => void;\n /** Mark an entire flow as completed */\n completeFlow: (flowRef: string) => void;\n /** Dismiss a flow (user closed it; may re-trigger later based on config) */\n dismissFlow: (flowRef: string) => void;\n /** Skip a flow (user chose to skip; recorded as SKIPPED status) */\n skipFlow: (flowRef: string) => void;\n /** Check if a flow is currently active */\n isFlowActive: (ref: string) => boolean;\n /** Check if a flow has been completed */\n isFlowCompleted: (ref: string) => boolean;\n /**\n * Whether a ref has a persistence identity in this context — i.e. it is a\n * registered guidance flow OR an app-config onboarding view. A standalone\n * `OnboardingView` uses this to know whether dismiss/complete/skip under its\n * `doc.ref` will actually persist (vs. transient local-only state).\n */\n isFlowPersistable: (ref: string) => boolean;\n /** Whether guidance state is still loading */\n isLoading: boolean;\n /** Progression sub-object — added by Phase 4.\n * Separate from guidance but co-located in the same context to avoid provider multiplication.\n * useProgression() hook selects only this slice. */\n progression: ProgressionContextSlice;\n /** Lifecycle sub-object — added by Phase 5.\n * Tracks user lifecycle stage (signed_up → activated → engaged → dormant → reactivated).\n * useLifecycle() hook selects only this slice. */\n lifecycle: LifecycleContextSlice;\n}\n\n// ─── Context ────────────────────────────────────────────────────\n\n// Note: useGuidance / useLifecycle / useProgression hooks are in useGuidance.ts for React Fast Refresh compatibility.\nexport const GuidanceContext = createContext<GuidanceContextValue | null>(null);\n\nconst EMPTY_ACTIVE_FLOWS: GuidanceFlowDefinition[] = [];\nconst EMPTY_FLOW_STATES: Record<string, GuidanceFlowState> = {};\nconst EMPTY_MILESTONE_DEFINITIONS: MilestoneDefinition[] = [];\nconst EMPTY_SCOPED_PROGRESSION: Record<ProgressionScope, ProgressionState | null> = {\n [ProgressionScope.USER]: null,\n [ProgressionScope.ORGANIZATION]: null,\n};\n\nexport const PROGRESSION_DEFAULTS: ProgressionContextSlice = {\n scopedStates: EMPTY_SCOPED_PROGRESSION,\n isMilestoneAchieved: () => false,\n getMilestoneAchievement: () => undefined,\n getCategoryProgress: () => undefined,\n totalPoints: 0,\n milestoneDefinitions: EMPTY_MILESTONE_DEFINITIONS,\n isLoading: false,\n};\n\nexport const LIFECYCLE_DEFAULTS: LifecycleContextSlice = {\n currentStage: null,\n stageEnteredAt: null,\n isEnabled: false,\n isLoading: false,\n hasReachedStage: () => false,\n activationProgress: {\n criteriaMet: {},\n criteria: [],\n totalCriteria: 0,\n metCriteria: 0,\n isFullyActivated: false,\n },\n};\n\n// H3-10: Module-level stable fallback — prevents new object on every render outside provider\nexport const GUIDANCE_FALLBACK: GuidanceContextValue = {\n activeFlows: EMPTY_ACTIVE_FLOWS,\n flowStates: EMPTY_FLOW_STATES,\n activateFlow: () => {},\n completeElement: () => {},\n completeFlow: () => {},\n dismissFlow: () => {},\n skipFlow: () => {},\n isFlowActive: () => false,\n isFlowCompleted: () => false,\n isFlowPersistable: () => false,\n isLoading: false,\n progression: PROGRESSION_DEFAULTS,\n lifecycle: LIFECYCLE_DEFAULTS,\n};\n\n\n// ─── Internal Types ─────────────────────────────────────────────\n\n/** Merged state across all applicable scopes */\n/**\n * Minimal projection of a \"persistable\" guidance entity used by the lifecycle\n * guards (complete / dismiss / skip / completeElement) + scope resolution. Both\n * registered guidance flows AND app-config onboarding views project into this\n * shape via `persistenceRegistry`. `renderMode` is present only for real\n * guidance flows; `undefined` marks an onboarding view, which suppresses\n * `GUIDANCE_FLOW_*` events (an onboarding view is not a flow).\n */\ninterface PersistenceFlowEntry {\n ref: string;\n scope: GuidanceFlowScope;\n elements: OnboardingElement[];\n renderMode?: GuidanceRenderMode;\n}\n\ntype ScopedStates = Partial<Record<GuidanceFlowScope, GuidanceState>>;\n\n// ─── State Persistence Helpers ──────────────────────────────────\n\nfunction findApiCallOperation(\n registry: ResourceRegistryContextType['registry'],\n resourceType: string,\n operationId: string,\n) {\n const config = registry.resourceConfigurations[resourceType];\n if (!config) return null;\n return config.operations.find(\n (o: any) => o.operationIdentifier === operationId\n && o.isOperationDefault === true\n && o.isBulkOperation !== true\n && (\n o.variantType === ResourceOperationVariantType.API_CALL\n || o.variantType === ResourceOperationVariantType.API_CALL_WITH_CALLBACK\n )\n ) ?? null;\n}\n\nasync function fetchGuidanceState(\n scope: GuidanceFlowScope,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<GuidanceState | null> {\n const resourceType = GUIDANCE_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.READ);\n if (!operation) return { flows: {} };\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n const result = await doOperation<GuidanceState>(\n operationPath,\n { contextualParameters: {} },\n { silent: true },\n );\n return result ?? { flows: {} };\n } catch (err: unknown) {\n if (errorManagement.isNotFoundError(err)) return null;\n return { flows: {} };\n }\n}\n\nasync function createGuidanceState(\n scope: GuidanceFlowScope,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<GuidanceState> {\n const resourceType = GUIDANCE_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.CREATE);\n if (!operation) return { flows: {} };\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n const result = await doOperation<GuidanceState>(\n operationPath,\n {\n contextualParameters: {},\n requestData: { flows: {} },\n },\n { silent: true },\n );\n return result ?? { flows: {} };\n } catch {\n // M14: Another tab may have created it — retry read\n const existingState = await fetchGuidanceState(scope, doOperation, registry);\n if (existingState) return existingState;\n return { flows: {} };\n }\n}\n\nasync function persistGuidanceState(\n scope: GuidanceFlowScope,\n state: GuidanceState,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<void> {\n const resourceType = GUIDANCE_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.UPDATE);\n if (!operation) return;\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n await doOperation(operationPath, { contextualParameters: {}, requestData: state });\n } catch {\n /* Best-effort persistence — ScopedResourceRegistryProvider injects scope params */\n }\n}\n\n// ─── Progression State Persistence Helpers ──────────────────────\n\ntype ProgressionScopedStates = Record<ProgressionScope, ProgressionState | null>;\n\nasync function fetchProgressionState(\n scope: ProgressionScope,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<ProgressionState | null> {\n const resourceType = PROGRESSION_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.READ);\n if (!operation) return null;\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n const result = await doOperation<ProgressionState>(\n operationPath,\n { contextualParameters: {} },\n { silent: true },\n );\n return result ?? { milestonesAchieved: {}, operationCounts: {}, totalPoints: 0, categoriesProgress: {} };\n } catch (err: unknown) {\n if (errorManagement.isNotFoundError(err)) return null;\n return { milestonesAchieved: {}, operationCounts: {}, totalPoints: 0, categoriesProgress: {} };\n }\n}\n\nasync function fetchMilestoneDefinitions(analyticsEnabled: boolean): Promise<MilestoneDefinition[]> {\n if (!analyticsEnabled) {\n return [];\n }\n\n try {\n const response = await getManualCallsHttpClient().getMilestoneDefinitions({ silent: true });\n return response?.definitions ?? [];\n } catch {\n return [];\n }\n}\n\n// ─── Lifecycle State Persistence Helpers (Phase 5) ──────────────\n\ntype LifecycleScopedStates = Record<LifecycleScope, LifecycleState | null>;\n\nconst EMPTY_SCOPED_LIFECYCLE: LifecycleScopedStates = {\n [LifecycleScope.USER]: null,\n [LifecycleScope.ORGANIZATION]: null,\n};\n\nasync function fetchLifecycleState(\n scope: LifecycleScope,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<LifecycleState | null> {\n const resourceType = LIFECYCLE_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.READ);\n if (!operation) return null;\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n const result = await doOperation<LifecycleState>(\n operationPath,\n { contextualParameters: {} },\n { silent: true },\n );\n return result ?? null;\n } catch {\n return null;\n }\n}\n\n// ─── Audience Evaluator ─────────────────────────────────────────\n\n// ─── Coexistence Enforcer ───────────────────────────────────────\n\nfunction enforceCoexistence(\n eligible: GuidanceFlowDefinition[],\n): GuidanceFlowDefinition[] {\n const sorted = [...eligible].sort((a, b) => (a.priority ?? 100) - (b.priority ?? 100));\n\n const result: GuidanceFlowDefinition[] = [];\n let hasOverlay = false;\n let hasChecklist = false;\n\n for (const flow of sorted) {\n switch (flow.renderMode) {\n case GuidanceRenderMode.OVERLAY:\n if (!hasOverlay) {\n result.push(flow);\n hasOverlay = true;\n }\n break;\n case GuidanceRenderMode.CHECKLIST:\n if (!hasChecklist) {\n result.push(flow);\n hasChecklist = true;\n }\n break;\n case GuidanceRenderMode.INLINE:\n result.push(flow);\n break;\n }\n }\n\n return result;\n}\n\n// ─── Provider Component ─────────────────────────────────────────\n\nexport interface GuidanceContextProviderProps {\n children: React.ReactNode;\n}\n\nexport const GuidanceContextProvider: React.FC<GuidanceContextProviderProps> = ({ children }) => {\n const appContext = useContext(ApplicationContext);\n const { on, emit } = useEventBus();\n const userOrgs = useUserOrgs();\n const appScope = useAppScopeSafe();\n const resourceRegistry = useResourceRegistry();\n const featuresCtx = useContext(FeaturesContext);\n\n // Latest-value ref for the resource registry, read from inside the async\n // initialization effects below (guidance / progression / lifecycle).\n //\n // WHY A REF INSTEAD OF A DEP: `resourceRegistry` (and `userOrgs`) are\n // stable-INTENT service handles, but their memoized context-value identity\n // legitimately changes several times during app boot — e.g. `useUserOrgs()`\n // re-memoizes as `user`, `permissions`, `privacy`, and `organizations` resolve\n // at independent times, none of which change `applicableScopes`. If these\n // handles are listed directly in an init effect's dependency array, every such\n // identity change re-runs the effect MID-FETCH: the previous run's cleanup sets\n // `cancelled = true` (so its `if (cancelled) return` guard drops the in-flight\n // commit), while the re-run immediately hits the `initRef` re-entry guard —\n // which is only reset by the M9 scope-change effect, NOT by a handle-identity\n // change — so no replacement fetch ever starts. The net effect is that the\n // fetched guidance/progression state is silently never committed to state:\n // `flowStates` stays empty, onboarding/guidance re-appear on every load, and\n // the next user action full-replaces the persisted document. Reading the\n // registry through this render-synced ref lets each init effect depend ONLY on\n // its genuine fetch inputs (the applicable scope set + the auth gate) while\n // still using the latest handle at call time.\n const resourceRegistryRef = useRef(resourceRegistry);\n resourceRegistryRef.current = resourceRegistry;\n\n const logger = useMemo(() => LoggerFrontendService.getLogger(), []);\n const logDebug = useMemo(() => {\n const debugFn = logger.debugByType('GuidanceContext');\n logger.setDebugTypeLogging('GuidanceContext', false);\n return debugFn;\n }, [logger]);\n\n // ─── Flow Registry ──────────────────────────────────────────\n\n const flowDefinitions = useMemo<GuidanceFlowDefinition[]>(() => {\n const appFlows: GuidanceFlowDefinition[] = [];\n const frontendConfig = appContext?.frontendConfiguration;\n if (frontendConfig?.guidanceFlows) {\n appFlows.push(...frontendConfig.guidanceFlows);\n }\n\n // Compile resource-level guidance declarations into standard GuidanceFlowDefinition objects\n const resourceFlows: GuidanceFlowDefinition[] = [];\n if (resourceRegistry?.registry) {\n for (const resourceType of resourceRegistry.getAvailableResourceTypes()) {\n const config = resourceRegistry.getResourceConfiguration(resourceType);\n const guidanceDeclarations = (config as any)?.frontendConfiguration?.guidance;\n if (guidanceDeclarations && Array.isArray(guidanceDeclarations) && guidanceDeclarations.length > 0) {\n const compiled = compileResourceGuidance({\n resourceType,\n guidanceFlows: guidanceDeclarations,\n });\n resourceFlows.push(...compiled);\n }\n }\n }\n\n return [...appFlows, ...resourceFlows];\n }, [appContext?.frontendConfiguration, resourceRegistry]);\n\n // flowRegistry — guidance flows ONLY. Used by the trigger engine\n // (`tryActivateFlow`), which needs the full `GuidanceFlowDefinition`\n // (audience / renderMode / trigger). Onboarding views are deliberately NOT\n // here, so they never auto-activate and `GuidanceRenderer` never renders them\n // as overlays (they are rendered explicitly via `<EmbedOnboarding/>`).\n const flowRegistry = useMemo<Map<string, GuidanceFlowDefinition>>(() => {\n const map = new Map<string, GuidanceFlowDefinition>();\n for (const flow of flowDefinitions) {\n map.set(flow.ref, flow);\n }\n return map;\n }, [flowDefinitions]);\n\n // Onboarding views declared in app config (`<EmbedOnboarding/>` / OnboardingView\n // surfaces). They are NOT guidance flows — explicitly embedded, never triggered —\n // but they DO get a first-class persistence identity so an embedded wizard's\n // dismiss / complete / skip sticks under the view's OWN ref (no parallel\n // guidance flow required).\n const onboardingViewDefinitions = useMemo(\n () => appContext?.frontendConfiguration?.onboardingViews ?? [],\n [appContext?.frontendConfiguration],\n );\n\n // persistenceRegistry — SUPERSET of flowRegistry that also includes onboarding\n // views, projected into the minimal `PersistenceFlowEntry` shape. Used ONLY by\n // the lifecycle guards (completeElement / completeFlow / dismissFlow / skipFlow)\n // + scope resolution + the init gate — deliberately NOT by the trigger engine,\n // `activeFlows`, or `GuidanceRenderer`.\n const persistenceRegistry = useMemo<Map<string, PersistenceFlowEntry>>(() => {\n const map = new Map<string, PersistenceFlowEntry>();\n for (const flow of flowDefinitions) {\n map.set(flow.ref, {\n ref: flow.ref,\n scope: flow.scope ?? GuidanceFlowScope.USER,\n elements: flow.elements,\n renderMode: flow.renderMode,\n });\n }\n for (const view of onboardingViewDefinitions) {\n // First registration wins so an explicit guidance flow with the same ref is\n // never shadowed. Onboarding views persist under USER scope (personal\n // \"dismissed\" state); `renderMode: undefined` marks them as non-flows so the\n // guards suppress `GUIDANCE_FLOW_*` events for them.\n if (!map.has(view.ref)) {\n map.set(view.ref, {\n ref: view.ref,\n scope: GuidanceFlowScope.USER,\n elements: view.elements,\n renderMode: undefined,\n });\n }\n }\n return map;\n }, [flowDefinitions, onboardingViewDefinitions]);\n\n // True when there is anything whose persisted state must be loaded (guidance\n // flows OR onboarding views). Gates guidance-state loading + init so an app\n // with onboarding views but zero guidance flows still hydrates its state.\n const hasPersistableFlows = persistenceRegistry.size > 0;\n\n const flowScopeMap = useMemo<Record<string, GuidanceFlowScope>>(() => {\n const map: Record<string, GuidanceFlowScope> = {};\n for (const entry of persistenceRegistry.values()) {\n map[entry.ref] = entry.scope;\n }\n return map;\n }, [persistenceRegistry]);\n\n // ─── State ──────────────────────────────────────────────────\n\n const [scopedStates, setScopedStates] = useState<ScopedStates>({});\n const scopedStatesRef = useRef<ScopedStates>({});\n const [activeFlowRefs, setActiveFlowRefs] = useState<Set<string>>(new Set());\n const [isLoading, setIsLoading] = useState(true);\n const initRef = useRef(false);\n const delayTimersRef = useRef<Map<string, ReturnType<typeof setTimeout>>>(new Map());\n const pendingFeatureActivationRefsRef = useRef<Set<string>>(new Set());\n\n const commitScopedStates = useCallback((nextStates: ScopedStates): ScopedStates => {\n scopedStatesRef.current = nextStates;\n setScopedStates(nextStates);\n return nextStates;\n }, []);\n\n const updateScopedStates = useCallback((\n updater: (prev: ScopedStates) => ScopedStates,\n ): ScopedStates => {\n const nextStates = updater(scopedStatesRef.current);\n return commitScopedStates(nextStates);\n }, [commitScopedStates]);\n\n // Progression state (Phase 4)\n const [progressionScopedStates, setProgressionScopedStates] = useState<ProgressionScopedStates>({ ...EMPTY_SCOPED_PROGRESSION });\n const [progressionIsLoading, setProgressionIsLoading] = useState(true);\n const progressionInitRef = useRef(false);\n const [milestoneDefinitions, setMilestoneDefinitions] = useState<MilestoneDefinition[]>(EMPTY_MILESTONE_DEFINITIONS);\n\n // ─── Lifecycle State (Phase 5) ────────────────────────────────\n const lifecycleConfig = appContext?.appConfig?.lifecycle;\n const lifecycleEnabled = !!lifecycleConfig?.enabled;\n const [lifecycleScopedStates, setLifecycleScopedStates] = useState<LifecycleScopedStates>({ ...EMPTY_SCOPED_LIFECYCLE });\n const [lifecycleIsLoading, setLifecycleIsLoading] = useState(lifecycleEnabled);\n const lifecycleInitRef = useRef(false);\n const lifecycleActivationCriteria = useMemo(\n () => lifecycleConfig?.activationCriteria,\n [lifecycleConfig?.activationCriteria],\n );\n const currentUserId = userOrgs.user?._id ?? null;\n const isAuthenticated = !!userOrgs.auth.accessToken;\n const analyticsEnabled = !!appContext?.appConfig?.analytics?.enabled;\n const featuresAreLoading = featuresCtx?.isLoading ?? false;\n const guidanceIsBootstrapping = isAuthenticated && hasPersistableFlows && !initRef.current;\n const guidanceIsLoading = isAuthenticated\n ? (hasPersistableFlows ? (isLoading || guidanceIsBootstrapping) : false)\n : false;\n\n // L-2.b: publish progression + lifecycle loading lifecycles to LoadingContext\n // so unrelated components can observe via `useComponentLoading({\n // customIdentifier: ContextLoadingIdentifier.PROGRESSION | .LIFECYCLE })`.\n // Local boolean state is still exposed for direct consumers (back-compat).\n //\n // `hasLoadedOnce` is intentionally **omitted** here: the progression and\n // lifecycle subsystems do not have a granular \"refresh existing data\"\n // path — every transition that flips `isLoading` back to `true` (auth\n // change, scope change, org switch) ALSO resets the underlying scoped\n // states to empty in the same render commit (see the auth-switch effect\n // and the scope-change effect above). A \"refresh\" with stale data on\n // screen never happens, so the hook's default `INITIAL` phase is the\n // correct semantic. Reading `progressionInitRef.current` /\n // `lifecycleInitRef.current` here would be misleading: those refs flip\n // to `true` at the **start** of init (as a re-entry guard), not on\n // success — they would always read `false` at emission time anyway,\n // because they're reset to `false` in the same commit that flips\n // `isLoading` back to `true`.\n useEmitLoadingScope({\n identifier: ContextLoadingIdentifier.PROGRESSION,\n isLoading: progressionIsLoading,\n });\n useEmitLoadingScope({\n identifier: ContextLoadingIdentifier.LIFECYCLE,\n isLoading: lifecycleIsLoading,\n });\n\n // Derive applicable scopes from current user context\n const applicableScopes = useMemo<GuidanceFlowScope[]>(() => {\n const scopes: GuidanceFlowScope[] = [GuidanceFlowScope.USER];\n if (appScope?.currentOrganizationId) {\n scopes.push(GuidanceFlowScope.ORGANIZATION);\n }\n return scopes;\n }, [appScope?.currentOrganizationId]);\n\n useEffect(() => {\n scopedStatesRef.current = scopedStates;\n }, [scopedStates]);\n\n // M9: Reset init refs and org-scoped caches when applicable scopes change.\n const prevScopesRef = useRef(applicableScopes);\n useEffect(() => {\n if (prevScopesRef.current !== applicableScopes) {\n initRef.current = false;\n progressionInitRef.current = false;\n lifecycleInitRef.current = false;\n pendingFeatureActivationRefsRef.current.clear();\n prevScopesRef.current = applicableScopes;\n\n if (isAuthenticated && hasPersistableFlows) {\n setIsLoading(true);\n }\n if (isAuthenticated) {\n setProgressionIsLoading(true);\n }\n if (isAuthenticated && lifecycleEnabled) {\n setLifecycleIsLoading(true);\n }\n\n updateScopedStates(prev => {\n if (!(GuidanceFlowScope.ORGANIZATION in prev)) {\n return prev;\n }\n const next = { ...prev };\n delete next[GuidanceFlowScope.ORGANIZATION];\n return next;\n });\n setProgressionScopedStates(prev => ({\n ...prev,\n [ProgressionScope.ORGANIZATION]: null,\n }));\n setLifecycleScopedStates(prev => ({\n ...prev,\n [LifecycleScope.ORGANIZATION]: null,\n }));\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n for (const flow of flowDefinitions) {\n if ((flow.scope ?? GuidanceFlowScope.USER) === GuidanceFlowScope.ORGANIZATION) {\n next.delete(flow.ref);\n }\n }\n return next;\n });\n }\n }, [applicableScopes, flowDefinitions, hasPersistableFlows, isAuthenticated, lifecycleEnabled, updateScopedStates]);\n\n const previousAuthStateRef = useRef<{\n isAuthenticated: boolean;\n userId: string | null;\n }>({\n isAuthenticated,\n userId: currentUserId,\n });\n useEffect(() => {\n const previousAuthState = previousAuthStateRef.current;\n const loggedOut = previousAuthState.isAuthenticated && !isAuthenticated;\n const switchedUsers =\n previousAuthState.userId !== null\n && currentUserId !== null\n && previousAuthState.userId !== currentUserId;\n\n previousAuthStateRef.current = {\n isAuthenticated,\n userId: currentUserId,\n };\n\n if (!loggedOut && !switchedUsers) {\n return;\n }\n\n for (const timer of delayTimersRef.current.values()) {\n clearTimeout(timer);\n }\n delayTimersRef.current.clear();\n\n initRef.current = false;\n progressionInitRef.current = false;\n lifecycleInitRef.current = false;\n pendingFeatureActivationRefsRef.current.clear();\n\n commitScopedStates({});\n setActiveFlowRefs(new Set());\n setProgressionScopedStates({ ...EMPTY_SCOPED_PROGRESSION });\n setMilestoneDefinitions(EMPTY_MILESTONE_DEFINITIONS);\n setLifecycleScopedStates({ ...EMPTY_SCOPED_LIFECYCLE });\n\n setIsLoading(isAuthenticated && hasPersistableFlows);\n setProgressionIsLoading(isAuthenticated);\n setLifecycleIsLoading(isAuthenticated && lifecycleEnabled);\n }, [commitScopedStates, currentUserId, hasPersistableFlows, isAuthenticated, lifecycleEnabled]);\n\n // Flatten all flow states across scopes into a single record\n const flowStates = useMemo<Record<string, GuidanceFlowState>>(() => {\n const merged: Record<string, GuidanceFlowState> = {};\n for (const scope of applicableScopes) {\n const state = scopedStates[scope];\n if (state?.flows) {\n Object.assign(merged, state.flows);\n }\n }\n return merged;\n }, [scopedStates, applicableScopes]);\n\n // Build audience context for evaluations\n const audienceContext = useMemo<GuidanceAudienceContext>(() => {\n const completedRefs = new Set<string>();\n for (const [ref, state] of Object.entries(flowStates)) {\n if (state.status === OnboardingStatus.COMPLETED) {\n completedRefs.add(ref);\n }\n }\n const userRoles = buildFeaturePolicyRoles(userOrgs.permissions, appScope?.currentOrganizationId)\n .filter(Boolean);\n // H3-3: Collect user features from FeaturesContext (resolved features from backend)\n const userFeatures: string[] = featuresCtx?.resolvedFeatures?.features ?? [];\n const featureLimits = featuresCtx?.resolvedFeatures?.limits ?? {};\n const currentUsage = featuresCtx?.resolvedFeatures?.currentUsage ?? {};\n return {\n userRoles,\n userFeatures,\n featureLimits,\n currentUsage,\n completedFlowRefs: completedRefs,\n userCreatedAt: userOrgs.user?.createdAt ? new Date(userOrgs.user.createdAt) : undefined,\n };\n }, [\n flowStates,\n userOrgs.permissions,\n appScope?.currentOrganizationId,\n userOrgs.user?.createdAt,\n featuresCtx?.resolvedFeatures?.features,\n featuresCtx?.resolvedFeatures?.limits,\n featuresCtx?.resolvedFeatures?.currentUsage,\n ]);\n\n // ─── Initialization ─────────────────────────────────────────\n\n // H3-8: Abort guard prevents setState on unmounted/stale effect\n useEffect(() => {\n if (initRef.current || !hasPersistableFlows || !isAuthenticated) return;\n initRef.current = true;\n let cancelled = false;\n\n const initialize = async () => {\n // Read the latest registry handle at call time (see resourceRegistryRef).\n const registry = resourceRegistryRef.current;\n logDebug('Initializing guidance state', { scopes: applicableScopes, flowCount: persistenceRegistry.size });\n\n const stateResults = await Promise.allSettled(\n applicableScopes.map(async (scope) => {\n let state = await fetchGuidanceState(scope, registry.doOperation, registry.registry);\n if (state === null) {\n logDebug(`Auto-creating guidance state for scope ${scope}`);\n state = await createGuidanceState(scope, registry.doOperation, registry.registry);\n }\n return { scope, state };\n }),\n );\n\n if (cancelled) return;\n\n const newStates: ScopedStates = {};\n for (const result of stateResults) {\n if (result.status === 'fulfilled' && result.value.state) {\n newStates[result.value.scope] = result.value.state;\n }\n }\n\n // M7: Functional updater — merge with any concurrent WS updates\n updateScopedStates(prev => ({ ...prev, ...newStates }));\n setIsLoading(false);\n logDebug('Guidance state loaded', { scopeCount: Object.keys(newStates).length });\n };\n\n initialize();\n return () => { cancelled = true; };\n // Deps are the genuine fetch inputs ONLY: the applicable scope set + the\n // auth gate + the persistable-flows gate. Service handles (resourceRegistry)\n // are read via ref so their boot-time identity churn cannot cancel the\n // in-flight fetch before it commits. logDebug / updateScopedStates are stable\n // (useMemo/useCallback with stable deps).\n }, [hasPersistableFlows, applicableScopes, isAuthenticated, logDebug, updateScopedStates]);\n\n // ─── Progression Initialization (Phase 4) ──────────────────\n\n const progressionApplicableScopes = useMemo<ProgressionScope[]>(() => {\n const scopes: ProgressionScope[] = [ProgressionScope.USER];\n if (appScope?.currentOrganizationId) {\n scopes.push(ProgressionScope.ORGANIZATION);\n }\n return scopes;\n }, [appScope?.currentOrganizationId]);\n\n // H3-8: Abort guard for progression init\n useEffect(() => {\n if (progressionInitRef.current || !isAuthenticated) return;\n progressionInitRef.current = true;\n let cancelled = false;\n\n const initializeProgression = async () => {\n // Read the latest registry handle at call time (see resourceRegistryRef).\n const registry = resourceRegistryRef.current;\n logDebug('Initializing progression state', { scopes: progressionApplicableScopes });\n\n const [stateResults, definitions] = await Promise.all([\n Promise.allSettled(\n progressionApplicableScopes.map(async (scope) => {\n const state = await fetchProgressionState(scope, registry.doOperation, registry.registry);\n return { scope, state };\n }),\n ),\n fetchMilestoneDefinitions(analyticsEnabled),\n ]);\n\n if (cancelled) return;\n\n const newStates: ProgressionScopedStates = { ...EMPTY_SCOPED_PROGRESSION };\n for (const result of stateResults) {\n if (result.status === 'fulfilled' && result.value.state) {\n newStates[result.value.scope] = result.value.state;\n }\n }\n\n // M7: Functional updater — merge with concurrent WS updates\n setProgressionScopedStates(prev => ({ ...prev, ...newStates }));\n if (definitions.length > 0) {\n setMilestoneDefinitions(definitions);\n }\n setProgressionIsLoading(false);\n logDebug('Progression state loaded', {\n scopeCount: Object.values(newStates).filter(Boolean).length,\n milestoneDefinitionCount: definitions.length,\n });\n };\n\n initializeProgression();\n return () => { cancelled = true; };\n // Genuine fetch inputs ONLY (scope set + analytics gate + auth gate).\n // resourceRegistry read via ref; appContext dropped (only its derived\n // `analyticsEnabled` boolean is used, and it is already a dep).\n }, [analyticsEnabled, progressionApplicableScopes, isAuthenticated, logDebug]);\n\n // ─── Lifecycle Initialization (Phase 5) ─────────────────────\n\n const lifecycleApplicableScopes = useMemo<LifecycleScope[]>(() => {\n if (!lifecycleEnabled) return [];\n const scopes: LifecycleScope[] = [LifecycleScope.USER];\n if (appScope?.currentOrganizationId) {\n scopes.push(LifecycleScope.ORGANIZATION);\n }\n return scopes;\n }, [lifecycleEnabled, appScope?.currentOrganizationId]);\n\n // H3-8: Abort guard for lifecycle init\n useEffect(() => {\n if (lifecycleInitRef.current || !isAuthenticated || !lifecycleEnabled) {\n return;\n }\n lifecycleInitRef.current = true;\n let cancelled = false;\n\n const initializeLifecycle = async () => {\n // Read the latest registry handle at call time (see resourceRegistryRef).\n const registry = resourceRegistryRef.current;\n setLifecycleIsLoading(true);\n logDebug('Initializing lifecycle state', { scopes: lifecycleApplicableScopes });\n\n const stateResults = await Promise.allSettled(\n lifecycleApplicableScopes.map(async (scope) => {\n const state = await fetchLifecycleState(scope, registry.doOperation, registry.registry);\n return { scope, state: state ?? GuidanceStateUtils.createInitialLifecycleState() };\n }),\n );\n\n if (cancelled) return;\n\n const newStates: LifecycleScopedStates = { ...EMPTY_SCOPED_LIFECYCLE };\n for (const result of stateResults) {\n if (result.status === 'fulfilled' && result.value.state) {\n newStates[result.value.scope] = result.value.state;\n }\n }\n\n // M7: Functional updater — merge with concurrent WS updates\n setLifecycleScopedStates(prev => ({ ...prev, ...newStates }));\n setLifecycleIsLoading(false);\n logDebug('Lifecycle state loaded', { scopeCount: Object.values(newStates).filter(Boolean).length });\n };\n\n initializeLifecycle();\n return () => { cancelled = true; };\n // Genuine fetch inputs ONLY (scope set + lifecycle gate + auth gate).\n // resourceRegistry read via ref so boot-time identity churn cannot cancel\n // the in-flight fetch before it commits.\n }, [lifecycleApplicableScopes, isAuthenticated, lifecycleEnabled, logDebug]);\n\n // ─── State Mutation Helpers ─────────────────────────────────\n\n const resolveFlowStateScope = useCallback((\n flowRef: string,\n candidateStates: ScopedStates = scopedStatesRef.current,\n ): GuidanceFlowScope => {\n const matchingScopes = [GuidanceFlowScope.USER, GuidanceFlowScope.ORGANIZATION].filter(\n (scope) => candidateStates[scope]?.flows?.[flowRef] !== undefined,\n );\n const activeScope = matchingScopes.find(\n (scope) => candidateStates[scope]?.flows?.[flowRef]?.status === OnboardingStatus.IN_PROGRESS,\n );\n\n return activeScope\n ?? matchingScopes[0]\n ?? flowScopeMap[flowRef]\n ?? GuidanceFlowScope.USER;\n }, [flowScopeMap]);\n\n // H5: Compute the persisted state synchronously from the latest committed ref.\n // React may defer functional state updaters, so deriving persistence payloads\n // from inside `setState(...)` can skip writes entirely at runtime.\n const updateFlowState = useCallback((\n flowRef: string,\n updater: (prev: GuidanceFlowState) => GuidanceFlowState,\n options?: {\n scopeOverride?: GuidanceFlowScope;\n },\n ) => {\n const currentScopedStates = scopedStatesRef.current;\n const scope = options?.scopeOverride ?? resolveFlowStateScope(flowRef, currentScopedStates);\n const scopeState = currentScopedStates[scope] ?? { flows: {} };\n const currentFlowState = scopeState.flows[flowRef] ?? {\n status: OnboardingStatus.NOT_STARTED,\n elements: {},\n triggerCount: 0,\n };\n const updatedFlowState = updater(currentFlowState);\n const nextScopeState = {\n ...scopeState,\n flows: { ...scopeState.flows, [flowRef]: updatedFlowState },\n };\n\n commitScopedStates({\n ...currentScopedStates,\n [scope]: nextScopeState,\n });\n void persistGuidanceState(\n scope,\n nextScopeState,\n resourceRegistry.doOperation,\n resourceRegistry.registry,\n );\n }, [commitScopedStates, resolveFlowStateScope, resourceRegistry]);\n\n // ─── Trigger Engine ─────────────────────────────────────────\n\n const tryActivateFlow = useCallback((flowRef: string) => {\n const flow = flowRegistry.get(flowRef);\n if (!flow) return;\n const scope = flowScopeMap[flowRef] ?? GuidanceFlowScope.USER;\n if (!applicableScopes.includes(scope)) return;\n if (featuresAreLoading && flow.audience?.requiredFeatures) {\n pendingFeatureActivationRefsRef.current.add(flowRef);\n return;\n }\n\n const state = flowStates[flowRef];\n\n // H3-4: Block terminal (completed / dismissed / skipped) flows from re-activating\n if (isTerminalOnboardingStatus(state?.status)) return;\n if (state?.status === OnboardingStatus.IN_PROGRESS && activeFlowRefs.has(flowRef)) return;\n\n if (!evaluateGuidanceAudience(flow.audience, audienceContext)) return;\n\n logDebug(`Activating flow: ${flowRef}`);\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.add(flowRef);\n return next;\n });\n\n // H3-1 + H3-2: Set IN_PROGRESS and increment triggerCount\n updateFlowState(flowRef, prev => ({\n ...prev,\n status: OnboardingStatus.IN_PROGRESS,\n startedAt: prev.startedAt ?? new Date(),\n triggerCount: (prev.triggerCount ?? 0) + 1,\n }));\n\n emit(FrontendEvents.GUIDANCE_FLOW_ACTIVATED, {\n flowRef,\n renderMode: flow.renderMode,\n triggerSource: 'frontend',\n scope,\n });\n }, [flowRegistry, flowStates, activeFlowRefs, audienceContext, flowScopeMap, applicableScopes, emit, logDebug, updateFlowState, featuresAreLoading]);\n\n // FIRST_VISIT trigger: run after each relevant state load boundary.\n useEffect(() => {\n if (guidanceIsLoading || featuresAreLoading || flowDefinitions.length === 0) return;\n\n for (const flow of flowDefinitions) {\n if (flow.trigger.type !== OnboardingTriggerType.FIRST_VISIT) continue;\n const state = flowStates[flow.ref];\n if (!state || state.triggerCount === 0) {\n tryActivateFlow(flow.ref);\n }\n }\n // Re-run after load boundaries or scope changes, but not on every flow-state mutation.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [guidanceIsLoading, featuresAreLoading, applicableScopes]);\n\n useEffect(() => {\n if (featuresAreLoading || pendingFeatureActivationRefsRef.current.size === 0) {\n return;\n }\n\n const pendingFlowRefs = Array.from(pendingFeatureActivationRefsRef.current);\n pendingFeatureActivationRefsRef.current.clear();\n\n for (const flowRef of pendingFlowRefs) {\n tryActivateFlow(flowRef);\n }\n }, [featuresAreLoading, tryActivateFlow]);\n\n // H3-11: Pre-compile route-match regexes to avoid ReDoS on every navigation event\n const routeFlowsCompiled = useMemo(() =>\n flowDefinitions\n .filter(f => f.trigger.type === OnboardingTriggerType.ROUTE_MATCH && f.trigger.routePattern)\n .map(f => {\n try {\n return { ...f, _compiledPattern: new RegExp(f.trigger.routePattern!) };\n } catch {\n return null;\n }\n })\n .filter((f): f is NonNullable<typeof f> => f !== null),\n [flowDefinitions],\n );\n\n // ROUTE_MATCH trigger: subscribe to navigation pane changes\n useEffect(() => {\n if (guidanceIsLoading || routeFlowsCompiled.length === 0) return;\n\n return on(FrontendEvents.NAVIGATION_ZONE_CHANGED, (payload) => {\n const currentPath = (payload.currentContent as { urlPath?: string })?.urlPath;\n if (!currentPath) return;\n\n for (const flow of routeFlowsCompiled) {\n if (flow._compiledPattern.test(currentPath)) {\n tryActivateFlow(flow.ref);\n }\n }\n });\n }, [guidanceIsLoading, routeFlowsCompiled, on, tryActivateFlow]);\n\n // EVENT trigger: subscribe to resource success events\n useEffect(() => {\n if (guidanceIsLoading || flowDefinitions.length === 0) return;\n\n const eventFlows = flowDefinitions.filter(f => f.trigger.type === OnboardingTriggerType.EVENT && f.trigger.eventName);\n if (eventFlows.length === 0) return;\n\n return on(FrontendEvents.NOTIFY_RESOURCE_SUCCESS, (payload) => {\n const eventName = `${payload.resourceType}:${payload.operationIdentifier}`;\n for (const flow of eventFlows) {\n if (flow.trigger.eventName === eventName || flow.trigger.eventName === payload.operationIdentifier) {\n tryActivateFlow(flow.ref);\n }\n }\n });\n }, [guidanceIsLoading, flowDefinitions, on, tryActivateFlow]);\n\n // H4: Stable ref for tryActivateFlow — prevents DELAYED timers from restarting on every state change\n const tryActivateFlowRef = useRef(tryActivateFlow);\n useEffect(() => { tryActivateFlowRef.current = tryActivateFlow; }, [tryActivateFlow]);\n\n // DELAYED trigger: start timers after state loads\n useEffect(() => {\n if (guidanceIsLoading || flowDefinitions.length === 0) return;\n\n const delayedFlows = flowDefinitions.filter(f => f.trigger.type === OnboardingTriggerType.DELAYED && f.trigger.delayMs);\n if (delayedFlows.length === 0) return;\n\n for (const flow of delayedFlows) {\n if (delayTimersRef.current.has(flow.ref)) continue;\n const timer = setTimeout(() => {\n tryActivateFlowRef.current(flow.ref);\n delayTimersRef.current.delete(flow.ref);\n }, flow.trigger.delayMs!);\n delayTimersRef.current.set(flow.ref, timer);\n }\n\n return () => {\n for (const timer of delayTimersRef.current.values()) {\n clearTimeout(timer);\n }\n delayTimersRef.current.clear();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [guidanceIsLoading, flowDefinitions]);\n\n // ─── Active Flows (with coexistence enforcement) ────────────\n\n const activeFlows = useMemo<GuidanceFlowDefinition[]>(() => {\n const eligible = flowDefinitions.filter(f => activeFlowRefs.has(f.ref));\n return enforceCoexistence(eligible);\n }, [flowDefinitions, activeFlowRefs]);\n\n // ─── Public API ─────────────────────────────────────────────\n\n // H3-9: Guard activateFlow against pre-init — no-op while loading\n const activateFlow = useCallback((ref: string) => {\n if (guidanceIsLoading) return;\n tryActivateFlow(ref);\n }, [tryActivateFlow, guidanceIsLoading]);\n\n const completeElement = useCallback((\n flowRef: string,\n elementRef: string,\n data?: { surveyAnswers?: Record<string, unknown>; lastStepIndex?: number },\n ) => {\n // H3-6: Guard — unknown flow OR onboarding view no-op\n if (!persistenceRegistry.has(flowRef)) return;\n\n // L18: Validate survey answers against schema before persisting\n let validatedSurveyAnswers: Record<string, string | number | boolean | string[]> | undefined;\n if (data?.surveyAnswers) {\n const sanitized: Record<string, string | number | boolean | string[]> = {};\n for (const [key, value] of Object.entries(data.surveyAnswers)) {\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n sanitized[key] = value;\n } else if (Array.isArray(value) && value.every(v => typeof v === 'string')) {\n sanitized[key] = value as string[];\n }\n }\n validatedSurveyAnswers = sanitized;\n }\n\n updateFlowState(flowRef, (prev) => ({\n ...prev,\n status: prev.status === OnboardingStatus.NOT_STARTED ? OnboardingStatus.IN_PROGRESS : prev.status,\n elements: {\n ...prev.elements,\n [elementRef]: {\n status: OnboardingStatus.COMPLETED,\n completedAt: new Date(),\n surveyAnswers: validatedSurveyAnswers,\n lastStepIndex: data?.lastStepIndex,\n },\n },\n }));\n\n // GUIDANCE_* events are flow-only: skip for onboarding views (no renderMode).\n const entry = persistenceRegistry.get(flowRef);\n if (entry?.renderMode) {\n const element = entry.elements.find(e => e.ref === elementRef);\n if (element) {\n emit(FrontendEvents.GUIDANCE_ELEMENT_COMPLETED, {\n flowRef,\n elementRef,\n elementType: element.type,\n });\n }\n }\n\n logDebug(`Element completed: ${flowRef}/${elementRef}`);\n }, [updateFlowState, persistenceRegistry, emit, logDebug]);\n\n const completeFlow = useCallback((flowRef: string) => {\n // H3-6: Guard — unknown flow OR onboarding view no-op\n if (!persistenceRegistry.has(flowRef)) return;\n // H3-7: State transition validation — block only from a terminal state.\n // A flow shown by a direct renderer (standalone OnboardingView) may still be\n // NOT_STARTED/undefined when the user completes it (it is never routed through\n // the trigger engine), so allow any non-terminal status to reach COMPLETED —\n // mirrors dismiss/skip and keeps the four lifecycle guards aligned.\n const currentState = flowStates[flowRef];\n if (isTerminalOnboardingStatus(currentState?.status)) return;\n updateFlowState(flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.COMPLETED,\n completedAt: new Date(),\n }));\n\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(flowRef);\n return next;\n });\n\n // Flow-only event: onboarding views (no renderMode) persist silently.\n const entry = persistenceRegistry.get(flowRef);\n const scope = resolveFlowStateScope(flowRef);\n if (entry?.renderMode) {\n emit(FrontendEvents.GUIDANCE_FLOW_COMPLETED, {\n flowRef,\n renderMode: entry.renderMode,\n triggerSource: 'frontend',\n scope,\n });\n }\n\n logDebug(`Flow completed: ${flowRef}`);\n }, [updateFlowState, persistenceRegistry, flowStates, resolveFlowStateScope, emit, logDebug]);\n\n const dismissFlow = useCallback((flowRef: string) => {\n // H3-6: Guard — unknown flow OR onboarding view no-op\n if (!persistenceRegistry.has(flowRef)) return;\n // H3-7: State transition validation — block only from a terminal state.\n // A standalone OnboardingView persists its dismiss through this flow ref\n // without ever activating the flow, so it is typically NOT_STARTED/undefined\n // at first dismiss; allow any non-terminal status to be dismissed (mirrors\n // skip) so the dismissal is actually persisted to the backend.\n const currentState = flowStates[flowRef];\n if (isTerminalOnboardingStatus(currentState?.status)) return;\n updateFlowState(flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.DISMISSED,\n dismissedAt: new Date(),\n }));\n\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(flowRef);\n return next;\n });\n\n // Flow-only event: onboarding views (no renderMode) persist silently.\n const entry = persistenceRegistry.get(flowRef);\n const scope = resolveFlowStateScope(flowRef);\n if (entry?.renderMode) {\n emit(FrontendEvents.GUIDANCE_FLOW_DISMISSED, {\n flowRef,\n renderMode: entry.renderMode,\n triggerSource: 'frontend',\n scope,\n });\n }\n\n logDebug(`Flow dismissed: ${flowRef}`);\n }, [updateFlowState, persistenceRegistry, flowStates, resolveFlowStateScope, emit, logDebug]);\n\n const skipFlow = useCallback((flowRef: string) => {\n // H3-6: Guard — unknown flow OR onboarding view no-op\n if (!persistenceRegistry.has(flowRef)) return;\n // H3-7: State transition validation — block only from a terminal state\n // (mirrors complete/dismiss via the shared predicate).\n const currentState = flowStates[flowRef];\n if (isTerminalOnboardingStatus(currentState?.status)) return;\n updateFlowState(flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.SKIPPED,\n }));\n\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(flowRef);\n return next;\n });\n\n logDebug(`Flow skipped: ${flowRef}`);\n }, [updateFlowState, persistenceRegistry, flowStates, logDebug]);\n\n const isFlowActive = useCallback((ref: string): boolean => {\n return activeFlowRefs.has(ref);\n }, [activeFlowRefs]);\n\n const isFlowCompleted = useCallback((ref: string): boolean => {\n return flowStates[ref]?.status === OnboardingStatus.COMPLETED;\n }, [flowStates]);\n\n // True for guidance flows AND app-config onboarding views — see persistenceRegistry.\n const isFlowPersistable = useCallback((ref: string): boolean => {\n return persistenceRegistry.has(ref);\n }, [persistenceRegistry]);\n\n // ─── WS / EventBus Subscriptions ───────────────────────────\n\n // Listen for backend-pushed guidance events\n useEffect(() => {\n const unsubActivated = on(FrontendEvents.GUIDANCE_FLOW_ACTIVATED, (payload: FrontendEvent_GuidanceFlow) => {\n if (payload.triggerSource === 'backend') {\n logDebug(`Backend activated flow: ${payload.flowRef}`);\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.add(payload.flowRef);\n return next;\n });\n updateFlowState(payload.flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.IN_PROGRESS,\n startedAt: prev.startedAt ?? new Date(),\n triggerCount: (prev.triggerCount ?? 0) + 1,\n }), { scopeOverride: payload.scope });\n }\n });\n\n const unsubCompleted = on(FrontendEvents.GUIDANCE_FLOW_COMPLETED, (payload: FrontendEvent_GuidanceFlow) => {\n if (payload.triggerSource === 'backend') {\n logDebug(`Backend completed flow: ${payload.flowRef}`);\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(payload.flowRef);\n return next;\n });\n updateFlowState(payload.flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.COMPLETED,\n completedAt: new Date(),\n }), { scopeOverride: payload.scope });\n }\n });\n\n const unsubDismissed = on(FrontendEvents.GUIDANCE_FLOW_DISMISSED, (payload: FrontendEvent_GuidanceFlow) => {\n if (payload.triggerSource === 'backend') {\n logDebug(`Backend dismissed flow: ${payload.flowRef}`);\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(payload.flowRef);\n return next;\n });\n updateFlowState(payload.flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.DISMISSED,\n dismissedAt: new Date(),\n }), { scopeOverride: payload.scope });\n }\n });\n\n return () => {\n unsubActivated();\n unsubCompleted();\n unsubDismissed();\n };\n }, [on, logDebug, updateFlowState]);\n\n // ─── Progression WS Subscription (Phase 4) ────────────────\n\n useEffect(() => {\n const unsubMilestone = on(FrontendEvents.MILESTONE_ACHIEVED, (payload: FrontendEvent_MilestoneAchieved) => {\n logDebug(`Milestone achieved: ${payload.milestoneRef} (scope: ${payload.scope})`);\n\n const scope = payload.scope as ProgressionScope;\n setProgressionScopedStates(prev => {\n const current = prev[scope] ?? { milestonesAchieved: {}, operationCounts: {}, totalPoints: 0, categoriesProgress: {} };\n return {\n ...prev,\n [scope]: {\n ...current,\n milestonesAchieved: {\n ...current.milestonesAchieved,\n [payload.milestoneRef]: {\n achievedAt: new Date(),\n count: 1,\n },\n },\n totalPoints: payload.totalPoints,\n categoriesProgress: {\n ...current.categoriesProgress,\n [payload.category]: {\n completedCount: (current.categoriesProgress[payload.category]?.completedCount ?? 0) + 1,\n totalPoints: (current.categoriesProgress[payload.category]?.totalPoints ?? 0) + (payload.points ?? 0),\n },\n },\n },\n };\n });\n\n // M11: Re-fetch features + notify user when a feature is unlocked\n if (payload.reward?.type === MilestoneRewardType.FEATURE_UNLOCK) {\n featuresCtx?.refetch();\n emit(FrontendEvents.NOTIFY_CUSTOM_SUCCESS, {\n identifier: `milestone.feature_unlock.${payload.milestoneRef}`,\n data: {\n milestoneRef: payload.milestoneRef,\n featureRef: payload.reward.featureRef,\n },\n });\n }\n\n // C3: Trigger celebration overlay for celebration-type rewards\n if (payload.reward?.type === MilestoneRewardType.CELEBRATION && payload.reward?.celebrationLevel) {\n const levelToMode: Record<string, CelebrationDisplayMode> = {\n low: CelebrationDisplayMode.CONFETTI,\n medium: CelebrationDisplayMode.OVERLAY,\n high: CelebrationDisplayMode.LOTTIE,\n };\n const mode = levelToMode[payload.reward.celebrationLevel] ?? CelebrationDisplayMode.CONFETTI;\n emit(FrontendEvents.NOTIFY_CUSTOM_SUCCESS, {\n identifier: `milestone.${payload.milestoneRef}`,\n data: {\n frontendDisplayHints: { celebration: { mode } },\n milestoneRef: payload.milestoneRef,\n category: payload.category,\n points: payload.points,\n },\n });\n }\n });\n\n // Progression progress (non-achievement): merge the authoritative\n // post-increment operationCounts so in-progress milestone bars advance live\n // (e.g. 8/10 → 9/10) without waiting for achievement or a page reload. The\n // MILESTONE_ACHIEVED handler above owns milestonesAchieved / categories /\n // celebration; here we only refresh counts + totalPoints.\n const unsubProgressionUpdate = on(FrontendEvents.PROGRESSION_UPDATED, (payload: FrontendEvent_ProgressionUpdated) => {\n const scope = payload.scope as ProgressionScope;\n setProgressionScopedStates(prev => {\n const current = prev[scope] ?? { milestonesAchieved: {}, operationCounts: {}, totalPoints: 0, categoriesProgress: {} };\n return {\n ...prev,\n [scope]: {\n ...current,\n operationCounts: payload.operationCounts,\n totalPoints: payload.totalPoints,\n },\n };\n });\n });\n\n return () => {\n unsubMilestone();\n unsubProgressionUpdate();\n };\n }, [on, logDebug, emit, featuresCtx]);\n\n // ─── Lifecycle WS Subscription (Phase 5) ────────────────────\n\n useEffect(() => {\n if (!lifecycleEnabled) return;\n\n const unsubLifecycle = on(FrontendEvents.LIFECYCLE_STAGE_CHANGED, (payload: FrontendEvent_LifecycleStageChanged) => {\n logDebug(`Lifecycle stage changed: ${payload.previousStage} → ${payload.newStage} (scope: ${payload.scope})`);\n\n const scope = payload.scope as LifecycleScope;\n setLifecycleScopedStates(prev => {\n const current = prev[scope] ?? GuidanceStateUtils.createInitialLifecycleState(new Date(payload.changedAt));\n const changedAtDate = new Date(payload.changedAt);\n const updatedHistory = [...current.stageHistory];\n if (updatedHistory.length > 0 && !updatedHistory[0].exitedAt) {\n updatedHistory[0] = { ...updatedHistory[0], exitedAt: changedAtDate };\n }\n updatedHistory.unshift({\n stage: payload.newStage,\n enteredAt: changedAtDate,\n trigger: payload.trigger,\n });\n return {\n ...prev,\n [scope]: {\n ...current,\n currentStage: payload.newStage,\n stageEnteredAt: changedAtDate,\n stageHistory: updatedHistory,\n ...(payload.activationCriteriaMet ? { activationCriteriaMet: payload.activationCriteriaMet } : {}),\n },\n };\n });\n });\n\n return () => {\n unsubLifecycle();\n };\n }, [on, logDebug, lifecycleEnabled]);\n\n // ─── Progression Context Slice (Phase 4) ───────────────────\n\n const progressionSlice = useMemo<ProgressionContextSlice>(() => {\n const isMilestoneAchieved = (milestoneRef: string): boolean => {\n for (const scope of Object.values(ProgressionScope)) {\n const state = progressionScopedStates[scope];\n if (state?.milestonesAchieved[milestoneRef]) return true;\n }\n return false;\n };\n\n const getMilestoneAchievement = (milestoneRef: string): ProgressionMilestoneAchieved | undefined => {\n for (const scope of Object.values(ProgressionScope)) {\n const state = progressionScopedStates[scope];\n const achievement = state?.milestonesAchieved[milestoneRef];\n if (achievement) return achievement;\n }\n return undefined;\n };\n\n const getCategoryProgress = (category: string): ProgressionCategoryProgress | undefined => {\n let merged: ProgressionCategoryProgress | undefined;\n for (const scope of Object.values(ProgressionScope)) {\n const state = progressionScopedStates[scope];\n const catProgress = state?.categoriesProgress[category];\n if (catProgress) {\n if (!merged) {\n merged = { completedCount: 0, totalPoints: 0 };\n }\n merged.completedCount += catProgress.completedCount;\n merged.totalPoints += catProgress.totalPoints;\n }\n }\n return merged;\n };\n\n let totalPoints = 0;\n for (const scope of Object.values(ProgressionScope)) {\n const state = progressionScopedStates[scope];\n if (state) {\n totalPoints += state.totalPoints;\n }\n }\n\n return {\n scopedStates: progressionScopedStates,\n isMilestoneAchieved,\n getMilestoneAchievement,\n getCategoryProgress,\n totalPoints,\n milestoneDefinitions,\n isLoading: progressionIsLoading,\n };\n }, [progressionScopedStates, progressionIsLoading, milestoneDefinitions]);\n\n // ─── Lifecycle Context Slice (Phase 5) ─────────────────────\n\n const lifecycleSlice = useMemo<LifecycleContextSlice>(() => {\n if (!lifecycleEnabled) return LIFECYCLE_DEFAULTS;\n\n // Use USER scope as the primary lifecycle state (most common)\n const primaryState = lifecycleScopedStates[LifecycleScope.USER];\n\n const currentStage = primaryState?.currentStage ?? null;\n const stageEnteredAt = primaryState?.stageEnteredAt ? new Date(primaryState.stageEnteredAt) : null;\n\n const hasReachedStage = (stage: LifecycleStage): boolean => {\n if (!primaryState) return false;\n return hasReachedStageUtil(primaryState, stage);\n };\n\n // Build activation progress from criteria config + state\n const criteriaMet = primaryState?.activationCriteriaMet ?? {};\n const criteria = lifecycleActivationCriteria?.criteria ?? [];\n const totalCriteria = criteria.length;\n const metCriteria = Object.values(criteriaMet).filter(Boolean).length;\n\n return {\n currentStage,\n stageEnteredAt,\n isEnabled: true,\n isLoading: lifecycleIsLoading,\n hasReachedStage,\n activationProgress: {\n criteriaMet,\n criteria,\n totalCriteria,\n metCriteria,\n isFullyActivated: totalCriteria > 0 ? metCriteria >= totalCriteria : currentStage !== LifecycleStage.SIGNED_UP,\n },\n };\n }, [lifecycleEnabled, lifecycleScopedStates, lifecycleIsLoading, lifecycleActivationCriteria]);\n\n // ─── Context Value ──────────────────────────────────────────\n\n // M8/L19: Context re-render isolation analysis\n // The context value depends on 13 values — any change creates a new value and re-renders all consumers.\n // Options considered:\n // 1. Split into separate contexts (GuidanceContext, ProgressionContext, LifecycleContext) — most effective\n // 2. useSyncExternalStore with granular subscriptions — less invasive\n // 3. Accept current behavior + optimize consumers with React.memo\n // Decision: Option 3 for v1. The provider-level useMemo on progressionSlice and lifecycleSlice\n // ensures reference stability for the most commonly-used slices. Hook-level useMemo in\n // useLifecycle() and useProgression() provides additional stability.\n // Revisit if profiling shows re-render performance issues.\n const contextValue = useMemo<GuidanceContextValue>(() => ({\n activeFlows,\n flowStates,\n activateFlow,\n completeElement,\n completeFlow,\n dismissFlow,\n skipFlow,\n isFlowActive,\n isFlowCompleted,\n isFlowPersistable,\n isLoading: guidanceIsLoading,\n progression: progressionSlice,\n lifecycle: lifecycleSlice,\n }), [\n activeFlows,\n flowStates,\n activateFlow,\n completeElement,\n completeFlow,\n dismissFlow,\n skipFlow,\n isFlowActive,\n isFlowCompleted,\n isFlowPersistable,\n guidanceIsLoading,\n progressionSlice,\n lifecycleSlice,\n ]);\n\n return (\n <GuidanceContext.Provider value={contextValue}>\n {children}\n </GuidanceContext.Provider>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"GuidanceContext.js","sourceRoot":"","sources":["../../../../src/core/guidance/GuidanceContext.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Guidance Context Provider\n *\n * Central frontend context for managing guidance flows (onboarding, tooltips,\n * tours, banners, surveys, checklists). Provides:\n * - Multi-scope state management (USER / ORGANIZATION)\n * - 5 trigger types (FIRST_VISIT, ROUTE_MATCH, EVENT, DELAYED, MANUAL)\n * - Audience evaluation (roles, features, completed flows, creation date)\n * - Coexistence rules (max 1 overlay, max 1 checklist, N inline)\n * - Real-time sync via EventBus\n */\n\nimport React, { createContext, useContext, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type {\n GuidanceFlowDefinition,\n GuidanceFlowState,\n OnboardingElement,\n GuidanceState,\n GuidanceAudience,\n ProgressionState,\n ProgressionMilestoneAchieved,\n ProgressionCategoryProgress,\n MilestoneDefinition,\n LifecycleState,\n WS_LifecycleStageChangedPayload,\n ActivationCriterion,\n} from '@wildo-ai/saas-models';\nimport {\n GuidanceFlowScope,\n GuidanceRenderMode,\n GUIDANCE_SCOPE_TO_RESOURCE,\n OnboardingTriggerType,\n OnboardingStatus,\n isTerminalOnboardingStatus,\n ProgressionScope,\n PROGRESSION_SCOPE_TO_RESOURCE,\n LifecycleStage,\n LifecycleScope,\n LIFECYCLE_SCOPE_TO_RESOURCE,\n GuidanceStateUtils,\n hasReachedStage as hasReachedStageUtil,\n MilestoneRewardType,\n CelebrationDisplayMode,\n CoreResourceOperation,\n ResourceOperationVariantType,\n ResourcesConfig_OperationPathUtils,\n} from '@wildo-ai/saas-models';\nimport { compileResourceGuidance } from './guidance-resource-compiler.shared.utils';\nimport { ApplicationContext } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { FrontendEvents } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport type { FrontendEvent_GuidanceFlow, FrontendEvent_MilestoneAchieved, FrontendEvent_ProgressionUpdated, FrontendEvent_LifecycleStageChanged } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { getManualCallsHttpClient } from '~wildo-frontend-lib/core/requests/wildo-http-client-manual-calls.frontend.service';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport type { ResourceRegistryContextType } from '~wildo-frontend-lib/core/resources/ResourceRegistryContext';\nimport { FeaturesContext } from '~wildo-frontend-lib/core/features/FeaturesContext';\nimport { buildFeaturePolicyRoles } from '~wildo-frontend-lib/core/features/feature-unavailability.frontend.utils';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { errorManagement } from '~wildo-frontend-lib/core/errors/error-management.frontend.service';\nimport { useEmitLoadingScope } from '~wildo-frontend-lib/core/loading/useEmitLoadingScope';\nimport { ContextLoadingIdentifier } from '~wildo-frontend-lib/core/loading/loading-types.frontend.schemas';\nimport {\n evaluateGuidanceAudience,\n type GuidanceAudienceContext,\n} from './guidance-audience.frontend.utils';\n\n// ─── Progression Context Slice (Phase 4) ────────────────────────\n\nexport interface ProgressionContextSlice {\n /** Scoped progression states — separate state per active scope */\n scopedStates: Record<ProgressionScope, ProgressionState | null>;\n /** Quick lookup: is a specific milestone achieved? (searches all scopes) */\n isMilestoneAchieved: (milestoneRef: string) => boolean;\n /** Get achievement details for a milestone (searches all scopes) */\n getMilestoneAchievement: (milestoneRef: string) => ProgressionMilestoneAchieved | undefined;\n /** Get progress for a category (merged across scopes) */\n getCategoryProgress: (category: string) => ProgressionCategoryProgress | undefined;\n /** Total points (summed across all scopes) */\n totalPoints: number;\n /** All milestone definitions (for display) */\n milestoneDefinitions: MilestoneDefinition[];\n /** Whether initial progression state is still loading */\n isLoading: boolean;\n}\n\n// ─── Lifecycle Context Slice (Phase 5) ───────────────────────────\n\nexport interface LifecycleContextSlice {\n /** Current lifecycle stage (null if system disabled or loading) */\n currentStage: LifecycleStage | null;\n /** When the current stage was entered */\n stageEnteredAt: Date | null;\n /** Whether lifecycle system is enabled (from app config) */\n isEnabled: boolean;\n /** Whether initial state is loading */\n isLoading: boolean;\n /** Check if user has reached at least a specific stage */\n hasReachedStage: (stage: LifecycleStage) => boolean;\n /** Activation progress (which criteria are met) */\n activationProgress: {\n criteriaMet: Record<string, boolean>;\n /** Full activation criteria definitions (for tActivationCriterion dispatch) */\n criteria: ActivationCriterion[];\n totalCriteria: number;\n metCriteria: number;\n isFullyActivated: boolean;\n };\n}\n\n// ─── Context Value Interface ────────────────────────────────────\n\nexport interface GuidanceContextValue {\n /** Currently active (visible) guidance flow definitions */\n activeFlows: GuidanceFlowDefinition[];\n /** All flow states keyed by flow ref (across all scopes) */\n flowStates: Record<string, GuidanceFlowState>;\n /** Manually activate a flow by ref (MANUAL trigger or re-activate) */\n activateFlow: (ref: string) => void;\n /** Mark a specific element within a flow as completed */\n completeElement: (flowRef: string, elementRef: string, data?: { surveyAnswers?: Record<string, unknown>; lastStepIndex?: number }) => void;\n /** Mark an entire flow as completed */\n completeFlow: (flowRef: string) => void;\n /** Dismiss a flow (user closed it; may re-trigger later based on config) */\n dismissFlow: (flowRef: string) => void;\n /** Skip a flow (user chose to skip; recorded as SKIPPED status) */\n skipFlow: (flowRef: string) => void;\n /** Check if a flow is currently active */\n isFlowActive: (ref: string) => boolean;\n /** Check if a flow has been completed */\n isFlowCompleted: (ref: string) => boolean;\n /**\n * Whether a ref has a persistence identity in this context — i.e. it is a\n * registered guidance flow OR an app-config onboarding view. A standalone\n * `OnboardingView` uses this to know whether dismiss/complete/skip under its\n * `doc.ref` will actually persist (vs. transient local-only state).\n */\n isFlowPersistable: (ref: string) => boolean;\n /** Whether guidance state is still loading */\n isLoading: boolean;\n /** Progression sub-object — added by Phase 4.\n * Separate from guidance but co-located in the same context to avoid provider multiplication.\n * useProgression() hook selects only this slice. */\n progression: ProgressionContextSlice;\n /** Lifecycle sub-object — added by Phase 5.\n * Tracks user lifecycle stage (signed_up → activated → engaged → dormant → reactivated).\n * useLifecycle() hook selects only this slice. */\n lifecycle: LifecycleContextSlice;\n}\n\n// ─── Context ────────────────────────────────────────────────────\n\n// Note: useGuidance / useLifecycle / useProgression hooks are in useGuidance.ts for React Fast Refresh compatibility.\nexport const GuidanceContext = createContext<GuidanceContextValue | null>(null);\n\nconst EMPTY_ACTIVE_FLOWS: GuidanceFlowDefinition[] = [];\nconst EMPTY_FLOW_STATES: Record<string, GuidanceFlowState> = {};\nconst EMPTY_MILESTONE_DEFINITIONS: MilestoneDefinition[] = [];\nconst EMPTY_SCOPED_PROGRESSION: Record<ProgressionScope, ProgressionState | null> = {\n [ProgressionScope.USER]: null,\n [ProgressionScope.ORGANIZATION]: null,\n};\n\nexport const PROGRESSION_DEFAULTS: ProgressionContextSlice = {\n scopedStates: EMPTY_SCOPED_PROGRESSION,\n isMilestoneAchieved: () => false,\n getMilestoneAchievement: () => undefined,\n getCategoryProgress: () => undefined,\n totalPoints: 0,\n milestoneDefinitions: EMPTY_MILESTONE_DEFINITIONS,\n isLoading: false,\n};\n\nexport const LIFECYCLE_DEFAULTS: LifecycleContextSlice = {\n currentStage: null,\n stageEnteredAt: null,\n isEnabled: false,\n isLoading: false,\n hasReachedStage: () => false,\n activationProgress: {\n criteriaMet: {},\n criteria: [],\n totalCriteria: 0,\n metCriteria: 0,\n isFullyActivated: false,\n },\n};\n\n// H3-10: Module-level stable fallback — prevents new object on every render outside provider\nexport const GUIDANCE_FALLBACK: GuidanceContextValue = {\n activeFlows: EMPTY_ACTIVE_FLOWS,\n flowStates: EMPTY_FLOW_STATES,\n activateFlow: () => {},\n completeElement: () => {},\n completeFlow: () => {},\n dismissFlow: () => {},\n skipFlow: () => {},\n isFlowActive: () => false,\n isFlowCompleted: () => false,\n isFlowPersistable: () => false,\n isLoading: false,\n progression: PROGRESSION_DEFAULTS,\n lifecycle: LIFECYCLE_DEFAULTS,\n};\n\n\n// ─── Internal Types ─────────────────────────────────────────────\n\n/** Merged state across all applicable scopes */\n/**\n * Minimal projection of a \"persistable\" guidance entity used by the lifecycle\n * guards (complete / dismiss / skip / completeElement) + scope resolution. Both\n * registered guidance flows AND app-config onboarding views project into this\n * shape via `persistenceRegistry`. `renderMode` is present only for real\n * guidance flows; `undefined` marks an onboarding view, which suppresses\n * `GUIDANCE_FLOW_*` events (an onboarding view is not a flow).\n */\ninterface PersistenceFlowEntry {\n ref: string;\n scope: GuidanceFlowScope;\n elements: OnboardingElement[];\n renderMode?: GuidanceRenderMode;\n}\n\ntype ScopedStates = Partial<Record<GuidanceFlowScope, GuidanceState>>;\n\n// ─── State Persistence Helpers ──────────────────────────────────\n\nfunction findApiCallOperation(\n registry: ResourceRegistryContextType['registry'],\n resourceType: string,\n operationId: string,\n) {\n const config = registry.resourceConfigurations[resourceType];\n if (!config) return null;\n return config.operations.find(\n (o: any) => o.operationIdentifier === operationId\n && o.isOperationDefault === true\n && o.isBulkOperation !== true\n && (\n o.variantType === ResourceOperationVariantType.API_CALL\n || o.variantType === ResourceOperationVariantType.API_CALL_WITH_CALLBACK\n )\n ) ?? null;\n}\n\nasync function fetchGuidanceState(\n scope: GuidanceFlowScope,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<GuidanceState | null> {\n const resourceType = GUIDANCE_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.READ);\n if (!operation) return { flows: {} };\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n const result = await doOperation<GuidanceState>(\n operationPath,\n { contextualParameters: {} },\n { silent: true },\n );\n return result ?? { flows: {} };\n } catch (err: unknown) {\n if (errorManagement.isNotFoundError(err)) return null;\n return { flows: {} };\n }\n}\n\nasync function createGuidanceState(\n scope: GuidanceFlowScope,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<GuidanceState> {\n const resourceType = GUIDANCE_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.CREATE);\n if (!operation) return { flows: {} };\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n const result = await doOperation<GuidanceState>(\n operationPath,\n {\n contextualParameters: {},\n requestData: { flows: {} },\n },\n { silent: true },\n );\n return result ?? { flows: {} };\n } catch {\n // M14: Another tab may have created it — retry read\n const existingState = await fetchGuidanceState(scope, doOperation, registry);\n if (existingState) return existingState;\n return { flows: {} };\n }\n}\n\nasync function persistGuidanceState(\n scope: GuidanceFlowScope,\n state: GuidanceState,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<void> {\n const resourceType = GUIDANCE_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.UPDATE);\n if (!operation) return;\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n await doOperation(operationPath, { contextualParameters: {}, requestData: state });\n } catch {\n /* Best-effort persistence — ScopedResourceRegistryProvider injects scope params */\n }\n}\n\n// ─── Progression State Persistence Helpers ──────────────────────\n\ntype ProgressionScopedStates = Record<ProgressionScope, ProgressionState | null>;\n\nasync function fetchProgressionState(\n scope: ProgressionScope,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<ProgressionState | null> {\n const resourceType = PROGRESSION_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.READ);\n if (!operation) return null;\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n const result = await doOperation<ProgressionState>(\n operationPath,\n { contextualParameters: {} },\n { silent: true },\n );\n return result ?? { milestonesAchieved: {}, operationCounts: {}, totalPoints: 0, valueMomentsAchieved: {}, categoriesProgress: {} };\n } catch (err: unknown) {\n if (errorManagement.isNotFoundError(err)) return null;\n return { milestonesAchieved: {}, operationCounts: {}, totalPoints: 0, valueMomentsAchieved: {}, categoriesProgress: {} };\n }\n}\n\nasync function fetchMilestoneDefinitions(analyticsEnabled: boolean): Promise<MilestoneDefinition[]> {\n if (!analyticsEnabled) {\n return [];\n }\n\n try {\n const response = await getManualCallsHttpClient().getMilestoneDefinitions({ silent: true });\n return response?.definitions ?? [];\n } catch {\n return [];\n }\n}\n\n// ─── Lifecycle State Persistence Helpers (Phase 5) ──────────────\n\ntype LifecycleScopedStates = Record<LifecycleScope, LifecycleState | null>;\n\nconst EMPTY_SCOPED_LIFECYCLE: LifecycleScopedStates = {\n [LifecycleScope.USER]: null,\n [LifecycleScope.ORGANIZATION]: null,\n};\n\nasync function fetchLifecycleState(\n scope: LifecycleScope,\n doOperation: ResourceRegistryContextType['doOperation'],\n registry: ResourceRegistryContextType['registry'],\n): Promise<LifecycleState | null> {\n const resourceType = LIFECYCLE_SCOPE_TO_RESOURCE[scope];\n const operation = findApiCallOperation(registry, resourceType, CoreResourceOperation.READ);\n if (!operation) return null;\n const operationPath = ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(operation);\n try {\n const result = await doOperation<LifecycleState>(\n operationPath,\n { contextualParameters: {} },\n { silent: true },\n );\n return result ?? null;\n } catch {\n return null;\n }\n}\n\n// ─── Audience Evaluator ─────────────────────────────────────────\n\n// ─── Coexistence Enforcer ───────────────────────────────────────\n\nfunction enforceCoexistence(\n eligible: GuidanceFlowDefinition[],\n): GuidanceFlowDefinition[] {\n const sorted = [...eligible].sort((a, b) => (a.priority ?? 100) - (b.priority ?? 100));\n\n const result: GuidanceFlowDefinition[] = [];\n let hasOverlay = false;\n let hasChecklist = false;\n\n for (const flow of sorted) {\n switch (flow.renderMode) {\n case GuidanceRenderMode.OVERLAY:\n if (!hasOverlay) {\n result.push(flow);\n hasOverlay = true;\n }\n break;\n case GuidanceRenderMode.CHECKLIST:\n if (!hasChecklist) {\n result.push(flow);\n hasChecklist = true;\n }\n break;\n case GuidanceRenderMode.INLINE:\n result.push(flow);\n break;\n }\n }\n\n return result;\n}\n\n// ─── Provider Component ─────────────────────────────────────────\n\nexport interface GuidanceContextProviderProps {\n children: React.ReactNode;\n}\n\nexport const GuidanceContextProvider: React.FC<GuidanceContextProviderProps> = ({ children }) => {\n const appContext = useContext(ApplicationContext);\n const { on, emit } = useEventBus();\n const userOrgs = useUserOrgs();\n const appScope = useAppScopeSafe();\n const resourceRegistry = useResourceRegistry();\n const featuresCtx = useContext(FeaturesContext);\n\n // Latest-value ref for the resource registry, read from inside the async\n // initialization effects below (guidance / progression / lifecycle).\n //\n // WHY A REF INSTEAD OF A DEP: `resourceRegistry` (and `userOrgs`) are\n // stable-INTENT service handles, but their memoized context-value identity\n // legitimately changes several times during app boot — e.g. `useUserOrgs()`\n // re-memoizes as `user`, `permissions`, `privacy`, and `organizations` resolve\n // at independent times, none of which change `applicableScopes`. If these\n // handles are listed directly in an init effect's dependency array, every such\n // identity change re-runs the effect MID-FETCH: the previous run's cleanup sets\n // `cancelled = true` (so its `if (cancelled) return` guard drops the in-flight\n // commit), while the re-run immediately hits the `initRef` re-entry guard —\n // which is only reset by the M9 scope-change effect, NOT by a handle-identity\n // change — so no replacement fetch ever starts. The net effect is that the\n // fetched guidance/progression state is silently never committed to state:\n // `flowStates` stays empty, onboarding/guidance re-appear on every load, and\n // the next user action full-replaces the persisted document. Reading the\n // registry through this render-synced ref lets each init effect depend ONLY on\n // its genuine fetch inputs (the applicable scope set + the auth gate) while\n // still using the latest handle at call time.\n const resourceRegistryRef = useRef(resourceRegistry);\n resourceRegistryRef.current = resourceRegistry;\n\n const logger = useMemo(() => LoggerFrontendService.getLogger(), []);\n const logDebug = useMemo(() => {\n const debugFn = logger.debugByType('GuidanceContext');\n logger.setDebugTypeLogging('GuidanceContext', false);\n return debugFn;\n }, [logger]);\n\n // ─── Flow Registry ──────────────────────────────────────────\n\n const flowDefinitions = useMemo<GuidanceFlowDefinition[]>(() => {\n const appFlows: GuidanceFlowDefinition[] = [];\n const frontendConfig = appContext?.frontendConfiguration;\n if (frontendConfig?.guidanceFlows) {\n appFlows.push(...frontendConfig.guidanceFlows);\n }\n\n // Compile resource-level guidance declarations into standard GuidanceFlowDefinition objects\n const resourceFlows: GuidanceFlowDefinition[] = [];\n if (resourceRegistry?.registry) {\n for (const resourceType of resourceRegistry.getAvailableResourceTypes()) {\n const config = resourceRegistry.getResourceConfiguration(resourceType);\n const guidanceDeclarations = (config as any)?.frontendConfiguration?.guidance;\n if (guidanceDeclarations && Array.isArray(guidanceDeclarations) && guidanceDeclarations.length > 0) {\n const compiled = compileResourceGuidance({\n resourceType,\n guidanceFlows: guidanceDeclarations,\n });\n resourceFlows.push(...compiled);\n }\n }\n }\n\n return [...appFlows, ...resourceFlows];\n }, [appContext?.frontendConfiguration, resourceRegistry]);\n\n // flowRegistry — guidance flows ONLY. Used by the trigger engine\n // (`tryActivateFlow`), which needs the full `GuidanceFlowDefinition`\n // (audience / renderMode / trigger). Onboarding views are deliberately NOT\n // here, so they never auto-activate and `GuidanceRenderer` never renders them\n // as overlays (they are rendered explicitly via `<EmbedOnboarding/>`).\n const flowRegistry = useMemo<Map<string, GuidanceFlowDefinition>>(() => {\n const map = new Map<string, GuidanceFlowDefinition>();\n for (const flow of flowDefinitions) {\n map.set(flow.ref, flow);\n }\n return map;\n }, [flowDefinitions]);\n\n // Onboarding views declared in app config (`<EmbedOnboarding/>` / OnboardingView\n // surfaces). They are NOT guidance flows — explicitly embedded, never triggered —\n // but they DO get a first-class persistence identity so an embedded wizard's\n // dismiss / complete / skip sticks under the view's OWN ref (no parallel\n // guidance flow required).\n const onboardingViewDefinitions = useMemo(\n () => appContext?.frontendConfiguration?.onboardingViews ?? [],\n [appContext?.frontendConfiguration],\n );\n\n // persistenceRegistry — SUPERSET of flowRegistry that also includes onboarding\n // views, projected into the minimal `PersistenceFlowEntry` shape. Used ONLY by\n // the lifecycle guards (completeElement / completeFlow / dismissFlow / skipFlow)\n // + scope resolution + the init gate — deliberately NOT by the trigger engine,\n // `activeFlows`, or `GuidanceRenderer`.\n const persistenceRegistry = useMemo<Map<string, PersistenceFlowEntry>>(() => {\n const map = new Map<string, PersistenceFlowEntry>();\n for (const flow of flowDefinitions) {\n map.set(flow.ref, {\n ref: flow.ref,\n scope: flow.scope ?? GuidanceFlowScope.USER,\n elements: flow.elements,\n renderMode: flow.renderMode,\n });\n }\n for (const view of onboardingViewDefinitions) {\n // First registration wins so an explicit guidance flow with the same ref is\n // never shadowed. Onboarding views persist under USER scope (personal\n // \"dismissed\" state); `renderMode: undefined` marks them as non-flows so the\n // guards suppress `GUIDANCE_FLOW_*` events for them.\n if (!map.has(view.ref)) {\n map.set(view.ref, {\n ref: view.ref,\n scope: GuidanceFlowScope.USER,\n elements: view.elements,\n renderMode: undefined,\n });\n }\n }\n return map;\n }, [flowDefinitions, onboardingViewDefinitions]);\n\n // True when there is anything whose persisted state must be loaded (guidance\n // flows OR onboarding views). Gates guidance-state loading + init so an app\n // with onboarding views but zero guidance flows still hydrates its state.\n const hasPersistableFlows = persistenceRegistry.size > 0;\n\n const flowScopeMap = useMemo<Record<string, GuidanceFlowScope>>(() => {\n const map: Record<string, GuidanceFlowScope> = {};\n for (const entry of persistenceRegistry.values()) {\n map[entry.ref] = entry.scope;\n }\n return map;\n }, [persistenceRegistry]);\n\n // ─── State ──────────────────────────────────────────────────\n\n const [scopedStates, setScopedStates] = useState<ScopedStates>({});\n const scopedStatesRef = useRef<ScopedStates>({});\n const [activeFlowRefs, setActiveFlowRefs] = useState<Set<string>>(new Set());\n const [isLoading, setIsLoading] = useState(true);\n const initRef = useRef(false);\n const delayTimersRef = useRef<Map<string, ReturnType<typeof setTimeout>>>(new Map());\n const pendingFeatureActivationRefsRef = useRef<Set<string>>(new Set());\n\n const commitScopedStates = useCallback((nextStates: ScopedStates): ScopedStates => {\n scopedStatesRef.current = nextStates;\n setScopedStates(nextStates);\n return nextStates;\n }, []);\n\n const updateScopedStates = useCallback((\n updater: (prev: ScopedStates) => ScopedStates,\n ): ScopedStates => {\n const nextStates = updater(scopedStatesRef.current);\n return commitScopedStates(nextStates);\n }, [commitScopedStates]);\n\n // Progression state (Phase 4)\n const [progressionScopedStates, setProgressionScopedStates] = useState<ProgressionScopedStates>({ ...EMPTY_SCOPED_PROGRESSION });\n const [progressionIsLoading, setProgressionIsLoading] = useState(true);\n const progressionInitRef = useRef(false);\n const [milestoneDefinitions, setMilestoneDefinitions] = useState<MilestoneDefinition[]>(EMPTY_MILESTONE_DEFINITIONS);\n\n // ─── Lifecycle State (Phase 5) ────────────────────────────────\n const lifecycleConfig = appContext?.appConfig?.lifecycle;\n const lifecycleEnabled = !!lifecycleConfig?.enabled;\n const [lifecycleScopedStates, setLifecycleScopedStates] = useState<LifecycleScopedStates>({ ...EMPTY_SCOPED_LIFECYCLE });\n const [lifecycleIsLoading, setLifecycleIsLoading] = useState(lifecycleEnabled);\n const lifecycleInitRef = useRef(false);\n const lifecycleActivationCriteria = useMemo(\n () => lifecycleConfig?.activationCriteria,\n [lifecycleConfig?.activationCriteria],\n );\n const currentUserId = userOrgs.user?._id ?? null;\n const isAuthenticated = !!userOrgs.auth.accessToken;\n const analyticsEnabled = !!appContext?.appConfig?.analytics?.enabled;\n const featuresAreLoading = featuresCtx?.isLoading ?? false;\n const guidanceIsBootstrapping = isAuthenticated && hasPersistableFlows && !initRef.current;\n const guidanceIsLoading = isAuthenticated\n ? (hasPersistableFlows ? (isLoading || guidanceIsBootstrapping) : false)\n : false;\n\n // L-2.b: publish progression + lifecycle loading lifecycles to LoadingContext\n // so unrelated components can observe via `useComponentLoading({\n // customIdentifier: ContextLoadingIdentifier.PROGRESSION | .LIFECYCLE })`.\n // Local boolean state is still exposed for direct consumers (back-compat).\n //\n // `hasLoadedOnce` is intentionally **omitted** here: the progression and\n // lifecycle subsystems do not have a granular \"refresh existing data\"\n // path — every transition that flips `isLoading` back to `true` (auth\n // change, scope change, org switch) ALSO resets the underlying scoped\n // states to empty in the same render commit (see the auth-switch effect\n // and the scope-change effect above). A \"refresh\" with stale data on\n // screen never happens, so the hook's default `INITIAL` phase is the\n // correct semantic. Reading `progressionInitRef.current` /\n // `lifecycleInitRef.current` here would be misleading: those refs flip\n // to `true` at the **start** of init (as a re-entry guard), not on\n // success — they would always read `false` at emission time anyway,\n // because they're reset to `false` in the same commit that flips\n // `isLoading` back to `true`.\n useEmitLoadingScope({\n identifier: ContextLoadingIdentifier.PROGRESSION,\n isLoading: progressionIsLoading,\n });\n useEmitLoadingScope({\n identifier: ContextLoadingIdentifier.LIFECYCLE,\n isLoading: lifecycleIsLoading,\n });\n\n // Derive applicable scopes from current user context\n const applicableScopes = useMemo<GuidanceFlowScope[]>(() => {\n const scopes: GuidanceFlowScope[] = [GuidanceFlowScope.USER];\n if (appScope?.currentOrganizationId) {\n scopes.push(GuidanceFlowScope.ORGANIZATION);\n }\n return scopes;\n }, [appScope?.currentOrganizationId]);\n\n useEffect(() => {\n scopedStatesRef.current = scopedStates;\n }, [scopedStates]);\n\n // M9: Reset init refs and org-scoped caches when applicable scopes change.\n const prevScopesRef = useRef(applicableScopes);\n useEffect(() => {\n if (prevScopesRef.current !== applicableScopes) {\n initRef.current = false;\n progressionInitRef.current = false;\n lifecycleInitRef.current = false;\n pendingFeatureActivationRefsRef.current.clear();\n prevScopesRef.current = applicableScopes;\n\n if (isAuthenticated && hasPersistableFlows) {\n setIsLoading(true);\n }\n if (isAuthenticated) {\n setProgressionIsLoading(true);\n }\n if (isAuthenticated && lifecycleEnabled) {\n setLifecycleIsLoading(true);\n }\n\n updateScopedStates(prev => {\n if (!(GuidanceFlowScope.ORGANIZATION in prev)) {\n return prev;\n }\n const next = { ...prev };\n delete next[GuidanceFlowScope.ORGANIZATION];\n return next;\n });\n setProgressionScopedStates(prev => ({\n ...prev,\n [ProgressionScope.ORGANIZATION]: null,\n }));\n setLifecycleScopedStates(prev => ({\n ...prev,\n [LifecycleScope.ORGANIZATION]: null,\n }));\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n for (const flow of flowDefinitions) {\n if ((flow.scope ?? GuidanceFlowScope.USER) === GuidanceFlowScope.ORGANIZATION) {\n next.delete(flow.ref);\n }\n }\n return next;\n });\n }\n }, [applicableScopes, flowDefinitions, hasPersistableFlows, isAuthenticated, lifecycleEnabled, updateScopedStates]);\n\n const previousAuthStateRef = useRef<{\n isAuthenticated: boolean;\n userId: string | null;\n }>({\n isAuthenticated,\n userId: currentUserId,\n });\n useEffect(() => {\n const previousAuthState = previousAuthStateRef.current;\n const loggedOut = previousAuthState.isAuthenticated && !isAuthenticated;\n const switchedUsers =\n previousAuthState.userId !== null\n && currentUserId !== null\n && previousAuthState.userId !== currentUserId;\n\n previousAuthStateRef.current = {\n isAuthenticated,\n userId: currentUserId,\n };\n\n if (!loggedOut && !switchedUsers) {\n return;\n }\n\n for (const timer of delayTimersRef.current.values()) {\n clearTimeout(timer);\n }\n delayTimersRef.current.clear();\n\n initRef.current = false;\n progressionInitRef.current = false;\n lifecycleInitRef.current = false;\n pendingFeatureActivationRefsRef.current.clear();\n\n commitScopedStates({});\n setActiveFlowRefs(new Set());\n setProgressionScopedStates({ ...EMPTY_SCOPED_PROGRESSION });\n setMilestoneDefinitions(EMPTY_MILESTONE_DEFINITIONS);\n setLifecycleScopedStates({ ...EMPTY_SCOPED_LIFECYCLE });\n\n setIsLoading(isAuthenticated && hasPersistableFlows);\n setProgressionIsLoading(isAuthenticated);\n setLifecycleIsLoading(isAuthenticated && lifecycleEnabled);\n }, [commitScopedStates, currentUserId, hasPersistableFlows, isAuthenticated, lifecycleEnabled]);\n\n // Flatten all flow states across scopes into a single record\n const flowStates = useMemo<Record<string, GuidanceFlowState>>(() => {\n const merged: Record<string, GuidanceFlowState> = {};\n for (const scope of applicableScopes) {\n const state = scopedStates[scope];\n if (state?.flows) {\n Object.assign(merged, state.flows);\n }\n }\n return merged;\n }, [scopedStates, applicableScopes]);\n\n // Build audience context for evaluations\n const audienceContext = useMemo<GuidanceAudienceContext>(() => {\n const completedRefs = new Set<string>();\n for (const [ref, state] of Object.entries(flowStates)) {\n if (state.status === OnboardingStatus.COMPLETED) {\n completedRefs.add(ref);\n }\n }\n const userRoles = buildFeaturePolicyRoles(userOrgs.permissions, appScope?.currentOrganizationId)\n .filter(Boolean);\n // H3-3: Collect user features from FeaturesContext (resolved features from backend)\n const userFeatures: string[] = featuresCtx?.resolvedFeatures?.features ?? [];\n const featureLimits = featuresCtx?.resolvedFeatures?.limits ?? {};\n const currentUsage = featuresCtx?.resolvedFeatures?.currentUsage ?? {};\n return {\n userRoles,\n userFeatures,\n featureLimits,\n currentUsage,\n completedFlowRefs: completedRefs,\n userCreatedAt: userOrgs.user?.createdAt ? new Date(userOrgs.user.createdAt) : undefined,\n };\n }, [\n flowStates,\n userOrgs.permissions,\n appScope?.currentOrganizationId,\n userOrgs.user?.createdAt,\n featuresCtx?.resolvedFeatures?.features,\n featuresCtx?.resolvedFeatures?.limits,\n featuresCtx?.resolvedFeatures?.currentUsage,\n ]);\n\n // ─── Initialization ─────────────────────────────────────────\n\n // H3-8: Abort guard prevents setState on unmounted/stale effect\n useEffect(() => {\n if (initRef.current || !hasPersistableFlows || !isAuthenticated) return;\n initRef.current = true;\n let cancelled = false;\n\n const initialize = async () => {\n // Read the latest registry handle at call time (see resourceRegistryRef).\n const registry = resourceRegistryRef.current;\n logDebug('Initializing guidance state', { scopes: applicableScopes, flowCount: persistenceRegistry.size });\n\n const stateResults = await Promise.allSettled(\n applicableScopes.map(async (scope) => {\n let state = await fetchGuidanceState(scope, registry.doOperation, registry.registry);\n if (state === null) {\n logDebug(`Auto-creating guidance state for scope ${scope}`);\n state = await createGuidanceState(scope, registry.doOperation, registry.registry);\n }\n return { scope, state };\n }),\n );\n\n if (cancelled) return;\n\n const newStates: ScopedStates = {};\n for (const result of stateResults) {\n if (result.status === 'fulfilled' && result.value.state) {\n newStates[result.value.scope] = result.value.state;\n }\n }\n\n // M7: Functional updater — merge with any concurrent WS updates\n updateScopedStates(prev => ({ ...prev, ...newStates }));\n setIsLoading(false);\n logDebug('Guidance state loaded', { scopeCount: Object.keys(newStates).length });\n };\n\n initialize();\n return () => { cancelled = true; };\n // Deps are the genuine fetch inputs ONLY: the applicable scope set + the\n // auth gate + the persistable-flows gate. Service handles (resourceRegistry)\n // are read via ref so their boot-time identity churn cannot cancel the\n // in-flight fetch before it commits. logDebug / updateScopedStates are stable\n // (useMemo/useCallback with stable deps).\n }, [hasPersistableFlows, applicableScopes, isAuthenticated, logDebug, updateScopedStates]);\n\n // ─── Progression Initialization (Phase 4) ──────────────────\n\n const progressionApplicableScopes = useMemo<ProgressionScope[]>(() => {\n const scopes: ProgressionScope[] = [ProgressionScope.USER];\n if (appScope?.currentOrganizationId) {\n scopes.push(ProgressionScope.ORGANIZATION);\n }\n return scopes;\n }, [appScope?.currentOrganizationId]);\n\n // H3-8: Abort guard for progression init\n useEffect(() => {\n if (progressionInitRef.current || !isAuthenticated) return;\n progressionInitRef.current = true;\n let cancelled = false;\n\n const initializeProgression = async () => {\n // Read the latest registry handle at call time (see resourceRegistryRef).\n const registry = resourceRegistryRef.current;\n logDebug('Initializing progression state', { scopes: progressionApplicableScopes });\n\n const [stateResults, definitions] = await Promise.all([\n Promise.allSettled(\n progressionApplicableScopes.map(async (scope) => {\n const state = await fetchProgressionState(scope, registry.doOperation, registry.registry);\n return { scope, state };\n }),\n ),\n fetchMilestoneDefinitions(analyticsEnabled),\n ]);\n\n if (cancelled) return;\n\n const newStates: ProgressionScopedStates = { ...EMPTY_SCOPED_PROGRESSION };\n for (const result of stateResults) {\n if (result.status === 'fulfilled' && result.value.state) {\n newStates[result.value.scope] = result.value.state;\n }\n }\n\n // M7: Functional updater — merge with concurrent WS updates\n setProgressionScopedStates(prev => ({ ...prev, ...newStates }));\n if (definitions.length > 0) {\n setMilestoneDefinitions(definitions);\n }\n setProgressionIsLoading(false);\n logDebug('Progression state loaded', {\n scopeCount: Object.values(newStates).filter(Boolean).length,\n milestoneDefinitionCount: definitions.length,\n });\n };\n\n initializeProgression();\n return () => { cancelled = true; };\n // Genuine fetch inputs ONLY (scope set + analytics gate + auth gate).\n // resourceRegistry read via ref; appContext dropped (only its derived\n // `analyticsEnabled` boolean is used, and it is already a dep).\n }, [analyticsEnabled, progressionApplicableScopes, isAuthenticated, logDebug]);\n\n // ─── Lifecycle Initialization (Phase 5) ─────────────────────\n\n const lifecycleApplicableScopes = useMemo<LifecycleScope[]>(() => {\n if (!lifecycleEnabled) return [];\n const scopes: LifecycleScope[] = [LifecycleScope.USER];\n if (appScope?.currentOrganizationId) {\n scopes.push(LifecycleScope.ORGANIZATION);\n }\n return scopes;\n }, [lifecycleEnabled, appScope?.currentOrganizationId]);\n\n // H3-8: Abort guard for lifecycle init\n useEffect(() => {\n if (lifecycleInitRef.current || !isAuthenticated || !lifecycleEnabled) {\n return;\n }\n lifecycleInitRef.current = true;\n let cancelled = false;\n\n const initializeLifecycle = async () => {\n // Read the latest registry handle at call time (see resourceRegistryRef).\n const registry = resourceRegistryRef.current;\n setLifecycleIsLoading(true);\n logDebug('Initializing lifecycle state', { scopes: lifecycleApplicableScopes });\n\n const stateResults = await Promise.allSettled(\n lifecycleApplicableScopes.map(async (scope) => {\n const state = await fetchLifecycleState(scope, registry.doOperation, registry.registry);\n return { scope, state: state ?? GuidanceStateUtils.createInitialLifecycleState() };\n }),\n );\n\n if (cancelled) return;\n\n const newStates: LifecycleScopedStates = { ...EMPTY_SCOPED_LIFECYCLE };\n for (const result of stateResults) {\n if (result.status === 'fulfilled' && result.value.state) {\n newStates[result.value.scope] = result.value.state;\n }\n }\n\n // M7: Functional updater — merge with concurrent WS updates\n setLifecycleScopedStates(prev => ({ ...prev, ...newStates }));\n setLifecycleIsLoading(false);\n logDebug('Lifecycle state loaded', { scopeCount: Object.values(newStates).filter(Boolean).length });\n };\n\n initializeLifecycle();\n return () => { cancelled = true; };\n // Genuine fetch inputs ONLY (scope set + lifecycle gate + auth gate).\n // resourceRegistry read via ref so boot-time identity churn cannot cancel\n // the in-flight fetch before it commits.\n }, [lifecycleApplicableScopes, isAuthenticated, lifecycleEnabled, logDebug]);\n\n // ─── State Mutation Helpers ─────────────────────────────────\n\n const resolveFlowStateScope = useCallback((\n flowRef: string,\n candidateStates: ScopedStates = scopedStatesRef.current,\n ): GuidanceFlowScope => {\n const matchingScopes = [GuidanceFlowScope.USER, GuidanceFlowScope.ORGANIZATION].filter(\n (scope) => candidateStates[scope]?.flows?.[flowRef] !== undefined,\n );\n const activeScope = matchingScopes.find(\n (scope) => candidateStates[scope]?.flows?.[flowRef]?.status === OnboardingStatus.IN_PROGRESS,\n );\n\n return activeScope\n ?? matchingScopes[0]\n ?? flowScopeMap[flowRef]\n ?? GuidanceFlowScope.USER;\n }, [flowScopeMap]);\n\n // H5: Compute the persisted state synchronously from the latest committed ref.\n // React may defer functional state updaters, so deriving persistence payloads\n // from inside `setState(...)` can skip writes entirely at runtime.\n const updateFlowState = useCallback((\n flowRef: string,\n updater: (prev: GuidanceFlowState) => GuidanceFlowState,\n options?: {\n scopeOverride?: GuidanceFlowScope;\n },\n ) => {\n const currentScopedStates = scopedStatesRef.current;\n const scope = options?.scopeOverride ?? resolveFlowStateScope(flowRef, currentScopedStates);\n const scopeState = currentScopedStates[scope] ?? { flows: {} };\n const currentFlowState = scopeState.flows[flowRef] ?? {\n status: OnboardingStatus.NOT_STARTED,\n elements: {},\n triggerCount: 0,\n };\n const updatedFlowState = updater(currentFlowState);\n const nextScopeState = {\n ...scopeState,\n flows: { ...scopeState.flows, [flowRef]: updatedFlowState },\n };\n\n commitScopedStates({\n ...currentScopedStates,\n [scope]: nextScopeState,\n });\n void persistGuidanceState(\n scope,\n nextScopeState,\n resourceRegistry.doOperation,\n resourceRegistry.registry,\n );\n }, [commitScopedStates, resolveFlowStateScope, resourceRegistry]);\n\n // ─── Trigger Engine ─────────────────────────────────────────\n\n const tryActivateFlow = useCallback((flowRef: string) => {\n const flow = flowRegistry.get(flowRef);\n if (!flow) return;\n const scope = flowScopeMap[flowRef] ?? GuidanceFlowScope.USER;\n if (!applicableScopes.includes(scope)) return;\n if (featuresAreLoading && flow.audience?.requiredFeatures) {\n pendingFeatureActivationRefsRef.current.add(flowRef);\n return;\n }\n\n const state = flowStates[flowRef];\n\n // H3-4: Block terminal (completed / dismissed / skipped) flows from re-activating\n if (isTerminalOnboardingStatus(state?.status)) return;\n if (state?.status === OnboardingStatus.IN_PROGRESS && activeFlowRefs.has(flowRef)) return;\n\n if (!evaluateGuidanceAudience(flow.audience, audienceContext)) return;\n\n logDebug(`Activating flow: ${flowRef}`);\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.add(flowRef);\n return next;\n });\n\n // H3-1 + H3-2: Set IN_PROGRESS and increment triggerCount\n updateFlowState(flowRef, prev => ({\n ...prev,\n status: OnboardingStatus.IN_PROGRESS,\n startedAt: prev.startedAt ?? new Date(),\n triggerCount: (prev.triggerCount ?? 0) + 1,\n }));\n\n emit(FrontendEvents.GUIDANCE_FLOW_ACTIVATED, {\n flowRef,\n renderMode: flow.renderMode,\n triggerSource: 'frontend',\n scope,\n });\n }, [flowRegistry, flowStates, activeFlowRefs, audienceContext, flowScopeMap, applicableScopes, emit, logDebug, updateFlowState, featuresAreLoading]);\n\n // FIRST_VISIT trigger: run after each relevant state load boundary.\n useEffect(() => {\n if (guidanceIsLoading || featuresAreLoading || flowDefinitions.length === 0) return;\n\n for (const flow of flowDefinitions) {\n if (flow.trigger.type !== OnboardingTriggerType.FIRST_VISIT) continue;\n const state = flowStates[flow.ref];\n if (!state || state.triggerCount === 0) {\n tryActivateFlow(flow.ref);\n }\n }\n // Re-run after load boundaries or scope changes, but not on every flow-state mutation.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [guidanceIsLoading, featuresAreLoading, applicableScopes]);\n\n useEffect(() => {\n if (featuresAreLoading || pendingFeatureActivationRefsRef.current.size === 0) {\n return;\n }\n\n const pendingFlowRefs = Array.from(pendingFeatureActivationRefsRef.current);\n pendingFeatureActivationRefsRef.current.clear();\n\n for (const flowRef of pendingFlowRefs) {\n tryActivateFlow(flowRef);\n }\n }, [featuresAreLoading, tryActivateFlow]);\n\n // H3-11: Pre-compile route-match regexes to avoid ReDoS on every navigation event\n const routeFlowsCompiled = useMemo(() =>\n flowDefinitions\n .filter(f => f.trigger.type === OnboardingTriggerType.ROUTE_MATCH && f.trigger.routePattern)\n .map(f => {\n try {\n return { ...f, _compiledPattern: new RegExp(f.trigger.routePattern!) };\n } catch {\n return null;\n }\n })\n .filter((f): f is NonNullable<typeof f> => f !== null),\n [flowDefinitions],\n );\n\n // ROUTE_MATCH trigger: subscribe to navigation pane changes\n useEffect(() => {\n if (guidanceIsLoading || routeFlowsCompiled.length === 0) return;\n\n return on(FrontendEvents.NAVIGATION_ZONE_CHANGED, (payload) => {\n const currentPath = (payload.currentContent as { urlPath?: string })?.urlPath;\n if (!currentPath) return;\n\n for (const flow of routeFlowsCompiled) {\n if (flow._compiledPattern.test(currentPath)) {\n tryActivateFlow(flow.ref);\n }\n }\n });\n }, [guidanceIsLoading, routeFlowsCompiled, on, tryActivateFlow]);\n\n // EVENT trigger: subscribe to resource success events\n useEffect(() => {\n if (guidanceIsLoading || flowDefinitions.length === 0) return;\n\n const eventFlows = flowDefinitions.filter(f => f.trigger.type === OnboardingTriggerType.EVENT && f.trigger.eventName);\n if (eventFlows.length === 0) return;\n\n return on(FrontendEvents.NOTIFY_RESOURCE_SUCCESS, (payload) => {\n const eventName = `${payload.resourceType}:${payload.operationIdentifier}`;\n for (const flow of eventFlows) {\n if (flow.trigger.eventName === eventName || flow.trigger.eventName === payload.operationIdentifier) {\n tryActivateFlow(flow.ref);\n }\n }\n });\n }, [guidanceIsLoading, flowDefinitions, on, tryActivateFlow]);\n\n // H4: Stable ref for tryActivateFlow — prevents DELAYED timers from restarting on every state change\n const tryActivateFlowRef = useRef(tryActivateFlow);\n useEffect(() => { tryActivateFlowRef.current = tryActivateFlow; }, [tryActivateFlow]);\n\n // DELAYED trigger: start timers after state loads\n useEffect(() => {\n if (guidanceIsLoading || flowDefinitions.length === 0) return;\n\n const delayedFlows = flowDefinitions.filter(f => f.trigger.type === OnboardingTriggerType.DELAYED && f.trigger.delayMs);\n if (delayedFlows.length === 0) return;\n\n for (const flow of delayedFlows) {\n if (delayTimersRef.current.has(flow.ref)) continue;\n const timer = setTimeout(() => {\n tryActivateFlowRef.current(flow.ref);\n delayTimersRef.current.delete(flow.ref);\n }, flow.trigger.delayMs!);\n delayTimersRef.current.set(flow.ref, timer);\n }\n\n return () => {\n for (const timer of delayTimersRef.current.values()) {\n clearTimeout(timer);\n }\n delayTimersRef.current.clear();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [guidanceIsLoading, flowDefinitions]);\n\n // ─── Active Flows (with coexistence enforcement) ────────────\n\n const activeFlows = useMemo<GuidanceFlowDefinition[]>(() => {\n const eligible = flowDefinitions.filter(f => activeFlowRefs.has(f.ref));\n return enforceCoexistence(eligible);\n }, [flowDefinitions, activeFlowRefs]);\n\n // ─── Public API ─────────────────────────────────────────────\n\n // H3-9: Guard activateFlow against pre-init — no-op while loading\n const activateFlow = useCallback((ref: string) => {\n if (guidanceIsLoading) return;\n tryActivateFlow(ref);\n }, [tryActivateFlow, guidanceIsLoading]);\n\n const completeElement = useCallback((\n flowRef: string,\n elementRef: string,\n data?: { surveyAnswers?: Record<string, unknown>; lastStepIndex?: number },\n ) => {\n // H3-6: Guard — unknown flow OR onboarding view no-op\n if (!persistenceRegistry.has(flowRef)) return;\n\n // L18: Validate survey answers against schema before persisting\n let validatedSurveyAnswers: Record<string, string | number | boolean | string[]> | undefined;\n if (data?.surveyAnswers) {\n const sanitized: Record<string, string | number | boolean | string[]> = {};\n for (const [key, value] of Object.entries(data.surveyAnswers)) {\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n sanitized[key] = value;\n } else if (Array.isArray(value) && value.every(v => typeof v === 'string')) {\n sanitized[key] = value as string[];\n }\n }\n validatedSurveyAnswers = sanitized;\n }\n\n updateFlowState(flowRef, (prev) => ({\n ...prev,\n status: prev.status === OnboardingStatus.NOT_STARTED ? OnboardingStatus.IN_PROGRESS : prev.status,\n elements: {\n ...prev.elements,\n [elementRef]: {\n status: OnboardingStatus.COMPLETED,\n completedAt: new Date(),\n surveyAnswers: validatedSurveyAnswers,\n lastStepIndex: data?.lastStepIndex,\n },\n },\n }));\n\n // GUIDANCE_* events are flow-only: skip for onboarding views (no renderMode).\n const entry = persistenceRegistry.get(flowRef);\n if (entry?.renderMode) {\n const element = entry.elements.find(e => e.ref === elementRef);\n if (element) {\n emit(FrontendEvents.GUIDANCE_ELEMENT_COMPLETED, {\n flowRef,\n elementRef,\n elementType: element.type,\n });\n }\n }\n\n logDebug(`Element completed: ${flowRef}/${elementRef}`);\n }, [updateFlowState, persistenceRegistry, emit, logDebug]);\n\n const completeFlow = useCallback((flowRef: string) => {\n // H3-6: Guard — unknown flow OR onboarding view no-op\n if (!persistenceRegistry.has(flowRef)) return;\n // H3-7: State transition validation — block only from a terminal state.\n // A flow shown by a direct renderer (standalone OnboardingView) may still be\n // NOT_STARTED/undefined when the user completes it (it is never routed through\n // the trigger engine), so allow any non-terminal status to reach COMPLETED —\n // mirrors dismiss/skip and keeps the four lifecycle guards aligned.\n const currentState = flowStates[flowRef];\n if (isTerminalOnboardingStatus(currentState?.status)) return;\n updateFlowState(flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.COMPLETED,\n completedAt: new Date(),\n }));\n\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(flowRef);\n return next;\n });\n\n // Flow-only event: onboarding views (no renderMode) persist silently.\n const entry = persistenceRegistry.get(flowRef);\n const scope = resolveFlowStateScope(flowRef);\n if (entry?.renderMode) {\n emit(FrontendEvents.GUIDANCE_FLOW_COMPLETED, {\n flowRef,\n renderMode: entry.renderMode,\n triggerSource: 'frontend',\n scope,\n });\n }\n\n logDebug(`Flow completed: ${flowRef}`);\n }, [updateFlowState, persistenceRegistry, flowStates, resolveFlowStateScope, emit, logDebug]);\n\n const dismissFlow = useCallback((flowRef: string) => {\n // H3-6: Guard — unknown flow OR onboarding view no-op\n if (!persistenceRegistry.has(flowRef)) return;\n // H3-7: State transition validation — block only from a terminal state.\n // A standalone OnboardingView persists its dismiss through this flow ref\n // without ever activating the flow, so it is typically NOT_STARTED/undefined\n // at first dismiss; allow any non-terminal status to be dismissed (mirrors\n // skip) so the dismissal is actually persisted to the backend.\n const currentState = flowStates[flowRef];\n if (isTerminalOnboardingStatus(currentState?.status)) return;\n updateFlowState(flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.DISMISSED,\n dismissedAt: new Date(),\n }));\n\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(flowRef);\n return next;\n });\n\n // Flow-only event: onboarding views (no renderMode) persist silently.\n const entry = persistenceRegistry.get(flowRef);\n const scope = resolveFlowStateScope(flowRef);\n if (entry?.renderMode) {\n emit(FrontendEvents.GUIDANCE_FLOW_DISMISSED, {\n flowRef,\n renderMode: entry.renderMode,\n triggerSource: 'frontend',\n scope,\n });\n }\n\n logDebug(`Flow dismissed: ${flowRef}`);\n }, [updateFlowState, persistenceRegistry, flowStates, resolveFlowStateScope, emit, logDebug]);\n\n const skipFlow = useCallback((flowRef: string) => {\n // H3-6: Guard — unknown flow OR onboarding view no-op\n if (!persistenceRegistry.has(flowRef)) return;\n // H3-7: State transition validation — block only from a terminal state\n // (mirrors complete/dismiss via the shared predicate).\n const currentState = flowStates[flowRef];\n if (isTerminalOnboardingStatus(currentState?.status)) return;\n updateFlowState(flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.SKIPPED,\n }));\n\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(flowRef);\n return next;\n });\n\n logDebug(`Flow skipped: ${flowRef}`);\n }, [updateFlowState, persistenceRegistry, flowStates, logDebug]);\n\n const isFlowActive = useCallback((ref: string): boolean => {\n return activeFlowRefs.has(ref);\n }, [activeFlowRefs]);\n\n const isFlowCompleted = useCallback((ref: string): boolean => {\n return flowStates[ref]?.status === OnboardingStatus.COMPLETED;\n }, [flowStates]);\n\n // True for guidance flows AND app-config onboarding views — see persistenceRegistry.\n const isFlowPersistable = useCallback((ref: string): boolean => {\n return persistenceRegistry.has(ref);\n }, [persistenceRegistry]);\n\n // ─── WS / EventBus Subscriptions ───────────────────────────\n\n // Listen for backend-pushed guidance events\n useEffect(() => {\n const unsubActivated = on(FrontendEvents.GUIDANCE_FLOW_ACTIVATED, (payload: FrontendEvent_GuidanceFlow) => {\n if (payload.triggerSource === 'backend') {\n logDebug(`Backend activated flow: ${payload.flowRef}`);\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.add(payload.flowRef);\n return next;\n });\n updateFlowState(payload.flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.IN_PROGRESS,\n startedAt: prev.startedAt ?? new Date(),\n triggerCount: (prev.triggerCount ?? 0) + 1,\n }), { scopeOverride: payload.scope });\n }\n });\n\n const unsubCompleted = on(FrontendEvents.GUIDANCE_FLOW_COMPLETED, (payload: FrontendEvent_GuidanceFlow) => {\n if (payload.triggerSource === 'backend') {\n logDebug(`Backend completed flow: ${payload.flowRef}`);\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(payload.flowRef);\n return next;\n });\n updateFlowState(payload.flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.COMPLETED,\n completedAt: new Date(),\n }), { scopeOverride: payload.scope });\n }\n });\n\n const unsubDismissed = on(FrontendEvents.GUIDANCE_FLOW_DISMISSED, (payload: FrontendEvent_GuidanceFlow) => {\n if (payload.triggerSource === 'backend') {\n logDebug(`Backend dismissed flow: ${payload.flowRef}`);\n setActiveFlowRefs(prev => {\n const next = new Set(prev);\n next.delete(payload.flowRef);\n return next;\n });\n updateFlowState(payload.flowRef, (prev) => ({\n ...prev,\n status: OnboardingStatus.DISMISSED,\n dismissedAt: new Date(),\n }), { scopeOverride: payload.scope });\n }\n });\n\n return () => {\n unsubActivated();\n unsubCompleted();\n unsubDismissed();\n };\n }, [on, logDebug, updateFlowState]);\n\n // ─── Progression WS Subscription (Phase 4) ────────────────\n\n useEffect(() => {\n const unsubMilestone = on(FrontendEvents.MILESTONE_ACHIEVED, (payload: FrontendEvent_MilestoneAchieved) => {\n logDebug(`Milestone achieved: ${payload.milestoneRef} (scope: ${payload.scope})`);\n\n const scope = payload.scope as ProgressionScope;\n setProgressionScopedStates(prev => {\n const current = prev[scope] ?? { milestonesAchieved: {}, operationCounts: {}, totalPoints: 0, categoriesProgress: {} };\n return {\n ...prev,\n [scope]: {\n ...current,\n milestonesAchieved: {\n ...current.milestonesAchieved,\n [payload.milestoneRef]: {\n achievedAt: new Date(),\n count: 1,\n },\n },\n totalPoints: payload.totalPoints,\n categoriesProgress: {\n ...current.categoriesProgress,\n [payload.category]: {\n completedCount: (current.categoriesProgress[payload.category]?.completedCount ?? 0) + 1,\n totalPoints: (current.categoriesProgress[payload.category]?.totalPoints ?? 0) + (payload.points ?? 0),\n },\n },\n },\n };\n });\n\n // M11: Re-fetch features + notify user when a feature is unlocked\n if (payload.reward?.type === MilestoneRewardType.FEATURE_UNLOCK) {\n featuresCtx?.refetch();\n emit(FrontendEvents.NOTIFY_CUSTOM_SUCCESS, {\n identifier: `milestone.feature_unlock.${payload.milestoneRef}`,\n data: {\n milestoneRef: payload.milestoneRef,\n featureRef: payload.reward.featureRef,\n },\n });\n }\n\n // C3: Trigger celebration overlay for celebration-type rewards\n if (payload.reward?.type === MilestoneRewardType.CELEBRATION && payload.reward?.celebrationLevel) {\n const levelToMode: Record<string, CelebrationDisplayMode> = {\n low: CelebrationDisplayMode.CONFETTI,\n medium: CelebrationDisplayMode.OVERLAY,\n high: CelebrationDisplayMode.LOTTIE,\n };\n const mode = levelToMode[payload.reward.celebrationLevel] ?? CelebrationDisplayMode.CONFETTI;\n emit(FrontendEvents.NOTIFY_CUSTOM_SUCCESS, {\n identifier: `milestone.${payload.milestoneRef}`,\n data: {\n frontendDisplayHints: { celebration: { mode } },\n milestoneRef: payload.milestoneRef,\n category: payload.category,\n points: payload.points,\n },\n });\n }\n });\n\n // Progression progress (non-achievement): merge the authoritative\n // post-increment operationCounts so in-progress milestone bars advance live\n // (e.g. 8/10 → 9/10) without waiting for achievement or a page reload. The\n // MILESTONE_ACHIEVED handler above owns milestonesAchieved / categories /\n // celebration; here we only refresh counts + totalPoints.\n const unsubProgressionUpdate = on(FrontendEvents.PROGRESSION_UPDATED, (payload: FrontendEvent_ProgressionUpdated) => {\n const scope = payload.scope as ProgressionScope;\n setProgressionScopedStates(prev => {\n const current = prev[scope] ?? { milestonesAchieved: {}, operationCounts: {}, totalPoints: 0, categoriesProgress: {} };\n return {\n ...prev,\n [scope]: {\n ...current,\n operationCounts: payload.operationCounts,\n totalPoints: payload.totalPoints,\n },\n };\n });\n });\n\n return () => {\n unsubMilestone();\n unsubProgressionUpdate();\n };\n }, [on, logDebug, emit, featuresCtx]);\n\n // ─── Lifecycle WS Subscription (Phase 5) ────────────────────\n\n useEffect(() => {\n if (!lifecycleEnabled) return;\n\n const unsubLifecycle = on(FrontendEvents.LIFECYCLE_STAGE_CHANGED, (payload: FrontendEvent_LifecycleStageChanged) => {\n logDebug(`Lifecycle stage changed: ${payload.previousStage} → ${payload.newStage} (scope: ${payload.scope})`);\n\n const scope = payload.scope as LifecycleScope;\n setLifecycleScopedStates(prev => {\n const current = prev[scope] ?? GuidanceStateUtils.createInitialLifecycleState(new Date(payload.changedAt));\n const changedAtDate = new Date(payload.changedAt);\n const updatedHistory = [...current.stageHistory];\n if (updatedHistory.length > 0 && !updatedHistory[0].exitedAt) {\n updatedHistory[0] = { ...updatedHistory[0], exitedAt: changedAtDate };\n }\n updatedHistory.unshift({\n stage: payload.newStage,\n enteredAt: changedAtDate,\n trigger: payload.trigger,\n });\n return {\n ...prev,\n [scope]: {\n ...current,\n currentStage: payload.newStage,\n stageEnteredAt: changedAtDate,\n stageHistory: updatedHistory,\n ...(payload.activationCriteriaMet ? { activationCriteriaMet: payload.activationCriteriaMet } : {}),\n },\n };\n });\n });\n\n return () => {\n unsubLifecycle();\n };\n }, [on, logDebug, lifecycleEnabled]);\n\n // ─── Progression Context Slice (Phase 4) ───────────────────\n\n const progressionSlice = useMemo<ProgressionContextSlice>(() => {\n const isMilestoneAchieved = (milestoneRef: string): boolean => {\n for (const scope of Object.values(ProgressionScope)) {\n const state = progressionScopedStates[scope];\n if (state?.milestonesAchieved[milestoneRef]) return true;\n }\n return false;\n };\n\n const getMilestoneAchievement = (milestoneRef: string): ProgressionMilestoneAchieved | undefined => {\n for (const scope of Object.values(ProgressionScope)) {\n const state = progressionScopedStates[scope];\n const achievement = state?.milestonesAchieved[milestoneRef];\n if (achievement) return achievement;\n }\n return undefined;\n };\n\n const getCategoryProgress = (category: string): ProgressionCategoryProgress | undefined => {\n let merged: ProgressionCategoryProgress | undefined;\n for (const scope of Object.values(ProgressionScope)) {\n const state = progressionScopedStates[scope];\n const catProgress = state?.categoriesProgress[category];\n if (catProgress) {\n if (!merged) {\n merged = { completedCount: 0, totalPoints: 0 };\n }\n merged.completedCount += catProgress.completedCount;\n merged.totalPoints += catProgress.totalPoints;\n }\n }\n return merged;\n };\n\n let totalPoints = 0;\n for (const scope of Object.values(ProgressionScope)) {\n const state = progressionScopedStates[scope];\n if (state) {\n totalPoints += state.totalPoints;\n }\n }\n\n return {\n scopedStates: progressionScopedStates,\n isMilestoneAchieved,\n getMilestoneAchievement,\n getCategoryProgress,\n totalPoints,\n milestoneDefinitions,\n isLoading: progressionIsLoading,\n };\n }, [progressionScopedStates, progressionIsLoading, milestoneDefinitions]);\n\n // ─── Lifecycle Context Slice (Phase 5) ─────────────────────\n\n const lifecycleSlice = useMemo<LifecycleContextSlice>(() => {\n if (!lifecycleEnabled) return LIFECYCLE_DEFAULTS;\n\n // Use USER scope as the primary lifecycle state (most common)\n const primaryState = lifecycleScopedStates[LifecycleScope.USER];\n\n const currentStage = primaryState?.currentStage ?? null;\n const stageEnteredAt = primaryState?.stageEnteredAt ? new Date(primaryState.stageEnteredAt) : null;\n\n const hasReachedStage = (stage: LifecycleStage): boolean => {\n if (!primaryState) return false;\n return hasReachedStageUtil(primaryState, stage);\n };\n\n // Build activation progress from criteria config + state\n const criteriaMet = primaryState?.activationCriteriaMet ?? {};\n const criteria = lifecycleActivationCriteria?.criteria ?? [];\n const totalCriteria = criteria.length;\n const metCriteria = Object.values(criteriaMet).filter(Boolean).length;\n\n return {\n currentStage,\n stageEnteredAt,\n isEnabled: true,\n isLoading: lifecycleIsLoading,\n hasReachedStage,\n activationProgress: {\n criteriaMet,\n criteria,\n totalCriteria,\n metCriteria,\n isFullyActivated: totalCriteria > 0 ? metCriteria >= totalCriteria : currentStage !== LifecycleStage.SIGNED_UP,\n },\n };\n }, [lifecycleEnabled, lifecycleScopedStates, lifecycleIsLoading, lifecycleActivationCriteria]);\n\n // ─── Context Value ──────────────────────────────────────────\n\n // M8/L19: Context re-render isolation analysis\n // The context value depends on 13 values — any change creates a new value and re-renders all consumers.\n // Options considered:\n // 1. Split into separate contexts (GuidanceContext, ProgressionContext, LifecycleContext) — most effective\n // 2. useSyncExternalStore with granular subscriptions — less invasive\n // 3. Accept current behavior + optimize consumers with React.memo\n // Decision: Option 3 for v1. The provider-level useMemo on progressionSlice and lifecycleSlice\n // ensures reference stability for the most commonly-used slices. Hook-level useMemo in\n // useLifecycle() and useProgression() provides additional stability.\n // Revisit if profiling shows re-render performance issues.\n const contextValue = useMemo<GuidanceContextValue>(() => ({\n activeFlows,\n flowStates,\n activateFlow,\n completeElement,\n completeFlow,\n dismissFlow,\n skipFlow,\n isFlowActive,\n isFlowCompleted,\n isFlowPersistable,\n isLoading: guidanceIsLoading,\n progression: progressionSlice,\n lifecycle: lifecycleSlice,\n }), [\n activeFlows,\n flowStates,\n activateFlow,\n completeElement,\n completeFlow,\n dismissFlow,\n skipFlow,\n isFlowActive,\n isFlowCompleted,\n isFlowPersistable,\n guidanceIsLoading,\n progressionSlice,\n lifecycleSlice,\n ]);\n\n return (\n <GuidanceContext.Provider value={contextValue}>\n {children}\n </GuidanceContext.Provider>\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GuidanceRenderer.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"GuidanceRenderer.d.ts","sourceRoot":"","sources":["../../../../src/core/guidance/GuidanceRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,KAAK,EAEV,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAwB/B,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACxC,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACrH,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,yGAAyG;IACzG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;CAClF;AA8ED,MAAM,WAAW,qBAAqB;IACpC,eAAe,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;CAClG;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAqL5D,CAAC"}
|