@wildo-ai/saas-frontend-lib 1.1.1 → 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 +61 -0
- package/dist/esm/browser-bootstrap/theme-bootstrap.d.ts.map +1 -0
- package/dist/esm/browser-bootstrap/theme-bootstrap.js +111 -0
- package/dist/esm/browser-bootstrap/theme-bootstrap.js.map +1 -0
- package/dist/esm/browser-bootstrap.exports.d.ts +28 -0
- package/dist/esm/browser-bootstrap.exports.d.ts.map +1 -0
- package/dist/esm/browser-bootstrap.exports.js +28 -0
- package/dist/esm/browser-bootstrap.exports.js.map +1 -0
- 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 +26 -1
- package/dist/esm/components/actions/action-button.d.ts.map +1 -1
- package/dist/esm/components/actions/action-button.js +19 -5
- 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 +21 -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 +14 -4
- package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayField.js +57 -8
- package/dist/esm/components/data-display/DisplayField.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.d.ts +4 -1
- package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.js +2 -2
- 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 +8 -4
- 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 +2 -2
- 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 +7 -2
- 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 +9 -2
- package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.js +216 -25
- 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 +4 -2
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js +25 -4
- 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 +18 -3
- 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 +68 -0
- package/dist/esm/components/data-display/display-resource-link-trail.d.ts.map +1 -0
- package/dist/esm/components/data-display/display-resource-link-trail.js +58 -0
- package/dist/esm/components/data-display/display-resource-link-trail.js.map +1 -0
- 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 +13 -1
- package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton.js +31 -2
- 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 +0 -7
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +120 -22
- 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 +13 -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 +1 -0
- 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 +1 -0
- 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 +10 -0
- 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 +1 -0
- 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 +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 +10 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.js +3 -2
- 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 +10 -3
- 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 +83 -10
- 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 +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 +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 +21 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.js +4 -2
- 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 +15 -1
- package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.js +3 -2
- 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 +35 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.js +41 -2
- package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryMeta.d.ts +52 -0
- package/dist/esm/components/resources/skeleton/SummaryMeta.d.ts.map +1 -0
- package/dist/esm/components/resources/skeleton/SummaryMeta.js +9 -0
- package/dist/esm/components/resources/skeleton/SummaryMeta.js.map +1 -0
- package/dist/esm/components/resources/skeleton/SummaryTitle.d.ts +69 -18
- package/dist/esm/components/resources/skeleton/SummaryTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryTitle.js +55 -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 +123 -6
- 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 +14 -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 +29 -3
- 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 +13 -1
- package/dist/esm/components/sections/surface.d.ts.map +1 -1
- package/dist/esm/components/sections/surface.js +21 -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 +1 -1
- package/dist/esm/components/typography/text.d.ts.map +1 -1
- package/dist/esm/components/typography/text.js +14 -2
- 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 +15 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.js +4 -4
- 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 +56 -19
- 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 +2 -2
- package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/usePublicShellLayout.js +19 -3
- 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 +31 -3
- 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 +45 -3
- package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.d.ts +52 -0
- package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -0
- package/dist/esm/core/branding/useBrandPresentation.js +39 -0
- package/dist/esm/core/branding/useBrandPresentation.js.map +1 -0
- 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 +113 -7
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-configuration-frontend.schemas.js +163 -2
- package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +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 +8 -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 +7 -2
- package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.d.ts +73 -1
- package/dist/esm/core/config/composite-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.js +18 -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 +22 -3
- 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 +11 -25
- 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 +73 -16
- package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.js +65 -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 +12 -26
- 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 +30 -6
- 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 +39 -0
- package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.js +336 -74
- 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 +73 -1
- 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 +23 -0
- package/dist/esm/core/navigation/hosted-pane.constants.d.ts.map +1 -0
- package/dist/esm/core/navigation/hosted-pane.constants.js +23 -0
- package/dist/esm/core/navigation/hosted-pane.constants.js.map +1 -0
- 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 +22 -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 +169 -16
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.d.ts +107 -10
- package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.js +2 -1
- package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.d.ts +196 -30
- package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.js +443 -59
- package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
- package/dist/esm/core/navigation/primary-destination-layout.d.ts +102 -0
- package/dist/esm/core/navigation/primary-destination-layout.d.ts.map +1 -0
- package/dist/esm/core/navigation/primary-destination-layout.js +86 -0
- package/dist/esm/core/navigation/primary-destination-layout.js.map +1 -0
- 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 +41 -3
- package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.js +343 -48
- 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 +29 -4
- package/dist/esm/core/navigation/useTransactionAwareSyncRetry.d.ts.map +1 -1
- package/dist/esm/core/navigation/useTransactionAwareSyncRetry.js +36 -38
- 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 +92 -0
- package/dist/esm/core/navigation/zone-content-geometry.d.ts.map +1 -0
- package/dist/esm/core/navigation/zone-content-geometry.js +98 -0
- package/dist/esm/core/navigation/zone-content-geometry.js.map +1 -0
- package/dist/esm/core/navigation/zone-empty-behavior.d.ts +75 -0
- package/dist/esm/core/navigation/zone-empty-behavior.d.ts.map +1 -0
- package/dist/esm/core/navigation/zone-empty-behavior.js +63 -0
- package/dist/esm/core/navigation/zone-empty-behavior.js.map +1 -0
- 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 +38 -4
- 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 +143 -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 +35 -0
- package/dist/esm/core/resources/ResourceReadCacheBridge.d.ts.map +1 -0
- package/dist/esm/core/resources/ResourceReadCacheBridge.js +267 -0
- package/dist/esm/core/resources/ResourceReadCacheBridge.js.map +1 -0
- package/dist/esm/core/resources/ResourceRegistryContext.d.ts +9 -0
- package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.js +61 -23
- 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 +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 +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 +142 -0
- package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts.map +1 -0
- package/dist/esm/core/resources/resource-read-cache.frontend.service.js +227 -0
- package/dist/esm/core/resources/resource-read-cache.frontend.service.js.map +1 -0
- 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 +48 -1
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.js +107 -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 +63 -0
- package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -0
- package/dist/esm/core/resources/useHostlessResourceNavigation.js +81 -0
- package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -0
- 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 +71 -16
- 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 +7 -4
- 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 +3 -1
- package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
- package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.d.ts +23 -0
- 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 +8 -0
- 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 +13 -0
- 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 +21 -0
- 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 +56 -0
- package/dist/esm/core/ui/TypographyScopeContext.d.ts.map +1 -0
- package/dist/esm/core/ui/TypographyScopeContext.js +59 -0
- package/dist/esm/core/ui/TypographyScopeContext.js.map +1 -0
- package/dist/esm/core/ui/UIContext.d.ts +9 -0
- package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
- package/dist/esm/core/ui/UIContext.js +3 -2
- 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 +7 -0
- package/dist/esm/core/ui/cn.d.ts.map +1 -1
- package/dist/esm/core/ui/cn.js +9 -2
- 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 +47 -0
- package/dist/esm/core/ui/design-token-class-groups.d.ts.map +1 -0
- package/dist/esm/core/ui/design-token-class-groups.js +85 -0
- package/dist/esm/core/ui/design-token-class-groups.js.map +1 -0
- 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 +6 -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 +26 -0
- 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 +25 -0
- package/dist/esm/core/ui/theme-preference-storage.shared.d.ts.map +1 -0
- package/dist/esm/core/ui/theme-preference-storage.shared.js +25 -0
- package/dist/esm/core/ui/theme-preference-storage.shared.js.map +1 -0
- package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
- package/dist/esm/core/ui/themes/default.theme.js +14 -5
- 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 +11 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +24 -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 +11 -5
- package/dist/esm/.builder.pid +0 -9
- 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
|
@@ -22,6 +22,7 @@ import { useWebSocket } from '../../core/requests/websockets/useWebSocket.js';
|
|
|
22
22
|
import { useUserOrgs } from '../../core/security/useUserOrgs.js';
|
|
23
23
|
import { useAppScopeSafe } from '../../core/scope/useAppScope.js';
|
|
24
24
|
import { useApplication } from '../../core/runtime/useApplication.js';
|
|
25
|
+
import { useResourceRegistrySafe } from '../../core/resources/useResourceRegistry.js';
|
|
25
26
|
import { LoggerFrontendService } from '../../core/monitoring/logger.frontend.service.js';
|
|
26
27
|
import { getManualCallsHttpClient } from '../../core/requests/wildo-http-client-manual-calls.frontend.service.js';
|
|
27
28
|
import { useEmitLoadingScope } from '../../core/loading/useEmitLoadingScope.js';
|
|
@@ -78,14 +79,17 @@ const SCOPE_TO_OPEN_PORTAL_URL = {
|
|
|
78
79
|
const EMPTY_USAGE = {
|
|
79
80
|
byProduct: {},
|
|
80
81
|
};
|
|
82
|
+
/** @wildo_source:part:end saas.frontend.billing-context */
|
|
81
83
|
export const BillingContext = createContext(undefined);
|
|
82
84
|
export function BillingProvider({ children, productDefinitions: injectedProductDefinitions }) {
|
|
83
85
|
// ── Self-resolve configuration from hooks ──
|
|
84
86
|
const userOrgs = useUserOrgs();
|
|
85
87
|
const appScope = useAppScopeSafe();
|
|
86
88
|
const { appConfig, frontendProviderRegistry } = useApplication();
|
|
89
|
+
const resourceRegistry = useResourceRegistrySafe();
|
|
87
90
|
const billingConfig = appConfig.billing;
|
|
88
|
-
|
|
91
|
+
/** What the application CONFIGURED — see `isEnabled` below for why that is only half the answer. */
|
|
92
|
+
const isConfiguredEnabled = billingConfig?.enabled ?? false;
|
|
89
93
|
const billingProvider = useMemo(() => {
|
|
90
94
|
const configuredProviderRef = billingConfig?.providerRef;
|
|
91
95
|
const configuredProvider = configuredProviderRef
|
|
@@ -94,14 +98,14 @@ export function BillingProvider({ children, productDefinitions: injectedProductD
|
|
|
94
98
|
const resolvedProvider = isBillingFrontendProvider(configuredProvider)
|
|
95
99
|
? configuredProvider
|
|
96
100
|
: frontendProviderRegistry?.findByProviderCapabilityAndProtocol(BUILTIN_PROVIDER_CAPABILITY.BILLING, BUILTIN_PROVIDER_PROTOCOL.BILLING_PROVIDER) ?? null;
|
|
97
|
-
if (
|
|
101
|
+
if (isConfiguredEnabled && configuredProviderRef && resolvedProvider?.metadata.ref !== configuredProviderRef) {
|
|
98
102
|
logDebug('Billing config providerRef does not match the hydrated frontend billing provider', {
|
|
99
103
|
configuredProviderRef,
|
|
100
104
|
resolvedProviderRef: resolvedProvider?.metadata.ref,
|
|
101
105
|
});
|
|
102
106
|
}
|
|
103
107
|
return resolvedProvider;
|
|
104
|
-
}, [billingConfig?.providerRef, frontendProviderRegistry,
|
|
108
|
+
}, [billingConfig?.providerRef, frontendProviderRegistry, isConfiguredEnabled]);
|
|
105
109
|
// ── Self-resolve scope ──
|
|
106
110
|
const enabledScopes = billingConfig?.enabledScopes ?? [ResourcePrimaryScope.ORGANIZATIONS];
|
|
107
111
|
const { scopeType, scopeEntityId } = useMemo(() => {
|
|
@@ -115,6 +119,30 @@ export function BillingProvider({ children, productDefinitions: injectedProductD
|
|
|
115
119
|
}, [enabledScopes, appScope?.currentOrganizationId, userOrgs.user?._id]);
|
|
116
120
|
// ── Derive variant resource type for operations ──
|
|
117
121
|
const billingAccountResourceType = scopeType ? SCOPE_TO_BILLING_ACCOUNT_RESOURCE[scopeType] : null;
|
|
122
|
+
/**
|
|
123
|
+
* Enabled means CONFIGURED **and** REACHABLE — the config flag alone was not enough.
|
|
124
|
+
*
|
|
125
|
+
* Every request this provider makes is an operation on a billing-account resource, so a consumer
|
|
126
|
+
* whose registry does not carry that resource cannot serve one no matter what the config says.
|
|
127
|
+
* That is not hypothetical: the application-creation workbench excludes the whole tenant
|
|
128
|
+
* vocabulary from its registry (it observes an application's creation and is not that
|
|
129
|
+
* application's admin console) while rendering the OBSERVED application's config, which has
|
|
130
|
+
* billing enabled — so it fired `organization-billing-accounts/get-state/count` at its own origin
|
|
131
|
+
* on every page load, where the companion serves no billing routes, and answered 404 every time
|
|
132
|
+
* (issue #268, reproduced live).
|
|
133
|
+
*
|
|
134
|
+
* Reading the registry rather than adding a second opt-out keeps the two halves from disagreeing:
|
|
135
|
+
* a consumer that excludes the resource has already said billing is not part of its surface, and
|
|
136
|
+
* saying it twice is how the two copies drift. A tenant application carries the resource and is
|
|
137
|
+
* unaffected.
|
|
138
|
+
*/
|
|
139
|
+
const isEnabled = isConfiguredEnabled
|
|
140
|
+
&& billingAccountResourceType !== null
|
|
141
|
+
// A registry that is ABSENT is ignorance, not a negative answer — only a registry that HAS been
|
|
142
|
+
// asked and says no disables billing. Blocking on the absent case instead disabled billing for
|
|
143
|
+
// every consumer that mounts this provider without a registry in context, which is what three
|
|
144
|
+
// of this file's own tests do and what caught the first version of this gate.
|
|
145
|
+
&& (resourceRegistry === undefined || resourceRegistry.hasResource(billingAccountResourceType));
|
|
118
146
|
// ── State ──
|
|
119
147
|
const [billingState, setBillingState] = useState(null);
|
|
120
148
|
const [isLoading, setIsLoading] = useState(isEnabled && !!scopeEntityId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BillingContext.js","sourceRoot":"","sources":["../../../../../src/core/billing/BillingContext.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * BillingContext\n *\n * Central context for billing operations on the frontend.\n *\n * Responsibilities:\n * - Self-resolves scope (org/user) from AppScope + user context — no external props needed\n * - Fetches billing state via the GET_STATE resource operation on the billing account\n * - The backend auto-creates the billing account if one doesn't exist\n * - Provides actions: openCheckout, openCustomerPortal (via resource operations)\n * - Caches billing state and invalidates on WebSocket events\n * - Exposes convenience accessors for current plan, subscription status, etc.\n *\n * DELEGATION PRINCIPLE: The frontend does NOT build payment UI.\n * - Stripe Checkout (hosted page): for new subscriptions and upgrades\n * - Stripe Customer Portal (hosted page): for invoices, payment methods, cancellation\n */\n\nimport React, { createContext, useEffect, useState, useCallback, useMemo, useRef } from 'react';\nimport type {\n BillingAccount,\n BillingSubscriptionBase,\n Product,\n Price,\n Promotion,\n InvoiceRef,\n UsageSummary,\n BillingConfiguration,\n ProductDefinition,\n BillingStateResponse,\n WS_BillingEventPayload,\n} from '@wildo-ai/saas-models';\nimport {\n BUILTIN_PROVIDER_CAPABILITY,\n BUILTIN_PROVIDER_PROTOCOL,\n CoreWebSocketEvent,\n CoreResourceType,\n ResourcePrimaryScope,\n MAIN_API_BASE_PATH,\n} from '@wildo-ai/saas-models';\nimport type { FrontendAppProviderModule, FrontendAppProviderRef } from '@wildo-ai/external-connectors-public/app';\nimport { useWebSocket } from '~wildo-frontend-lib/core/requests/websockets/useWebSocket';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { useApplication } from '~wildo-frontend-lib/core/runtime/useApplication';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { getManualCallsHttpClient } from '~wildo-frontend-lib/core/requests/wildo-http-client-manual-calls.frontend.service';\nimport { useEmitLoadingScope } from '~wildo-frontend-lib/core/loading/useEmitLoadingScope';\nimport { ContextLoadingIdentifier } from '~wildo-frontend-lib/core/loading/loading-types.frontend.schemas';\n\n// ================================\n// Logger\n// ================================\n\nconst billingLogger: LoggerFrontendService = LoggerFrontendService.getLogger();\nconst logDebug: (message: string, context?: Record<string, unknown>) => void = billingLogger.debugByType('BillingContext');\nbillingLogger.setDebugTypeLogging('BillingContext', false);\n\n// ================================\n// Constants\n// ================================\n\nconst API_PREFIX = MAIN_API_BASE_PATH;\n\n/** WebSocket events that trigger a refetch of billing state */\nconst INVALIDATION_EVENTS = [\n CoreWebSocketEvent.BILLING_STATUS_CHANGED,\n CoreWebSocketEvent.BILLING_SUBSCRIPTION_UPDATED,\n CoreWebSocketEvent.BILLING_ACCOUNT_CHANGED,\n CoreWebSocketEvent.BILLING_USAGE_UPDATED,\n CoreWebSocketEvent.BILLING_CREDIT_POOL_UPDATED,\n CoreWebSocketEvent.BILLING_FEATURES_UPDATED,\n] as const;\n\n/** Maps ResourcePrimaryScope → billing account variant resource type (for resource operations) */\nconst SCOPE_TO_BILLING_ACCOUNT_RESOURCE: Record<string, string> = {\n [ResourcePrimaryScope.ORGANIZATIONS]: CoreResourceType.ORGANIZATION_BILLING_ACCOUNTS,\n [ResourcePrimaryScope.USER_SELF]: CoreResourceType.USER_BILLING_ACCOUNTS,\n};\n\n// The billing-account GET_STATE / OPEN_CHECKOUT / OPEN_PORTAL custom operations\n// borrow COUNT / UPDATE / READ core semantics (see\n// `billing-account.shared.resources-config.schemas.ts`), so their canonical\n// routes follow the framework's scoped resource-operation shape:\n// GET_STATE (COUNT-like) → GET /<scope>/{id}/<res>/get-state/count\n// OPEN_CHECKOUT (UPDATE-like) → PUT /<scope>/{id}/<res>/{accountId}/open-checkout\n// OPEN_PORTAL (READ-like) → GET /<scope>/{id}/<res>/{accountId}/open-portal\n// Built here to mirror the routes the backend registers from the same\n// resources-config; the prior `/operations/open_checkout` POST 404'd.\n\n/** Maps ResourcePrimaryScope → GET_STATE URL builder (COUNT-like → trailing `/count`) */\nconst SCOPE_TO_GET_STATE_URL: Record<string, (scopeEntityId: string) => string> = {\n [ResourcePrimaryScope.ORGANIZATIONS]: (id) => `${API_PREFIX}/organizations/${id}/organization-billing-accounts/get-state/count`,\n [ResourcePrimaryScope.USER_SELF]: (id) => `${API_PREFIX}/users/${id}/user-billing-accounts/get-state/count`,\n};\n\n/** Maps ResourcePrimaryScope → OPEN_CHECKOUT URL builder (UPDATE-like → keyed PUT) */\nconst SCOPE_TO_OPEN_CHECKOUT_URL: Record<string, (scopeEntityId: string, billingAccountId: string) => string> = {\n [ResourcePrimaryScope.ORGANIZATIONS]: (id, acc) => `${API_PREFIX}/organizations/${id}/organization-billing-accounts/${acc}/open-checkout`,\n [ResourcePrimaryScope.USER_SELF]: (id, acc) => `${API_PREFIX}/users/${id}/user-billing-accounts/${acc}/open-checkout`,\n};\n\n/** Maps ResourcePrimaryScope → OPEN_PORTAL URL builder (READ-like → keyed GET) */\nconst SCOPE_TO_OPEN_PORTAL_URL: Record<string, (scopeEntityId: string, billingAccountId: string) => string> = {\n [ResourcePrimaryScope.ORGANIZATIONS]: (id, acc) => `${API_PREFIX}/organizations/${id}/organization-billing-accounts/${acc}/open-portal`,\n [ResourcePrimaryScope.USER_SELF]: (id, acc) => `${API_PREFIX}/users/${id}/user-billing-accounts/${acc}/open-portal`,\n};\n\n// ================================\n// API Response Types\n// ================================\n\n/** Response from PUT /<scope>/{id}/<billing-accounts>/{accountId}/open-checkout (OPEN_CHECKOUT) */\ninterface CheckoutSessionResponse {\n url: string;\n sessionId: string;\n}\n\n/** Response from GET /<scope>/{id}/<billing-accounts>/{accountId}/open-portal (OPEN_PORTAL) */\ninterface PortalSessionResponse {\n url: string;\n}\n\n// ================================\n// Context Type\n// ================================\n\nexport interface BillingContextType {\n // ── Configuration ──\n isEnabled: boolean;\n billingConfiguration: BillingConfiguration | undefined;\n billingProvider: FrontendAppProviderModule | null;\n\n // ── Billing State ──\n billingAccount: BillingAccount | null;\n subscription: BillingSubscriptionBase | null;\n currentPlanKey: string | null;\n currentPlanProduct: Product | null;\n\n // ── Product Catalog ──\n products: Product[];\n prices: Price[];\n productDefinitions: ProductDefinition[];\n getPricesForProduct: (productId: string) => Price[];\n getProductByKey: (key: string) => Product | undefined;\n\n // ── Scope ──\n currentScope: ResourcePrimaryScope | null;\n\n // ── Invoices ──\n invoices: InvoiceRef[];\n\n // ── Promotions ──\n activePromotions: Promotion[];\n\n // ── Usage & Credits ──\n usage: UsageSummary;\n creditPools: Record<string, { available: number; totalPurchased: number; totalConsumed: number }>;\n\n // ── Actions ──\n openCheckout: (productKey: string, priceId: string, options?: {\n quantity?: number;\n promotionCode?: string;\n trialDays?: number;\n }) => Promise<void>;\n\n openCustomerPortal: () => Promise<void>;\n\n // ── State ──\n isLoading: boolean;\n error: Error | null;\n\n // ── Actions ──\n refetch: () => void;\n}\n\n// ── Default empty state ──\nconst EMPTY_USAGE: UsageSummary = {\n byProduct: {},\n};\n\nexport const BillingContext: React.Context<BillingContextType | undefined> = createContext<BillingContextType | undefined>(undefined);\n\n// ================================\n// Provider\n// ================================\n\nexport interface BillingProviderProps {\n children: React.ReactNode;\n productDefinitions?: ProductDefinition[];\n}\n\nexport function BillingProvider({ children, productDefinitions: injectedProductDefinitions }: BillingProviderProps): React.ReactElement {\n // ── Self-resolve configuration from hooks ──\n const userOrgs = useUserOrgs();\n const appScope = useAppScopeSafe();\n const { appConfig, frontendProviderRegistry } = useApplication();\n const billingConfig = appConfig.billing;\n const isEnabled = billingConfig?.enabled ?? false;\n const billingProvider = useMemo(() => {\n const configuredProviderRef = billingConfig?.providerRef;\n\n const configuredProvider = configuredProviderRef\n ? frontendProviderRegistry?.getProviderByRef(\n configuredProviderRef as FrontendAppProviderRef,\n )\n : undefined;\n\n const resolvedProvider = isBillingFrontendProvider(configuredProvider)\n ? configuredProvider\n : frontendProviderRegistry?.findByProviderCapabilityAndProtocol(\n BUILTIN_PROVIDER_CAPABILITY.BILLING,\n BUILTIN_PROVIDER_PROTOCOL.BILLING_PROVIDER,\n ) ?? null;\n\n if (isEnabled && configuredProviderRef && resolvedProvider?.metadata.ref !== configuredProviderRef) {\n logDebug('Billing config providerRef does not match the hydrated frontend billing provider', {\n configuredProviderRef,\n resolvedProviderRef: resolvedProvider?.metadata.ref,\n });\n }\n\n return resolvedProvider;\n }, [billingConfig?.providerRef, frontendProviderRegistry, isEnabled]);\n\n // ── Self-resolve scope ──\n const enabledScopes = billingConfig?.enabledScopes ?? [ResourcePrimaryScope.ORGANIZATIONS];\n\n const { scopeType, scopeEntityId } = useMemo(() => {\n if (enabledScopes.includes(ResourcePrimaryScope.ORGANIZATIONS) && appScope?.currentOrganizationId) {\n return { scopeType: ResourcePrimaryScope.ORGANIZATIONS as ResourcePrimaryScope, scopeEntityId: appScope.currentOrganizationId };\n }\n if (enabledScopes.includes(ResourcePrimaryScope.USER_SELF) && userOrgs.user?._id) {\n return { scopeType: ResourcePrimaryScope.USER_SELF as ResourcePrimaryScope, scopeEntityId: userOrgs.user._id };\n }\n return { scopeType: null as ResourcePrimaryScope | null, scopeEntityId: null as string | null };\n }, [enabledScopes, appScope?.currentOrganizationId, userOrgs.user?._id]);\n\n // ── Derive variant resource type for operations ──\n const billingAccountResourceType = scopeType ? SCOPE_TO_BILLING_ACCOUNT_RESOURCE[scopeType] : null;\n\n // ── State ──\n const [billingState, setBillingState] = useState<BillingStateResponse | null>(null);\n const [isLoading, setIsLoading] = useState<boolean>(isEnabled && !!scopeEntityId);\n const [error, setError] = useState<Error | null>(null);\n\n // L-2.b: mirror local loading state onto the LoadingContext event bus so\n // unrelated components can observe billing-state lifecycle via\n // `useComponentLoading({ customIdentifier: ContextLoadingIdentifier.BILLING_STATE })`\n // or `<LoadingGate scopes={[buildContextLoadingScope(BILLING_STATE)]}>`.\n // Local `isLoading` is still exposed for direct consumers (back-compat).\n useEmitLoadingScope({\n identifier: ContextLoadingIdentifier.BILLING_STATE,\n isLoading,\n hasLoadedOnce: billingState !== null,\n });\n\n // ── Refs for stable callbacks ──\n const fetchInFlightRef = useRef<boolean>(false);\n const mountedRef = useRef<boolean>(true);\n const debounceTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const checkoutInFlightRef = useRef<boolean>(false);\n\n // ── WebSocket ──\n const { on } = useWebSocket();\n\n // ── Resolve redirect base URL ──\n const resolvedRedirectBase = useMemo(\n () => typeof window !== 'undefined' ? window.location.origin : '',\n [],\n );\n\n // ── billingAccountId from response ──\n const billingAccountId = billingState?.billingAccount?._id ?? null;\n\n // ── Clear stale state on scope change ──\n useEffect(() => {\n setBillingState(null);\n setError(null);\n setIsLoading(isEnabled && !!scopeEntityId);\n }, [scopeType, scopeEntityId, isEnabled]);\n\n // ── Fetch billing state from backend ──\n const fetchBillingState = useCallback(async () => {\n if (!isEnabled || !scopeType || !scopeEntityId) return;\n if (fetchInFlightRef.current) return;\n fetchInFlightRef.current = true;\n\n try {\n logDebug('Fetching billing state', { scopeType, scopeEntityId });\n const httpClient = getManualCallsHttpClient();\n\n const urlBuilder = SCOPE_TO_GET_STATE_URL[scopeType];\n if (!urlBuilder) return;\n const url = urlBuilder(scopeEntityId);\n const response = await httpClient.get<BillingStateResponse>(url);\n\n if (mountedRef.current) {\n setBillingState({\n billingAccount: response.billingAccount,\n subscription: response.subscription,\n products: response.products ?? [],\n prices: response.prices ?? [],\n invoices: response.invoices ?? [],\n usage: response.usage ?? EMPTY_USAGE,\n creditPools: response.creditPools ?? {},\n activePromotions: response.activePromotions ?? [],\n scopeType: response.scopeType,\n });\n setError(null);\n\n logDebug('Billing state fetched', {\n hasAccount: !!response.billingAccount,\n hasSubscription: !!response.subscription,\n productCount: response.products?.length ?? 0,\n priceCount: response.prices?.length ?? 0,\n billingAccountId: response.billingAccount?._id,\n });\n }\n } catch (err: unknown) {\n if (mountedRef.current) {\n const message = err instanceof Error ? err.message : 'Failed to fetch billing state';\n setError(err instanceof Error ? err : new Error(message));\n logDebug('Failed to fetch billing state', { error: message });\n }\n } finally {\n if (mountedRef.current) {\n setIsLoading(false);\n }\n fetchInFlightRef.current = false;\n }\n }, [isEnabled, scopeType, scopeEntityId]);\n\n // ── Initial fetch ──\n useEffect(() => {\n mountedRef.current = true;\n if (isEnabled && scopeType && scopeEntityId) {\n fetchBillingState();\n } else {\n setIsLoading(false);\n }\n return () => {\n mountedRef.current = false;\n };\n }, [fetchBillingState, isEnabled, scopeType, scopeEntityId]);\n\n // ── WebSocket invalidation (debounced) ──\n useEffect(() => {\n if (!isEnabled) return;\n\n const unsubscribers: Array<() => void> = [];\n\n const debouncedRefetch = () => {\n if (debounceTimerRef.current) {\n clearTimeout(debounceTimerRef.current);\n }\n debounceTimerRef.current = setTimeout(() => {\n debounceTimerRef.current = null;\n fetchBillingState();\n }, 300);\n };\n\n for (const event of INVALIDATION_EVENTS) {\n const unsub = on<WS_BillingEventPayload>(event, (payload) => {\n if (!scopeType || !scopeEntityId) {\n logDebug('Ignoring billing invalidation without active scope', { event, payload });\n return;\n }\n\n if (payload.scopeType !== scopeType || payload.scopeEntityId !== scopeEntityId) {\n logDebug('Ignoring billing invalidation for another scope', {\n event,\n payload,\n currentScopeType: scopeType,\n currentScopeEntityId: scopeEntityId,\n });\n return;\n }\n\n if (billingAccountId && payload.billingAccountId !== billingAccountId) {\n logDebug('Ignoring billing invalidation for another billing account', {\n event,\n payload,\n currentBillingAccountId: billingAccountId,\n });\n return;\n }\n\n logDebug('WebSocket invalidation event received, scheduling refetch', { event, payload });\n debouncedRefetch();\n });\n unsubscribers.push(unsub);\n }\n\n return () => {\n if (debounceTimerRef.current) {\n clearTimeout(debounceTimerRef.current);\n }\n for (const unsub of unsubscribers) {\n unsub();\n }\n };\n }, [on, fetchBillingState, isEnabled, scopeType, scopeEntityId, billingAccountId]);\n\n // ── Derived state ──\n const billingAccount = billingState?.billingAccount ?? null;\n const subscription = billingState?.subscription ?? null;\n const products = billingState?.products ?? [];\n const prices = billingState?.prices ?? [];\n const invoices = billingState?.invoices ?? [];\n const usage = billingState?.usage ?? EMPTY_USAGE;\n const creditPools = billingState?.creditPools ?? {};\n const activePromotions = billingState?.activePromotions ?? [];\n const currentScope = scopeType ?? null;\n\n // ── Product catalog lookups ──\n const productsByKey = useMemo(() => {\n const map = new Map<string, Product>();\n for (const p of products) {\n map.set(p.key, p);\n }\n return map;\n }, [products]);\n\n const pricesByProductId = useMemo(() => {\n const map = new Map<string, Price[]>();\n for (const price of prices) {\n const existing = map.get(price.productId) ?? [];\n existing.push(price);\n map.set(price.productId, existing);\n }\n return map;\n }, [prices]);\n\n const getPricesForProduct = useCallback(\n (productId: string): Price[] => pricesByProductId.get(productId) ?? [],\n [pricesByProductId],\n );\n\n const getProductByKey = useCallback(\n (key: string): Product | undefined => productsByKey.get(key),\n [productsByKey],\n );\n\n // ── Current plan derivation ──\n const { currentPlanKey, currentPlanProduct } = useMemo(() => {\n if (!subscription || !subscription.items?.length) {\n return { currentPlanKey: null, currentPlanProduct: null };\n }\n for (const item of subscription.items) {\n const product = products.find(p => p._id === item.productId);\n if (product && product.type === 'plan') {\n return { currentPlanKey: product.key, currentPlanProduct: product };\n }\n }\n return { currentPlanKey: null, currentPlanProduct: null };\n }, [subscription, products]);\n\n const productDefinitions = useMemo<ProductDefinition[]>(\n () => injectedProductDefinitions ?? [],\n [injectedProductDefinitions],\n );\n\n // ── Actions ──\n const openCheckout = useCallback(\n async (productKey: string, priceId: string, options?: {\n quantity?: number;\n promotionCode?: string;\n trialDays?: number;\n }): Promise<void> => {\n if (!billingAccountId || !billingAccountResourceType || !scopeType || !scopeEntityId) {\n throw new Error('No billing account available. Cannot open checkout.');\n }\n const checkoutUrl = SCOPE_TO_OPEN_CHECKOUT_URL[scopeType]?.(scopeEntityId, billingAccountId);\n if (!checkoutUrl) {\n throw new Error(`No OPEN_CHECKOUT URL builder for scope ${scopeType}.`);\n }\n if (checkoutInFlightRef.current) {\n logDebug('Checkout already in progress, ignoring duplicate request');\n return;\n }\n\n checkoutInFlightRef.current = true;\n try {\n logDebug('Opening checkout session', { productKey, priceId, ...options });\n const httpClient = getManualCallsHttpClient();\n\n // OPEN_CHECKOUT borrows UPDATE → keyed PUT on the scoped account route.\n const response = await httpClient.put<CheckoutSessionResponse>(\n checkoutUrl,\n {\n productKey,\n priceId,\n successUrl: `${resolvedRedirectBase}/billing/success?session_id={CHECKOUT_SESSION_ID}`,\n cancelUrl: `${resolvedRedirectBase}/billing/cancel`,\n quantity: options?.quantity,\n promotionCode: options?.promotionCode,\n trialDays: options?.trialDays,\n },\n );\n\n if (response.url) {\n window.location.href = response.url;\n }\n } finally {\n checkoutInFlightRef.current = false;\n }\n },\n [billingAccountId, billingAccountResourceType, scopeType, scopeEntityId, resolvedRedirectBase],\n );\n\n const openCustomerPortal = useCallback(async (): Promise<void> => {\n if (!billingAccountId || !billingAccountResourceType || !scopeType || !scopeEntityId) {\n throw new Error('No billing account available. Cannot open customer portal.');\n }\n const portalUrlBase = SCOPE_TO_OPEN_PORTAL_URL[scopeType]?.(scopeEntityId, billingAccountId);\n if (!portalUrlBase) {\n throw new Error(`No OPEN_PORTAL URL builder for scope ${scopeType}.`);\n }\n\n logDebug('Opening customer portal session');\n const httpClient = getManualCallsHttpClient();\n\n // OPEN_PORTAL borrows READ → keyed GET on the scoped account route; the\n // returnUrl travels as a query param since GET carries no request body.\n const returnUrl = encodeURIComponent(`${resolvedRedirectBase}/billing`);\n const response = await httpClient.get<PortalSessionResponse>(\n `${portalUrlBase}?returnUrl=${returnUrl}`,\n );\n\n if (response.url) {\n window.location.href = response.url;\n }\n }, [billingAccountId, billingAccountResourceType, scopeType, scopeEntityId, resolvedRedirectBase]);\n\n // ── Context value (memoized for stable reference) ──\n const contextValue: BillingContextType = useMemo(\n () => ({\n isEnabled,\n billingConfiguration: billingConfig,\n billingProvider,\n billingAccount,\n subscription,\n currentPlanKey,\n currentPlanProduct,\n currentScope,\n products,\n prices,\n invoices,\n productDefinitions,\n getPricesForProduct,\n getProductByKey,\n activePromotions,\n usage,\n creditPools,\n openCheckout,\n openCustomerPortal,\n isLoading,\n error,\n refetch: fetchBillingState,\n }),\n [\n isEnabled,\n billingConfig,\n billingProvider,\n billingAccount,\n subscription,\n currentPlanKey,\n currentPlanProduct,\n currentScope,\n products,\n prices,\n invoices,\n productDefinitions,\n getPricesForProduct,\n getProductByKey,\n activePromotions,\n usage,\n creditPools,\n openCheckout,\n openCustomerPortal,\n isLoading,\n error,\n fetchBillingState,\n ],\n );\n\n return (\n <BillingContext.Provider value={contextValue}>\n {children}\n </BillingContext.Provider>\n );\n}\n\nfunction isBillingFrontendProvider(\n provider: FrontendAppProviderModule | undefined,\n): provider is FrontendAppProviderModule {\n return !!provider\n && provider.providerCapabilities.includes(BUILTIN_PROVIDER_CAPABILITY.BILLING)\n && provider.protocols.includes(BUILTIN_PROVIDER_PROTOCOL.BILLING_PROVIDER);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"BillingContext.js","sourceRoot":"","sources":["../../../../src/core/billing/BillingContext.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * BillingContext\n *\n * Central context for billing operations on the frontend.\n *\n * Responsibilities:\n * - Self-resolves scope (org/user) from AppScope + user context — no external props needed\n * - Fetches billing state via the GET_STATE resource operation on the billing account\n * - The backend auto-creates the billing account if one doesn't exist\n * - Provides actions: openCheckout, openCustomerPortal (via resource operations)\n * - Caches billing state and invalidates on WebSocket events\n * - Exposes convenience accessors for current plan, subscription status, etc.\n *\n * DELEGATION PRINCIPLE: The frontend does NOT build payment UI.\n * - Stripe Checkout (hosted page): for new subscriptions and upgrades\n * - Stripe Customer Portal (hosted page): for invoices, payment methods, cancellation\n */\n\nimport React, { createContext, useEffect, useState, useCallback, useMemo, useRef } from 'react';\nimport type {\n BillingAccount,\n BillingSubscriptionBase,\n Product,\n Price,\n Promotion,\n InvoiceRef,\n UsageSummary,\n BillingConfiguration,\n ProductDefinition,\n BillingStateResponse,\n WS_BillingEventPayload,\n} from '@wildo-ai/saas-models';\nimport {\n BUILTIN_PROVIDER_CAPABILITY,\n BUILTIN_PROVIDER_PROTOCOL,\n CoreWebSocketEvent,\n CoreResourceType,\n ResourcePrimaryScope,\n MAIN_API_BASE_PATH,\n} from '@wildo-ai/saas-models';\nimport type { FrontendAppProviderModule, FrontendAppProviderRef } from '@wildo-ai/external-connectors-public/app';\nimport { useWebSocket } from '~wildo-frontend-lib/core/requests/websockets/useWebSocket';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { useApplication } from '~wildo-frontend-lib/core/runtime/useApplication';\nimport { useResourceRegistrySafe } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { getManualCallsHttpClient } from '~wildo-frontend-lib/core/requests/wildo-http-client-manual-calls.frontend.service';\nimport { useEmitLoadingScope } from '~wildo-frontend-lib/core/loading/useEmitLoadingScope';\nimport { ContextLoadingIdentifier } from '~wildo-frontend-lib/core/loading/loading-types.frontend.schemas';\n\n// ================================\n// Logger\n// ================================\n\nconst billingLogger: LoggerFrontendService = LoggerFrontendService.getLogger();\nconst logDebug: (message: string, context?: Record<string, unknown>) => void = billingLogger.debugByType('BillingContext');\nbillingLogger.setDebugTypeLogging('BillingContext', false);\n\n// ================================\n// Constants\n// ================================\n\nconst API_PREFIX = MAIN_API_BASE_PATH;\n\n/** WebSocket events that trigger a refetch of billing state */\nconst INVALIDATION_EVENTS = [\n CoreWebSocketEvent.BILLING_STATUS_CHANGED,\n CoreWebSocketEvent.BILLING_SUBSCRIPTION_UPDATED,\n CoreWebSocketEvent.BILLING_ACCOUNT_CHANGED,\n CoreWebSocketEvent.BILLING_USAGE_UPDATED,\n CoreWebSocketEvent.BILLING_CREDIT_POOL_UPDATED,\n CoreWebSocketEvent.BILLING_FEATURES_UPDATED,\n] as const;\n\n/** Maps ResourcePrimaryScope → billing account variant resource type (for resource operations) */\nconst SCOPE_TO_BILLING_ACCOUNT_RESOURCE: Record<string, string> = {\n [ResourcePrimaryScope.ORGANIZATIONS]: CoreResourceType.ORGANIZATION_BILLING_ACCOUNTS,\n [ResourcePrimaryScope.USER_SELF]: CoreResourceType.USER_BILLING_ACCOUNTS,\n};\n\n// The billing-account GET_STATE / OPEN_CHECKOUT / OPEN_PORTAL custom operations\n// borrow COUNT / UPDATE / READ core semantics (see\n// `billing-account.shared.resources-config.schemas.ts`), so their canonical\n// routes follow the framework's scoped resource-operation shape:\n// GET_STATE (COUNT-like) → GET /<scope>/{id}/<res>/get-state/count\n// OPEN_CHECKOUT (UPDATE-like) → PUT /<scope>/{id}/<res>/{accountId}/open-checkout\n// OPEN_PORTAL (READ-like) → GET /<scope>/{id}/<res>/{accountId}/open-portal\n// Built here to mirror the routes the backend registers from the same\n// resources-config; the prior `/operations/open_checkout` POST 404'd.\n\n/** Maps ResourcePrimaryScope → GET_STATE URL builder (COUNT-like → trailing `/count`) */\nconst SCOPE_TO_GET_STATE_URL: Record<string, (scopeEntityId: string) => string> = {\n [ResourcePrimaryScope.ORGANIZATIONS]: (id) => `${API_PREFIX}/organizations/${id}/organization-billing-accounts/get-state/count`,\n [ResourcePrimaryScope.USER_SELF]: (id) => `${API_PREFIX}/users/${id}/user-billing-accounts/get-state/count`,\n};\n\n/** Maps ResourcePrimaryScope → OPEN_CHECKOUT URL builder (UPDATE-like → keyed PUT) */\nconst SCOPE_TO_OPEN_CHECKOUT_URL: Record<string, (scopeEntityId: string, billingAccountId: string) => string> = {\n [ResourcePrimaryScope.ORGANIZATIONS]: (id, acc) => `${API_PREFIX}/organizations/${id}/organization-billing-accounts/${acc}/open-checkout`,\n [ResourcePrimaryScope.USER_SELF]: (id, acc) => `${API_PREFIX}/users/${id}/user-billing-accounts/${acc}/open-checkout`,\n};\n\n/** Maps ResourcePrimaryScope → OPEN_PORTAL URL builder (READ-like → keyed GET) */\nconst SCOPE_TO_OPEN_PORTAL_URL: Record<string, (scopeEntityId: string, billingAccountId: string) => string> = {\n [ResourcePrimaryScope.ORGANIZATIONS]: (id, acc) => `${API_PREFIX}/organizations/${id}/organization-billing-accounts/${acc}/open-portal`,\n [ResourcePrimaryScope.USER_SELF]: (id, acc) => `${API_PREFIX}/users/${id}/user-billing-accounts/${acc}/open-portal`,\n};\n\n// ================================\n// API Response Types\n// ================================\n\n/** Response from PUT /<scope>/{id}/<billing-accounts>/{accountId}/open-checkout (OPEN_CHECKOUT) */\ninterface CheckoutSessionResponse {\n url: string;\n sessionId: string;\n}\n\n/** Response from GET /<scope>/{id}/<billing-accounts>/{accountId}/open-portal (OPEN_PORTAL) */\ninterface PortalSessionResponse {\n url: string;\n}\n\n// ================================\n// Context Type\n// ================================\n\n/**\n * @wildo_source:part:start saas.frontend.billing-context facet:layer:frontend facet:audience:app-developer\n *\n * Everything an application's own frontend reads or does about billing. Reached with `useBilling()`,\n * which throws outside a `BillingProvider`; `useBillingSafe()` returns `undefined` instead, for a\n * component that may render before the provider mounts or in an application where billing is off.\n *\n * The shipped billing components and the feature-gating hooks read this same context, so an\n * application composing its own purchase flow works from exactly what they do — no application code\n * builds the request.\n *\n * ## Starting a purchase\n *\n * `openCheckout(productKey, priceId, options)` posts to the scoped billing-account route and follows\n * the returned URL; success and cancel destinations come from the application's own redirect base. A\n * SECOND call while one is in flight is IGNORED, so a double-click cannot open two sessions — do not\n * add your own guard expecting otherwise, and do not read the silence as a failure.\n *\n * The `priceId` must belong to the product named by `productKey`; the checkout operation refuses a\n * mismatched pair. Resolve it through `getPricesForProduct` rather than assuming an ordering.\n *\n * `openCustomerPortal()` opens the provider's own portal — which is where payment methods, card\n * updates and receipt downloads live. Those are deliberately NOT rendered by the framework, so an\n * application that needs them links the portal rather than building them.\n *\n * ## What `usage` contains\n *\n * Metered consumption appears here only if the application RECORDS it. Nothing is automatic: a\n * metered product with no recorded usage shows an empty dashboard rather than an error.\n *\n * ## Invoices are capped\n *\n * `invoices` carries the fifty most recent, which is what the shipped history component renders. An\n * application needing more reads the invoices resource directly.\n */\nexport interface BillingContextType {\n // ── Configuration ──\n isEnabled: boolean;\n billingConfiguration: BillingConfiguration | undefined;\n billingProvider: FrontendAppProviderModule | null;\n\n // ── Billing State ──\n billingAccount: BillingAccount | null;\n subscription: BillingSubscriptionBase | null;\n currentPlanKey: string | null;\n currentPlanProduct: Product | null;\n\n // ── Product Catalog ──\n products: Product[];\n prices: Price[];\n productDefinitions: ProductDefinition[];\n getPricesForProduct: (productId: string) => Price[];\n getProductByKey: (key: string) => Product | undefined;\n\n // ── Scope ──\n currentScope: ResourcePrimaryScope | null;\n\n // ── Invoices ──\n invoices: InvoiceRef[];\n\n // ── Promotions ──\n activePromotions: Promotion[];\n\n // ── Usage & Credits ──\n usage: UsageSummary;\n creditPools: Record<string, { available: number; totalPurchased: number; totalConsumed: number }>;\n\n // ── Actions ──\n openCheckout: (productKey: string, priceId: string, options?: {\n quantity?: number;\n promotionCode?: string;\n trialDays?: number;\n }) => Promise<void>;\n\n openCustomerPortal: () => Promise<void>;\n\n // ── State ──\n isLoading: boolean;\n error: Error | null;\n\n // ── Actions ──\n refetch: () => void;\n}\n\n// ── Default empty state ──\nconst EMPTY_USAGE: UsageSummary = {\n byProduct: {},\n};\n\n/** @wildo_source:part:end saas.frontend.billing-context */\n\nexport const BillingContext: React.Context<BillingContextType | undefined> = createContext<BillingContextType | undefined>(undefined);\n\n// ================================\n// Provider\n// ================================\n\nexport interface BillingProviderProps {\n children: React.ReactNode;\n productDefinitions?: ProductDefinition[];\n}\n\nexport function BillingProvider({ children, productDefinitions: injectedProductDefinitions }: BillingProviderProps): React.ReactElement {\n // ── Self-resolve configuration from hooks ──\n const userOrgs = useUserOrgs();\n const appScope = useAppScopeSafe();\n const { appConfig, frontendProviderRegistry } = useApplication();\n const resourceRegistry = useResourceRegistrySafe();\n const billingConfig = appConfig.billing;\n /** What the application CONFIGURED — see `isEnabled` below for why that is only half the answer. */\n const isConfiguredEnabled = billingConfig?.enabled ?? false;\n const billingProvider = useMemo(() => {\n const configuredProviderRef = billingConfig?.providerRef;\n\n const configuredProvider = configuredProviderRef\n ? frontendProviderRegistry?.getProviderByRef(\n configuredProviderRef as FrontendAppProviderRef,\n )\n : undefined;\n\n const resolvedProvider = isBillingFrontendProvider(configuredProvider)\n ? configuredProvider\n : frontendProviderRegistry?.findByProviderCapabilityAndProtocol(\n BUILTIN_PROVIDER_CAPABILITY.BILLING,\n BUILTIN_PROVIDER_PROTOCOL.BILLING_PROVIDER,\n ) ?? null;\n\n if (isConfiguredEnabled && configuredProviderRef && resolvedProvider?.metadata.ref !== configuredProviderRef) {\n logDebug('Billing config providerRef does not match the hydrated frontend billing provider', {\n configuredProviderRef,\n resolvedProviderRef: resolvedProvider?.metadata.ref,\n });\n }\n\n return resolvedProvider;\n }, [billingConfig?.providerRef, frontendProviderRegistry, isConfiguredEnabled]);\n\n // ── Self-resolve scope ──\n const enabledScopes = billingConfig?.enabledScopes ?? [ResourcePrimaryScope.ORGANIZATIONS];\n\n const { scopeType, scopeEntityId } = useMemo(() => {\n if (enabledScopes.includes(ResourcePrimaryScope.ORGANIZATIONS) && appScope?.currentOrganizationId) {\n return { scopeType: ResourcePrimaryScope.ORGANIZATIONS as ResourcePrimaryScope, scopeEntityId: appScope.currentOrganizationId };\n }\n if (enabledScopes.includes(ResourcePrimaryScope.USER_SELF) && userOrgs.user?._id) {\n return { scopeType: ResourcePrimaryScope.USER_SELF as ResourcePrimaryScope, scopeEntityId: userOrgs.user._id };\n }\n return { scopeType: null as ResourcePrimaryScope | null, scopeEntityId: null as string | null };\n }, [enabledScopes, appScope?.currentOrganizationId, userOrgs.user?._id]);\n\n // ── Derive variant resource type for operations ──\n const billingAccountResourceType = scopeType ? SCOPE_TO_BILLING_ACCOUNT_RESOURCE[scopeType] : null;\n\n /**\n * Enabled means CONFIGURED **and** REACHABLE — the config flag alone was not enough.\n *\n * Every request this provider makes is an operation on a billing-account resource, so a consumer\n * whose registry does not carry that resource cannot serve one no matter what the config says.\n * That is not hypothetical: the application-creation workbench excludes the whole tenant\n * vocabulary from its registry (it observes an application's creation and is not that\n * application's admin console) while rendering the OBSERVED application's config, which has\n * billing enabled — so it fired `organization-billing-accounts/get-state/count` at its own origin\n * on every page load, where the companion serves no billing routes, and answered 404 every time\n * (issue #268, reproduced live).\n *\n * Reading the registry rather than adding a second opt-out keeps the two halves from disagreeing:\n * a consumer that excludes the resource has already said billing is not part of its surface, and\n * saying it twice is how the two copies drift. A tenant application carries the resource and is\n * unaffected.\n */\n const isEnabled = isConfiguredEnabled\n && billingAccountResourceType !== null\n // A registry that is ABSENT is ignorance, not a negative answer — only a registry that HAS been\n // asked and says no disables billing. Blocking on the absent case instead disabled billing for\n // every consumer that mounts this provider without a registry in context, which is what three\n // of this file's own tests do and what caught the first version of this gate.\n && (resourceRegistry === undefined || resourceRegistry.hasResource(billingAccountResourceType));\n\n // ── State ──\n const [billingState, setBillingState] = useState<BillingStateResponse | null>(null);\n const [isLoading, setIsLoading] = useState<boolean>(isEnabled && !!scopeEntityId);\n const [error, setError] = useState<Error | null>(null);\n\n // L-2.b: mirror local loading state onto the LoadingContext event bus so\n // unrelated components can observe billing-state lifecycle via\n // `useComponentLoading({ customIdentifier: ContextLoadingIdentifier.BILLING_STATE })`\n // or `<LoadingGate scopes={[buildContextLoadingScope(BILLING_STATE)]}>`.\n // Local `isLoading` is still exposed for direct consumers (back-compat).\n useEmitLoadingScope({\n identifier: ContextLoadingIdentifier.BILLING_STATE,\n isLoading,\n hasLoadedOnce: billingState !== null,\n });\n\n // ── Refs for stable callbacks ──\n const fetchInFlightRef = useRef<boolean>(false);\n const mountedRef = useRef<boolean>(true);\n const debounceTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const checkoutInFlightRef = useRef<boolean>(false);\n\n // ── WebSocket ──\n const { on } = useWebSocket();\n\n // ── Resolve redirect base URL ──\n const resolvedRedirectBase = useMemo(\n () => typeof window !== 'undefined' ? window.location.origin : '',\n [],\n );\n\n // ── billingAccountId from response ──\n const billingAccountId = billingState?.billingAccount?._id ?? null;\n\n // ── Clear stale state on scope change ──\n useEffect(() => {\n setBillingState(null);\n setError(null);\n setIsLoading(isEnabled && !!scopeEntityId);\n }, [scopeType, scopeEntityId, isEnabled]);\n\n // ── Fetch billing state from backend ──\n const fetchBillingState = useCallback(async () => {\n if (!isEnabled || !scopeType || !scopeEntityId) return;\n if (fetchInFlightRef.current) return;\n fetchInFlightRef.current = true;\n\n try {\n logDebug('Fetching billing state', { scopeType, scopeEntityId });\n const httpClient = getManualCallsHttpClient();\n\n const urlBuilder = SCOPE_TO_GET_STATE_URL[scopeType];\n if (!urlBuilder) return;\n const url = urlBuilder(scopeEntityId);\n const response = await httpClient.get<BillingStateResponse>(url);\n\n if (mountedRef.current) {\n setBillingState({\n billingAccount: response.billingAccount,\n subscription: response.subscription,\n products: response.products ?? [],\n prices: response.prices ?? [],\n invoices: response.invoices ?? [],\n usage: response.usage ?? EMPTY_USAGE,\n creditPools: response.creditPools ?? {},\n activePromotions: response.activePromotions ?? [],\n scopeType: response.scopeType,\n });\n setError(null);\n\n logDebug('Billing state fetched', {\n hasAccount: !!response.billingAccount,\n hasSubscription: !!response.subscription,\n productCount: response.products?.length ?? 0,\n priceCount: response.prices?.length ?? 0,\n billingAccountId: response.billingAccount?._id,\n });\n }\n } catch (err: unknown) {\n if (mountedRef.current) {\n const message = err instanceof Error ? err.message : 'Failed to fetch billing state';\n setError(err instanceof Error ? err : new Error(message));\n logDebug('Failed to fetch billing state', { error: message });\n }\n } finally {\n if (mountedRef.current) {\n setIsLoading(false);\n }\n fetchInFlightRef.current = false;\n }\n }, [isEnabled, scopeType, scopeEntityId]);\n\n // ── Initial fetch ──\n useEffect(() => {\n mountedRef.current = true;\n if (isEnabled && scopeType && scopeEntityId) {\n fetchBillingState();\n } else {\n setIsLoading(false);\n }\n return () => {\n mountedRef.current = false;\n };\n }, [fetchBillingState, isEnabled, scopeType, scopeEntityId]);\n\n // ── WebSocket invalidation (debounced) ──\n useEffect(() => {\n if (!isEnabled) return;\n\n const unsubscribers: Array<() => void> = [];\n\n const debouncedRefetch = () => {\n if (debounceTimerRef.current) {\n clearTimeout(debounceTimerRef.current);\n }\n debounceTimerRef.current = setTimeout(() => {\n debounceTimerRef.current = null;\n fetchBillingState();\n }, 300);\n };\n\n for (const event of INVALIDATION_EVENTS) {\n const unsub = on<WS_BillingEventPayload>(event, (payload) => {\n if (!scopeType || !scopeEntityId) {\n logDebug('Ignoring billing invalidation without active scope', { event, payload });\n return;\n }\n\n if (payload.scopeType !== scopeType || payload.scopeEntityId !== scopeEntityId) {\n logDebug('Ignoring billing invalidation for another scope', {\n event,\n payload,\n currentScopeType: scopeType,\n currentScopeEntityId: scopeEntityId,\n });\n return;\n }\n\n if (billingAccountId && payload.billingAccountId !== billingAccountId) {\n logDebug('Ignoring billing invalidation for another billing account', {\n event,\n payload,\n currentBillingAccountId: billingAccountId,\n });\n return;\n }\n\n logDebug('WebSocket invalidation event received, scheduling refetch', { event, payload });\n debouncedRefetch();\n });\n unsubscribers.push(unsub);\n }\n\n return () => {\n if (debounceTimerRef.current) {\n clearTimeout(debounceTimerRef.current);\n }\n for (const unsub of unsubscribers) {\n unsub();\n }\n };\n }, [on, fetchBillingState, isEnabled, scopeType, scopeEntityId, billingAccountId]);\n\n // ── Derived state ──\n const billingAccount = billingState?.billingAccount ?? null;\n const subscription = billingState?.subscription ?? null;\n const products = billingState?.products ?? [];\n const prices = billingState?.prices ?? [];\n const invoices = billingState?.invoices ?? [];\n const usage = billingState?.usage ?? EMPTY_USAGE;\n const creditPools = billingState?.creditPools ?? {};\n const activePromotions = billingState?.activePromotions ?? [];\n const currentScope = scopeType ?? null;\n\n // ── Product catalog lookups ──\n const productsByKey = useMemo(() => {\n const map = new Map<string, Product>();\n for (const p of products) {\n map.set(p.key, p);\n }\n return map;\n }, [products]);\n\n const pricesByProductId = useMemo(() => {\n const map = new Map<string, Price[]>();\n for (const price of prices) {\n const existing = map.get(price.productId) ?? [];\n existing.push(price);\n map.set(price.productId, existing);\n }\n return map;\n }, [prices]);\n\n const getPricesForProduct = useCallback(\n (productId: string): Price[] => pricesByProductId.get(productId) ?? [],\n [pricesByProductId],\n );\n\n const getProductByKey = useCallback(\n (key: string): Product | undefined => productsByKey.get(key),\n [productsByKey],\n );\n\n // ── Current plan derivation ──\n const { currentPlanKey, currentPlanProduct } = useMemo(() => {\n if (!subscription || !subscription.items?.length) {\n return { currentPlanKey: null, currentPlanProduct: null };\n }\n for (const item of subscription.items) {\n const product = products.find(p => p._id === item.productId);\n if (product && product.type === 'plan') {\n return { currentPlanKey: product.key, currentPlanProduct: product };\n }\n }\n return { currentPlanKey: null, currentPlanProduct: null };\n }, [subscription, products]);\n\n const productDefinitions = useMemo<ProductDefinition[]>(\n () => injectedProductDefinitions ?? [],\n [injectedProductDefinitions],\n );\n\n // ── Actions ──\n const openCheckout = useCallback(\n async (productKey: string, priceId: string, options?: {\n quantity?: number;\n promotionCode?: string;\n trialDays?: number;\n }): Promise<void> => {\n if (!billingAccountId || !billingAccountResourceType || !scopeType || !scopeEntityId) {\n throw new Error('No billing account available. Cannot open checkout.');\n }\n const checkoutUrl = SCOPE_TO_OPEN_CHECKOUT_URL[scopeType]?.(scopeEntityId, billingAccountId);\n if (!checkoutUrl) {\n throw new Error(`No OPEN_CHECKOUT URL builder for scope ${scopeType}.`);\n }\n if (checkoutInFlightRef.current) {\n logDebug('Checkout already in progress, ignoring duplicate request');\n return;\n }\n\n checkoutInFlightRef.current = true;\n try {\n logDebug('Opening checkout session', { productKey, priceId, ...options });\n const httpClient = getManualCallsHttpClient();\n\n // OPEN_CHECKOUT borrows UPDATE → keyed PUT on the scoped account route.\n const response = await httpClient.put<CheckoutSessionResponse>(\n checkoutUrl,\n {\n productKey,\n priceId,\n successUrl: `${resolvedRedirectBase}/billing/success?session_id={CHECKOUT_SESSION_ID}`,\n cancelUrl: `${resolvedRedirectBase}/billing/cancel`,\n quantity: options?.quantity,\n promotionCode: options?.promotionCode,\n trialDays: options?.trialDays,\n },\n );\n\n if (response.url) {\n window.location.href = response.url;\n }\n } finally {\n checkoutInFlightRef.current = false;\n }\n },\n [billingAccountId, billingAccountResourceType, scopeType, scopeEntityId, resolvedRedirectBase],\n );\n\n const openCustomerPortal = useCallback(async (): Promise<void> => {\n if (!billingAccountId || !billingAccountResourceType || !scopeType || !scopeEntityId) {\n throw new Error('No billing account available. Cannot open customer portal.');\n }\n const portalUrlBase = SCOPE_TO_OPEN_PORTAL_URL[scopeType]?.(scopeEntityId, billingAccountId);\n if (!portalUrlBase) {\n throw new Error(`No OPEN_PORTAL URL builder for scope ${scopeType}.`);\n }\n\n logDebug('Opening customer portal session');\n const httpClient = getManualCallsHttpClient();\n\n // OPEN_PORTAL borrows READ → keyed GET on the scoped account route; the\n // returnUrl travels as a query param since GET carries no request body.\n const returnUrl = encodeURIComponent(`${resolvedRedirectBase}/billing`);\n const response = await httpClient.get<PortalSessionResponse>(\n `${portalUrlBase}?returnUrl=${returnUrl}`,\n );\n\n if (response.url) {\n window.location.href = response.url;\n }\n }, [billingAccountId, billingAccountResourceType, scopeType, scopeEntityId, resolvedRedirectBase]);\n\n // ── Context value (memoized for stable reference) ──\n const contextValue: BillingContextType = useMemo(\n () => ({\n isEnabled,\n billingConfiguration: billingConfig,\n billingProvider,\n billingAccount,\n subscription,\n currentPlanKey,\n currentPlanProduct,\n currentScope,\n products,\n prices,\n invoices,\n productDefinitions,\n getPricesForProduct,\n getProductByKey,\n activePromotions,\n usage,\n creditPools,\n openCheckout,\n openCustomerPortal,\n isLoading,\n error,\n refetch: fetchBillingState,\n }),\n [\n isEnabled,\n billingConfig,\n billingProvider,\n billingAccount,\n subscription,\n currentPlanKey,\n currentPlanProduct,\n currentScope,\n products,\n prices,\n invoices,\n productDefinitions,\n getPricesForProduct,\n getProductByKey,\n activePromotions,\n usage,\n creditPools,\n openCheckout,\n openCustomerPortal,\n isLoading,\n error,\n fetchBillingState,\n ],\n );\n\n return (\n <BillingContext.Provider value={contextValue}>\n {children}\n </BillingContext.Provider>\n );\n}\n\nfunction isBillingFrontendProvider(\n provider: FrontendAppProviderModule | undefined,\n): provider is FrontendAppProviderModule {\n return !!provider\n && provider.providerCapabilities.includes(BUILTIN_PROVIDER_CAPABILITY.BILLING)\n && provider.protocols.includes(BUILTIN_PROVIDER_PROTOCOL.BILLING_PROVIDER);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BillingErrorNotifier.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"BillingErrorNotifier.d.ts","sourceRoot":"","sources":["../../../../src/core/billing/BillingErrorNotifier.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,wBAAgB,oBAAoB,IAAI,IAAI,CAkB3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BillingErrorNotifier.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"BillingErrorNotifier.js","sourceRoot":"","sources":["../../../../src/core/billing/BillingErrorNotifier.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAElF,MAAM,UAAU,oBAAoB;IAClC,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;IAC1C,MAAM,oBAAoB,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAEzD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;YAC3C,IAAI,oBAAoB,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;gBAClD,oBAAoB,CAAC,OAAO,GAAG,YAAY,CAAC;gBAC5C,WAAW,CAAC,YAAY,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC;QACtC,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IAElC,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["/**\n * BillingErrorNotifier\n *\n * Bridge component that sits inside both BillingProvider and NotificationProvider.\n * Watches BillingContext.error and dispatches a notification when billing state\n * fetch fails. Uses a ref to avoid duplicate notifications on re-renders.\n *\n * Rendered in ApplicationMainContext inside the NotificationProvider subtree.\n */\n\nimport { useEffect, useRef } from 'react';\nimport { useBillingSafe } from './useBilling';\nimport { useNotification } from '~wildo-frontend-lib/core/events/useNotification';\n\nexport function BillingErrorNotifier(): null {\n const billing = useBillingSafe();\n const { notifyError } = useNotification();\n const lastNotifiedErrorRef = useRef<string | null>(null);\n\n useEffect(() => {\n if (billing?.error) {\n const errorMessage = billing.error.message;\n if (lastNotifiedErrorRef.current !== errorMessage) {\n lastNotifiedErrorRef.current = errorMessage;\n notifyError(errorMessage);\n }\n } else {\n lastNotifiedErrorRef.current = null;\n }\n }, [billing?.error, notifyError]);\n\n return null;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing-launcher.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"billing-launcher.d.ts","sourceRoot":"","sources":["../../../../src/core/billing/billing-launcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,iEAAiE,CAAC;AAGzE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,4BAA4B,EAAE,MAA6C,CAAC;AAMzF,0EAA0E;AAC1E,eAAO,MAAM,yBAAyB,EAAE,kBAMvC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing-launcher.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"billing-launcher.js","sourceRoot":"","sources":["../../../../src/core/billing/billing-launcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EACL,sBAAsB,GAGvB,MAAM,iEAAiE,CAAC;AACzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,8DAA8D,CAAC;AAE5G;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAW,4BAA4B,CAAC,OAAO,CAAC;AAEzF,MAAM,4BAA4B,GAAsC;IACtE,oBAAoB,EAAE,CAAC,gBAAgB,CAAC;CACzC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,yBAAyB,GAAuB;IAC3D,IAAI,EAAE,sBAAsB,CAAC,gBAAgB;IAC7C,UAAU,EAAE,4BAA4B;IACxC,QAAQ,EAAE,SAAS;IACnB,cAAc,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IACpF,mBAAmB,EAAE,4BAA4B;CAClD,CAAC","sourcesContent":["/**\n * Declarative billing launcher entry.\n *\n * THE billing home is the Settings Hub \"billing\" destination (a bespoke\n * `ENGINE_PANEL` — see `engine-settings-destinations.ts` /\n * `AppPage_BillingSettings`). The only launcher the framework ships for billing\n * is a command-menu entry that opens the hub at that section.\n *\n * Note the engine ships the DESTINATION, never its placement: whether billing\n * appears in the rail at all, and where, is the application's\n * `settingsHub.placements`. That is why the command entry below is verified\n * against what the application placed rather than assumed reachable.\n *\n * HISTORY: billing used to ALSO ship an app-level full-custom view\n * (`/custom/billing`, componentRef `billing-overview`) plus a sidebar row\n * pointing at it — a second, app-registered billing home beside the settings\n * one. That placement was retired (2026-08-18): one billing surface, inside\n * settings, engine-owned. Do not reintroduce a `FullCustomViewDefinition` here;\n * apps that want extra billing surfaces compose the self-hydrating billing\n * widgets (`SubscriptionStatus`, `PricingTable`, …) in their own views.\n */\n\nimport {\n LauncherItemTargetKind,\n type LauncherRuntimeAvailabilityConfig,\n type CommandMenuCommand,\n} from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport { EngineSettingsDestinationRef } from '~wildo-frontend-lib/core/config/engine-settings-destinations';\n\n/**\n * Settings Hub section ref for the billing home (`/settings/billing`).\n *\n * Derived from the destination catalog rather than written as a literal. It used\n * to be `= 'billing'`, an engine surface asserting a ref with nothing tying it to\n * the catalog entry it names — and the failure is silent in both directions:\n * `resolveItemRef` falls back to the hub's DEFAULT section for an unknown\n * `sectionRef`, so a command labelled \"Billing\" would open Profile rather than\n * error.\n *\n * The other half of that hole is that an application may simply not PLACE the\n * billing destination, which no static reference can know. That is checked at\n * DEV startup — see `SETTINGS_SECTION_NOT_PLACED` in `verify-launcher-content.ts`.\n */\nexport const BILLING_SETTINGS_SECTION_REF: string = EngineSettingsDestinationRef.BILLING;\n\nconst BILLING_RUNTIME_AVAILABILITY: LauncherRuntimeAvailabilityConfig = {\n requiredCapabilities: ['billingEnabled'],\n};\n\n/** Command menu entry — opens the Settings Hub at the billing section. */\nexport const BILLING_COMMAND_MENU_ITEM: CommandMenuCommand = {\n kind: LauncherItemTargetKind.SETTINGS_SECTION,\n sectionRef: BILLING_SETTINGS_SECTION_REF,\n category: 'billing',\n searchKeywords: ['billing', 'subscription', 'plan', 'payment', 'invoice', 'upgrade'],\n runtimeAvailability: BILLING_RUNTIME_AVAILABILITY,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing-provider-display.frontend.utils.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"billing-provider-display.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../src/core/billing/billing-provider-display.frontend.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAM1F,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,yBAAyB,GAAG,IAAI,GAAG,SAAS,GACrD,MAAM,EAAE,CAIV;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE;IACvD,QAAQ,EAAE,yBAAyB,GAAG,IAAI,GAAG,SAAS,CAAC;IACvD,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;CACrC,GAAG,MAAM,GAAG,SAAS,CAWrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing-provider-display.frontend.utils.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"billing-provider-display.frontend.utils.js","sourceRoot":"","sources":["../../../../src/core/billing/billing-provider-display.frontend.utils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uCAAuC,EACvC,mCAAmC,GACpC,MAAM,4FAA4F,CAAC;AAEpG,MAAM,UAAU,+BAA+B,CAC7C,QAAsD;IAEtD,OAAO,uCAAuC,CAAC;QAC7C,QAAQ,EAAE,QAAQ,CAAC,mBAAmB;KACvC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,KAGjD;IACC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,mCAAmC,CAAC;QACzC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG;QACxC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW;QAChD,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB;QAChE,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type { FrontendAppProviderModule } from '@wildo-ai/external-connectors-public/app';\nimport {\n collectFrontendProviderDisplayLabelKeys,\n resolveFrontendProviderDisplayLabel,\n} from '~wildo-frontend-lib/core/external-providers/frontend-provider-display-label.frontend.utils';\n\nexport function collectBillingProviderLabelKeys(\n provider: FrontendAppProviderModule | null | undefined,\n): string[] {\n return collectFrontendProviderDisplayLabelKeys([\n provider?.metadata.displayNameLabelKey,\n ]);\n}\n\nexport function resolveBillingProviderDisplayName(input: {\n provider: FrontendAppProviderModule | null | undefined;\n translate?: (key: string) => string;\n}): string | undefined {\n if (!input.provider) {\n return undefined;\n }\n\n return resolveFrontendProviderDisplayLabel({\n providerRef: input.provider.metadata.ref,\n displayName: input.provider.metadata.displayName,\n displayNameLabelKey: input.provider.metadata.displayNameLabelKey,\n translate: input.translate,\n });\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBilling.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"useBilling.d.ts","sourceRoot":"","sources":["../../../../src/core/billing/useBilling.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,UAAU,QAAO,kBAM7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,QAAO,kBAAkB,GAAG,SAEtD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBilling.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"useBilling.js","sourceRoot":"","sources":["../../../../src/core/billing/useBilling.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,cAAc,EAA2B,MAAM,kBAAkB,CAAC;AAE3E;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAuB,EAAE;IACjD,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAmC,EAAE;IACjE,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC;AACpC,CAAC,CAAC","sourcesContent":["/**\n * useBilling Hook\n *\n * Separated from BillingContext.tsx for React Fast Refresh compatibility.\n * Provides access to the billing context: state, actions, and product catalog.\n */\n\nimport { useContext } from 'react';\nimport { BillingContext, type BillingContextType } from './BillingContext';\n\n/**\n * Hook to access the Billing context.\n * @returns BillingContextType with billing state, actions, and product catalog.\n * @throws Error if used outside of BillingProvider.\n */\nexport const useBilling = (): BillingContextType => {\n const context = useContext(BillingContext);\n if (!context) {\n throw new Error('useBilling must be used within a BillingProvider');\n }\n return context;\n};\n\n/**\n * Safe version that returns undefined if outside provider.\n * Useful for components that may render before the provider is mounted\n * or in contexts where billing may not be enabled.\n */\nexport const useBillingSafe = (): BillingContextType | undefined => {\n return useContext(BillingContext);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBillingAction.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"useBillingAction.d.ts","sourceRoot":"","sources":["../../../../src/core/billing/useBillingAction.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0DAA0D,CAAC;AAIpG;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,IAAI,CAAC,YAAY,EAAE,mBAAmB,KAAK,IAAI,CAyD9E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBillingAction.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"useBillingAction.js","sourceRoot":"","sources":["../../../../src/core/billing/useBillingAction.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,sBAAsB,GAAG,4BAA4B,EAAE,CAAC;IAE9D,OAAO,WAAW,CAChB,CAAC,YAAiC,EAAE,EAAE;QACpC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS;YAAE,OAAO;QAE3C,MAAM,EAAE,QAAQ,EAAE,mBAAmB,EAAE,cAAc,EAAE,GAAG,YAAY,CAAC;QAEvE,oDAAoD;QACpD,IAAI,UAA8B,CAAC;QACnC,IAAI,OAA2B,CAAC;QAEhC,2DAA2D;QAC3D,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;YAC7D,IAAI,OAAO,EAAE,CAAC;gBACZ,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;gBACzB,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACxD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;gBAChE,OAAO,GAAG,YAAY,EAAE,GAAG,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,IAAI,CAAC,UAAU,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/D,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,WAAW,EAAE,CAAC;gBAChB,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;gBACpC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;YAChC,CAAC;QACH,CAAC;QAED,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,6BAA6B,CAAC,cAAc,CAAC;YAClD,KAAK,6BAA6B,CAAC,oBAAoB,CAAC;YACxD,KAAK,6BAA6B,CAAC,YAAY;gBAC7C,IAAI,UAAU,IAAI,OAAO,EAAE,CAAC;oBAC1B,sBAAsB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC1E,CAAC;qBAAM,CAAC;oBACN,+DAA+D;oBAC/D,sBAAsB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM;YAER,KAAK,6BAA6B,CAAC,aAAa,CAAC;YACjD,KAAK,6BAA6B,CAAC,OAAO,CAAC;YAC3C,KAAK,6BAA6B,CAAC,IAAI,CAAC;YACxC,KAAK,6BAA6B,CAAC,MAAM,CAAC;YAC1C;gBACE,wCAAwC;gBACxC,MAAM;QACV,CAAC;IACH,CAAC,EACD,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAClC,CAAC;AACJ,CAAC","sourcesContent":["/**\n * useBillingAction Hook\n *\n * Resolves the appropriate billing action from a FeatureAvailability object.\n * Used by FeatureRouteGuard, FeatureGate, and action bar buttons to wire\n * feature unavailability prompts to billing checkout or customer portal flows.\n *\n * If billing is not enabled (useBillingSafe returns undefined), the action is a no-op.\n */\n\nimport { useCallback } from 'react';\nimport { FeatureUnavailabilityBehavior } from '@wildo-ai/saas-models';\nimport type { FeatureAvailability } from '~wildo-frontend-lib/core/features/useFeatureAvailability';\nimport { useBillingSafe } from './useBilling';\nimport { useSafeBillingActionExecutor } from './useSafeBillingActionExecutor';\n\n/**\n * Returns a callback that executes the appropriate billing action for a given FeatureAvailability.\n *\n * - upgrade_prompt / limit_upgrade_prompt → openCheckout with suggested product + default price\n * - addon_prompt → openCheckout with suggested addon product + default price\n * - contact_admin → no-op (no billing action)\n * - disable / hide / custom → no-op\n *\n * Falls back gracefully when billing is not enabled.\n */\nexport function useBillingAction(): (availability: FeatureAvailability) => void {\n const billing = useBillingSafe();\n const runBillingActionSafely = useSafeBillingActionExecutor();\n\n return useCallback(\n (availability: FeatureAvailability) => {\n if (!billing || !billing.isEnabled) return;\n\n const { behavior, suggestedProductRef, upgradeOptions } = availability;\n\n // Determine which product/price to use for checkout\n let productKey: string | undefined;\n let priceId: string | undefined;\n\n // Try the suggestedProductRef first (per-feature override)\n if (suggestedProductRef) {\n const product = billing.getProductByKey(suggestedProductRef);\n if (product) {\n productKey = product.key;\n const prices = billing.getPricesForProduct(product._id);\n const defaultPrice = prices.find(p => p.isDefault) ?? prices[0];\n priceId = defaultPrice?._id;\n }\n }\n\n // Fallback to upgrade options from resolved features\n if (!productKey && upgradeOptions && upgradeOptions.length > 0) {\n const firstOption = upgradeOptions[0];\n if (firstOption) {\n productKey = firstOption.productKey;\n priceId = firstOption.priceId;\n }\n }\n\n switch (behavior) {\n case FeatureUnavailabilityBehavior.UPGRADE_PROMPT:\n case FeatureUnavailabilityBehavior.LIMIT_UPGRADE_PROMPT:\n case FeatureUnavailabilityBehavior.ADDON_PROMPT:\n if (productKey && priceId) {\n runBillingActionSafely(() => billing.openCheckout(productKey, priceId));\n } else {\n // No specific product found — open customer portal as fallback\n runBillingActionSafely(() => billing.openCustomerPortal());\n }\n break;\n\n case FeatureUnavailabilityBehavior.CONTACT_ADMIN:\n case FeatureUnavailabilityBehavior.DISABLE:\n case FeatureUnavailabilityBehavior.HIDE:\n case FeatureUnavailabilityBehavior.CUSTOM:\n default:\n // No billing action for these behaviors\n break;\n }\n },\n [billing, runBillingActionSafely],\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSafeBillingActionExecutor.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"useSafeBillingActionExecutor.d.ts","sourceRoot":"","sources":["../../../../src/core/billing/useSafeBillingActionExecutor.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAWpF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSafeBillingActionExecutor.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"useSafeBillingActionExecutor.js","sourceRoot":"","sources":["../../../../src/core/billing/useSafeBillingActionExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAElF;;;GAGG;AACH,MAAM,UAAU,4BAA4B;IAC1C,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;IAE1C,OAAO,WAAW,CAAC,CAAC,MAA2B,EAAE,EAAE;QACjD,KAAK,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK;gBACpC,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,sCAAsC,CAAC;YAC3C,WAAW,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AACpB,CAAC","sourcesContent":["import { useCallback } from 'react';\nimport { useNotification } from '~wildo-frontend-lib/core/events/useNotification';\n\n/**\n * Wrap billing UI actions so user-triggered checkout / portal failures surface\n * through the notification system instead of becoming dropped promise rejections.\n */\nexport function useSafeBillingActionExecutor(): (action: () => Promise<void>) => void {\n const { notifyError } = useNotification();\n\n return useCallback((action: () => Promise<void>) => {\n void action().catch((error: unknown) => {\n const message = error instanceof Error\n ? error.message\n : 'An unexpected billing error occurred';\n notifyError(message);\n });\n }, [notifyError]);\n}\n"]}
|
|
@@ -52,6 +52,8 @@ export interface UseBrandIdentityOptions {
|
|
|
52
52
|
theme?: BrandAssetTheme;
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
|
+
* @wildo_source:part:start saas.frontend.brand-identity facet:layer:frontend facet:audience:app-developer
|
|
56
|
+
*
|
|
55
57
|
* Reads the application's brand identity for a shell surface.
|
|
56
58
|
*
|
|
57
59
|
* Owns ONE decision every brand-rendering surface would otherwise re-derive:
|
|
@@ -63,6 +65,21 @@ export interface UseBrandIdentityOptions {
|
|
|
63
65
|
*
|
|
64
66
|
* Must be used inside `ApplicationMainProvider` (it reads the application
|
|
65
67
|
* config) and inside `UIProvider` (it reads the resolved dark-mode state).
|
|
68
|
+
*
|
|
69
|
+
* ## Two things a caller does not have to solve
|
|
70
|
+
*
|
|
71
|
+
* The MARK VARIANT follows the active UI theme by default — dark UI asks for the dark mark, light UI
|
|
72
|
+
* for the light one, each falling back through the default. So an application that generated only a
|
|
73
|
+
* default-theme mark still gets it in dark mode rather than nothing. Pin `options.theme` only when a
|
|
74
|
+
* surface genuinely needs a fixed variant, such as a monochrome mark.
|
|
75
|
+
*
|
|
76
|
+
* WHOSE identity is rendered is decided here too, and it matters for any frontend that observes an
|
|
77
|
+
* application rather than being one — a creation tool, a back office. Such a frontend declares
|
|
78
|
+
* `shellIdentity` in its frontend configuration, and that identity WINS over the application config
|
|
79
|
+
* it reads. Without that precedence the tool renders its customer's brand as its own, because there
|
|
80
|
+
* is exactly one application-config endpoint and it belongs to the application.
|
|
81
|
+
*
|
|
82
|
+
* @wildo_source:part:end saas.frontend.brand-identity
|
|
66
83
|
*/
|
|
67
84
|
export declare function useBrandIdentity(options?: UseBrandIdentityOptions): BrandIdentity;
|
|
68
85
|
//# sourceMappingURL=useBrandIdentity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBrandIdentity.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"useBrandIdentity.d.ts","sourceRoot":"","sources":["../../../../src/core/branding/useBrandIdentity.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EAGhB,MAAM,uBAAuB,CAAC;AAK/B;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB;IACtC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,oEAAoE;IACpE,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,aAAa,CAqDrF"}
|
|
@@ -3,6 +3,8 @@ import { BrandAssetComposition, BrandAssetPurpose, BrandAssetTheme, resolveBrand
|
|
|
3
3
|
import { useApplication } from '../../core/runtime/useApplication.js';
|
|
4
4
|
import { useUI } from '../../core/ui/useUI.js';
|
|
5
5
|
/**
|
|
6
|
+
* @wildo_source:part:start saas.frontend.brand-identity facet:layer:frontend facet:audience:app-developer
|
|
7
|
+
*
|
|
6
8
|
* Reads the application's brand identity for a shell surface.
|
|
7
9
|
*
|
|
8
10
|
* Owns ONE decision every brand-rendering surface would otherwise re-derive:
|
|
@@ -14,17 +16,57 @@ import { useUI } from '../../core/ui/useUI.js';
|
|
|
14
16
|
*
|
|
15
17
|
* Must be used inside `ApplicationMainProvider` (it reads the application
|
|
16
18
|
* config) and inside `UIProvider` (it reads the resolved dark-mode state).
|
|
19
|
+
*
|
|
20
|
+
* ## Two things a caller does not have to solve
|
|
21
|
+
*
|
|
22
|
+
* The MARK VARIANT follows the active UI theme by default — dark UI asks for the dark mark, light UI
|
|
23
|
+
* for the light one, each falling back through the default. So an application that generated only a
|
|
24
|
+
* default-theme mark still gets it in dark mode rather than nothing. Pin `options.theme` only when a
|
|
25
|
+
* surface genuinely needs a fixed variant, such as a monochrome mark.
|
|
26
|
+
*
|
|
27
|
+
* WHOSE identity is rendered is decided here too, and it matters for any frontend that observes an
|
|
28
|
+
* application rather than being one — a creation tool, a back office. Such a frontend declares
|
|
29
|
+
* `shellIdentity` in its frontend configuration, and that identity WINS over the application config
|
|
30
|
+
* it reads. Without that precedence the tool renders its customer's brand as its own, because there
|
|
31
|
+
* is exactly one application-config endpoint and it belongs to the application.
|
|
32
|
+
*
|
|
33
|
+
* @wildo_source:part:end saas.frontend.brand-identity
|
|
17
34
|
*/
|
|
18
35
|
export function useBrandIdentity(options = {}) {
|
|
19
36
|
const { composition = BrandAssetComposition.SYMBOL, purpose = BrandAssetPurpose.PRIMARY, theme } = options;
|
|
20
37
|
const { appConfig } = useApplication();
|
|
21
|
-
const { isDark } = useUI();
|
|
38
|
+
const { isDark, shellIdentity } = useUI();
|
|
39
|
+
// ── WHOSE identity is this? ────────────────────────────────────────────────
|
|
40
|
+
//
|
|
41
|
+
// A frontend that declares `shellIdentity` in its frontend configuration is
|
|
42
|
+
// saying "I am not the application I talk to" — a creation tool, a back
|
|
43
|
+
// office, anything observing an application rather than being one. Its
|
|
44
|
+
// identity WINS here, because the alternative is silently presenting the
|
|
45
|
+
// customer's brand as the tool's own.
|
|
46
|
+
//
|
|
47
|
+
// That is not hypothetical. There is exactly ONE application-config endpoint
|
|
48
|
+
// and it belongs to the application: the dev companion answers
|
|
49
|
+
// `GET /api/v1/application-config?frontendServiceName=application-creation-workbench`
|
|
50
|
+
// with `appIdentity.displayName: "Wonder CRM"` (measured 2026-08-31), so
|
|
51
|
+
// without this precedence the workbench's brand header reads as the managed
|
|
52
|
+
// application.
|
|
53
|
+
//
|
|
54
|
+
// The two halves are taken TOGETHER, never mixed. A shell that declared a name
|
|
55
|
+
// but no assets must render its name UNMARKED rather than borrowing the
|
|
56
|
+
// application's mark — a foreign logo beside your own name is worse than no
|
|
57
|
+
// logo, and it is the exact mismatch this field exists to prevent. So the
|
|
58
|
+
// assets are read from whichever side supplied the name.
|
|
59
|
+
//
|
|
22
60
|
// `appConfig` is non-optional on the context type and the provider only mounts
|
|
23
61
|
// past the bootstrap gate, so it is read directly; `appIdentity` keeps its
|
|
24
62
|
// optional read because the runtime payload has historically been treated as
|
|
25
63
|
// possibly-absent (see `ApplicationMainContext`'s own `appIdentity?.version`).
|
|
26
|
-
const brandAssets =
|
|
27
|
-
|
|
64
|
+
const brandAssets = shellIdentity
|
|
65
|
+
? shellIdentity.brandAssets
|
|
66
|
+
: appConfig.brandAssets;
|
|
67
|
+
const name = shellIdentity
|
|
68
|
+
? shellIdentity.name
|
|
69
|
+
: (appConfig.appIdentity?.displayName || appConfig.appIdentity?.appName || '');
|
|
28
70
|
const resolved = useMemo(() => {
|
|
29
71
|
if (!brandAssets?.length)
|
|
30
72
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBrandIdentity.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"useBrandIdentity.js","sourceRoot":"","sources":["../../../../src/core/branding/useBrandIdentity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GAElB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACjF,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAwD1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAmC,EAAE;IACpE,MAAM,EAAE,WAAW,GAAG,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC3G,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IACvC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,CAAC;IAE1C,8EAA8E;IAC9E,EAAE;IACF,4EAA4E;IAC5E,wEAAwE;IACxE,uEAAuE;IACvE,yEAAyE;IACzE,sCAAsC;IACtC,EAAE;IACF,6EAA6E;IAC7E,+DAA+D;IAC/D,sFAAsF;IACtF,yEAAyE;IACzE,4EAA4E;IAC5E,eAAe;IACf,EAAE;IACF,+EAA+E;IAC/E,wEAAwE;IACxE,4EAA4E;IAC5E,0EAA0E;IAC1E,yDAAyD;IACzD,EAAE;IACF,+EAA+E;IAC/E,2EAA2E;IAC3E,6EAA6E;IAC7E,+EAA+E;IAC/E,MAAM,WAAW,GAAoC,aAAa;QAChE,CAAC,CAAC,aAAa,CAAC,WAAW;QAC3B,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC;IAC1B,MAAM,IAAI,GAAG,aAAa;QACxB,CAAC,CAAC,aAAa,CAAC,IAAI;QACpB,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,IAAI,SAAS,CAAC,WAAW,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAEjF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,IAAI,CAAC,WAAW,EAAE,MAAM;YAAE,OAAO,SAAS,CAAC;QAC3C,OAAO,iBAAiB,CAAC,WAAW,EAAE;YACpC,WAAW;YACX,uEAAuE;YACvE,wEAAwE;YACxE,wEAAwE;YACxE,wEAAwE;YACxE,qEAAqE;YACrE,aAAa;YACb,KAAK,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC;YACvE,OAAO;SACR,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAEvD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AAClF,CAAC","sourcesContent":["import { useMemo } from 'react';\n\nimport {\n BrandAssetComposition,\n BrandAssetPurpose,\n BrandAssetTheme,\n resolveBrandAsset,\n type RuntimeBrandAsset,\n} from '@wildo-ai/saas-models';\n\nimport { useApplication } from '~wildo-frontend-lib/core/runtime/useApplication';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\n\n/**\n * The application's brand identity as a shell surface needs it: a display name\n * plus the URL of the brand asset matching the requested composition and the\n * ACTIVE light/dark theme.\n */\nexport interface BrandIdentity {\n /**\n * Human-readable application name — `appIdentity.displayName` when authored,\n * falling back to the technical `appName` (which the config schema requires,\n * so this is always non-empty).\n */\n name: string;\n /**\n * Resolved brand-asset URL, or `undefined` when the application has generated\n * no brand yet. Consumers must degrade gracefully rather than render a broken\n * image (the schema documents brand assets as absent until generated).\n */\n logoUrl?: string;\n /**\n * Composition of the asset that was ACTUALLY resolved — which may differ from\n * the one requested. `resolveBrandAsset`'s last fallback rung matches any\n * composition at `(DEFAULT, PRIMARY)`, so an application whose brand contains\n * no `SYMBOL` (a wordmark-only identity is a supported brand shape) yields its\n * `WORDMARK`/`LOCKUP` master here.\n *\n * Surfaces MUST branch on this rather than assume they got what they asked\n * for: a wordmark or lockup already CONTAINS the application name, so\n * rendering it beside a name label duplicates the name, and squeezing a wide\n * asset into a square icon slot letterboxes it.\n */\n logoComposition?: BrandAssetComposition;\n}\n\nexport interface UseBrandIdentityOptions {\n /**\n * Which brand composition the surface wants. Defaults to\n * {@link BrandAssetComposition.SYMBOL} — the right choice for any surface that\n * renders the application NAME as text beside the mark, because a `LOCKUP`\n * already contains the name and would duplicate it.\n */\n composition?: BrandAssetComposition;\n /** Asset purpose. Defaults to {@link BrandAssetPurpose.PRIMARY}. */\n purpose?: BrandAssetPurpose;\n /**\n * PINS the mark variant instead of following the active UI theme — e.g.\n * {@link BrandAssetTheme.MONOCHROME} for the single-colour mark, or\n * {@link BrandAssetTheme.DEFAULT} to keep the colour mark on a dark shell.\n *\n * Omitted (the default) means ADAPTIVE: dark UI asks for `DARK`, light UI for\n * `LIGHT`, both falling back through `DEFAULT` inside `resolveBrandAsset`.\n */\n theme?: BrandAssetTheme;\n}\n\n/**\n * @wildo_source:part:start saas.frontend.brand-identity facet:layer:frontend facet:audience:app-developer\n *\n * Reads the application's brand identity for a shell surface.\n *\n * Owns ONE decision every brand-rendering surface would otherwise re-derive:\n * how the active UI theme maps onto {@link BrandAssetTheme} (dark UI → `DARK`,\n * light UI → `LIGHT`), unless the caller PINS a variant via `options.theme`.\n * `resolveBrandAsset` then applies the framework's documented fallback chain, so\n * an app that generated only a default-theme mark still gets it in dark mode\n * instead of nothing.\n *\n * Must be used inside `ApplicationMainProvider` (it reads the application\n * config) and inside `UIProvider` (it reads the resolved dark-mode state).\n *\n * ## Two things a caller does not have to solve\n *\n * The MARK VARIANT follows the active UI theme by default — dark UI asks for the dark mark, light UI\n * for the light one, each falling back through the default. So an application that generated only a\n * default-theme mark still gets it in dark mode rather than nothing. Pin `options.theme` only when a\n * surface genuinely needs a fixed variant, such as a monochrome mark.\n *\n * WHOSE identity is rendered is decided here too, and it matters for any frontend that observes an\n * application rather than being one — a creation tool, a back office. Such a frontend declares\n * `shellIdentity` in its frontend configuration, and that identity WINS over the application config\n * it reads. Without that precedence the tool renders its customer's brand as its own, because there\n * is exactly one application-config endpoint and it belongs to the application.\n *\n * @wildo_source:part:end saas.frontend.brand-identity\n */\nexport function useBrandIdentity(options: UseBrandIdentityOptions = {}): BrandIdentity {\n const { composition = BrandAssetComposition.SYMBOL, purpose = BrandAssetPurpose.PRIMARY, theme } = options;\n const { appConfig } = useApplication();\n const { isDark, shellIdentity } = useUI();\n\n // ── WHOSE identity is this? ────────────────────────────────────────────────\n //\n // A frontend that declares `shellIdentity` in its frontend configuration is\n // saying \"I am not the application I talk to\" — a creation tool, a back\n // office, anything observing an application rather than being one. Its\n // identity WINS here, because the alternative is silently presenting the\n // customer's brand as the tool's own.\n //\n // That is not hypothetical. There is exactly ONE application-config endpoint\n // and it belongs to the application: the dev companion answers\n // `GET /api/v1/application-config?frontendServiceName=application-creation-workbench`\n // with `appIdentity.displayName: \"Wonder CRM\"` (measured 2026-08-31), so\n // without this precedence the workbench's brand header reads as the managed\n // application.\n //\n // The two halves are taken TOGETHER, never mixed. A shell that declared a name\n // but no assets must render its name UNMARKED rather than borrowing the\n // application's mark — a foreign logo beside your own name is worse than no\n // logo, and it is the exact mismatch this field exists to prevent. So the\n // assets are read from whichever side supplied the name.\n //\n // `appConfig` is non-optional on the context type and the provider only mounts\n // past the bootstrap gate, so it is read directly; `appIdentity` keeps its\n // optional read because the runtime payload has historically been treated as\n // possibly-absent (see `ApplicationMainContext`'s own `appIdentity?.version`).\n const brandAssets: RuntimeBrandAsset[] | undefined = shellIdentity\n ? shellIdentity.brandAssets\n : appConfig.brandAssets;\n const name = shellIdentity\n ? shellIdentity.name\n : (appConfig.appIdentity?.displayName || appConfig.appIdentity?.appName || '');\n\n const resolved = useMemo(() => {\n if (!brandAssets?.length) return undefined;\n return resolveBrandAsset(brandAssets, {\n composition,\n // An explicit `theme` pins the variant (monochrome, or a forced side).\n // Otherwise ADAPTIVE: LIGHT rather than DEFAULT for a light UI, because\n // `resolveBrandAsset` tries the requested theme first and falls back to\n // DEFAULT on its own — so asking for LIGHT strictly adds the ability to\n // honor a light-specific asset, while asking for DEFAULT could never\n // reach one.\n theme: theme ?? (isDark ? BrandAssetTheme.DARK : BrandAssetTheme.LIGHT),\n purpose,\n });\n }, [brandAssets, composition, purpose, theme, isDark]);\n\n return { name, logoUrl: resolved?.url, logoComposition: resolved?.composition };\n}\n"]}
|