@wildo-ai/saas-frontend-lib 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/browser-bootstrap/theme-bootstrap.d.ts.map +1 -1
- package/dist/esm/browser-bootstrap/theme-bootstrap.js.map +1 -1
- package/dist/esm/browser-bootstrap.exports.d.ts.map +1 -1
- package/dist/esm/browser-bootstrap.exports.js.map +1 -1
- package/dist/esm/companion-exports.d.ts.map +1 -1
- package/dist/esm/companion-exports.js.map +1 -1
- package/dist/esm/companion-runtime-exports.d.ts.map +1 -1
- package/dist/esm/companion-runtime-exports.js.map +1 -1
- package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
- package/dist/esm/components/actions/action-bar.js.map +1 -1
- package/dist/esm/components/actions/action-button.d.ts.map +1 -1
- package/dist/esm/components/actions/action-button.js.map +1 -1
- package/dist/esm/components/actions/button-group.d.ts.map +1 -1
- package/dist/esm/components/actions/button-group.js.map +1 -1
- package/dist/esm/components/actions/button.d.ts.map +1 -1
- package/dist/esm/components/actions/button.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-list.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-list.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/image.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.d.ts +15 -2
- package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/confirmation.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent-wrappers.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.js.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.js.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.js.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.js.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.js.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.js.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.js.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.labels.js.map +1 -1
- package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
- package/dist/esm/components/app/AppLayout_NotificationCenter.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_NotificationCenter.js +7 -2
- package/dist/esm/components/app/AppLayout_NotificationCenter.js.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.js.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.js.map +1 -1
- package/dist/esm/components/app/AppPage_Home.d.ts.map +1 -1
- package/dist/esm/components/app/AppPage_Home.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_MainContainer.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_MainContainer.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_Terms.labels.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_Terms.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.js.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.js.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.js.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.js.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.js.map +1 -1
- package/dist/esm/components/auth/Auth_Main.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.js.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.js.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.js.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Register.js.map +1 -1
- package/dist/esm/components/auth/Auth_Register.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.js.map +1 -1
- package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js.map +1 -1
- package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/enrollment-method-components.js.map +1 -1
- package/dist/esm/components/auth/methods/EmailOtpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/EmailOtpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/MagicLinkAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/MagicLinkAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/OrgOidcAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgOidcAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/PasskeyAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/PasskeyAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/PasswordAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/PasswordAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/SmsOtpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/SmsOtpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/TotpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/TotpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/auth-method-components.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/auth-method-components.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthCallback.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthExchange.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthExchange.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Invitation.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Invitation.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Main.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OneOffSession.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OneOffSession.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_PasswordLost.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_PasswordLost.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Register.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Register.js.map +1 -1
- package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.js.map +1 -1
- package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.js.map +1 -1
- package/dist/esm/components/auth/utils/LabeledDivider.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/LabeledDivider.js.map +1 -1
- package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/OAuthProvidersSection.js.map +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js.map +1 -1
- package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.js.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/DisplayContextKindContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayContextKindContext.js.map +1 -1
- package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayField.js +8 -5
- package/dist/esm/components/data-display/DisplayField.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.js +6 -2
- package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js.map +1 -1
- package/dist/esm/components/data-display/DisplayTemplateContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayTemplateContext.js.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/SummaryContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
- package/dist/esm/components/data-display/automatic-displayer.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/automatic-displayer.utils.js.map +1 -1
- package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
- package/dist/esm/components/data-display/avatar.js.map +1 -1
- package/dist/esm/components/data-display/badge.d.ts.map +1 -1
- package/dist/esm/components/data-display/badge.js.map +1 -1
- package/dist/esm/components/data-display/chart-echarts.d.ts.map +1 -1
- package/dist/esm/components/data-display/chart-echarts.js.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayChromeContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayChromeContext.js.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
- package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
- package/dist/esm/components/data-display/description-list.js.map +1 -1
- package/dist/esm/components/data-display/display-field-resolution.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-field-resolution.utils.js.map +1 -1
- package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
- package/dist/esm/components/data-display/display-resource-link-trail.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-resource-link-trail.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-json.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-json.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.js.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
- package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
- package/dist/esm/components/data-display/useFileActivation.js.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
- package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
- package/dist/esm/components/feedback/danger-zone.js.map +1 -1
- package/dist/esm/components/feedback/empty-display-policy.utils.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-display-policy.utils.js.map +1 -1
- package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-state.js.map +1 -1
- package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
- package/dist/esm/components/feedback/error-display.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts +36 -0
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js +29 -0
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.js.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.js.map +1 -1
- package/dist/esm/components/feedback/notification-center.d.ts +11 -5
- package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
- package/dist/esm/components/feedback/notification-center.js +2 -3
- package/dist/esm/components/feedback/notification-center.js.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
- package/dist/esm/components/feedback/progress.d.ts.map +1 -1
- package/dist/esm/components/feedback/progress.js.map +1 -1
- package/dist/esm/components/feedback/resource-empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/resource-empty-state.js.map +1 -1
- package/dist/esm/components/feedback/skeleton-text.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton-text.js.map +1 -1
- package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton.js.map +1 -1
- package/dist/esm/components/feedback/toast.d.ts.map +1 -1
- package/dist/esm/components/feedback/toast.js.map +1 -1
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts +41 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.js +207 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts +3 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.js +36 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.js.map +1 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts +8 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts.map +1 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.js +14 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.js.map +1 -0
- package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/actor.js.map +1 -1
- package/dist/esm/components/flows-actors/actor.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/actor.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.js.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.js +14 -2
- package/dist/esm/components/flows-actors/approval.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.labels.js +2 -0
- package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.js.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.js.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.labels.js.map +1 -1
- package/dist/esm/components/form/Form.d.ts.map +1 -1
- package/dist/esm/components/form/Form.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.js +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.js +16 -9
- package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
- package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormField.js +9 -2
- package/dist/esm/components/form/automated/FormField.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldArray.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldArray.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldComposite.js +8 -6
- package/dist/esm/components/form/automated/FormFieldComposite.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldRecord.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
- package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.js.map +1 -1
- package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.js.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js +37 -3
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.js.map +1 -1
- package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts +12 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts.map +1 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js +26 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js.map +1 -0
- package/dist/esm/components/form/automated/autosave-indicator.d.ts.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.js.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.utils.js.map +1 -1
- package/dist/esm/components/form/automated/create-form-default-values.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/create-form-default-values.utils.js.map +1 -1
- package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.helpers.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.helpers.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.shared.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.shared.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.utils.js.map +1 -1
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
- package/dist/esm/components/form/chromes/FormChromeContext.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormChromeContext.js.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
- package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/field.js.map +1 -1
- package/dist/esm/components/form/chromes/form-primitives.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/form-primitives.js.map +1 -1
- package/dist/esm/components/form/combobox.d.ts.map +1 -1
- package/dist/esm/components/form/combobox.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
- package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select.js.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.js.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.js.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
- package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input-group.js.map +1 -1
- package/dist/esm/components/form/controls/input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input.js.map +1 -1
- package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
- package/dist/esm/components/form/controls/number/slider.js.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.js.map +1 -1
- package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/inline-edit-text.js.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.js.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.js.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.labels.js.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.js.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.js.map +1 -1
- package/dist/esm/components/form/feedback/RemoteChangeNotification.d.ts.map +1 -1
- package/dist/esm/components/form/feedback/RemoteChangeNotification.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.js +4 -2
- package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.js +4 -2
- package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts +15 -5
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js +21 -18
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.js +90 -2
- package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.labels.js +15 -0
- package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.js +4 -2
- package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.js +7 -2
- package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.labels.js.map +1 -1
- package/dist/esm/components/form/fields/useFormField.d.ts.map +1 -1
- package/dist/esm/components/form/fields/useFormField.js.map +1 -1
- package/dist/esm/components/form/form-context.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.js.map +1 -1
- package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.utils.js.map +1 -1
- package/dist/esm/components/form/form-field-types.d.ts.map +1 -1
- package/dist/esm/components/form/form-field-types.js.map +1 -1
- package/dist/esm/components/form/useFormSchemaContext.d.ts.map +1 -1
- package/dist/esm/components/form/useFormSchemaContext.js.map +1 -1
- package/dist/esm/components/form/validation-errors/FormErrorSummary.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
- package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/form-error-extraction.utils.js.map +1 -1
- package/dist/esm/components/form/validation-errors/form-validation.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/form-validation.js.map +1 -1
- package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
- package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
- package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.js.map +1 -1
- package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.js.map +1 -1
- package/dist/esm/components/layout/carousel.d.ts.map +1 -1
- package/dist/esm/components/layout/carousel.js.map +1 -1
- package/dist/esm/components/layout/divider.d.ts.map +1 -1
- package/dist/esm/components/layout/divider.js.map +1 -1
- package/dist/esm/components/layout/resizable.d.ts.map +1 -1
- package/dist/esm/components/layout/resizable.js.map +1 -1
- package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
- package/dist/esm/components/layout/scroll-area.js.map +1 -1
- package/dist/esm/components/layout/separator.d.ts.map +1 -1
- package/dist/esm/components/layout/separator.js.map +1 -1
- package/dist/esm/components/navigation/NavigationItemBadge.d.ts +6 -0
- package/dist/esm/components/navigation/NavigationItemBadge.d.ts.map +1 -1
- package/dist/esm/components/navigation/NavigationItemBadge.js +2 -1
- package/dist/esm/components/navigation/NavigationItemBadge.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.js.map +1 -1
- package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
- package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useActivityBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useActivityBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useControlPanelBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useControlPanelBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts +5 -2
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js +18 -41
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js +13 -3
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useToolbarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useToolbarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +23 -5
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +81 -13
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
- package/dist/esm/components/navigation/command.d.ts.map +1 -1
- package/dist/esm/components/navigation/command.js.map +1 -1
- package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
- package/dist/esm/components/navigation/menu-bar.js.map +1 -1
- package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/navbar.js.map +1 -1
- package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/sidebar.js.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.js.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.labels.js.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert.js.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.shared-types.js.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.js.map +1 -1
- package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.js.map +1 -1
- package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.js.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.js.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.js.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.js.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.js.map +1 -1
- package/dist/esm/components/overlays/floating/menu.shared-types.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/menu.shared-types.js.map +1 -1
- package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/popover.js.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.js.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.js.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.labels.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.labels.js.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.js.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
- package/dist/esm/components/resources/CollectionSelectionControls.d.ts.map +1 -1
- package/dist/esm/components/resources/CollectionSelectionControls.js.map +1 -1
- package/dist/esm/components/resources/EphemeralFieldsRevealDialog.d.ts.map +1 -1
- package/dist/esm/components/resources/EphemeralFieldsRevealDialog.js.map +1 -1
- package/dist/esm/components/resources/InlineSearchInput.d.ts.map +1 -1
- package/dist/esm/components/resources/InlineSearchInput.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
- package/dist/esm/components/resources/ResourceInPlaceOperationRow.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceInPlaceOperationRow.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +9 -0
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.js +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_InsertedViews.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read_Expandable.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read_Expandable.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SortControl.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SortControl.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionPopover.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionPopover.js.map +1 -1
- package/dist/esm/components/resources/ResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationSurface.js.map +1 -1
- package/dist/esm/components/resources/ResourceOwnedViewEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOwnedViewEmbeds.js.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
- package/dist/esm/components/resources/card-action-placement.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/card-action-placement.utils.js.map +1 -1
- package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
- package/dist/esm/components/resources/collection-view-mode.frontend.d.ts.map +1 -1
- package/dist/esm/components/resources/collection-view-mode.frontend.js.map +1 -1
- package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.js.map +1 -1
- package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.js.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.js.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.js.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.js.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
- package/dist/esm/components/resources/inserted-resource-view.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/inserted-resource-view.frontend.utils.js.map +1 -1
- package/dist/esm/components/resources/resource-operation-custom-view.contracts.d.ts.map +1 -1
- package/dist/esm/components/resources/resource-operation-custom-view.contracts.js.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayItemTemplate.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayItemTemplate.js.map +1 -1
- package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.js.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Divider.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Divider.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FieldScopeContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FieldScopeContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ObjectScope.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ObjectScope.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.shared.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.shared.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionPresentationContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SubmitButton.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SubmitButton.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryHeader.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryHeader.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryMeta.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryMeta.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryTitle.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.shared.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.shared.js.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.utils.js.map +1 -1
- package/dist/esm/components/resources/useInlineSearch.d.ts.map +1 -1
- package/dist/esm/components/resources/useInlineSearch.js.map +1 -1
- package/dist/esm/components/resources/useLongPress.d.ts.map +1 -1
- package/dist/esm/components/resources/useLongPress.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.labels.js.map +1 -1
- package/dist/esm/components/sections/accordion.d.ts.map +1 -1
- package/dist/esm/components/sections/accordion.js.map +1 -1
- package/dist/esm/components/sections/card.d.ts.map +1 -1
- package/dist/esm/components/sections/card.js.map +1 -1
- package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
- package/dist/esm/components/sections/collapsible.js.map +1 -1
- package/dist/esm/components/sections/content-section.d.ts.map +1 -1
- package/dist/esm/components/sections/content-section.js.map +1 -1
- package/dist/esm/components/sections/pagination.d.ts.map +1 -1
- package/dist/esm/components/sections/pagination.js.map +1 -1
- package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
- package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
- package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
- package/dist/esm/components/sections/stacked-layout.js.map +1 -1
- package/dist/esm/components/sections/stepper.d.ts.map +1 -1
- package/dist/esm/components/sections/stepper.js.map +1 -1
- package/dist/esm/components/sections/surface.d.ts.map +1 -1
- package/dist/esm/components/sections/surface.js.map +1 -1
- package/dist/esm/components/sections/table.d.ts.map +1 -1
- package/dist/esm/components/sections/table.js.map +1 -1
- package/dist/esm/components/sections/tabs.d.ts.map +1 -1
- package/dist/esm/components/sections/tabs.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +64 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +184 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +26 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -0
- package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsHub.js +3 -0
- package/dist/esm/components/settings/SettingsHub.js.map +1 -1
- package/dist/esm/components/settings/SettingsHub.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsHub.labels.js.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
- package/dist/esm/components/settings/SettingsSectionNavigationHost.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsSectionNavigationHost.js.map +1 -1
- package/dist/esm/components/typography/heading.d.ts.map +1 -1
- package/dist/esm/components/typography/heading.js.map +1 -1
- package/dist/esm/components/typography/label.d.ts.map +1 -1
- package/dist/esm/components/typography/label.js.map +1 -1
- package/dist/esm/components/typography/link.d.ts.map +1 -1
- package/dist/esm/components/typography/link.js.map +1 -1
- package/dist/esm/components/typography/text.d.ts.map +1 -1
- package/dist/esm/components/typography/text.js.map +1 -1
- package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
- package/dist/esm/components/typography/truncated-text.js.map +1 -1
- package/dist/esm/components/views/ViewLayout_Header.d.ts.map +1 -1
- package/dist/esm/components/views/ViewLayout_Header.js.map +1 -1
- package/dist/esm/components/views/ViewNotFound.d.ts.map +1 -1
- package/dist/esm/components/views/ViewNotFound.js.map +1 -1
- package/dist/esm/components/views/ViewNotFound.labels.d.ts.map +1 -1
- package/dist/esm/components/views/ViewNotFound.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartEmptyState.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartEmptyState.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartErrorState.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartErrorState.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.lazy.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.lazy.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.labels.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/WildoEChart.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/WildoEChart.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-export.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-export.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-runtime.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-runtime.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-theme-bridge.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-theme-bridge.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-view.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-view.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/dev/ChartView.example.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/dev/ChartView.example.js.map +1 -1
- package/dist/esm/components/views/chart-view/echarts-setup.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/echarts-setup.js.map +1 -1
- package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/enum-color-bridge.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builder-utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeView.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeView.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeViewContext.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeViewContext.js.map +1 -1
- package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js.map +1 -1
- package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.js.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.d.ts.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.js.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.labels.js.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +11 -7
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
- package/dist/esm/components/views/full-custom-view/FullCustomView.d.ts.map +1 -1
- package/dist/esm/components/views/full-custom-view/FullCustomView.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.labels.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/onboarding-view.utils.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/onboarding-view.utils.js.map +1 -1
- package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
- package/dist/esm/core/app-shell/PortalContainerContext.js.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts +40 -18
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.js +0 -5
- package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
- package/dist/esm/core/app-shell/app-shell.utils.d.ts.map +1 -1
- package/dist/esm/core/app-shell/app-shell.utils.js.map +1 -1
- package/dist/esm/core/app-shell/hosted-components.utils.d.ts.map +1 -1
- package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
- package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +31 -11
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +34 -25
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +30 -4
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js +232 -17
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
- package/dist/esm/core/billing/BillingContext.d.ts +36 -0
- package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
- package/dist/esm/core/billing/BillingContext.js +1 -0
- package/dist/esm/core/billing/BillingContext.js.map +1 -1
- package/dist/esm/core/billing/BillingErrorNotifier.d.ts.map +1 -1
- package/dist/esm/core/billing/BillingErrorNotifier.js.map +1 -1
- package/dist/esm/core/billing/billing-launcher.d.ts.map +1 -1
- package/dist/esm/core/billing/billing-launcher.js.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.js.map +1 -1
- package/dist/esm/core/billing/useBilling.d.ts.map +1 -1
- package/dist/esm/core/billing/useBilling.js.map +1 -1
- package/dist/esm/core/billing/useBillingAction.d.ts.map +1 -1
- package/dist/esm/core/billing/useBillingAction.js.map +1 -1
- package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts.map +1 -1
- package/dist/esm/core/billing/useSafeBillingActionExecutor.js.map +1 -1
- package/dist/esm/core/branding/useBrandIdentity.d.ts +17 -0
- package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandIdentity.js +17 -0
- package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
- package/dist/esm/core/commons/devices.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/devices.frontend.schemas.js.map +1 -1
- package/dist/esm/core/commons/local-storage.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/local-storage.frontend.schemas.js.map +1 -1
- package/dist/esm/core/commons/window-event.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/window-event.frontend.schemas.js.map +1 -1
- package/dist/esm/core/companion/companion-exports.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/companion/companion-exports.frontend.definitions.js.map +1 -1
- package/dist/esm/core/components-registry/ComponentNotInjected.d.ts.map +1 -1
- package/dist/esm/core/components-registry/ComponentNotInjected.js.map +1 -1
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +1 -0
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry-loader.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry-loader.frontend.service.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.js +4 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.js +8 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts +128 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js +183 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -0
- package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
- package/dist/esm/core/components-registry/register-framework-layouts.js +2 -0
- package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts +68 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js +98 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -0
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +15 -5
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +44 -7
- package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-level-components.frontend.schemas.js +44 -7
- package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +6 -6
- package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.d.ts +4 -4
- package/dist/esm/core/config/composite-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.js.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.d.ts +20 -0
- package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.js +90 -5
- package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
- package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/execution-view.schemas.js.map +1 -1
- package/dist/esm/core/config/flows-actors-view.schemas.d.ts +5 -3
- package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/flows-actors-view.schemas.js +2 -2
- package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
- package/dist/esm/core/config/full-custom-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/full-custom-view.schemas.js.map +1 -1
- package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
- package/dist/esm/core/config/inserted-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/inserted-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +51 -11
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.js +21 -7
- package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/onboarding-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/onboarding-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.js.map +1 -1
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +14 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.js +13 -0
- package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/useSettingsHubConfig.d.ts.map +1 -1
- package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/verify-feature-references.frontend.d.ts +7 -0
- package/dist/esm/core/config/verify-feature-references.frontend.d.ts.map +1 -1
- package/dist/esm/core/config/verify-feature-references.frontend.js +42 -1
- package/dist/esm/core/config/verify-feature-references.frontend.js.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.js +9 -2
- package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
- package/dist/esm/core/config/views-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/views-frontend.schemas.js.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
- package/dist/esm/core/errors/ErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/ErrorBoundary.js.map +1 -1
- package/dist/esm/core/errors/ErrorContext.d.ts.map +1 -1
- package/dist/esm/core/errors/ErrorContext.js.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
- package/dist/esm/core/errors/RouterErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/RouterErrorBoundary.js.map +1 -1
- package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
- package/dist/esm/core/errors/errors-builder.frontend.services.d.ts.map +1 -1
- package/dist/esm/core/errors/errors-builder.frontend.services.js.map +1 -1
- package/dist/esm/core/errors/errors.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/errors/errors.frontend.schemas.js.map +1 -1
- package/dist/esm/core/errors/http-error-behavior.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/errors/http-error-behavior.frontend.schemas.js.map +1 -1
- package/dist/esm/core/errors/useError.d.ts.map +1 -1
- package/dist/esm/core/errors/useError.js.map +1 -1
- package/dist/esm/core/errors/withErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/withErrorBoundary.js.map +1 -1
- package/dist/esm/core/events/EventBusContext.d.ts.map +1 -1
- package/dist/esm/core/events/EventBusContext.js.map +1 -1
- package/dist/esm/core/events/NotificationContext.d.ts +6 -5
- package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
- package/dist/esm/core/events/NotificationContext.js +41 -39
- package/dist/esm/core/events/NotificationContext.js.map +1 -1
- package/dist/esm/core/events/event-bus.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/events/event-bus.frontend.service.js.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.d.ts +34 -18
- package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.js +22 -1
- package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
- package/dist/esm/core/events/notification-display-policy.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/notification-display-policy.frontend.schemas.js.map +1 -1
- package/dist/esm/core/events/toast.d.ts.map +1 -1
- package/dist/esm/core/events/toast.js.map +1 -1
- package/dist/esm/core/events/useEventBus.d.ts.map +1 -1
- package/dist/esm/core/events/useEventBus.js.map +1 -1
- package/dist/esm/core/events/useNotification.d.ts.map +1 -1
- package/dist/esm/core/events/useNotification.js.map +1 -1
- package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.d.ts.map +1 -1
- package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.js.map +1 -1
- package/dist/esm/core/execution/ExecutionRuntimeContext.d.ts.map +1 -1
- package/dist/esm/core/execution/ExecutionRuntimeContext.js.map +1 -1
- package/dist/esm/core/execution/execution-anchor.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-anchor.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-dirty-markers.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-dirty-markers.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-failure-handling.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-failure-handling.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-outcome-emission.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-outcome-emission.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-participation.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-participation.utils.js.map +1 -1
- package/dist/esm/core/execution/useExecution.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecution.js.map +1 -1
- package/dist/esm/core/execution/useExecutionDirtyBridge.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionDirtyBridge.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationPrefetch.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationPrefetch.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.js.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts +66 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js +101 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -0
- package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.js.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts +33 -15
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js +27 -21
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts +103 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js +117 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js.map +1 -0
- package/dist/esm/core/features/FeatureGate.d.ts.map +1 -1
- package/dist/esm/core/features/FeatureGate.js +1 -1
- package/dist/esm/core/features/FeatureGate.js.map +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.d.ts.map +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.js +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.js.map +1 -1
- package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
- package/dist/esm/core/features/FeaturesContext.js.map +1 -1
- package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts +7 -0
- package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/features/feature-unavailability.frontend.utils.js +5 -0
- package/dist/esm/core/features/feature-unavailability.frontend.utils.js.map +1 -1
- package/dist/esm/core/features/useFeatureAvailability.d.ts +2 -0
- package/dist/esm/core/features/useFeatureAvailability.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatureAvailability.js +4 -2
- package/dist/esm/core/features/useFeatureAvailability.js.map +1 -1
- package/dist/esm/core/features/useFeatureGate.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatureGate.js.map +1 -1
- package/dist/esm/core/features/useFeatures.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatures.js.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +20 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.js +50 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
- package/dist/esm/core/flows-actors/useFlowsActors.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/useFlowsActors.js.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.js +2 -2
- package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
- package/dist/esm/core/guidance/GuidanceRenderer.d.ts.map +1 -1
- package/dist/esm/core/guidance/GuidanceRenderer.js.map +1 -1
- package/dist/esm/core/guidance/guidance-audience.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/guidance/guidance-audience.frontend.utils.js.map +1 -1
- package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.d.ts.map +1 -1
- package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.labels.js.map +1 -1
- package/dist/esm/core/guidance/useGuidance.d.ts.map +1 -1
- package/dist/esm/core/guidance/useGuidance.js.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +29 -0
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +76 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
- package/dist/esm/core/hotkey/HotkeyRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/hotkey/HotkeyRegistryContext.js +44 -8
- package/dist/esm/core/hotkey/HotkeyRegistryContext.js.map +1 -1
- package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.d.ts.map +1 -1
- package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.js.map +1 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts +53 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js +78 -13
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts.map +1 -1
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
- package/dist/esm/core/hotkey/useHotkey.d.ts.map +1 -1
- package/dist/esm/core/hotkey/useHotkey.js.map +1 -1
- package/dist/esm/core/i18n/I18nContext.d.ts +9 -0
- package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
- package/dist/esm/core/i18n/I18nContext.js +149 -32
- package/dist/esm/core/i18n/I18nContext.js.map +1 -1
- package/dist/esm/core/i18n/component-label-resolution.utils.d.ts.map +1 -1
- package/dist/esm/core/i18n/component-label-resolution.utils.js.map +1 -1
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts +51 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js +66 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -0
- package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
- package/dist/esm/core/i18n/useI18n.js +22 -2
- package/dist/esm/core/i18n/useI18n.js.map +1 -1
- package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
- package/dist/esm/core/icons/IconRegistryBridge.js.map +1 -1
- package/dist/esm/core/icons/IconRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/icons/IconRegistryContext.js.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.definitions.js.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/icons/useIconRegistry.d.ts.map +1 -1
- package/dist/esm/core/icons/useIconRegistry.js.map +1 -1
- package/dist/esm/core/loading/AppLoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/AppLoadingGate.js.map +1 -1
- package/dist/esm/core/loading/LoadingBarrier.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingBarrier.js.map +1 -1
- package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingContext.js.map +1 -1
- package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingGate.js +16 -3
- package/dist/esm/core/loading/LoadingGate.js.map +1 -1
- package/dist/esm/core/loading/loading-policy.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-policy.frontend.schemas.js.map +1 -1
- package/dist/esm/core/loading/loading-scope.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-scope.frontend.utils.js.map +1 -1
- package/dist/esm/core/loading/loading-types.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-types.frontend.schemas.js.map +1 -1
- package/dist/esm/core/loading/resolveLoadingPolicy.d.ts.map +1 -1
- package/dist/esm/core/loading/resolveLoadingPolicy.js.map +1 -1
- package/dist/esm/core/loading/useAppLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useAppLoading.js.map +1 -1
- package/dist/esm/core/loading/useComponentLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useComponentLoading.js.map +1 -1
- package/dist/esm/core/loading/useEmitLoadingScope.d.ts.map +1 -1
- package/dist/esm/core/loading/useEmitLoadingScope.js.map +1 -1
- package/dist/esm/core/loading/useLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useLoading.js.map +1 -1
- package/dist/esm/core/mode/AppModeContext.d.ts.map +1 -1
- package/dist/esm/core/mode/AppModeContext.js.map +1 -1
- package/dist/esm/core/mode/section-visibility.d.ts.map +1 -1
- package/dist/esm/core/mode/section-visibility.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/useAnalytics.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/useAnalytics.js.map +1 -1
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts +97 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts.map +1 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js +179 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js.map +1 -0
- package/dist/esm/core/monitoring/logger.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/monitoring/logger.frontend.service.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.js +76 -48
- package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.d.ts +12 -0
- package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.js +24 -0
- package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
- package/dist/esm/core/navigation/hosted-pane.constants.d.ts.map +1 -1
- package/dist/esm/core/navigation/hosted-pane.constants.js.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.d.ts +1 -1
- package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +14 -5
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js +146 -17
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.d.ts +58 -10
- package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.js +1 -1
- package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.d.ts +2 -2
- package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.js +4 -4
- package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
- package/dist/esm/core/navigation/primary-destination-layout.d.ts.map +1 -1
- package/dist/esm/core/navigation/primary-destination-layout.js.map +1 -1
- package/dist/esm/core/navigation/useIsStackEntryActive.d.ts.map +1 -1
- package/dist/esm/core/navigation/useIsStackEntryActive.js.map +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.d.ts +8 -0
- package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.js +26 -6
- package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationState.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationState.js.map +1 -1
- package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
- package/dist/esm/core/navigation/useOverlayTitle.js.map +1 -1
- package/dist/esm/core/navigation/useTransactionAwareSyncRetry.d.ts.map +1 -1
- package/dist/esm/core/navigation/useTransactionAwareSyncRetry.js.map +1 -1
- package/dist/esm/core/navigation/view-title-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/view-title-resolution.js.map +1 -1
- package/dist/esm/core/navigation/zone-content-geometry.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-content-geometry.js.map +1 -1
- package/dist/esm/core/navigation/zone-empty-behavior.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-empty-behavior.js.map +1 -1
- package/dist/esm/core/navigation/zone-visible-entry.d.ts +26 -0
- package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -0
- package/dist/esm/core/navigation/zone-visible-entry.js +76 -0
- package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -0
- package/dist/esm/core/requests/api-readiness-checker.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/api-readiness-checker.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
- package/dist/esm/core/requests/client-instance-id.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/client-instance-id.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/network-backoff.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/requests/network-backoff.frontend.utils.js.map +1 -1
- package/dist/esm/core/requests/offline-replay-policy.frontend.d.ts.map +1 -1
- package/dist/esm/core/requests/offline-replay-policy.frontend.js.map +1 -1
- package/dist/esm/core/requests/request-cancellation.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/requests/request-cancellation.frontend.utils.js.map +1 -1
- package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.js.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
- package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useNotificationBadges.js +32 -19
- package/dist/esm/core/requests/websockets/useNotificationBadges.js.map +1 -1
- package/dist/esm/core/requests/websockets/useResourceRoom.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useResourceRoom.js.map +1 -1
- package/dist/esm/core/requests/websockets/useWebSocket.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useWebSocket.js.map +1 -1
- package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +73 -2
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +56 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +6 -0
- package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client.frontend.service.js +1 -0
- package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewContext.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewContext.js.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewProvider.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewProvider.js.map +1 -1
- package/dist/esm/core/resources/ResourceReadCacheBridge.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceReadCacheBridge.js.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.js.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
- package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/ephemeral-fields.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/ephemeral-fields.utils.js.map +1 -1
- package/dist/esm/core/resources/file-serve-url.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/file-serve-url.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
- package/dist/esm/core/resources/in-place/InPlaceOperationContext.d.ts.map +1 -1
- package/dist/esm/core/resources/in-place/InPlaceOperationContext.js.map +1 -1
- package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/relationship-quick-create.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-operation-view.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-operation-view.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-path.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-path.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-read-cache.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts +2 -2
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistryContext.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMWebSocketBridge.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMWebSocketBridge.js.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/rmm/field-path.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/field-path.utils.js.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-constants.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-constants.js.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-noop-snapshot.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-noop-snapshot.js.map +1 -1
- package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/types.js.map +1 -1
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
- package/dist/esm/core/resources/rmm/useListInvalidation.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useListInvalidation.js.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMEventHandler.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMEventHandler.js.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMSnapshot.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMSnapshot.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
- package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.d.ts.map +1 -1
- package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.js.map +1 -1
- package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
- package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
- package/dist/esm/core/resources/useOperationEnabled.d.ts.map +1 -1
- package/dist/esm/core/resources/useOperationEnabled.js.map +1 -1
- package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceLabels.js +20 -14
- package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/resources/useResourceRegistry.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceRegistry.js.map +1 -1
- package/dist/esm/core/resources/useResourceSelection.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceSelection.js.map +1 -1
- package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js.map +1 -1
- package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
- package/dist/esm/core/runtime/AppRouter.js +2 -1
- package/dist/esm/core/runtime/AppRouter.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts +9 -0
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.js +1 -0
- package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
- package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/env-variable-loader.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/env-variable-loader.frontend.service.js.map +1 -1
- package/dist/esm/core/runtime/frontend-companion-resource-inputs.d.ts.map +1 -1
- package/dist/esm/core/runtime/frontend-companion-resource-inputs.js.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +6 -0
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.js +7 -0
- package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/runtime.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/runtime/runtime.frontend.schemas.js.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.d.ts +38 -0
- package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.js +84 -3
- package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
- package/dist/esm/core/runtime/useApplication.d.ts.map +1 -1
- package/dist/esm/core/runtime/useApplication.js.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
- package/dist/esm/core/scope/scope.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/scope/scope.frontend.schemas.js.map +1 -1
- package/dist/esm/core/scope/scope.utils.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/scope/scope.utils.frontend.service.js.map +1 -1
- package/dist/esm/core/scope/useAppScope.d.ts.map +1 -1
- package/dist/esm/core/scope/useAppScope.js.map +1 -1
- package/dist/esm/core/security/AnonymousSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/AnonymousSessionContext.js.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.js +37 -9
- package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/auth-session.utils.d.ts.map +1 -1
- package/dist/esm/core/security/auth-session.utils.js.map +1 -1
- package/dist/esm/core/security/cross-frontend-handoff.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/security/cross-frontend-handoff.frontend.service.js.map +1 -1
- package/dist/esm/core/security/jwt.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/jwt.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
- package/dist/esm/core/security/session-token-storage.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/security/session-token-storage.frontend.service.js.map +1 -1
- package/dist/esm/core/security/useAuthSession.d.ts.map +1 -1
- package/dist/esm/core/security/useAuthSession.js.map +1 -1
- package/dist/esm/core/security/useResolvedAuthConfig.d.ts.map +1 -1
- package/dist/esm/core/security/useResolvedAuthConfig.js.map +1 -1
- package/dist/esm/core/security/useStepUpAuth.d.ts.map +1 -1
- package/dist/esm/core/security/useStepUpAuth.js.map +1 -1
- package/dist/esm/core/security/useUserOrgs.d.ts.map +1 -1
- package/dist/esm/core/security/useUserOrgs.js.map +1 -1
- package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfaceErrorBoundary.js.map +1 -1
- package/dist/esm/core/ui/SurfacePolicyContext.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfacePolicyContext.js.map +1 -1
- package/dist/esm/core/ui/TypographyScopeContext.d.ts.map +1 -1
- package/dist/esm/core/ui/TypographyScopeContext.js.map +1 -1
- package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
- package/dist/esm/core/ui/UIContext.js.map +1 -1
- package/dist/esm/core/ui/chart-style-defaults.d.ts.map +1 -1
- package/dist/esm/core/ui/chart-style-defaults.js.map +1 -1
- package/dist/esm/core/ui/cn.d.ts.map +1 -1
- package/dist/esm/core/ui/cn.js.map +1 -1
- package/dist/esm/core/ui/color-conversion.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/color-conversion.utils.js.map +1 -1
- package/dist/esm/core/ui/design-token-class-groups.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token-class-groups.js.map +1 -1
- package/dist/esm/core/ui/design-token-config.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token-config.utils.js.map +1 -1
- package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token.utils.js.map +1 -1
- package/dist/esm/core/ui/material-runtime.d.ts.map +1 -1
- package/dist/esm/core/ui/material-runtime.js.map +1 -1
- package/dist/esm/core/ui/surface-a11y.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/surface-a11y.utils.js.map +1 -1
- package/dist/esm/core/ui/theme-preference-storage.shared.d.ts.map +1 -1
- package/dist/esm/core/ui/theme-preference-storage.shared.js.map +1 -1
- package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
- package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts +7 -2
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/ui/ui.frontend.schemas.js.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
- package/dist/esm/core/ui/useUI.d.ts.map +1 -1
- package/dist/esm/core/ui/useUI.js.map +1 -1
- package/dist/esm/index.d.ts +7 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +20 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tailwind/index.d.ts.map +1 -1
- package/dist/esm/tailwind/index.js.map +1 -1
- package/dist/esm/testing/mock-builders.d.ts.map +1 -1
- package/dist/esm/testing/mock-builders.js +2 -0
- package/dist/esm/testing/mock-builders.js.map +1 -1
- package/dist/esm/testing/mock-factory.d.ts.map +1 -1
- package/dist/esm/testing/mock-factory.js.map +1 -1
- package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
- package/dist/esm/testing/rmm-helpers.js.map +1 -1
- package/dist/esm/testing/test-providers.d.ts.map +1 -1
- package/dist/esm/testing/test-providers.js.map +1 -1
- package/dist/esm/testing.d.ts.map +1 -1
- package/dist/esm/testing.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +6 -5
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts +0 -21
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +0 -1
- package/dist/esm/components/billing/billing-plan-change-preview.js +0 -12
- package/dist/esm/components/billing/billing-plan-change-preview.js.map +0 -1
- package/dist/esm/components/billing/billing-promotion-code-input.d.ts +0 -12
- package/dist/esm/components/billing/billing-promotion-code-input.d.ts.map +0 -1
- package/dist/esm/components/billing/billing-promotion-code-input.js +0 -11
- package/dist/esm/components/billing/billing-promotion-code-input.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-launcher-content.js","sourceRoot":"","sources":["../../../../../src/core/config/verify-launcher-content.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Launcher Content Verification\n *\n * DEV-mode startup validator that walks every content-declaring launcher's\n * configuration and verifies that all declared references resolve to real\n * registry entries (operations, views, engine pages, hosted components).\n *\n * Adapts traversal to each launcher's structural model — sidebar sections\n * use a discriminated union on `contentKind`, while other launchers are\n * flat item arrays.\n *\n * @see launcher-operation-binding-analysis.md §3.11\n * @see app-shell-implementation-plan.md Step 5\n */\n\nimport type { AppConfiguration_Frontend } from './app-configuration-frontend.schemas';\nimport type { FrontendResourcesRegistry, AnyFrontendResourceConfiguration } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport type { CompositeViewDefinition } from './composite-view.schemas';\nimport type { FullCustomViewDefinition } from './full-custom-view.schemas';\nimport type { FlowsActorsViewDefinition } from './flows-actors-view.schemas';\nimport { FrontendView_ScopeMode } from './views-frontend.schemas';\nimport {\n findResourceOwnedViewReferenceMatches,\n resolveResourceOwnedViewReference,\n} from './resource-owned-view-resolution.frontend.utils';\nimport {\n findDuplicateAppScopeResourceTypes,\n} from './app-configuration-frontend.schemas';\nimport {\n ApplicationLevelComponentType,\n} from './app-level-components.frontend.schemas';\nimport {\n LauncherItemTargetKind,\n EnginePageRef,\n SidebarSectionContentKind,\n ENGINE_PAGE_METADATA,\n} from './launcher-items.frontend.schemas';\nimport type {\n LauncherItemRef,\n ToolbarItem,\n SidebarItem,\n SidebarSection,\n SidebarSection_NavigationList,\n SidebarSection_ResourceBrowser,\n AppModeDefinition,\n} from './launcher-items.frontend.schemas';\n\n\n// ════════════════════════════════════════════════════════════════\n// Verification Result Types\n// ════════════════════════════════════════════════════════════════\n\nexport enum LauncherVerificationSeverity {\n ERROR = 'error',\n WARNING = 'warning',\n}\n\nimport { resolveSettingsHubConfig } from './useSettingsHubConfig';\n\nexport enum LauncherVerificationErrorCode {\n RESOURCE_NOT_FOUND = 'RESOURCE_NOT_FOUND',\n OPERATION_NOT_FOUND = 'OPERATION_NOT_FOUND',\n VIEW_NOT_FOUND = 'VIEW_NOT_FOUND',\n VIEW_REF_COLLISION = 'VIEW_REF_COLLISION',\n ENGINE_PAGE_NOT_FOUND = 'ENGINE_PAGE_NOT_FOUND',\n RESOURCE_BROWSER_RESOURCE_NOT_FOUND = 'RESOURCE_BROWSER_RESOURCE_NOT_FOUND',\n RESOURCE_BROWSER_BOUND_OPERATION_NOT_FOUND = 'RESOURCE_BROWSER_BOUND_OPERATION_NOT_FOUND',\n RESOURCE_BROWSER_NAVIGATION_OPERATION_NOT_FOUND = 'RESOURCE_BROWSER_NAVIGATION_OPERATION_NOT_FOUND',\n RESOURCE_BROWSER_MISSING_LABEL_CONFIG = 'RESOURCE_BROWSER_MISSING_LABEL_CONFIG',\n ACTIVITY_BAR_ENABLED_BUT_NO_APP_MODES = 'ACTIVITY_BAR_ENABLED_BUT_NO_APP_MODES',\n HOSTED_COMPONENT_NOT_CONFIGURED = 'HOSTED_COMPONENT_NOT_CONFIGURED',\n VISIBLE_IN_MODES_ORPHAN = 'VISIBLE_IN_MODES_ORPHAN',\n NOTIFICATION_BADGE_REF_NOT_FOUND = 'NOTIFICATION_BADGE_REF_NOT_FOUND',\n APP_SCOPE_DUPLICATE_RESOURCE_TYPE = 'APP_SCOPE_DUPLICATE_RESOURCE_TYPE',\n VIEW_NOT_LAUNCHABLE = 'VIEW_NOT_LAUNCHABLE',\n UNKNOWN_TARGET_KIND = 'UNKNOWN_TARGET_KIND',\n /**\n * A launcher opens a Settings Hub section the application did not PLACE.\n *\n * ERROR, because the failure is silent and lands the user somewhere plausible:\n * `resolveItemRef` falls back to the hub's DEFAULT section for an unknown\n * `sectionRef`, so a command labelled \"Billing\" opens Profile.\n */\n SETTINGS_SECTION_NOT_PLACED = 'SETTINGS_SECTION_NOT_PLACED',\n}\n\nexport interface LauncherVerificationError {\n severity: LauncherVerificationSeverity;\n code: LauncherVerificationErrorCode;\n context: string;\n message: string;\n item?: unknown;\n}\n\nexport interface LauncherVerificationResult {\n errors: LauncherVerificationError[];\n isValid: boolean;\n}\n\n// ════════════════════════════════════════════════════════════════\n// View Registry — collected from AppConfiguration_Frontend\n// ════════════════════════════════════════════════════════════════\n\ninterface ViewDefinitionBase {\n ref: string;\n}\n\ninterface ViewRegistry {\n applicationViewsByRef: Map<string, { family: 'composite' | 'fullCustom' | 'flowsActors' }>;\n duplicateApplicationViewRefs: Set<string>;\n compositeViewsByRef: Map<string, CompositeViewDefinition>;\n fullCustomViewsByRef: Map<string, FullCustomViewDefinition>;\n flowsActorsViewsByRef: Map<string, FlowsActorsViewDefinition>;\n}\n\nfunction buildViewRegistry(appConfig: AppConfiguration_Frontend): ViewRegistry {\n const applicationViewsByRef = new Map<string, { family: 'composite' | 'fullCustom' | 'flowsActors' }>();\n const duplicateApplicationViewRefs = new Set<string>();\n const compositeViewsByRef = new Map<string, CompositeViewDefinition>();\n const fullCustomViewsByRef = new Map<string, FullCustomViewDefinition>();\n const flowsActorsViewsByRef = new Map<string, FlowsActorsViewDefinition>();\n\n const registerScopedView = (\n view: ViewDefinitionBase & { scope: FrontendView_ScopeMode },\n family: 'composite' | 'fullCustom' | 'flowsActors',\n ): void => {\n if (view.scope !== FrontendView_ScopeMode.APPLICATION) {\n return;\n }\n\n if (applicationViewsByRef.has(view.ref)) {\n duplicateApplicationViewRefs.add(view.ref);\n return;\n }\n\n applicationViewsByRef.set(view.ref, { family });\n };\n\n for (const compositeView of appConfig.compositeViews ?? []) {\n compositeViewsByRef.set(compositeView.ref, compositeView);\n registerScopedView(compositeView, 'composite');\n }\n\n for (const fullCustomView of appConfig.fullCustomViews ?? []) {\n fullCustomViewsByRef.set(fullCustomView.ref, fullCustomView);\n registerScopedView(fullCustomView, 'fullCustom');\n }\n\n for (const flowsActorsView of appConfig.flowsActorsViews ?? []) {\n flowsActorsViewsByRef.set(flowsActorsView.ref, flowsActorsView);\n registerScopedView(flowsActorsView, 'flowsActors');\n }\n\n return {\n applicationViewsByRef,\n duplicateApplicationViewRefs,\n compositeViewsByRef,\n fullCustomViewsByRef,\n flowsActorsViewsByRef,\n };\n}\n\nfunction verifyScopedViewRef(\n item: Extract<LauncherItemRef, { viewRef: string }>,\n context: string,\n registry: FrontendResourcesRegistry,\n viewRegistry: ViewRegistry,\n errors: LauncherVerificationError[],\n scope: 'application' | 'resource',\n isComponentRegistered?: (componentRef: string) => boolean,\n): void {\n const viewEntry = scope === 'application'\n ? resolveApplicationScopedViewEntry(item.viewRef, viewRegistry, context, errors, item)\n : resolveResourceScopedViewEntry(item as Extract<LauncherItemRef, { kind: LauncherItemTargetKind.RESOURCE_VIEW }>, registry, context, errors);\n if (!viewEntry) {\n return;\n }\n\n switch (viewEntry.family) {\n case 'fullCustom': {\n const fullCustomView = viewRegistry.fullCustomViewsByRef.get(item.viewRef);\n if (fullCustomView && isComponentRegistered && !isComponentRegistered(fullCustomView.componentRef)) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.HOSTED_COMPONENT_NOT_CONFIGURED,\n context,\n message: `Full custom view \"${item.viewRef}\" references component \"${fullCustomView.componentRef}\" which is not registered in ComponentRegistryService`,\n item,\n });\n }\n break;\n }\n\n case 'composite':\n case 'flowsActors':\n break;\n }\n}\n\nfunction resolveApplicationScopedViewEntry(\n viewRef: string,\n viewRegistry: ViewRegistry,\n context: string,\n errors: LauncherVerificationError[],\n item: LauncherItemRef,\n): { family: 'composite' | 'fullCustom' | 'flowsActors' } | null {\n if (viewRegistry.duplicateApplicationViewRefs.has(viewRef)) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.VIEW_REF_COLLISION,\n context,\n message: `Application view ref \"${viewRef}\" is declared by multiple special-view families in the same launcher scope`,\n item,\n });\n return null;\n }\n\n const viewEntry = viewRegistry.applicationViewsByRef.get(viewRef);\n if (!viewEntry) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.VIEW_NOT_FOUND,\n context,\n message: `Application view \"${viewRef}\" not found in any compatible special-view definition`,\n item,\n });\n return null;\n }\n\n return viewEntry;\n}\n\nfunction resolveResourceScopedViewEntry(\n item: Extract<LauncherItemRef, { kind: LauncherItemTargetKind.RESOURCE_VIEW }>,\n registry: FrontendResourcesRegistry,\n context: string,\n errors: LauncherVerificationError[],\n): { family: 'composite' | 'chart' | 'execution' } | null {\n const resourceConfig = registry.resourceConfigurations[item.resourceType];\n if (!resourceConfig) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.RESOURCE_NOT_FOUND,\n context,\n message: `Resource type \"${item.resourceType}\" not found in registry`,\n item,\n });\n return null;\n }\n\n const viewMatches = findResourceOwnedViewReferenceMatches({\n resourceType: item.resourceType,\n viewRef: item.viewRef,\n registry,\n });\n if (viewMatches.length > 1) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.VIEW_REF_COLLISION,\n context,\n message: `Resource view ref \"${item.viewRef}\" is declared multiple times on resource \"${item.resourceType}\". RESOURCE_VIEW refs must be unique per resource-owned view namespace.`,\n item,\n });\n return null;\n }\n\n const resolvedView = resolveResourceOwnedViewReference({\n resourceType: item.resourceType,\n viewRef: item.viewRef,\n registry,\n });\n if (resolvedView) {\n if (resolvedView.scope !== FrontendView_ScopeMode.RESOURCE) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.VIEW_NOT_LAUNCHABLE,\n context,\n message: `Resource view \"${item.viewRef}\" on resource \"${item.resourceType}\" must be declared with RESOURCE scope to be targeted by RESOURCE_VIEW launchers`,\n item,\n });\n return null;\n }\n return { family: resolvedView.family };\n }\n\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.VIEW_NOT_FOUND,\n context,\n message: `Resource view \"${item.viewRef}\" is not declared on resource \"${item.resourceType}\"`,\n item,\n });\n return null;\n}\n\n// ════════════════════════════════════════════════════════════════\n// Item Reference Verification\n// ════════════════════════════════════════════════════════════════\n\nfunction verifyItemRef(\n item: LauncherItemRef,\n context: string,\n registry: FrontendResourcesRegistry,\n viewRegistry: ViewRegistry,\n errors: LauncherVerificationError[],\n /**\n * Section refs the application actually placed in its settings rail.\n *\n * REQUIRED rather than optional on purpose: an optional parameter lets a call\n * site silently skip the check, which is precisely the \"invariant applied at\n * one of N call sites\" shape (`invariant-call-site-enumeration.md`). Required,\n * the compiler enumerates the sites for you.\n */\n placedSettingsSectionRefs: ReadonlySet<string>,\n isComponentRegistered?: (componentRef: string) => boolean,\n): void {\n switch (item.kind) {\n case LauncherItemTargetKind.RESOURCE_OPERATION: {\n const resourceConfig = registry.resourceConfigurations[item.resourceType];\n if (!resourceConfig) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.RESOURCE_NOT_FOUND,\n context,\n message: `Resource type \"${item.resourceType}\" not found in registry`,\n item,\n });\n return;\n }\n const matchingOperations = resourceConfig.operations.filter(\n (op: { operationIdentifier: string; variantKey?: string; isOperationDefault?: boolean }) => (\n op.operationIdentifier === item.operation\n ),\n );\n const opExists = item.operationVariant\n ? matchingOperations.some((op) => op.variantKey === item.operationVariant)\n : matchingOperations.length > 0;\n if (!opExists) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.OPERATION_NOT_FOUND,\n context,\n message: `Operation \"${item.operation}\"${item.operationVariant ? ` (variant: ${item.operationVariant})` : ''} not found on resource \"${item.resourceType}\"`,\n item,\n });\n } else if (!item.operationVariant) {\n const defaultOperations = matchingOperations.filter((op) => op.isOperationDefault === true);\n if (matchingOperations.length > 1 && defaultOperations.length !== 1) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.OPERATION_NOT_FOUND,\n context,\n message: `Operation \"${item.operation}\" on resource \"${item.resourceType}\" is ambiguous without an explicit launcher operationVariant`,\n item,\n });\n }\n }\n break;\n }\n\n case LauncherItemTargetKind.VIEW: {\n verifyScopedViewRef(item, context, registry, viewRegistry, errors, 'application', isComponentRegistered);\n break;\n }\n\n case LauncherItemTargetKind.RESOURCE_VIEW: {\n verifyScopedViewRef(item, context, registry, viewRegistry, errors, 'resource', isComponentRegistered);\n break;\n }\n\n case LauncherItemTargetKind.ENGINE_PAGE: {\n if (!(item.pageRef in ENGINE_PAGE_METADATA)) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.ENGINE_PAGE_NOT_FOUND,\n context,\n message: `Engine page ref \"${item.pageRef}\" has no entry in ENGINE_PAGE_METADATA`,\n item,\n });\n }\n break;\n }\n\n case LauncherItemTargetKind.CUSTOM_COMPONENT: {\n if (isComponentRegistered && !isComponentRegistered(item.componentRef)) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.HOSTED_COMPONENT_NOT_CONFIGURED,\n context,\n message: `Custom launcher component \"${item.componentRef}\" is not registered in ComponentRegistryService`,\n item,\n });\n }\n break;\n }\n\n case LauncherItemTargetKind.SETTINGS_SECTION: {\n // This case used to `break` with a comment saying a settings launcher ref\n // is \"always structurally valid\" because the hub falls back to its default\n // section. That fallback is exactly why the ref MUST be checked: it turns a\n // dangling reference into a silently wrong destination rather than an\n // error, so nothing downstream can ever report it.\n //\n // An omitted `sectionRef` is legitimate — it means \"open the hub at its\n // default section\" — so only a NAMED ref is checked.\n if (item.sectionRef !== undefined && !placedSettingsSectionRefs.has(item.sectionRef)) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.SETTINGS_SECTION_NOT_PLACED,\n context,\n message: `Launcher opens Settings Hub section \"${item.sectionRef}\", which this application does not place in its settings rail (\\`settingsHub.placements\\`); the hub would silently open its default section instead.`,\n item,\n });\n }\n break;\n }\n\n default: {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.UNKNOWN_TARGET_KIND,\n context,\n message: `Unknown LauncherItemTargetKind: \"${(item as LauncherItemRef).kind}\"`,\n item,\n });\n }\n }\n}\n\n/**\n * Recursively verify sidebar items (navigation list children can nest).\n */\nfunction verifySidebarItems(\n items: SidebarItem[],\n context: string,\n registry: FrontendResourcesRegistry,\n viewRegistry: ViewRegistry,\n errors: LauncherVerificationError[],\n placedSettingsSectionRefs: ReadonlySet<string>,\n isComponentRegistered?: (componentRef: string) => boolean,\n): void {\n for (const item of items) {\n verifyItemRef(item, context, registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered);\n if (item.notificationBadgeRef\n && !registry.notificationBadgeDefinitions.some((definition) => definition.identifier === item.notificationBadgeRef)) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.NOTIFICATION_BADGE_REF_NOT_FOUND,\n context,\n message: `notificationBadgeRef \"${item.notificationBadgeRef}\" does not resolve to a registered notification badge definition`,\n item,\n });\n }\n if (item.children) {\n verifySidebarItems(item.children, `${context}.children`, registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered);\n }\n }\n}\n\n// ════════════════════════════════════════════════════════════════\n// Sidebar Section Verification\n// ════════════════════════════════════════════════════════════════\n\nfunction verifySidebarSection(\n section: SidebarSection,\n registry: FrontendResourcesRegistry,\n viewRegistry: ViewRegistry,\n appModeRefs: Set<string>,\n errors: LauncherVerificationError[],\n placedSettingsSectionRefs: ReadonlySet<string>,\n isComponentRegistered?: (componentRef: string) => boolean,\n): void {\n const ctx = `sidebar.contentSections[${section.ref}]`;\n\n // Verify visibleInModes refs match declared appModes\n if (section.visibleInModes && section.visibleInModes.length > 0) {\n if (appModeRefs.size === 0) {\n errors.push({\n severity: LauncherVerificationSeverity.WARNING,\n code: LauncherVerificationErrorCode.VISIBLE_IN_MODES_ORPHAN,\n context: ctx,\n message: `Section has visibleInModes but no appModes are declared — section will always be hidden`,\n item: section,\n });\n } else {\n for (const modeRef of section.visibleInModes) {\n if (!appModeRefs.has(modeRef)) {\n errors.push({\n severity: LauncherVerificationSeverity.WARNING,\n code: LauncherVerificationErrorCode.VISIBLE_IN_MODES_ORPHAN,\n context: ctx,\n message: `visibleInModes ref \"${modeRef}\" does not match any declared appMode`,\n item: section,\n });\n }\n }\n }\n }\n\n switch (section.contentKind) {\n case SidebarSectionContentKind.NAVIGATION_LIST: {\n const navSection = section as SidebarSection_NavigationList;\n verifySidebarItems(navSection.children, ctx, registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered);\n break;\n }\n\n case SidebarSectionContentKind.RESOURCE_BROWSER: {\n const browserSection = section as SidebarSection_ResourceBrowser;\n const resourceConfig = registry.resourceConfigurations[browserSection.resourceType];\n\n if (!resourceConfig) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.RESOURCE_BROWSER_RESOURCE_NOT_FOUND,\n context: ctx,\n message: `RESOURCE_BROWSER resourceType \"${browserSection.resourceType}\" not found in registry`,\n item: section,\n });\n break;\n }\n\n if (browserSection.operation) {\n const opExists = resourceConfig.operations.some(\n (op: { operationIdentifier: string; variantKey?: string }) =>\n op.operationIdentifier === browserSection.operation &&\n (!browserSection.operationVariant || op.variantKey === browserSection.operationVariant),\n );\n if (!opExists) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.RESOURCE_BROWSER_BOUND_OPERATION_NOT_FOUND,\n context: ctx,\n message: `RESOURCE_BROWSER bound operation \"${browserSection.operation}\"${browserSection.operationVariant ? ` (variant: ${browserSection.operationVariant})` : ''} not found on \"${browserSection.resourceType}\"`,\n item: section,\n });\n }\n }\n\n if (browserSection.navigateOperation) {\n const navigateOpExists = resourceConfig.operations.some(\n (op: { operationIdentifier: string; variantKey?: string }) =>\n op.operationIdentifier === browserSection.navigateOperation &&\n (!browserSection.navigateOperationVariant || op.variantKey === browserSection.navigateOperationVariant),\n );\n if (!navigateOpExists) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.RESOURCE_BROWSER_NAVIGATION_OPERATION_NOT_FOUND,\n context: ctx,\n message: `RESOURCE_BROWSER navigation operation \"${browserSection.navigateOperation}\"${browserSection.navigateOperationVariant ? ` (variant: ${browserSection.navigateOperationVariant})` : ''} not found on \"${browserSection.resourceType}\"`,\n item: section,\n });\n }\n }\n\n // Warn when no label derivation is configured — SidebarResourceBrowser falls\n // back to instance.name/title/id, but an explicit config is preferred.\n if (!resourceConfig.frontendConfiguration?.getFrontendResourceLabel) {\n errors.push({\n severity: LauncherVerificationSeverity.WARNING,\n code: LauncherVerificationErrorCode.RESOURCE_BROWSER_MISSING_LABEL_CONFIG,\n context: ctx,\n message: `RESOURCE_BROWSER for \"${browserSection.resourceType}\" has no getFrontendResourceLabel configured — instance labels will fall back to name/title/id`,\n item: section,\n });\n }\n break;\n }\n\n case SidebarSectionContentKind.GUIDANCE_WIDGET:\n case SidebarSectionContentKind.CUSTOM_COMPONENT:\n break;\n }\n}\n\n// ════════════════════════════════════════════════════════════════\n// Main Verification Function\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Validates all launcher content declarations against the resource registry\n * and view definitions. Adapts traversal per launcher's structural model.\n *\n * Call at startup in DEV mode only. Returns errors/warnings — does not throw.\n *\n * @see launcher-operation-binding-analysis.md §3.11\n */\nexport function verifyLauncherContent(\n registry: FrontendResourcesRegistry,\n appConfig: AppConfiguration_Frontend,\n isComponentRegistered?: (componentRef: string) => boolean,\n): LauncherVerificationResult {\n const errors: LauncherVerificationError[] = [];\n const config = appConfig.appComponentsConfiguration;\n const viewRegistry = buildViewRegistry(appConfig);\n\n // The section refs this application actually places. Derived through the same\n // resolver the hub renders with, so the verifier cannot disagree with what a\n // user will see — an unplaced destination is absent from both.\n const placedSettingsSectionRefs: ReadonlySet<string> = new Set(\n resolveSettingsHubConfig(appConfig.settingsHub).sections.map(section => section.ref),\n );\n\n // Collect appMode refs for cross-validation\n const appModeRefs = new Set<string>();\n const appModes: AppModeDefinition[] = appConfig.appModes ?? [];\n for (const mode of appModes) {\n appModeRefs.add(mode.ref);\n }\n\n const appScopeFields = appConfig.appScope?.fields ?? [];\n const duplicateAppScopeResourceTypes = findDuplicateAppScopeResourceTypes(appScopeFields);\n for (const duplicate of duplicateAppScopeResourceTypes) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.APP_SCOPE_DUPLICATE_RESOURCE_TYPE,\n context: 'appScope.fields',\n message: `Duplicate app-scope resourceType \"${duplicate.resourceType}\" is not allowed in appScope.fields. Conflicting fieldIdentifiers: ${duplicate.fieldIdentifiers.join(', ')}`,\n item: duplicate,\n });\n }\n\n for (const duplicateViewRef of viewRegistry.duplicateApplicationViewRefs) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.VIEW_REF_COLLISION,\n context: 'applicationViews',\n message: `Application view ref \"${duplicateViewRef}\" is declared by multiple special-view families. View refs must be unique per launcher scope.`,\n item: duplicateViewRef,\n });\n }\n\n // ── SIDEBAR: verify per content kind ──\n const sidebarConfig = config[ApplicationLevelComponentType.SIDEBAR];\n if (typeof sidebarConfig === 'object' && sidebarConfig !== null && 'contentSections' in sidebarConfig) {\n const contentSections = (sidebarConfig as { contentSections?: SidebarSection[] }).contentSections;\n if (contentSections) {\n for (const section of contentSections) {\n verifySidebarSection(section, registry, viewRegistry, appModeRefs, errors, placedSettingsSectionRefs, isComponentRegistered);\n }\n }\n }\n\n // ── COMMAND_MENU: verify commands ──\n const cmdConfig = config[ApplicationLevelComponentType.COMMAND_MENU];\n if (typeof cmdConfig === 'object' && cmdConfig !== null && 'commands' in cmdConfig) {\n const commands = (cmdConfig as { commands?: LauncherItemRef[] }).commands;\n if (commands) {\n for (const cmd of commands) {\n verifyItemRef(cmd, 'command_menu.commands', registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered);\n }\n }\n }\n\n // ── HOTKEY: verify bindings ──\n const hotkeyConfig = config[ApplicationLevelComponentType.HOTKEY];\n if (typeof hotkeyConfig === 'object' && hotkeyConfig !== null && 'bindings' in hotkeyConfig) {\n const bindings = (hotkeyConfig as { bindings?: LauncherItemRef[] }).bindings;\n if (bindings) {\n for (const binding of bindings) {\n verifyItemRef(binding, 'hotkey.bindings', registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered);\n }\n }\n }\n\n // ── QUICK_ACTION_BUTTON: verify actions ──\n const qabConfig = config[ApplicationLevelComponentType.QUICK_ACTION_BUTTON];\n if (typeof qabConfig === 'object' && qabConfig !== null && 'actions' in qabConfig) {\n const actions = (qabConfig as { actions?: LauncherItemRef[] }).actions;\n if (actions) {\n for (const action of actions) {\n verifyItemRef(action, 'quick_action_button.actions', registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered);\n }\n }\n }\n\n // ── CONTROL_PANEL: verify items ──\n const cpConfig = config[ApplicationLevelComponentType.CONTROL_PANEL];\n if (typeof cpConfig === 'object' && cpConfig !== null && 'items' in cpConfig) {\n const items = (cpConfig as { items?: LauncherItemRef[] }).items;\n if (items) {\n for (const item of items) {\n verifyItemRef(item, 'control_panel.items', registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered);\n }\n }\n }\n\n // ── TOOLBAR: verify tools ──\n const toolbarConfig = config[ApplicationLevelComponentType.TOOLBAR];\n if (typeof toolbarConfig === 'object' && toolbarConfig !== null && 'tools' in toolbarConfig) {\n const tools = (toolbarConfig as { tools?: ToolbarItem[] }).tools;\n if (tools) {\n for (const tool of tools) {\n verifyItemRef(tool, 'toolbar.tools', registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered);\n }\n }\n }\n\n // ── MENUBAR: verify hostedComponents + items ──\n const menubarConfig = config[ApplicationLevelComponentType.MENUBAR];\n if (typeof menubarConfig === 'object' && menubarConfig !== null) {\n if ('hostedComponents' in menubarConfig) {\n const hostedComponents = (menubarConfig as { hostedComponents?: Array<{ componentType: string }> }).hostedComponents;\n if (hostedComponents) {\n for (const hosted of hostedComponents) {\n const componentKey = hosted.componentType as keyof typeof config;\n if (!(componentKey in config)) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.HOSTED_COMPONENT_NOT_CONFIGURED,\n context: 'menubar.hostedComponents',\n message: `Hosted component \"${hosted.componentType}\" is not configured in appComponentsConfiguration`,\n item: hosted,\n });\n }\n }\n }\n }\n if ('items' in menubarConfig) {\n const items = (menubarConfig as { items?: LauncherItemRef[] }).items;\n if (items) {\n for (const item of items) {\n verifyItemRef(item, 'menubar.items', registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered);\n }\n }\n }\n }\n\n // ── ACTIVITY_BAR: verify appModes exist ──\n const activityBarConfig = config[ApplicationLevelComponentType.ACTIVITY_BAR];\n if (typeof activityBarConfig === 'object' && activityBarConfig !== null) {\n if (appModes.length === 0) {\n errors.push({\n severity: LauncherVerificationSeverity.WARNING,\n code: LauncherVerificationErrorCode.ACTIVITY_BAR_ENABLED_BUT_NO_APP_MODES,\n context: 'activity_bar',\n message: 'ACTIVITY_BAR is configured but no appModes are declared — the mode selector will have nothing to render',\n item: activityBarConfig,\n });\n }\n } else if (activityBarConfig === true) {\n if (appModes.length === 0) {\n errors.push({\n severity: LauncherVerificationSeverity.WARNING,\n code: LauncherVerificationErrorCode.ACTIVITY_BAR_ENABLED_BUT_NO_APP_MODES,\n context: 'activity_bar',\n message: 'ACTIVITY_BAR is enabled but no appModes are declared — the mode selector will have nothing to render',\n item: activityBarConfig,\n });\n }\n }\n\n return { errors, isValid: errors.length === 0 };\n}\n\n// ════════════════════════════════════════════════════════════════\n// Console Reporter\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Formats and logs verification results to the console.\n * Groups errors by severity and includes a summary table.\n */\nexport function reportLauncherVerificationResults(result: LauncherVerificationResult): void {\n if (result.isValid) {\n console.log('[LauncherVerification] ✓ All launcher content declarations are valid');\n return;\n }\n\n const errorCount = result.errors.filter(e => e.severity === LauncherVerificationSeverity.ERROR).length;\n const warningCount = result.errors.filter(e => e.severity === LauncherVerificationSeverity.WARNING).length;\n\n console.group(\n `[LauncherVerification] ${errorCount} error(s), ${warningCount} warning(s)`,\n );\n\n for (const error of result.errors) {\n const prefix = error.severity === LauncherVerificationSeverity.ERROR ? '✗ ERROR' : '⚠ WARN';\n console.warn(\n `${prefix} [${error.code}] ${error.context}: ${error.message}`,\n );\n }\n\n console.groupEnd();\n}\n"]}
|
|
1
|
+
{"version":3,"file":"verify-launcher-content.js","sourceRoot":"","sources":["../../../../src/core/config/verify-launcher-content.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Launcher Content Verification\n *\n * DEV-mode startup validator that walks every content-declaring launcher's\n * configuration and verifies that all declared references resolve to real\n * registry entries (operations, views, engine pages, hosted components).\n *\n * Adapts traversal to each launcher's structural model — sidebar sections\n * use a discriminated union on `contentKind`, while other launchers are\n * flat item arrays.\n *\n * @see launcher-operation-binding-analysis.md §3.11\n * @see app-shell-implementation-plan.md Step 5\n */\n\nimport { notificationBadgeIdentityKey } from '@wildo-ai/saas-models';\n\nimport type { AppConfiguration_Frontend } from './app-configuration-frontend.schemas';\nimport type { FrontendResourcesRegistry, AnyFrontendResourceConfiguration } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport type { CompositeViewDefinition } from './composite-view.schemas';\nimport type { FullCustomViewDefinition } from './full-custom-view.schemas';\nimport type { FlowsActorsViewDefinition } from './flows-actors-view.schemas';\nimport { FrontendView_ScopeMode } from './views-frontend.schemas';\nimport {\n findResourceOwnedViewReferenceMatches,\n resolveResourceOwnedViewReference,\n} from './resource-owned-view-resolution.frontend.utils';\nimport {\n findDuplicateAppScopeResourceTypes,\n} from './app-configuration-frontend.schemas';\nimport {\n ApplicationLevelComponentType,\n} from './app-level-components.frontend.schemas';\nimport {\n LauncherItemTargetKind,\n EnginePageRef,\n SidebarSectionContentKind,\n ENGINE_PAGE_METADATA,\n} from './launcher-items.frontend.schemas';\nimport type {\n LauncherItemRef,\n ToolbarItem,\n SidebarItem,\n SidebarSection,\n SidebarSection_NavigationList,\n SidebarSection_ResourceBrowser,\n AppModeDefinition,\n} from './launcher-items.frontend.schemas';\n\n\n// ════════════════════════════════════════════════════════════════\n// Verification Result Types\n// ════════════════════════════════════════════════════════════════\n\nexport enum LauncherVerificationSeverity {\n ERROR = 'error',\n WARNING = 'warning',\n}\n\nimport { resolveSettingsHubConfig } from './useSettingsHubConfig';\n\nexport enum LauncherVerificationErrorCode {\n RESOURCE_NOT_FOUND = 'RESOURCE_NOT_FOUND',\n OPERATION_NOT_FOUND = 'OPERATION_NOT_FOUND',\n VIEW_NOT_FOUND = 'VIEW_NOT_FOUND',\n VIEW_REF_COLLISION = 'VIEW_REF_COLLISION',\n ENGINE_PAGE_NOT_FOUND = 'ENGINE_PAGE_NOT_FOUND',\n RESOURCE_BROWSER_RESOURCE_NOT_FOUND = 'RESOURCE_BROWSER_RESOURCE_NOT_FOUND',\n RESOURCE_BROWSER_BOUND_OPERATION_NOT_FOUND = 'RESOURCE_BROWSER_BOUND_OPERATION_NOT_FOUND',\n RESOURCE_BROWSER_NAVIGATION_OPERATION_NOT_FOUND = 'RESOURCE_BROWSER_NAVIGATION_OPERATION_NOT_FOUND',\n RESOURCE_BROWSER_MISSING_LABEL_CONFIG = 'RESOURCE_BROWSER_MISSING_LABEL_CONFIG',\n ACTIVITY_BAR_ENABLED_BUT_NO_APP_MODES = 'ACTIVITY_BAR_ENABLED_BUT_NO_APP_MODES',\n HOSTED_COMPONENT_NOT_CONFIGURED = 'HOSTED_COMPONENT_NOT_CONFIGURED',\n VISIBLE_IN_MODES_ORPHAN = 'VISIBLE_IN_MODES_ORPHAN',\n NOTIFICATION_BADGE_REF_NOT_FOUND = 'NOTIFICATION_BADGE_REF_NOT_FOUND',\n APP_SCOPE_DUPLICATE_RESOURCE_TYPE = 'APP_SCOPE_DUPLICATE_RESOURCE_TYPE',\n VIEW_NOT_LAUNCHABLE = 'VIEW_NOT_LAUNCHABLE',\n UNKNOWN_TARGET_KIND = 'UNKNOWN_TARGET_KIND',\n /**\n * A launcher opens a Settings Hub section the application did not PLACE.\n *\n * ERROR, because the failure is silent and lands the user somewhere plausible:\n * `resolveItemRef` falls back to the hub's DEFAULT section for an unknown\n * `sectionRef`, so a command labelled \"Billing\" opens Profile.\n */\n SETTINGS_SECTION_NOT_PLACED = 'SETTINGS_SECTION_NOT_PLACED',\n}\n\nexport interface LauncherVerificationError {\n severity: LauncherVerificationSeverity;\n code: LauncherVerificationErrorCode;\n context: string;\n message: string;\n item?: unknown;\n}\n\nexport interface LauncherVerificationResult {\n errors: LauncherVerificationError[];\n isValid: boolean;\n}\n\n// ════════════════════════════════════════════════════════════════\n// View Registry — collected from AppConfiguration_Frontend\n// ════════════════════════════════════════════════════════════════\n\ninterface ViewDefinitionBase {\n ref: string;\n}\n\ninterface ViewRegistry {\n applicationViewsByRef: Map<string, { family: 'composite' | 'fullCustom' | 'flowsActors' }>;\n duplicateApplicationViewRefs: Set<string>;\n compositeViewsByRef: Map<string, CompositeViewDefinition>;\n fullCustomViewsByRef: Map<string, FullCustomViewDefinition>;\n flowsActorsViewsByRef: Map<string, FlowsActorsViewDefinition>;\n}\n\nfunction buildViewRegistry(appConfig: AppConfiguration_Frontend): ViewRegistry {\n const applicationViewsByRef = new Map<string, { family: 'composite' | 'fullCustom' | 'flowsActors' }>();\n const duplicateApplicationViewRefs = new Set<string>();\n const compositeViewsByRef = new Map<string, CompositeViewDefinition>();\n const fullCustomViewsByRef = new Map<string, FullCustomViewDefinition>();\n const flowsActorsViewsByRef = new Map<string, FlowsActorsViewDefinition>();\n\n const registerScopedView = (\n view: ViewDefinitionBase & { scope: FrontendView_ScopeMode },\n family: 'composite' | 'fullCustom' | 'flowsActors',\n ): void => {\n if (view.scope !== FrontendView_ScopeMode.APPLICATION) {\n return;\n }\n\n if (applicationViewsByRef.has(view.ref)) {\n duplicateApplicationViewRefs.add(view.ref);\n return;\n }\n\n applicationViewsByRef.set(view.ref, { family });\n };\n\n for (const compositeView of appConfig.compositeViews ?? []) {\n compositeViewsByRef.set(compositeView.ref, compositeView);\n registerScopedView(compositeView, 'composite');\n }\n\n for (const fullCustomView of appConfig.fullCustomViews ?? []) {\n fullCustomViewsByRef.set(fullCustomView.ref, fullCustomView);\n registerScopedView(fullCustomView, 'fullCustom');\n }\n\n for (const flowsActorsView of appConfig.flowsActorsViews ?? []) {\n flowsActorsViewsByRef.set(flowsActorsView.ref, flowsActorsView);\n registerScopedView(flowsActorsView, 'flowsActors');\n }\n\n return {\n applicationViewsByRef,\n duplicateApplicationViewRefs,\n compositeViewsByRef,\n fullCustomViewsByRef,\n flowsActorsViewsByRef,\n };\n}\n\nfunction verifyScopedViewRef(\n item: Extract<LauncherItemRef, { viewRef: string }>,\n context: string,\n registry: FrontendResourcesRegistry,\n viewRegistry: ViewRegistry,\n errors: LauncherVerificationError[],\n scope: 'application' | 'resource',\n isComponentRegistered?: (componentRef: string) => boolean,\n): void {\n const viewEntry = scope === 'application'\n ? resolveApplicationScopedViewEntry(item.viewRef, viewRegistry, context, errors, item)\n : resolveResourceScopedViewEntry(item as Extract<LauncherItemRef, { kind: LauncherItemTargetKind.RESOURCE_VIEW }>, registry, context, errors);\n if (!viewEntry) {\n return;\n }\n\n switch (viewEntry.family) {\n case 'fullCustom': {\n const fullCustomView = viewRegistry.fullCustomViewsByRef.get(item.viewRef);\n if (fullCustomView && isComponentRegistered && !isComponentRegistered(fullCustomView.componentRef)) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.HOSTED_COMPONENT_NOT_CONFIGURED,\n context,\n message: `Full custom view \"${item.viewRef}\" references component \"${fullCustomView.componentRef}\" which is not registered in ComponentRegistryService`,\n item,\n });\n }\n break;\n }\n\n case 'composite':\n case 'flowsActors':\n break;\n }\n}\n\nfunction resolveApplicationScopedViewEntry(\n viewRef: string,\n viewRegistry: ViewRegistry,\n context: string,\n errors: LauncherVerificationError[],\n item: LauncherItemRef,\n): { family: 'composite' | 'fullCustom' | 'flowsActors' } | null {\n if (viewRegistry.duplicateApplicationViewRefs.has(viewRef)) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.VIEW_REF_COLLISION,\n context,\n message: `Application view ref \"${viewRef}\" is declared by multiple special-view families in the same launcher scope`,\n item,\n });\n return null;\n }\n\n const viewEntry = viewRegistry.applicationViewsByRef.get(viewRef);\n if (!viewEntry) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.VIEW_NOT_FOUND,\n context,\n message: `Application view \"${viewRef}\" not found in any compatible special-view definition`,\n item,\n });\n return null;\n }\n\n return viewEntry;\n}\n\nfunction resolveResourceScopedViewEntry(\n item: Extract<LauncherItemRef, { kind: LauncherItemTargetKind.RESOURCE_VIEW }>,\n registry: FrontendResourcesRegistry,\n context: string,\n errors: LauncherVerificationError[],\n): { family: 'composite' | 'chart' | 'execution' } | null {\n const resourceConfig = registry.resourceConfigurations[item.resourceType];\n if (!resourceConfig) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.RESOURCE_NOT_FOUND,\n context,\n message: `Resource type \"${item.resourceType}\" not found in registry`,\n item,\n });\n return null;\n }\n\n const viewMatches = findResourceOwnedViewReferenceMatches({\n resourceType: item.resourceType,\n viewRef: item.viewRef,\n registry,\n });\n if (viewMatches.length > 1) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.VIEW_REF_COLLISION,\n context,\n message: `Resource view ref \"${item.viewRef}\" is declared multiple times on resource \"${item.resourceType}\". RESOURCE_VIEW refs must be unique per resource-owned view namespace.`,\n item,\n });\n return null;\n }\n\n const resolvedView = resolveResourceOwnedViewReference({\n resourceType: item.resourceType,\n viewRef: item.viewRef,\n registry,\n });\n if (resolvedView) {\n if (resolvedView.scope !== FrontendView_ScopeMode.RESOURCE) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.VIEW_NOT_LAUNCHABLE,\n context,\n message: `Resource view \"${item.viewRef}\" on resource \"${item.resourceType}\" must be declared with RESOURCE scope to be targeted by RESOURCE_VIEW launchers`,\n item,\n });\n return null;\n }\n return { family: resolvedView.family };\n }\n\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.VIEW_NOT_FOUND,\n context,\n message: `Resource view \"${item.viewRef}\" is not declared on resource \"${item.resourceType}\"`,\n item,\n });\n return null;\n}\n\n// ════════════════════════════════════════════════════════════════\n// Item Reference Verification\n// ════════════════════════════════════════════════════════════════\n\nfunction verifyItemRef(\n item: LauncherItemRef,\n context: string,\n registry: FrontendResourcesRegistry,\n viewRegistry: ViewRegistry,\n errors: LauncherVerificationError[],\n /**\n * Section refs the application actually placed in its settings rail.\n *\n * REQUIRED rather than optional on purpose: an optional parameter lets a call\n * site silently skip the check, which is precisely the \"invariant applied at\n * one of N call sites\" shape (`invariant-call-site-enumeration.md`). Required,\n * the compiler enumerates the sites for you.\n */\n placedSettingsSectionRefs: ReadonlySet<string>,\n isComponentRegistered?: (componentRef: string) => boolean,\n): void {\n switch (item.kind) {\n case LauncherItemTargetKind.RESOURCE_OPERATION: {\n const resourceConfig = registry.resourceConfigurations[item.resourceType];\n if (!resourceConfig) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.RESOURCE_NOT_FOUND,\n context,\n message: `Resource type \"${item.resourceType}\" not found in registry`,\n item,\n });\n return;\n }\n const matchingOperations = resourceConfig.operations.filter(\n (op: { operationIdentifier: string; variantKey?: string; isOperationDefault?: boolean }) => (\n op.operationIdentifier === item.operation\n ),\n );\n const opExists = item.operationVariant\n ? matchingOperations.some((op) => op.variantKey === item.operationVariant)\n : matchingOperations.length > 0;\n if (!opExists) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.OPERATION_NOT_FOUND,\n context,\n message: `Operation \"${item.operation}\"${item.operationVariant ? ` (variant: ${item.operationVariant})` : ''} not found on resource \"${item.resourceType}\"`,\n item,\n });\n } else if (!item.operationVariant) {\n const defaultOperations = matchingOperations.filter((op) => op.isOperationDefault === true);\n if (matchingOperations.length > 1 && defaultOperations.length !== 1) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.OPERATION_NOT_FOUND,\n context,\n message: `Operation \"${item.operation}\" on resource \"${item.resourceType}\" is ambiguous without an explicit launcher operationVariant`,\n item,\n });\n }\n }\n break;\n }\n\n case LauncherItemTargetKind.VIEW: {\n verifyScopedViewRef(item, context, registry, viewRegistry, errors, 'application', isComponentRegistered);\n break;\n }\n\n case LauncherItemTargetKind.RESOURCE_VIEW: {\n verifyScopedViewRef(item, context, registry, viewRegistry, errors, 'resource', isComponentRegistered);\n break;\n }\n\n case LauncherItemTargetKind.ENGINE_PAGE: {\n if (!(item.pageRef in ENGINE_PAGE_METADATA)) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.ENGINE_PAGE_NOT_FOUND,\n context,\n message: `Engine page ref \"${item.pageRef}\" has no entry in ENGINE_PAGE_METADATA`,\n item,\n });\n }\n break;\n }\n\n case LauncherItemTargetKind.CUSTOM_COMPONENT: {\n if (isComponentRegistered && !isComponentRegistered(item.componentRef)) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.HOSTED_COMPONENT_NOT_CONFIGURED,\n context,\n message: `Custom launcher component \"${item.componentRef}\" is not registered in ComponentRegistryService`,\n item,\n });\n }\n break;\n }\n\n case LauncherItemTargetKind.SETTINGS_SECTION: {\n // This case used to `break` with a comment saying a settings launcher ref\n // is \"always structurally valid\" because the hub falls back to its default\n // section. That fallback is exactly why the ref MUST be checked: it turns a\n // dangling reference into a silently wrong destination rather than an\n // error, so nothing downstream can ever report it.\n //\n // An omitted `sectionRef` is legitimate — it means \"open the hub at its\n // default section\" — so only a NAMED ref is checked.\n if (item.sectionRef !== undefined && !placedSettingsSectionRefs.has(item.sectionRef)) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.SETTINGS_SECTION_NOT_PLACED,\n context,\n message: `Launcher opens Settings Hub section \"${item.sectionRef}\", which this application does not place in its settings rail (\\`settingsHub.placements\\`); the hub would silently open its default section instead.`,\n item,\n });\n }\n break;\n }\n\n default: {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.UNKNOWN_TARGET_KIND,\n context,\n message: `Unknown LauncherItemTargetKind: \"${(item as LauncherItemRef).kind}\"`,\n item,\n });\n }\n }\n}\n\n/**\n * Recursively verify sidebar items (navigation list children can nest).\n */\nfunction verifySidebarItems(\n items: SidebarItem[],\n context: string,\n registry: FrontendResourcesRegistry,\n viewRegistry: ViewRegistry,\n errors: LauncherVerificationError[],\n placedSettingsSectionRefs: ReadonlySet<string>,\n isComponentRegistered?: (componentRef: string) => boolean,\n): void {\n for (const item of items) {\n verifyItemRef(item, context, registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered);\n // Matched on the badge KEY (`<scope>:<identifier>`), which is what `NavigationItemBadge`\n // resolves with and what the badge store indexes by. Matching on the bare `identifier` — the\n // previous behaviour — accepted a ref that names a definition at a DIFFERENT scope from the one\n // that would actually render, and reported nothing.\n if (item.notificationBadgeRef\n && !registry.notificationBadgeDefinitions.some(\n (definition) => notificationBadgeIdentityKey(definition) === item.notificationBadgeRef,\n )) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.NOTIFICATION_BADGE_REF_NOT_FOUND,\n context,\n message: `notificationBadgeRef \"${item.notificationBadgeRef}\" does not resolve to a registered notification badge definition. `\n + `A ref is a badge key (\"<scope>:<identifier>\"); registered keys are: `\n + `${registry.notificationBadgeDefinitions.map(notificationBadgeIdentityKey).join(', ') || '(none)'}`,\n item,\n });\n }\n if (item.children) {\n verifySidebarItems(item.children, `${context}.children`, registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered);\n }\n }\n}\n\n// ════════════════════════════════════════════════════════════════\n// Sidebar Section Verification\n// ════════════════════════════════════════════════════════════════\n\nfunction verifySidebarSection(\n section: SidebarSection,\n registry: FrontendResourcesRegistry,\n viewRegistry: ViewRegistry,\n appModeRefs: Set<string>,\n errors: LauncherVerificationError[],\n placedSettingsSectionRefs: ReadonlySet<string>,\n isComponentRegistered?: (componentRef: string) => boolean,\n): void {\n const ctx = `sidebar.contentSections[${section.ref}]`;\n\n // Verify visibleInModes refs match declared appModes\n if (section.visibleInModes && section.visibleInModes.length > 0) {\n if (appModeRefs.size === 0) {\n errors.push({\n severity: LauncherVerificationSeverity.WARNING,\n code: LauncherVerificationErrorCode.VISIBLE_IN_MODES_ORPHAN,\n context: ctx,\n message: `Section has visibleInModes but no appModes are declared — section will always be hidden`,\n item: section,\n });\n } else {\n for (const modeRef of section.visibleInModes) {\n if (!appModeRefs.has(modeRef)) {\n errors.push({\n severity: LauncherVerificationSeverity.WARNING,\n code: LauncherVerificationErrorCode.VISIBLE_IN_MODES_ORPHAN,\n context: ctx,\n message: `visibleInModes ref \"${modeRef}\" does not match any declared appMode`,\n item: section,\n });\n }\n }\n }\n }\n\n switch (section.contentKind) {\n case SidebarSectionContentKind.NAVIGATION_LIST: {\n const navSection = section as SidebarSection_NavigationList;\n verifySidebarItems(navSection.children, ctx, registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered);\n break;\n }\n\n case SidebarSectionContentKind.RESOURCE_BROWSER: {\n const browserSection = section as SidebarSection_ResourceBrowser;\n const resourceConfig = registry.resourceConfigurations[browserSection.resourceType];\n\n if (!resourceConfig) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.RESOURCE_BROWSER_RESOURCE_NOT_FOUND,\n context: ctx,\n message: `RESOURCE_BROWSER resourceType \"${browserSection.resourceType}\" not found in registry`,\n item: section,\n });\n break;\n }\n\n if (browserSection.operation) {\n const opExists = resourceConfig.operations.some(\n (op: { operationIdentifier: string; variantKey?: string }) =>\n op.operationIdentifier === browserSection.operation &&\n (!browserSection.operationVariant || op.variantKey === browserSection.operationVariant),\n );\n if (!opExists) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.RESOURCE_BROWSER_BOUND_OPERATION_NOT_FOUND,\n context: ctx,\n message: `RESOURCE_BROWSER bound operation \"${browserSection.operation}\"${browserSection.operationVariant ? ` (variant: ${browserSection.operationVariant})` : ''} not found on \"${browserSection.resourceType}\"`,\n item: section,\n });\n }\n }\n\n if (browserSection.navigateOperation) {\n const navigateOpExists = resourceConfig.operations.some(\n (op: { operationIdentifier: string; variantKey?: string }) =>\n op.operationIdentifier === browserSection.navigateOperation &&\n (!browserSection.navigateOperationVariant || op.variantKey === browserSection.navigateOperationVariant),\n );\n if (!navigateOpExists) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.RESOURCE_BROWSER_NAVIGATION_OPERATION_NOT_FOUND,\n context: ctx,\n message: `RESOURCE_BROWSER navigation operation \"${browserSection.navigateOperation}\"${browserSection.navigateOperationVariant ? ` (variant: ${browserSection.navigateOperationVariant})` : ''} not found on \"${browserSection.resourceType}\"`,\n item: section,\n });\n }\n }\n\n // Warn when no label derivation is configured — SidebarResourceBrowser falls\n // back to instance.name/title/id, but an explicit config is preferred.\n if (!resourceConfig.frontendConfiguration?.getFrontendResourceLabel) {\n errors.push({\n severity: LauncherVerificationSeverity.WARNING,\n code: LauncherVerificationErrorCode.RESOURCE_BROWSER_MISSING_LABEL_CONFIG,\n context: ctx,\n message: `RESOURCE_BROWSER for \"${browserSection.resourceType}\" has no getFrontendResourceLabel configured — instance labels will fall back to name/title/id`,\n item: section,\n });\n }\n break;\n }\n\n case SidebarSectionContentKind.GUIDANCE_WIDGET:\n case SidebarSectionContentKind.CUSTOM_COMPONENT:\n break;\n }\n}\n\n// ════════════════════════════════════════════════════════════════\n// Main Verification Function\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Validates all launcher content declarations against the resource registry\n * and view definitions. Adapts traversal per launcher's structural model.\n *\n * Call at startup in DEV mode only. Returns errors/warnings — does not throw.\n *\n * @see launcher-operation-binding-analysis.md §3.11\n */\nexport function verifyLauncherContent(\n registry: FrontendResourcesRegistry,\n appConfig: AppConfiguration_Frontend,\n isComponentRegistered?: (componentRef: string) => boolean,\n): LauncherVerificationResult {\n const errors: LauncherVerificationError[] = [];\n const config = appConfig.appComponentsConfiguration;\n const viewRegistry = buildViewRegistry(appConfig);\n\n // The section refs this application actually places. Derived through the same\n // resolver the hub renders with, so the verifier cannot disagree with what a\n // user will see — an unplaced destination is absent from both.\n const placedSettingsSectionRefs: ReadonlySet<string> = new Set(\n resolveSettingsHubConfig(appConfig.settingsHub).sections.map(section => section.ref),\n );\n\n // Collect appMode refs for cross-validation\n const appModeRefs = new Set<string>();\n const appModes: AppModeDefinition[] = appConfig.appModes ?? [];\n for (const mode of appModes) {\n appModeRefs.add(mode.ref);\n }\n\n const appScopeFields = appConfig.appScope?.fields ?? [];\n const duplicateAppScopeResourceTypes = findDuplicateAppScopeResourceTypes(appScopeFields);\n for (const duplicate of duplicateAppScopeResourceTypes) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.APP_SCOPE_DUPLICATE_RESOURCE_TYPE,\n context: 'appScope.fields',\n message: `Duplicate app-scope resourceType \"${duplicate.resourceType}\" is not allowed in appScope.fields. Conflicting fieldIdentifiers: ${duplicate.fieldIdentifiers.join(', ')}`,\n item: duplicate,\n });\n }\n\n for (const duplicateViewRef of viewRegistry.duplicateApplicationViewRefs) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.VIEW_REF_COLLISION,\n context: 'applicationViews',\n message: `Application view ref \"${duplicateViewRef}\" is declared by multiple special-view families. View refs must be unique per launcher scope.`,\n item: duplicateViewRef,\n });\n }\n\n // ── SIDEBAR: verify per content kind ──\n const sidebarConfig = config[ApplicationLevelComponentType.SIDEBAR];\n if (typeof sidebarConfig === 'object' && sidebarConfig !== null && 'contentSections' in sidebarConfig) {\n const contentSections = (sidebarConfig as { contentSections?: SidebarSection[] }).contentSections;\n if (contentSections) {\n for (const section of contentSections) {\n verifySidebarSection(section, registry, viewRegistry, appModeRefs, errors, placedSettingsSectionRefs, isComponentRegistered);\n }\n }\n }\n\n // ── COMMAND_MENU: verify commands ──\n const cmdConfig = config[ApplicationLevelComponentType.COMMAND_MENU];\n if (typeof cmdConfig === 'object' && cmdConfig !== null && 'commands' in cmdConfig) {\n const commands = (cmdConfig as { commands?: LauncherItemRef[] }).commands;\n if (commands) {\n for (const cmd of commands) {\n verifyItemRef(cmd, 'command_menu.commands', registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered);\n }\n }\n }\n\n // ── HOTKEY: verify bindings ──\n const hotkeyConfig = config[ApplicationLevelComponentType.HOTKEY];\n if (typeof hotkeyConfig === 'object' && hotkeyConfig !== null && 'bindings' in hotkeyConfig) {\n const bindings = (hotkeyConfig as { bindings?: LauncherItemRef[] }).bindings;\n if (bindings) {\n for (const binding of bindings) {\n verifyItemRef(binding, 'hotkey.bindings', registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered);\n }\n }\n }\n\n // ── QUICK_ACTION_BUTTON: verify actions ──\n const qabConfig = config[ApplicationLevelComponentType.QUICK_ACTION_BUTTON];\n if (typeof qabConfig === 'object' && qabConfig !== null && 'actions' in qabConfig) {\n const actions = (qabConfig as { actions?: LauncherItemRef[] }).actions;\n if (actions) {\n for (const action of actions) {\n verifyItemRef(action, 'quick_action_button.actions', registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered);\n }\n }\n }\n\n // ── CONTROL_PANEL: verify items ──\n const cpConfig = config[ApplicationLevelComponentType.CONTROL_PANEL];\n if (typeof cpConfig === 'object' && cpConfig !== null && 'items' in cpConfig) {\n const items = (cpConfig as { items?: LauncherItemRef[] }).items;\n if (items) {\n for (const item of items) {\n verifyItemRef(item, 'control_panel.items', registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered);\n }\n }\n }\n\n // ── TOOLBAR: verify tools ──\n const toolbarConfig = config[ApplicationLevelComponentType.TOOLBAR];\n if (typeof toolbarConfig === 'object' && toolbarConfig !== null && 'tools' in toolbarConfig) {\n const tools = (toolbarConfig as { tools?: ToolbarItem[] }).tools;\n if (tools) {\n for (const tool of tools) {\n verifyItemRef(tool, 'toolbar.tools', registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered);\n }\n }\n }\n\n // ── MENUBAR: verify hostedComponents + items ──\n const menubarConfig = config[ApplicationLevelComponentType.MENUBAR];\n if (typeof menubarConfig === 'object' && menubarConfig !== null) {\n if ('hostedComponents' in menubarConfig) {\n const hostedComponents = (menubarConfig as { hostedComponents?: Array<{ componentType: string }> }).hostedComponents;\n if (hostedComponents) {\n for (const hosted of hostedComponents) {\n const componentKey = hosted.componentType as keyof typeof config;\n if (!(componentKey in config)) {\n errors.push({\n severity: LauncherVerificationSeverity.ERROR,\n code: LauncherVerificationErrorCode.HOSTED_COMPONENT_NOT_CONFIGURED,\n context: 'menubar.hostedComponents',\n message: `Hosted component \"${hosted.componentType}\" is not configured in appComponentsConfiguration`,\n item: hosted,\n });\n }\n }\n }\n }\n if ('items' in menubarConfig) {\n const items = (menubarConfig as { items?: LauncherItemRef[] }).items;\n if (items) {\n for (const item of items) {\n verifyItemRef(item, 'menubar.items', registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered);\n }\n }\n }\n }\n\n // ── ACTIVITY_BAR: verify appModes exist ──\n const activityBarConfig = config[ApplicationLevelComponentType.ACTIVITY_BAR];\n if (typeof activityBarConfig === 'object' && activityBarConfig !== null) {\n if (appModes.length === 0) {\n errors.push({\n severity: LauncherVerificationSeverity.WARNING,\n code: LauncherVerificationErrorCode.ACTIVITY_BAR_ENABLED_BUT_NO_APP_MODES,\n context: 'activity_bar',\n message: 'ACTIVITY_BAR is configured but no appModes are declared — the mode selector will have nothing to render',\n item: activityBarConfig,\n });\n }\n } else if (activityBarConfig === true) {\n if (appModes.length === 0) {\n errors.push({\n severity: LauncherVerificationSeverity.WARNING,\n code: LauncherVerificationErrorCode.ACTIVITY_BAR_ENABLED_BUT_NO_APP_MODES,\n context: 'activity_bar',\n message: 'ACTIVITY_BAR is enabled but no appModes are declared — the mode selector will have nothing to render',\n item: activityBarConfig,\n });\n }\n }\n\n return { errors, isValid: errors.length === 0 };\n}\n\n// ════════════════════════════════════════════════════════════════\n// Console Reporter\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Formats and logs verification results to the console.\n * Groups errors by severity and includes a summary table.\n */\nexport function reportLauncherVerificationResults(result: LauncherVerificationResult): void {\n if (result.isValid) {\n console.log('[LauncherVerification] ✓ All launcher content declarations are valid');\n return;\n }\n\n const errorCount = result.errors.filter(e => e.severity === LauncherVerificationSeverity.ERROR).length;\n const warningCount = result.errors.filter(e => e.severity === LauncherVerificationSeverity.WARNING).length;\n\n console.group(\n `[LauncherVerification] ${errorCount} error(s), ${warningCount} warning(s)`,\n );\n\n for (const error of result.errors) {\n const prefix = error.severity === LauncherVerificationSeverity.ERROR ? '✗ ERROR' : '⚠ WARN';\n console.warn(\n `${prefix} [${error.code}] ${error.context}: ${error.message}`,\n );\n }\n\n console.groupEnd();\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-settings-hub-content.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"verify-settings-hub-content.d.ts","sourceRoot":"","sources":["../../../../src/core/config/verify-settings-hub-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAGH,OAAO,KAAK,EACV,yBAAyB,EAE1B,MAAM,iCAAiC,CAAC;AAMzC,oBAAY,+BAA+B;IACzC,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAED,oBAAY,gCAAgC;IAC1C,kFAAkF;IAClF,qBAAqB,0BAA0B;IAC/C,qDAAqD;IACrD,sBAAsB,2BAA2B;IACjD,+EAA+E;IAC/E,4BAA4B,iCAAiC;IAC7D,+EAA+E;IAC/E,qBAAqB,0BAA0B;IAC/C,oEAAoE;IACpE,2BAA2B,gCAAgC;IAC3D;;;;;;;OAOG;IACH,iCAAiC,sCAAsC;CACxE;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,+BAA+B,CAAC;IAC1C,IAAI,EAAE,gCAAgC,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,4BAA4B,EAAE,CAAC;IACvC,OAAO,EAAE,OAAO,CAAC;CAClB;AA2BD;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,yBAAyB,EACjC,sBAAsB,GAAE,SAAS,MAAM,EAAO,GAC7C,6BAA6B,CA2F/B;AAMD;;;;GAIG;AACH,wBAAgB,oCAAoC,CAAC,MAAM,EAAE,6BAA6B,GAAG,IAAI,CAqBhG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-settings-hub-content.js","sourceRoot":"","sources":["../../../../../src/core/config/verify-settings-hub-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAM5E,mEAAmE;AACnE,4BAA4B;AAC5B,mEAAmE;AAEnE,MAAM,CAAN,IAAY,+BAGX;AAHD,WAAY,+BAA+B;IACzC,kDAAe,CAAA;IACf,sDAAmB,CAAA;AACrB,CAAC,EAHW,+BAA+B,KAA/B,+BAA+B,QAG1C;AAED,MAAM,CAAN,IAAY,gCAoBX;AApBD,WAAY,gCAAgC;IAC1C,kFAAkF;IAClF,mFAA+C,CAAA;IAC/C,qDAAqD;IACrD,qFAAiD,CAAA;IACjD,+EAA+E;IAC/E,iGAA6D,CAAA;IAC7D,+EAA+E;IAC/E,mFAA+C,CAAA;IAC/C,oEAAoE;IACpE,+FAA2D,CAAA;IAC3D;;;;;;;OAOG;IACH,2GAAuE,CAAA;AACzE,CAAC,EApBW,gCAAgC,KAAhC,gCAAgC,QAoB3C;AAeD,mEAAmE;AACnE,8BAA8B;AAC9B,mEAAmE;AAEnE;;;GAGG;AACH,SAAS,oBAAoB,CAAC,IAAc;IAC1C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;AACzB,CAAC;AAED,mEAAmE;AACnE,6BAA6B;AAC7B,mEAAmE;AAEnE;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAiC,EACjC,yBAA4C,EAAE;IAE9C,MAAM,MAAM,GAAmC,EAAE,CAAC;IAElD,iEAAiE;IACjE,8EAA8E;IAC9E,oFAAoF;IACpF,sEAAsE;IACtE,KAAK,MAAM,qBAAqB,IAAI,sBAAsB,EAAE,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,+BAA+B,CAAC,KAAK;YAC/C,IAAI,EAAE,gCAAgC,CAAC,iCAAiC;YACxE,OAAO,EAAE,wBAAwB;YACjC,OAAO,EAAE,qDAAqD,qBAAqB,kHAAkH;YACrM,IAAI,EAAE,qBAAqB;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,gCAAgC;IAChC,0EAA0E;IAC1E,4DAA4D;IAC5D,KAAK,MAAM,oBAAoB,IAAI,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACzG,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,+BAA+B,CAAC,KAAK;YAC/C,IAAI,EAAE,gCAAgC,CAAC,sBAAsB;YAC7D,OAAO,EAAE,wBAAwB;YACjC,OAAO,EAAE,8BAA8B,oBAAoB,oHAAoH;YAC/K,IAAI,EAAE,oBAAoB;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,mDAAmD;IACnD,6EAA6E;IAC7E,+EAA+E;IAC/E,qBAAqB;IACrB,KAAK,MAAM,mBAAmB,IAAI,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACpG,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,+BAA+B,CAAC,KAAK;YAC/C,IAAI,EAAE,gCAAgC,CAAC,qBAAqB;YAC5D,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE,6BAA6B,mBAAmB,yHAAyH;YAClL,IAAI,EAAE,mBAAmB;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IACnE,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACtF,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,+BAA+B,CAAC,KAAK;gBAC/C,IAAI,EAAE,gCAAgC,CAAC,4BAA4B;gBACnE,OAAO,EAAE,wBAAwB,OAAO,CAAC,GAAG,GAAG;gBAC/C,OAAO,EAAE,yBAAyB,OAAO,CAAC,GAAG,6BAA6B,OAAO,CAAC,WAAW,qGAAqG;gBAClM,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,+EAA+E;IAC/E,+EAA+E;IAC/E,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,yBAAyB,CAAC,QAAQ,EAAE,CAAC;YAC/D,SAAS;QACX,CAAC;QACD,KAAK,MAAM,kBAAkB,IAAI,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACxG,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,+BAA+B,CAAC,KAAK;gBAC/C,IAAI,EAAE,gCAAgC,CAAC,qBAAqB;gBAC5D,OAAO,EAAE,wBAAwB,OAAO,CAAC,GAAG,WAAW;gBACvD,OAAO,EAAE,6BAA6B,kBAAkB,gDAAgD,OAAO,CAAC,GAAG,sFAAsF;gBACzM,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,4EAA4E;IAC5E,0EAA0E;IAC1E,iEAAiE;IACjE,IAAI,MAAM,CAAC,iBAAiB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC3G,MAAM,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,+BAA+B,CAAC,OAAO;YACjD,IAAI,EAAE,gCAAgC,CAAC,2BAA2B;YAClE,OAAO,EAAE,+BAA+B;YACxC,OAAO,EAAE,mCAAmC,MAAM,CAAC,iBAAiB,qFAAqF;YACzJ,IAAI,EAAE,MAAM,CAAC,iBAAiB;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;AAClD,CAAC;AAED,mEAAmE;AACnE,mBAAmB;AACnB,mEAAmE;AAEnE;;;;GAIG;AACH,MAAM,UAAU,oCAAoC,CAAC,MAAqC;IACxF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;QAC/E,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,+BAA+B,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IAC1G,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,+BAA+B,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAE9G,OAAO,CAAC,KAAK,CACX,6BAA6B,UAAU,cAAc,YAAY,aAAa,CAC/E,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,KAAK,+BAA+B,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/F,OAAO,CAAC,IAAI,CACV,GAAG,MAAM,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAC/D,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,QAAQ,EAAE,CAAC;AACrB,CAAC","sourcesContent":["/**\n * Settings Hub Content Verification\n *\n * DEV-mode startup validator that walks a resolved {@link ResolvedSettingsHubConfig} and\n * verifies the structural invariants the Settings Hub runtime silently relies on\n * but never enforces. The sibling of {@link verifyLauncherContent} — same shape\n * (severity + error-code enums, error/result interfaces, a pure verify function,\n * a console reporter) — scoped to the settings hub instead of the launcher\n * surfaces.\n *\n * ## Why this exists\n *\n * The `SettingsHub` component renders ONE content panel per section via\n * `config.sections.map(section => <TabsContent value={section.ref}>)`, and the\n * `Tabs` primitive activates content by matching `value` against the active\n * section ref. There is no de-duplication anywhere in that path, so two sections\n * that share a `ref` BOTH render into the content panel simultaneously and both\n * rail triggers light up. This was hit live on 2026-06-23 when an Account-category\n * `ref: 'invitations'` collided with the pre-existing Organization-category\n * `ref: 'invitations'`; both panels co-rendered until the new one was renamed to\n * `my-invitations`. Section refs are the `/settings/:sectionRef` URL segment AND\n * the `Tabs` value — they MUST be unique across the whole hub.\n *\n * The same `value`-collision failure mode recurs one level down: a `SUB_TABS`\n * section renders `subTabs.map(subTab => <TabsContent value={subTab.ref}>)`, so\n * duplicate sub-tab refs co-render within that section's inner `Tabs`.\n *\n * Two further structural gaps are checked because the runtime degrades into a\n * broken-but-silent state rather than failing:\n * - A section whose `categoryRef` matches no declared category renders its\n * content panel (the content map walks ALL sections) but no rail trigger (the\n * rail only renders sections grouped under a declared category) — an orphan the\n * user may land on via deep-link/default but cannot navigate to.\n * - Duplicate category refs double-render the rail group (each copy pulls the\n * same sections via `sectionsForCategory`).\n *\n * Call at startup in DEV mode only. Returns errors/warnings — does not throw,\n * matching {@link verifyLauncherContent}.\n *\n * @see verify-launcher-content.ts — the sibling launcher verifier this mirrors\n * @see settings-hub.frontend.schemas.ts — the verified config contract\n * @see SettingsHub.tsx — the render path whose invariants this protects\n */\n\nimport { SettingsSectionTargetKind } from './settings-hub.frontend.schemas';\nimport type {\n ResolvedSettingsHubConfig,\n SettingsSection,\n} from './settings-hub.frontend.schemas';\n\n// ════════════════════════════════════════════════════════════════\n// Verification Result Types\n// ════════════════════════════════════════════════════════════════\n\nexport enum SettingsHubVerificationSeverity {\n ERROR = 'error',\n WARNING = 'warning',\n}\n\nexport enum SettingsHubVerificationErrorCode {\n /** Two or more sections declare the same `ref` (the URL segment + Tabs value). */\n DUPLICATE_SECTION_REF = 'DUPLICATE_SECTION_REF',\n /** Two or more categories declare the same `ref`. */\n DUPLICATE_CATEGORY_REF = 'DUPLICATE_CATEGORY_REF',\n /** A section's `categoryRef` matches no declared category (orphan section). */\n SECTION_UNKNOWN_CATEGORY_REF = 'SECTION_UNKNOWN_CATEGORY_REF',\n /** Two or more sub-tabs within one SUB_TABS section declare the same `ref`. */\n DUPLICATE_SUB_TAB_REF = 'DUPLICATE_SUB_TAB_REF',\n /** `defaultSectionRef` points at a section that is not declared. */\n DEFAULT_SECTION_REF_UNKNOWN = 'DEFAULT_SECTION_REF_UNKNOWN',\n /**\n * A placement names a `destinationRef` the engine catalog does not ship.\n *\n * ERROR, not warning: resolution DROPS such a placement, so the authored\n * section simply never appears — and a section that silently fails to render\n * is indistinguishable from one the author meant to remove. This is the only\n * moment the difference is recoverable.\n */\n PLACEMENT_UNKNOWN_DESTINATION_REF = 'PLACEMENT_UNKNOWN_DESTINATION_REF',\n}\n\nexport interface SettingsHubVerificationError {\n severity: SettingsHubVerificationSeverity;\n code: SettingsHubVerificationErrorCode;\n context: string;\n message: string;\n item?: unknown;\n}\n\nexport interface SettingsHubVerificationResult {\n errors: SettingsHubVerificationError[];\n isValid: boolean;\n}\n\n// ════════════════════════════════════════════════════════════════\n// Duplicate-collection helper\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Collect the set of values that appear more than once in `refs`, preserving\n * first-seen order. Shared by the section / category / sub-tab uniqueness checks.\n */\nfunction collectDuplicateRefs(refs: string[]): string[] {\n const seen = new Set<string>();\n const duplicates = new Set<string>();\n for (const ref of refs) {\n if (seen.has(ref)) {\n duplicates.add(ref);\n } else {\n seen.add(ref);\n }\n }\n return [...duplicates];\n}\n\n// ════════════════════════════════════════════════════════════════\n// Main Verification Function\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Validates a resolved {@link ResolvedSettingsHubConfig}'s structural invariants. Adapts\n * nothing — the hub config is a flat declaration, so every check is a direct\n * scan of `categories` / `sections`.\n *\n * Call at startup in DEV mode only. Returns errors/warnings — does not throw.\n *\n * @param config the resolved hub config (framework default merged with any app\n * overrides) — i.e. the exact object the `SettingsHub` component renders.\n */\nexport function verifySettingsHubContent(\n config: ResolvedSettingsHubConfig,\n unknownDestinationRefs: readonly string[] = [],\n): SettingsHubVerificationResult {\n const errors: SettingsHubVerificationError[] = [];\n\n // ── Placements naming a destination the engine does not ship ──\n // Passed in rather than re-derived: resolution owns the catalog lookup, and a\n // second copy of that lookup here is the drift `invariant-call-site-enumeration.md`\n // records — the list that restates another list is the one that rots.\n for (const unknownDestinationRef of unknownDestinationRefs) {\n errors.push({\n severity: SettingsHubVerificationSeverity.ERROR,\n code: SettingsHubVerificationErrorCode.PLACEMENT_UNKNOWN_DESTINATION_REF,\n context: 'settingsHub.placements',\n message: `Settings Hub placement references destinationRef \"${unknownDestinationRef}\", which the engine destination catalog does not ship; the placement is dropped and the section will not render.`,\n item: unknownDestinationRef,\n });\n }\n\n // ── Duplicate category refs ──\n // Each duplicate double-renders the rail group: both copies pull the same\n // sections via `sectionsForCategory(config, category.ref)`.\n for (const duplicateCategoryRef of collectDuplicateRefs(config.categories.map(category => category.ref))) {\n errors.push({\n severity: SettingsHubVerificationSeverity.ERROR,\n code: SettingsHubVerificationErrorCode.DUPLICATE_CATEGORY_REF,\n context: 'settingsHub.categories',\n message: `Settings Hub category ref \"${duplicateCategoryRef}\" is declared more than once; category refs must be unique (each is a rail group + the join key for its sections).`,\n item: duplicateCategoryRef,\n });\n }\n\n // ── Duplicate section refs (the primary guard) ──\n // The exact failure hit on 2026-06-23: two sections with the same `ref` both\n // render a `<TabsContent value={ref}>`, so both panels co-render and both rail\n // triggers light up.\n for (const duplicateSectionRef of collectDuplicateRefs(config.sections.map(section => section.ref))) {\n errors.push({\n severity: SettingsHubVerificationSeverity.ERROR,\n code: SettingsHubVerificationErrorCode.DUPLICATE_SECTION_REF,\n context: 'settingsHub.sections',\n message: `Settings Hub section ref \"${duplicateSectionRef}\" is declared more than once; section refs must be unique across the whole hub (they are the URL segment + Tabs value).`,\n item: duplicateSectionRef,\n });\n }\n\n // ── Orphan sections (categoryRef matches no declared category) ──\n const declaredCategoryRefs = new Set(config.categories.map(category => category.ref));\n for (const section of config.sections) {\n if (!declaredCategoryRefs.has(section.categoryRef)) {\n errors.push({\n severity: SettingsHubVerificationSeverity.ERROR,\n code: SettingsHubVerificationErrorCode.SECTION_UNKNOWN_CATEGORY_REF,\n context: `settingsHub.sections[${section.ref}]`,\n message: `Settings Hub section \"${section.ref}\" references categoryRef \"${section.categoryRef}\" which is not declared in categories; the section would render a content panel with no rail entry.`,\n item: section,\n });\n }\n }\n\n // ── Duplicate sub-tab refs (same value-collision, one level down) ──\n // Sub-tab refs only need to be unique within their own SUB_TABS section — each\n // section renders its own inner `<Tabs>`, so the value space is section-local.\n for (const section of config.sections) {\n if (section.target.kind !== SettingsSectionTargetKind.SUB_TABS) {\n continue;\n }\n for (const duplicateSubTabRef of collectDuplicateRefs(section.target.subTabs.map(subTab => subTab.ref))) {\n errors.push({\n severity: SettingsHubVerificationSeverity.ERROR,\n code: SettingsHubVerificationErrorCode.DUPLICATE_SUB_TAB_REF,\n context: `settingsHub.sections[${section.ref}].subTabs`,\n message: `Settings Hub sub-tab ref \"${duplicateSubTabRef}\" is declared more than once within section \"${section.ref}\"; sub-tab refs must be unique within their section (they are the inner Tabs value).`,\n item: section,\n });\n }\n }\n\n // ── Dangling defaultSectionRef ──\n // The runtime degrades gracefully (`resolveActiveSection` falls back to the\n // first section when the configured default does not exist), so this is a\n // WARNING — the authored intent is silently dropped, not broken.\n if (config.defaultSectionRef && !config.sections.some(section => section.ref === config.defaultSectionRef)) {\n errors.push({\n severity: SettingsHubVerificationSeverity.WARNING,\n code: SettingsHubVerificationErrorCode.DEFAULT_SECTION_REF_UNKNOWN,\n context: 'settingsHub.defaultSectionRef',\n message: `Settings Hub defaultSectionRef \"${config.defaultSectionRef}\" does not match any declared section; the hub will fall back to the first section.`,\n item: config.defaultSectionRef,\n });\n }\n\n return { errors, isValid: errors.length === 0 };\n}\n\n// ════════════════════════════════════════════════════════════════\n// Console Reporter\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Formats and logs verification results to the console. Mirrors\n * {@link reportLauncherVerificationResults}: a grouped summary with one line per\n * finding, prefixed by severity.\n */\nexport function reportSettingsHubVerificationResults(result: SettingsHubVerificationResult): void {\n if (result.isValid) {\n console.log('[SettingsHubVerification] ✓ Settings Hub configuration is valid');\n return;\n }\n\n const errorCount = result.errors.filter(e => e.severity === SettingsHubVerificationSeverity.ERROR).length;\n const warningCount = result.errors.filter(e => e.severity === SettingsHubVerificationSeverity.WARNING).length;\n\n console.group(\n `[SettingsHubVerification] ${errorCount} error(s), ${warningCount} warning(s)`,\n );\n\n for (const error of result.errors) {\n const prefix = error.severity === SettingsHubVerificationSeverity.ERROR ? '✗ ERROR' : '⚠ WARN';\n console.warn(\n `${prefix} [${error.code}] ${error.context}: ${error.message}`,\n );\n }\n\n console.groupEnd();\n}\n"]}
|
|
1
|
+
{"version":3,"file":"verify-settings-hub-content.js","sourceRoot":"","sources":["../../../../src/core/config/verify-settings-hub-content.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Settings Hub Content Verification\n *\n * DEV-mode startup validator that walks a resolved {@link ResolvedSettingsHubConfig} and\n * verifies the structural invariants the Settings Hub runtime silently relies on\n * but never enforces. The sibling of {@link verifyLauncherContent} — same shape\n * (severity + error-code enums, error/result interfaces, a pure verify function,\n * a console reporter) — scoped to the settings hub instead of the launcher\n * surfaces.\n *\n * ## Why this exists\n *\n * The `SettingsHub` component renders ONE content panel per section via\n * `config.sections.map(section => <TabsContent value={section.ref}>)`, and the\n * `Tabs` primitive activates content by matching `value` against the active\n * section ref. There is no de-duplication anywhere in that path, so two sections\n * that share a `ref` BOTH render into the content panel simultaneously and both\n * rail triggers light up. This was hit live on 2026-06-23 when an Account-category\n * `ref: 'invitations'` collided with the pre-existing Organization-category\n * `ref: 'invitations'`; both panels co-rendered until the new one was renamed to\n * `my-invitations`. Section refs are the `/settings/:sectionRef` URL segment AND\n * the `Tabs` value — they MUST be unique across the whole hub.\n *\n * The same `value`-collision failure mode recurs one level down: a `SUB_TABS`\n * section renders `subTabs.map(subTab => <TabsContent value={subTab.ref}>)`, so\n * duplicate sub-tab refs co-render within that section's inner `Tabs`.\n *\n * Two further structural gaps are checked because the runtime degrades into a\n * broken-but-silent state rather than failing:\n * - A section whose `categoryRef` matches no declared category renders its\n * content panel (the content map walks ALL sections) but no rail trigger (the\n * rail only renders sections grouped under a declared category) — an orphan the\n * user may land on via deep-link/default but cannot navigate to.\n * - Duplicate category refs double-render the rail group (each copy pulls the\n * same sections via `sectionsForCategory`).\n *\n * Call at startup in DEV mode only. Returns errors/warnings — does not throw,\n * matching {@link verifyLauncherContent}.\n *\n * @see verify-launcher-content.ts — the sibling launcher verifier this mirrors\n * @see settings-hub.frontend.schemas.ts — the verified config contract\n * @see SettingsHub.tsx — the render path whose invariants this protects\n */\n\nimport { SettingsSectionTargetKind } from './settings-hub.frontend.schemas';\nimport type {\n ResolvedSettingsHubConfig,\n SettingsSection,\n} from './settings-hub.frontend.schemas';\n\n// ════════════════════════════════════════════════════════════════\n// Verification Result Types\n// ════════════════════════════════════════════════════════════════\n\nexport enum SettingsHubVerificationSeverity {\n ERROR = 'error',\n WARNING = 'warning',\n}\n\nexport enum SettingsHubVerificationErrorCode {\n /** Two or more sections declare the same `ref` (the URL segment + Tabs value). */\n DUPLICATE_SECTION_REF = 'DUPLICATE_SECTION_REF',\n /** Two or more categories declare the same `ref`. */\n DUPLICATE_CATEGORY_REF = 'DUPLICATE_CATEGORY_REF',\n /** A section's `categoryRef` matches no declared category (orphan section). */\n SECTION_UNKNOWN_CATEGORY_REF = 'SECTION_UNKNOWN_CATEGORY_REF',\n /** Two or more sub-tabs within one SUB_TABS section declare the same `ref`. */\n DUPLICATE_SUB_TAB_REF = 'DUPLICATE_SUB_TAB_REF',\n /** `defaultSectionRef` points at a section that is not declared. */\n DEFAULT_SECTION_REF_UNKNOWN = 'DEFAULT_SECTION_REF_UNKNOWN',\n /**\n * A placement names a `destinationRef` the engine catalog does not ship.\n *\n * ERROR, not warning: resolution DROPS such a placement, so the authored\n * section simply never appears — and a section that silently fails to render\n * is indistinguishable from one the author meant to remove. This is the only\n * moment the difference is recoverable.\n */\n PLACEMENT_UNKNOWN_DESTINATION_REF = 'PLACEMENT_UNKNOWN_DESTINATION_REF',\n}\n\nexport interface SettingsHubVerificationError {\n severity: SettingsHubVerificationSeverity;\n code: SettingsHubVerificationErrorCode;\n context: string;\n message: string;\n item?: unknown;\n}\n\nexport interface SettingsHubVerificationResult {\n errors: SettingsHubVerificationError[];\n isValid: boolean;\n}\n\n// ════════════════════════════════════════════════════════════════\n// Duplicate-collection helper\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Collect the set of values that appear more than once in `refs`, preserving\n * first-seen order. Shared by the section / category / sub-tab uniqueness checks.\n */\nfunction collectDuplicateRefs(refs: string[]): string[] {\n const seen = new Set<string>();\n const duplicates = new Set<string>();\n for (const ref of refs) {\n if (seen.has(ref)) {\n duplicates.add(ref);\n } else {\n seen.add(ref);\n }\n }\n return [...duplicates];\n}\n\n// ════════════════════════════════════════════════════════════════\n// Main Verification Function\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Validates a resolved {@link ResolvedSettingsHubConfig}'s structural invariants. Adapts\n * nothing — the hub config is a flat declaration, so every check is a direct\n * scan of `categories` / `sections`.\n *\n * Call at startup in DEV mode only. Returns errors/warnings — does not throw.\n *\n * @param config the resolved hub config (framework default merged with any app\n * overrides) — i.e. the exact object the `SettingsHub` component renders.\n */\nexport function verifySettingsHubContent(\n config: ResolvedSettingsHubConfig,\n unknownDestinationRefs: readonly string[] = [],\n): SettingsHubVerificationResult {\n const errors: SettingsHubVerificationError[] = [];\n\n // ── Placements naming a destination the engine does not ship ──\n // Passed in rather than re-derived: resolution owns the catalog lookup, and a\n // second copy of that lookup here is the drift `invariant-call-site-enumeration.md`\n // records — the list that restates another list is the one that rots.\n for (const unknownDestinationRef of unknownDestinationRefs) {\n errors.push({\n severity: SettingsHubVerificationSeverity.ERROR,\n code: SettingsHubVerificationErrorCode.PLACEMENT_UNKNOWN_DESTINATION_REF,\n context: 'settingsHub.placements',\n message: `Settings Hub placement references destinationRef \"${unknownDestinationRef}\", which the engine destination catalog does not ship; the placement is dropped and the section will not render.`,\n item: unknownDestinationRef,\n });\n }\n\n // ── Duplicate category refs ──\n // Each duplicate double-renders the rail group: both copies pull the same\n // sections via `sectionsForCategory(config, category.ref)`.\n for (const duplicateCategoryRef of collectDuplicateRefs(config.categories.map(category => category.ref))) {\n errors.push({\n severity: SettingsHubVerificationSeverity.ERROR,\n code: SettingsHubVerificationErrorCode.DUPLICATE_CATEGORY_REF,\n context: 'settingsHub.categories',\n message: `Settings Hub category ref \"${duplicateCategoryRef}\" is declared more than once; category refs must be unique (each is a rail group + the join key for its sections).`,\n item: duplicateCategoryRef,\n });\n }\n\n // ── Duplicate section refs (the primary guard) ──\n // The exact failure hit on 2026-06-23: two sections with the same `ref` both\n // render a `<TabsContent value={ref}>`, so both panels co-render and both rail\n // triggers light up.\n for (const duplicateSectionRef of collectDuplicateRefs(config.sections.map(section => section.ref))) {\n errors.push({\n severity: SettingsHubVerificationSeverity.ERROR,\n code: SettingsHubVerificationErrorCode.DUPLICATE_SECTION_REF,\n context: 'settingsHub.sections',\n message: `Settings Hub section ref \"${duplicateSectionRef}\" is declared more than once; section refs must be unique across the whole hub (they are the URL segment + Tabs value).`,\n item: duplicateSectionRef,\n });\n }\n\n // ── Orphan sections (categoryRef matches no declared category) ──\n const declaredCategoryRefs = new Set(config.categories.map(category => category.ref));\n for (const section of config.sections) {\n if (!declaredCategoryRefs.has(section.categoryRef)) {\n errors.push({\n severity: SettingsHubVerificationSeverity.ERROR,\n code: SettingsHubVerificationErrorCode.SECTION_UNKNOWN_CATEGORY_REF,\n context: `settingsHub.sections[${section.ref}]`,\n message: `Settings Hub section \"${section.ref}\" references categoryRef \"${section.categoryRef}\" which is not declared in categories; the section would render a content panel with no rail entry.`,\n item: section,\n });\n }\n }\n\n // ── Duplicate sub-tab refs (same value-collision, one level down) ──\n // Sub-tab refs only need to be unique within their own SUB_TABS section — each\n // section renders its own inner `<Tabs>`, so the value space is section-local.\n for (const section of config.sections) {\n if (section.target.kind !== SettingsSectionTargetKind.SUB_TABS) {\n continue;\n }\n for (const duplicateSubTabRef of collectDuplicateRefs(section.target.subTabs.map(subTab => subTab.ref))) {\n errors.push({\n severity: SettingsHubVerificationSeverity.ERROR,\n code: SettingsHubVerificationErrorCode.DUPLICATE_SUB_TAB_REF,\n context: `settingsHub.sections[${section.ref}].subTabs`,\n message: `Settings Hub sub-tab ref \"${duplicateSubTabRef}\" is declared more than once within section \"${section.ref}\"; sub-tab refs must be unique within their section (they are the inner Tabs value).`,\n item: section,\n });\n }\n }\n\n // ── Dangling defaultSectionRef ──\n // The runtime degrades gracefully (`resolveActiveSection` falls back to the\n // first section when the configured default does not exist), so this is a\n // WARNING — the authored intent is silently dropped, not broken.\n if (config.defaultSectionRef && !config.sections.some(section => section.ref === config.defaultSectionRef)) {\n errors.push({\n severity: SettingsHubVerificationSeverity.WARNING,\n code: SettingsHubVerificationErrorCode.DEFAULT_SECTION_REF_UNKNOWN,\n context: 'settingsHub.defaultSectionRef',\n message: `Settings Hub defaultSectionRef \"${config.defaultSectionRef}\" does not match any declared section; the hub will fall back to the first section.`,\n item: config.defaultSectionRef,\n });\n }\n\n return { errors, isValid: errors.length === 0 };\n}\n\n// ════════════════════════════════════════════════════════════════\n// Console Reporter\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Formats and logs verification results to the console. Mirrors\n * {@link reportLauncherVerificationResults}: a grouped summary with one line per\n * finding, prefixed by severity.\n */\nexport function reportSettingsHubVerificationResults(result: SettingsHubVerificationResult): void {\n if (result.isValid) {\n console.log('[SettingsHubVerification] ✓ Settings Hub configuration is valid');\n return;\n }\n\n const errorCount = result.errors.filter(e => e.severity === SettingsHubVerificationSeverity.ERROR).length;\n const warningCount = result.errors.filter(e => e.severity === SettingsHubVerificationSeverity.WARNING).length;\n\n console.group(\n `[SettingsHubVerification] ${errorCount} error(s), ${warningCount} warning(s)`,\n );\n\n for (const error of result.errors) {\n const prefix = error.severity === SettingsHubVerificationSeverity.ERROR ? '✗ ERROR' : '⚠ WARN';\n console.warn(\n `${prefix} [${error.code}] ${error.context}: ${error.message}`,\n );\n }\n\n console.groupEnd();\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"views-frontend.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"views-frontend.schemas.d.ts","sourceRoot":"","sources":["../../../../src/core/config/views-frontend.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;;;GAKG;AACH,oBAAY,sBAAsB;IAChC,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;CACtB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;4BASxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,iEAAiE;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"views-frontend.schemas.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"views-frontend.schemas.js","sourceRoot":"","sources":["../../../../src/core/config/views-frontend.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,gDAAgD,GACjD,MAAM,mEAAmE,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,qDAA2B,CAAA;IAC3B,+CAAqB,CAAA;AACvB,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;IACzE,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,WAAW,CAAC;KACrD,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC;QACjD,2BAA2B,EAAE,gDAAgD,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;QAChG,8BAA8B,EAAE,gDAAgD,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;KACpG,CAAC;CACH,CAAC,CAAC;AAGH,iEAAiE;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,kCAAkC,CAAC,OAAe;IAChE,OAAO,OAAO,OAAO,EAAE,CAAC;AAC1B,CAAC","sourcesContent":["import { z } from 'zod';\nimport {\n FrontendResource_ParentResourceRequirementSchema,\n} from '~wildo-frontend-lib/core/resources/resource-path.frontend.schemas';\n\n/**\n * @wildo_source:part:start saas.frontend.view-definition-scope facet:layer:frontend facet:family:views\n *\n * Scope mode (application vs resource) and discriminated `FrontendView_Definition` base\n * embedded by chart, composite, full-custom, flows-actors, and onboarding view definitions.\n */\nexport enum FrontendView_ScopeMode {\n APPLICATION = 'application',\n RESOURCE = 'resource',\n}\n\n/**\n * Discriminated union by scope mode — determines how a view\n * resolves its parent resource context.\n *\n * - APPLICATION: no parent context needed\n * - RESOURCE: any non-application view whose runtime depends on resource-bound\n * context. It may declare an explicit parent chain and/or additional\n * contextual requirements.\n */\nexport const FrontendView_DefinitionSchema = z.discriminatedUnion('scope', [\n z.object({\n scope: z.literal(FrontendView_ScopeMode.APPLICATION),\n }),\n z.object({\n scope: z.literal(FrontendView_ScopeMode.RESOURCE),\n parentResourcesRequirements: FrontendResource_ParentResourceRequirementSchema.array().optional(),\n additionalResourceRequirements: FrontendResource_ParentResourceRequirementSchema.array().optional(),\n }),\n]);\n\nexport type FrontendView_Definition = z.infer<typeof FrontendView_DefinitionSchema>;\n/** @wildo_source:part:end saas.frontend.view-definition-scope */\n\n/**\n * Single source of truth for the application-scope view translation\n * key prefix.\n *\n * Every view family that ships an application-scope variant (composite,\n * full-custom, flows-actors, onboarding, guidance flow, …) keys\n * application-level translations / specs / runtime overlays under\n * `app.<viewRef>`. Family-named wrappers\n * (e.g. `buildApplicationCompositeViewTranslationRef`,\n * `buildApplicationOnboardingViewSpecificationKey`,\n * `buildApplicationGuidanceFlowSpecificationKey`) MUST delegate to\n * this function instead of inlining the `` `app.${ref}` `` template\n * literal. This prevents the \"two sources of truth\" drift the\n * fifth-audit / step-4-onboarding plan-review explicitly flagged\n * (H4): if the application-scope namespace ever changes (e.g. to\n * `app:<ref>` for some refactor), there is exactly one place to\n * update.\n *\n * Resource-scope keys (`resources.<resourceType>.<viewRef>`) are\n * NOT extracted here on purpose — each spec family / runtime layer\n * authors its own family-named resource builder so the failing\n * call site / error message names the family, which is more useful\n * than a generic shared builder. Only the application-scope namespace\n * needs centralising because every family otherwise inlines the same\n * 1-line template literal.\n */\nexport function buildApplicationViewTranslationRef(viewRef: string): string {\n return `app.${viewRef}`;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common-enum-registry.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"common-enum-registry.d.ts","sourceRoot":"","sources":["../../../../src/core/enums/common-enum-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG/E;;;;;GAKG;AACH,KAAK,sBAAsB,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,cAAc,GAAG,aAAa,GAAG,SAAS,CAAC,CAAC;AAExG;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B,qCAA4C,CAAC;AAEpF;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAE3F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,EACrB,aAAa,CAAC,EAAE,sBAAsB,GAAG,gBAAgB,CAAC,YAAY,CAAC,GACtE,IAAI,CAWN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common-enum-registry.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"common-enum-registry.js","sourceRoot":"","sources":["../../../../src/core/enums/common-enum-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAUxE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAkC,CAAC;AAEpF;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,OAAO,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,MAAqB,EACrB,aAAuE;IAEvE,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE5B,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;YACxC,0BAA0B,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACV,MAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["/**\n * Common enum registration.\n *\n * Registers enum names for i18n label resolution and stores visual\n * configuration for system enums. Two mechanisms for visual config:\n *\n * 1. **Schema-level** — when a schema field is provided, calls `.enumUI()`\n * to mutate the field's metadata in place (same mechanism as `fields`).\n * 2. **Registry-level** — visual config is always stored in\n * `COMMON_ENUM_DISPLAY_CONFIG` by enum name. This serves as a fallback for\n * fields with `.systemEnum(name)` but no `.enumUI()` of their own\n * (e.g., standalone enums like `AvailableLanguage`, `AvailableCountry`).\n *\n * Registration is typically done at application startup, before React mounts:\n * - Built-in common enums registered by `registerBuiltinCommonEnums()` in presets\n * - App-specific common enums registered in `App.tsx` or equivalent\n */\n\nimport type { z } from 'zod';\nimport type { DecoratorUpdater, EnumUIParams } from '@wildo-ai/zod-decorators';\nimport { SYSTEM_ENUM_NAMES } from '@wildo-ai/presets-components-models';\n\n/**\n * Subset of enum-UI params appropriate for common enum registration: per-value\n * colors/icons (`values`), the color/icon defaults, and `display` (so a common enum\n * can opt into `displayMode: BADGE`/`ICON` — without it, `DisplayFieldEnum` defaults to\n * `TEXT`, which renders neither the registered colors nor icons).\n */\ntype CommonEnumVisualConfig = Pick<EnumUIParams, 'values' | 'defaultColor' | 'defaultIcon' | 'display'>;\n\n/**\n * Registry-level visual config for common enums, keyed by enum name.\n *\n * Used as a fallback when a schema field has `.systemEnum(name)` but no\n * field-level `.enumUI()`. Populated by `registerCommonEnum()`.\n *\n * Priority chain at render time:\n * 1. Field-level `.enumUI()` metadata (highest)\n * 2. This registry by `.systemEnum()` name (fallback)\n * 3. Default rendering (no config)\n */\nexport const COMMON_ENUM_DISPLAY_CONFIG = new Map<string, CommonEnumVisualConfig>();\n\n/**\n * Get visual display config for a system enum by name.\n * Returns `undefined` if the enum has no registered visual config.\n */\nexport function getCommonEnumDisplayConfig(name: string): CommonEnumVisualConfig | undefined {\n return COMMON_ENUM_DISPLAY_CONFIG.get(name);\n}\n\n/**\n * Register a common enum for i18n and optionally apply visual display config.\n *\n * - Adds the name to `SYSTEM_ENUM_NAMES` (used by `tResourceFieldEnumValue` i18n cascade)\n * - If `displayConfig` is a plain object, stores it in `COMMON_ENUM_DISPLAY_CONFIG`\n * for registry-level fallback\n * - If `schema` is also provided, calls `.enumUI()` on it (schema-level, highest priority)\n *\n * `displayConfig` accepts either:\n * - A **plain object** (deep-merged with existing metadata — restricted to\n * `values`, `defaultColor`, `defaultIcon` for safety)\n * - A **`DecoratorUpdater` function** `(current) => newConfig` for full control\n * when the restricted subset is not sufficient\n *\n * **Shared vs. independent metadata:** when a schema is provided, this function\n * mutates it directly. If the same enum field is reused across multiple resource\n * schemas, all share the same metadata. When a resource needs independent overrides,\n * use `z_clone()` from `@wildo-ai/zod-decorators` to create an independent copy.\n *\n * @param name - Unique enum name (e.g., `'SubscriptionStatus'`, `'AvailableLanguage'`)\n * @param schema - Optional Zod schema field to apply visual config to (e.g., `Shape.status`)\n * @param displayConfig - Visual config: plain object (deep-merged) or updater function (full replacement)\n *\n * @example\n * ```ts\n * // With schema field — applies to schema AND stores in registry\n * const shape = getZodObjectShape(SubscriptionSchema);\n * registerCommonEnum('SubscriptionStatus', shape.status, {\n * values: { active: { color: 'success' }, cancelled: { color: 'destructive' } },\n * defaultColor: 'secondary',\n * });\n *\n * // Without schema field — registry-only (for standalone enums)\n * registerCommonEnum('AvailableLanguage', undefined, {\n * values: { en: { icon: '🇺🇸' }, fr: { icon: '🇫🇷' } },\n * });\n * ```\n */\nexport function registerCommonEnum(\n name: string,\n schema?: z.ZodTypeAny,\n displayConfig?: CommonEnumVisualConfig | DecoratorUpdater<EnumUIParams>,\n): void {\n SYSTEM_ENUM_NAMES.add(name);\n\n if (displayConfig) {\n if (typeof displayConfig !== 'function') {\n COMMON_ENUM_DISPLAY_CONFIG.set(name, displayConfig);\n }\n if (schema) {\n (schema as any).enumUI(displayConfig);\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorBoundary.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"ErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../src/core/errors/ErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAUpD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AAsBnC;;;;;;GAMG;AACH,qBAAa,aAAc,SAAQ,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;gBACtE,KAAK,EAAE,kBAAkB;IAUrC,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQ1E,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG,IAAI;IAgCjE,UAAU,EAAE,MAAM,IAAI,CAMpB;IAEF,MAAM,IAAI,KAAK,CAAC,SAAS;CA0B1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorBoundary.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"ErrorBoundary.js","sourceRoot":"","sources":["../../../../src/core/errors/ErrorBoundary.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { Component, ReactNode } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { ErrorType } from '@wildo-ai/saas-models';\nimport { sharedErrorBuilder } from './errors-builder.frontend.services';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { AppLayout_ErrorBoundary } from '~wildo-frontend-lib/components/app/AppLayout_ErrorBoundary';\nimport { frontendEventBus } from '~wildo-frontend-lib/core/events/event-bus.frontend.service';\nimport { FrontendEvents } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { navigateHomeWithFreshStart } from '~wildo-frontend-lib/core/navigation/navigation-clean-break.frontend.utils';\nimport {\n ErrorBoundaryState,\n ErrorBoundaryProps,\n} from './errors.frontend.schemas';\n\nconst logger: LoggerFrontendService = LoggerFrontendService.getLogger();\nconst logDebug: (message: string, context?: Record<string, unknown>) => void = logger.debugByType('ErrorBoundary');\nlogger.setDebugTypeLogging('ErrorBoundary', false);\n\nfunction ErrorBoundaryFallback(props: {\n error: Error;\n errorInfo: React.ErrorInfo;\n resetError: () => void;\n}): React.JSX.Element {\n const routerNavigate = useNavigate();\n const { emit } = useEventBus();\n\n return (\n <AppLayout_ErrorBoundary\n {...props}\n navigateHome={() => navigateHomeWithFreshStart({ emit, routerNavigate })}\n />\n );\n}\n\n/**\n * React ErrorBoundary component that catches JavaScript errors anywhere in the child component tree,\n * logs those errors, and displays a fallback UI instead of the component tree that crashed.\n *\n * This integrates with the existing Wildo error handling system to provide consistent error reporting.\n * Uses the APP_LAYOUTS_ERROR_BOUNDARY component for rendering with i18n labels and proper icons.\n */\nexport class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n constructor(props: ErrorBoundaryProps) {\n super(props);\n this.state = {\n hasError: false,\n error: null,\n errorInfo: null,\n };\n // Uses sharedErrorBuilder singleton for consistent error building with user context\n }\n\n static getDerivedStateFromError(error: Error): Partial<ErrorBoundaryState> {\n // Update state so the next render will show the fallback UI\n return {\n hasError: true,\n error,\n };\n }\n\n componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void {\n this.setState({\n error,\n errorInfo,\n });\n\n // Log to console for development\n logger.error('ErrorBoundary caught an error:', {error, errorInfo});\n\n // Create a Wildo error for consistent error handling\n // Uses sharedErrorBuilder singleton - automatically includes user context\n const wildoError = sharedErrorBuilder.buildReactError(error, errorInfo);\n\n // Emit error via EventBus (replaces legacy window.dispatchEvent)\n try {\n frontendEventBus.emit(FrontendEvents.ERROR_OCCURED, {\n error: wildoError\n });\n } catch (dispatchError) {\n logger.warn('Failed to emit error event:', {dispatchError});\n }\n\n // Call custom onError handler if provided\n if (this.props.onError) {\n try {\n this.props.onError(error, errorInfo);\n } catch (handlerError) {\n logger.warn('Error in custom error handler:', handlerError);\n }\n }\n }\n\n resetError: () => void = () => {\n this.setState({\n hasError: false,\n error: null,\n errorInfo: null,\n });\n };\n\n render(): React.ReactNode {\n if (this.state.hasError && this.state.error && this.state.errorInfo) {\n // Use custom fallback component if provided\n if (this.props.fallback) {\n const FallbackComponent = this.props.fallback;\n return (\n <FallbackComponent\n error={this.state.error}\n errorInfo={this.state.errorInfo}\n resetError={this.resetError}\n />\n );\n }\n\n // Use the APP_LAYOUTS_ERROR_BOUNDARY component\n return (\n <ErrorBoundaryFallback\n error={this.state.error}\n errorInfo={this.state.errorInfo}\n resetError={this.resetError}\n />\n );\n }\n\n return this.props.children;\n }\n}\n\n// Note: withErrorBoundary HOC is in withErrorBoundary.tsx for React Fast Refresh compatibility.\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorContext.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"ErrorContext.d.ts","sourceRoot":"","sources":["../../../../src/core/errors/ErrorContext.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,EAAE,SAAS,EAA4D,MAAM,OAAO,CAAC;AAUnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAM7D;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAA0D,CAAC;AAEhI,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CAsP3D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorContext.js","sourceRoot":"","sources":["../../../../../src/core/errors/ErrorContext.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n ERROR_DEFINITIONS,\n ErrorActionFrontend,\n ErrorCustomMessageReference,\n ErrorType,\n Error_Frontend_RedirectPolicy,\n ResourcePrimaryScope,\n WildoError_Frontend\n} from '@wildo-ai/saas-models';\nimport React, { ReactNode, createContext, useState, useEffect, useCallback, useMemo } from 'react';\nimport { WINDOW_EVENTS_SLUGS } from '~wildo-frontend-lib/core/commons/window-event.frontend.schemas';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { sharedErrorBuilder } from './errors-builder.frontend.services';\nimport { frontendEventBus } from '~wildo-frontend-lib/core/events/event-bus.frontend.service';\nimport { ErrorManagementService } from './error-management.frontend.service';\nimport { FrontendEvents } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { NavigationZone, NavigationContentType, NavigationSource } from '~wildo-frontend-lib/core/navigation/navigation.schemas';\nimport { ErrorSeverity, FrontendNotificationCustomMessageRefs } from '@wildo-ai/saas-models';\nimport { ErrorContextType } from './errors.frontend.schemas';\n\nconst logger: LoggerFrontendService = LoggerFrontendService.getLogger();\nconst logDebug: (message: string, context?: Record<string, unknown>) => void = logger.debugByType('ErrorContext');\nlogger.setDebugTypeLogging('ErrorContext', false);\n\n/**\n * Error Context\n * Exported for use in separate hook file (Fast Refresh compatibility)\n * @internal - Use useError() hook instead of accessing this directly\n */\nexport const ErrorContext: React.Context<ErrorContextType | undefined> = createContext<ErrorContextType | undefined>(undefined);\n\nexport const ErrorProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const { on } = useEventBus();\n\n const setUserContext = useCallback((userId?: string, organizationId?: string) => {\n sharedErrorBuilder.updateUserId(userId);\n sharedErrorBuilder.updateOrganizationId(organizationId);\n }, []);\n\n // Sync with user context changes - updates shared singleton\n useEffect(() => {\n const unsubscribe = on(FrontendEvents.USER_LOGIN, (payload) => {\n if (payload.userId) {\n setUserContext(payload.userId, undefined);\n }\n });\n \n const unsubscribe2 = on(FrontendEvents.PRIMARY_SCOPE_CHANGED, (payload) => {\n if (payload.scopeLevel === ResourcePrimaryScope.ORGANIZATIONS && payload.newValue) {\n sharedErrorBuilder.updateOrganizationId(payload.newValue);\n }\n });\n \n return () => {\n unsubscribe();\n unsubscribe2();\n };\n }, [on, setUserContext]);\n\n const executeFrontendActions = useCallback((wildoErrorParam: WildoError_Frontend) => {\n const frontendActions: ErrorActionFrontend[] = ((wildoErrorParam as WildoError_Frontend).frontendActions || []) as ErrorActionFrontend[];\n frontendActions.forEach(action => {\n try {\n switch (action) {\n case ErrorActionFrontend.NOTIFY:\n case ErrorActionFrontend.SHOW_TOAST: {\n const showToUser: boolean | undefined = (wildoErrorParam as WildoError_Frontend).showToUser;\n if (showToUser !== false) {\n const errorType: ErrorType = (wildoErrorParam as WildoError_Frontend).type;\n const errorDefinition = ERROR_DEFINITIONS[errorType];\n const customMessageReference: string = (wildoErrorParam as WildoError_Frontend).customMessageReference;\n const context = wildoErrorParam.context as Record<string, unknown> | undefined;\n const userGuidance = (wildoErrorParam as any).userGuidance as { explanation?: string; resolution?: string } | undefined;\n const message = userGuidance?.explanation\n || userGuidance?.resolution\n || (context?.message as string)\n || (context?.errorMessage as string)\n || (context?.originalMessage as string)\n || customMessageReference\n || errorDefinition.description;\n \n const eventPayload = {\n identifier: FrontendNotificationCustomMessageRefs.A_TEMP_REF,\n data: {\n message,\n errorType: wildoErrorParam.type,\n customMessageReference: wildoErrorParam.customMessageReference,\n context,\n },\n } as const;\n \n switch (errorDefinition.severity) {\n case 'critical':\n case 'high':\n frontendEventBus.emit(FrontendEvents.NOTIFY_CUSTOM_ERROR, eventPayload);\n break;\n case 'medium':\n frontendEventBus.emit(FrontendEvents.NOTIFY_CUSTOM_WARNING, eventPayload);\n break;\n case 'low':\n frontendEventBus.emit(FrontendEvents.NOTIFY_CUSTOM_INFO, eventPayload);\n break;\n default:\n frontendEventBus.emit(FrontendEvents.NOTIFY_CUSTOM_ERROR, eventPayload);\n }\n }\n break;\n }\n \n case ErrorActionFrontend.DISCONNECT: {\n const errorTypeDisconnect: ErrorType = (wildoErrorParam as WildoError_Frontend).type;\n const timestampDisconnect: Date = (wildoErrorParam as WildoError_Frontend).timestamp;\n \n const logoutEvent = new CustomEvent(WINDOW_EVENTS_SLUGS.LOGOUT, {\n detail: { \n reason: 'error_disconnect', \n errorType: errorTypeDisconnect,\n timestamp: timestampDisconnect \n }\n });\n window.dispatchEvent(logoutEvent);\n break;\n }\n \n case ErrorActionFrontend.REDIRECT: {\n const redirectPolicy: Error_Frontend_RedirectPolicy | undefined = (wildoErrorParam as WildoError_Frontend).redirectPolicy;\n if (redirectPolicy) {\n switch (redirectPolicy) {\n case Error_Frontend_RedirectPolicy.LOGIN:\n window.location.href = '/login';\n break;\n case Error_Frontend_RedirectPolicy.HOME:\n window.location.href = '/';\n break;\n case Error_Frontend_RedirectPolicy.HISTORY_BACK:\n window.history.back();\n break;\n default:\n logDebug('Redirect policy handled by error boundary', { policy: redirectPolicy });\n break;\n }\n }\n break;\n }\n \n case ErrorActionFrontend.REFRESH_TOKEN: {\n const errorTypeRefresh: ErrorType = (wildoErrorParam as WildoError_Frontend).type;\n const timestampRefresh: Date = (wildoErrorParam as WildoError_Frontend).timestamp;\n \n const refreshEvent = new CustomEvent(WINDOW_EVENTS_SLUGS.REFRESH_TOKEN, {\n detail: { \n reason: 'error_refresh', \n errorType: errorTypeRefresh,\n timestamp: timestampRefresh \n }\n });\n window.dispatchEvent(refreshEvent);\n break;\n }\n \n case ErrorActionFrontend.SHOW_MODAL: {\n const errorTypeModal: ErrorType = (wildoErrorParam as WildoError_Frontend).type;\n const errorDefinitionModal = ERROR_DEFINITIONS[errorTypeModal];\n const customMessageReferenceModal: string = (wildoErrorParam as WildoError_Frontend).customMessageReference;\n const messageModal = customMessageReferenceModal || errorDefinitionModal.description;\n const contextModal: Record<string, any> | undefined = (wildoErrorParam as WildoError_Frontend).context;\n \n frontendEventBus.emit(FrontendEvents.NAVIGATION_PUSH, {\n zone: NavigationZone.OVERLAY,\n content: {\n contentType: NavigationContentType.ERROR_MODAL,\n errorType: errorTypeModal,\n message: messageModal,\n context: contextModal,\n wildoError: wildoErrorParam,\n },\n stackEntryId: `error_modal_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`,\n navigationSource: NavigationSource.CONTROLLER,\n });\n break;\n }\n \n case ErrorActionFrontend.RETRY:\n break;\n }\n } catch (actionError) {\n console.warn('Failed to execute frontend error action', {\n action,\n originalError: wildoErrorParam,\n actionError: actionError instanceof Error ? actionError.message : String(actionError)\n });\n }\n });\n }, []);\n\n const handleWildoError = useCallback((wildoErrorParam: WildoError_Frontend) => {\n const context: Record<string, any> | undefined = (wildoErrorParam as WildoError_Frontend).context;\n /*\n * Logged at the error's OWN severity. This handler used to write every error to the console at\n * `error` level, so a LOW-severity outcome the behaviour matrix had already decided to keep from\n * the user — a dangling optional reference answering 404 on a silent label probe — still arrived\n * in the console as a red line on every render, indistinguishable from a real failure. The\n * matrix is the one place that ranks an error; the console line follows it.\n */\n const logAtSeverity = (message: string): void => {\n switch (wildoErrorParam.severity) {\n case ErrorSeverity.LOW:\n logger.debug(message, context);\n break;\n case ErrorSeverity.MEDIUM:\n logger.warn(message, context);\n break;\n default:\n logger.error(message, context);\n }\n };\n if (context && typeof context === 'object' && 'originalError' in context) {\n const originalError = context.originalError as unknown;\n const errorMessage = originalError instanceof Error\n ? originalError.message\n : typeof originalError === 'string'\n ? originalError\n : String(originalError);\n logAtSeverity(errorMessage);\n } else {\n const customMessageReference: string = (wildoErrorParam as WildoError_Frontend).customMessageReference;\n logAtSeverity(customMessageReference);\n }\n\n executeFrontendActions(wildoErrorParam);\n }, [executeFrontendActions]);\n\n const handleError = useCallback((error: Error|any, customMessage?: string, additionalContext?: Record<string, unknown>) => {\n const normalizedWildoError = error?.wildoError as WildoError_Frontend | undefined;\n if (normalizedWildoError) {\n const enrichedWildoError: WildoError_Frontend = {\n ...normalizedWildoError,\n context: {\n ...(normalizedWildoError.context || {}),\n ...(customMessage ? { originalError: customMessage } : {}),\n ...additionalContext,\n },\n };\n\n if ((error as any).wildoErrorEventEmitted === true) {\n logger.error(enrichedWildoError.customMessageReference, enrichedWildoError.context as Record<string, any> | undefined);\n return;\n }\n\n handleWildoError(enrichedWildoError);\n return;\n }\n\n const errorType = ErrorManagementService.classifyError(error);\n const errorMessage = customMessage || error?.message || 'Unknown error';\n const errorDefinition = ERROR_DEFINITIONS[errorType];\n\n const errorContext = {\n originalError: errorMessage,\n ...additionalContext\n };\n\n const wildoError = sharedErrorBuilder.buildWildoError_Frontend(errorType, {\n customMessageReference: errorDefinition?.defaultCustomMessageReference,\n context: errorContext\n });\n\n handleWildoError(wildoError);\n }, [handleWildoError]);\n\n const value = useMemo<ErrorContextType>(() => ({\n handleError,\n handleWildoError,\n setUserContext,\n }), [handleError, handleWildoError, setUserContext]);\n\n return <ErrorContext.Provider value={value}>{children}</ErrorContext.Provider>;\n};\n\n// useError hook is now in separate file: ./useError.ts\n// This separation is required for React Fast Refresh compatibility\n\n/**\n * Utility function to create error with minimal config\n * @__PURE__\n */\nconst createError = /* #__PURE__ */ (\n message: string, \n type: ErrorType = ErrorType.UNKNOWN, \n overrides?: {\n customMessageReference?: ErrorCustomMessageReference,\n operationPathKey?: string,\n context?: Record<string, any>\n }\n): { error: Error; wildoError: WildoError_Frontend } => {\n const error = new Error(message);\n \n const wildoError = sharedErrorBuilder.buildWildoError_Frontend(type, {\n customMessageReference: overrides?.customMessageReference,\n operationPathKey: overrides?.operationPathKey,\n context: { \n originalMessage: message, \n ...overrides?.context \n }\n });\n \n return { error, wildoError };\n}; "]}
|
|
1
|
+
{"version":3,"file":"ErrorContext.js","sourceRoot":"","sources":["../../../../src/core/errors/ErrorContext.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n ERROR_DEFINITIONS,\n ErrorActionFrontend,\n ErrorCustomMessageReference,\n ErrorType,\n Error_Frontend_RedirectPolicy,\n ResourcePrimaryScope,\n WildoError_Frontend\n} from '@wildo-ai/saas-models';\nimport React, { ReactNode, createContext, useState, useEffect, useCallback, useMemo } from 'react';\nimport { WINDOW_EVENTS_SLUGS } from '~wildo-frontend-lib/core/commons/window-event.frontend.schemas';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { sharedErrorBuilder } from './errors-builder.frontend.services';\nimport { frontendEventBus } from '~wildo-frontend-lib/core/events/event-bus.frontend.service';\nimport { ErrorManagementService } from './error-management.frontend.service';\nimport { FrontendEvents } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { NavigationZone, NavigationContentType, NavigationSource } from '~wildo-frontend-lib/core/navigation/navigation.schemas';\nimport { ErrorSeverity, FrontendNotificationCustomMessageRefs } from '@wildo-ai/saas-models';\nimport { ErrorContextType } from './errors.frontend.schemas';\n\nconst logger: LoggerFrontendService = LoggerFrontendService.getLogger();\nconst logDebug: (message: string, context?: Record<string, unknown>) => void = logger.debugByType('ErrorContext');\nlogger.setDebugTypeLogging('ErrorContext', false);\n\n/**\n * Error Context\n * Exported for use in separate hook file (Fast Refresh compatibility)\n * @internal - Use useError() hook instead of accessing this directly\n */\nexport const ErrorContext: React.Context<ErrorContextType | undefined> = createContext<ErrorContextType | undefined>(undefined);\n\nexport const ErrorProvider: React.FC<{ children: ReactNode }> = ({ children }) => {\n const { on } = useEventBus();\n\n const setUserContext = useCallback((userId?: string, organizationId?: string) => {\n sharedErrorBuilder.updateUserId(userId);\n sharedErrorBuilder.updateOrganizationId(organizationId);\n }, []);\n\n // Sync with user context changes - updates shared singleton\n useEffect(() => {\n const unsubscribe = on(FrontendEvents.USER_LOGIN, (payload) => {\n if (payload.userId) {\n setUserContext(payload.userId, undefined);\n }\n });\n \n const unsubscribe2 = on(FrontendEvents.PRIMARY_SCOPE_CHANGED, (payload) => {\n if (payload.scopeLevel === ResourcePrimaryScope.ORGANIZATIONS && payload.newValue) {\n sharedErrorBuilder.updateOrganizationId(payload.newValue);\n }\n });\n \n return () => {\n unsubscribe();\n unsubscribe2();\n };\n }, [on, setUserContext]);\n\n const executeFrontendActions = useCallback((wildoErrorParam: WildoError_Frontend) => {\n const frontendActions: ErrorActionFrontend[] = ((wildoErrorParam as WildoError_Frontend).frontendActions || []) as ErrorActionFrontend[];\n frontendActions.forEach(action => {\n try {\n switch (action) {\n case ErrorActionFrontend.NOTIFY:\n case ErrorActionFrontend.SHOW_TOAST: {\n const showToUser: boolean | undefined = (wildoErrorParam as WildoError_Frontend).showToUser;\n if (showToUser !== false) {\n const errorType: ErrorType = (wildoErrorParam as WildoError_Frontend).type;\n const errorDefinition = ERROR_DEFINITIONS[errorType];\n const customMessageReference: string = (wildoErrorParam as WildoError_Frontend).customMessageReference;\n const context = wildoErrorParam.context as Record<string, unknown> | undefined;\n const userGuidance = (wildoErrorParam as any).userGuidance as { explanation?: string; resolution?: string } | undefined;\n const message = userGuidance?.explanation\n || userGuidance?.resolution\n || (context?.message as string)\n || (context?.errorMessage as string)\n || (context?.originalMessage as string)\n || customMessageReference\n || errorDefinition.description;\n \n const eventPayload = {\n identifier: FrontendNotificationCustomMessageRefs.A_TEMP_REF,\n data: {\n message,\n errorType: wildoErrorParam.type,\n customMessageReference: wildoErrorParam.customMessageReference,\n context,\n },\n } as const;\n \n switch (errorDefinition.severity) {\n case 'critical':\n case 'high':\n frontendEventBus.emit(FrontendEvents.NOTIFY_CUSTOM_ERROR, eventPayload);\n break;\n case 'medium':\n frontendEventBus.emit(FrontendEvents.NOTIFY_CUSTOM_WARNING, eventPayload);\n break;\n case 'low':\n frontendEventBus.emit(FrontendEvents.NOTIFY_CUSTOM_INFO, eventPayload);\n break;\n default:\n frontendEventBus.emit(FrontendEvents.NOTIFY_CUSTOM_ERROR, eventPayload);\n }\n }\n break;\n }\n \n case ErrorActionFrontend.DISCONNECT: {\n const errorTypeDisconnect: ErrorType = (wildoErrorParam as WildoError_Frontend).type;\n const timestampDisconnect: Date = (wildoErrorParam as WildoError_Frontend).timestamp;\n \n const logoutEvent = new CustomEvent(WINDOW_EVENTS_SLUGS.LOGOUT, {\n detail: { \n reason: 'error_disconnect', \n errorType: errorTypeDisconnect,\n timestamp: timestampDisconnect \n }\n });\n window.dispatchEvent(logoutEvent);\n break;\n }\n \n case ErrorActionFrontend.REDIRECT: {\n const redirectPolicy: Error_Frontend_RedirectPolicy | undefined = (wildoErrorParam as WildoError_Frontend).redirectPolicy;\n if (redirectPolicy) {\n switch (redirectPolicy) {\n case Error_Frontend_RedirectPolicy.LOGIN:\n window.location.href = '/login';\n break;\n case Error_Frontend_RedirectPolicy.HOME:\n window.location.href = '/';\n break;\n case Error_Frontend_RedirectPolicy.HISTORY_BACK:\n window.history.back();\n break;\n default:\n logDebug('Redirect policy handled by error boundary', { policy: redirectPolicy });\n break;\n }\n }\n break;\n }\n \n case ErrorActionFrontend.REFRESH_TOKEN: {\n const errorTypeRefresh: ErrorType = (wildoErrorParam as WildoError_Frontend).type;\n const timestampRefresh: Date = (wildoErrorParam as WildoError_Frontend).timestamp;\n \n const refreshEvent = new CustomEvent(WINDOW_EVENTS_SLUGS.REFRESH_TOKEN, {\n detail: { \n reason: 'error_refresh', \n errorType: errorTypeRefresh,\n timestamp: timestampRefresh \n }\n });\n window.dispatchEvent(refreshEvent);\n break;\n }\n \n case ErrorActionFrontend.SHOW_MODAL: {\n const errorTypeModal: ErrorType = (wildoErrorParam as WildoError_Frontend).type;\n const errorDefinitionModal = ERROR_DEFINITIONS[errorTypeModal];\n const customMessageReferenceModal: string = (wildoErrorParam as WildoError_Frontend).customMessageReference;\n const messageModal = customMessageReferenceModal || errorDefinitionModal.description;\n const contextModal: Record<string, any> | undefined = (wildoErrorParam as WildoError_Frontend).context;\n \n frontendEventBus.emit(FrontendEvents.NAVIGATION_PUSH, {\n zone: NavigationZone.OVERLAY,\n content: {\n contentType: NavigationContentType.ERROR_MODAL,\n errorType: errorTypeModal,\n message: messageModal,\n context: contextModal,\n wildoError: wildoErrorParam,\n },\n stackEntryId: `error_modal_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`,\n navigationSource: NavigationSource.CONTROLLER,\n });\n break;\n }\n \n case ErrorActionFrontend.RETRY:\n break;\n }\n } catch (actionError) {\n console.warn('Failed to execute frontend error action', {\n action,\n originalError: wildoErrorParam,\n actionError: actionError instanceof Error ? actionError.message : String(actionError)\n });\n }\n });\n }, []);\n\n const handleWildoError = useCallback((wildoErrorParam: WildoError_Frontend) => {\n const context: Record<string, any> | undefined = (wildoErrorParam as WildoError_Frontend).context;\n /*\n * Logged at the error's OWN severity. This handler used to write every error to the console at\n * `error` level, so a LOW-severity outcome the behaviour matrix had already decided to keep from\n * the user — a dangling optional reference answering 404 on a silent label probe — still arrived\n * in the console as a red line on every render, indistinguishable from a real failure. The\n * matrix is the one place that ranks an error; the console line follows it.\n */\n const logAtSeverity = (message: string): void => {\n switch (wildoErrorParam.severity) {\n case ErrorSeverity.LOW:\n logger.debug(message, context);\n break;\n case ErrorSeverity.MEDIUM:\n logger.warn(message, context);\n break;\n default:\n logger.error(message, context);\n }\n };\n if (context && typeof context === 'object' && 'originalError' in context) {\n const originalError = context.originalError as unknown;\n const errorMessage = originalError instanceof Error\n ? originalError.message\n : typeof originalError === 'string'\n ? originalError\n : String(originalError);\n logAtSeverity(errorMessage);\n } else {\n const customMessageReference: string = (wildoErrorParam as WildoError_Frontend).customMessageReference;\n logAtSeverity(customMessageReference);\n }\n\n executeFrontendActions(wildoErrorParam);\n }, [executeFrontendActions]);\n\n const handleError = useCallback((error: Error|any, customMessage?: string, additionalContext?: Record<string, unknown>) => {\n const normalizedWildoError = error?.wildoError as WildoError_Frontend | undefined;\n if (normalizedWildoError) {\n const enrichedWildoError: WildoError_Frontend = {\n ...normalizedWildoError,\n context: {\n ...(normalizedWildoError.context || {}),\n ...(customMessage ? { originalError: customMessage } : {}),\n ...additionalContext,\n },\n };\n\n if ((error as any).wildoErrorEventEmitted === true) {\n logger.error(enrichedWildoError.customMessageReference, enrichedWildoError.context as Record<string, any> | undefined);\n return;\n }\n\n handleWildoError(enrichedWildoError);\n return;\n }\n\n const errorType = ErrorManagementService.classifyError(error);\n const errorMessage = customMessage || error?.message || 'Unknown error';\n const errorDefinition = ERROR_DEFINITIONS[errorType];\n\n const errorContext = {\n originalError: errorMessage,\n ...additionalContext\n };\n\n const wildoError = sharedErrorBuilder.buildWildoError_Frontend(errorType, {\n customMessageReference: errorDefinition?.defaultCustomMessageReference,\n context: errorContext\n });\n\n handleWildoError(wildoError);\n }, [handleWildoError]);\n\n const value = useMemo<ErrorContextType>(() => ({\n handleError,\n handleWildoError,\n setUserContext,\n }), [handleError, handleWildoError, setUserContext]);\n\n return <ErrorContext.Provider value={value}>{children}</ErrorContext.Provider>;\n};\n\n// useError hook is now in separate file: ./useError.ts\n// This separation is required for React Fast Refresh compatibility\n\n/**\n * Utility function to create error with minimal config\n * @__PURE__\n */\nconst createError = /* #__PURE__ */ (\n message: string, \n type: ErrorType = ErrorType.UNKNOWN, \n overrides?: {\n customMessageReference?: ErrorCustomMessageReference,\n operationPathKey?: string,\n context?: Record<string, any>\n }\n): { error: Error; wildoError: WildoError_Frontend } => {\n const error = new Error(message);\n \n const wildoError = sharedErrorBuilder.buildWildoError_Frontend(type, {\n customMessageReference: overrides?.customMessageReference,\n operationPathKey: overrides?.operationPathKey,\n context: { \n originalMessage: message, \n ...overrides?.context \n }\n });\n \n return { error, wildoError };\n}; "]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalErrorHandler.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"GlobalErrorHandler.d.ts","sourceRoot":"","sources":["../../../../src/core/errors/GlobalErrorHandler.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAiBH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAiEpE;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,GACR,EAAE,uBAAuB,GAAG,IAAI,CAqMhC;AAED,eAAe,kBAAkB,CAAC"}
|