@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-view.utils.js","sourceRoot":"","sources":["../../../../../../src/components/views/chart-view/chart-view.utils.ts"],"names":[],"mappings":"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","sourcesContent":["/** ──────────────────────────────────────────────────────────────\n * Chart View Utilities — Data fetching hook + helpers\n * ────────────────────────────────────────────────────────────── */\n\nimport { useState, useEffect, useCallback, useMemo, useRef } from 'react';\nimport { AggregationQueryResponseSchema, type AggregationQueryResponse } from '@wildo-ai/saas-models';\nimport { CoreResourceType } from '@wildo-ai/saas-models';\nimport type { ChartDefinition, ChartInputValues } from '@wildo-ai/saas-models';\nimport { AggregationErrorCode, CoreWebSocketEvent } from '@wildo-ai/saas-models';\nimport { useWebSocket } from '~wildo-frontend-lib/core/requests/websockets/useWebSocket';\nimport { getManualCallsHttpClient } from '~wildo-frontend-lib/core/requests/wildo-http-client-manual-calls.frontend.service';\nimport { isAbortOrCancelError } from '~wildo-frontend-lib/core/requests/request-cancellation.frontend.utils';\n\n// ── Types ────────────────────────────────────────────────────\n\nexport interface ChartDataState {\n data: AggregationQueryResponse | null;\n loading: boolean;\n error: ChartError | null;\n refetch: () => void;\n}\n\nexport interface ChartError {\n code: string;\n message: string;\n}\n\nfunction resolveOrganizationIdFromContextResourceIdentifiers(\n contextResourceIdentifiers?: Record<string, string>,\n): string | undefined {\n if (!contextResourceIdentifiers) {\n return undefined;\n }\n\n const exactOrganizationId = contextResourceIdentifiers[CoreResourceType.ORGANIZATIONS];\n if (exactOrganizationId) {\n return exactOrganizationId;\n }\n\n const normalizedOrganizationKey = CoreResourceType.ORGANIZATIONS.toLowerCase();\n for (const [key, value] of Object.entries(contextResourceIdentifiers)) {\n if (key.toLowerCase() === normalizedOrganizationKey && value) {\n return value;\n }\n }\n\n return undefined;\n}\n\n// ── Error Parsing ────────────────────────────────────────────\n\nfunction parseChartError(error: unknown): ChartError {\n // Handle errors from WildoBackendHttpClient (already unwrapped from axios)\n if (error && typeof error === 'object') {\n const err = error as Record<string, unknown>;\n const wildoError = err.wildoError as Record<string, unknown> | undefined;\n // Use the FRAMEWORK-classified `customMessageReference` (e.g. `'authorization'`\n // for a 403) as the error code — the interceptor sets it on the error (or on\n // `err.wildoError`). Do NOT read axios's `err.code`: axios assigns the generic\n // `'ERR_BAD_REQUEST'` to EVERY 4xx (403 included), which is not a real\n // `ErrorCustomMessageReference` and resolves no i18n label — so a 403 rendered\n // as `errors_messages.ERR_BAD_REQUEST.msg` (raw key). Fall back to the\n // WildoBackendHttpClient-unwrapped `errorRef`, then `'unknown'`.\n const code = (\n err.customMessageReference\n ?? wildoError?.customMessageReference\n ?? err.errorRef\n ?? 'unknown'\n ) as string;\n const message = (err.message || String(error)) as string;\n return { code, message };\n }\n return { code: 'unknown', message: String(error) };\n}\n\n/**\n * Build an order-independent, value-based key for the inputs that actually\n * determine the chart query (`POST /charts/:ref/data`). The query is defined by\n * the execution ref plus the request payload VALUES — not by the object\n * references that carry them.\n *\n * `ChartView` is a reusable framework surface embedded by hosts (composite\n * views, resource workspaces) that re-render frequently as i18n labels, app\n * scope, and parent data settle. Those hosts hand `useChartData` fresh-but-\n * value-equal `contextResourceIdentifiers` / `inputs` / `urlParamValues`\n * objects on every render. Keying the fetch effect on object identity would\n * therefore abort the in-flight request and fire a new POST on every render —\n * a 6-7×-per-load refetch storm that multiplies every transient backend error\n * into that many user-facing toasts. Keying on this stable VALUE digest makes\n * the hook refetch only when the query genuinely changes.\n */\nfunction buildChartQueryKey(parts: {\n executionChartRef?: string;\n inputs?: ChartInputValues;\n contextResourceIdentifiers?: Record<string, string>;\n urlParamValues?: Record<string, string>;\n}): string {\n const normalizeRecord = (record?: Record<string, unknown>): string =>\n record\n ? Object.keys(record)\n .sort()\n .map((key) => `${key}=${String(record[key])}`)\n .join('&')\n : '';\n\n return [\n parts.executionChartRef ?? '',\n normalizeRecord(parts.inputs as Record<string, unknown> | undefined),\n normalizeRecord(parts.contextResourceIdentifiers),\n normalizeRecord(parts.urlParamValues),\n ].join('|');\n}\n\n// ── Data Fetching Hook ───────────────────────────────────────\n\n/**\n * Hook to fetch chart data from the backend.\n * Handles loading, error states, and optional auto-refresh.\n *\n * Uses WildoBackendHttpClient (via getManualCallsHttpClient) which provides:\n * - Correct base URL from environment config\n * - Authentication headers (JWT/session)\n * - Request interception and error handling\n * - Retry logic and network queue\n */\nexport function useChartData(\n definition: ChartDefinition | undefined,\n executionChartRef: string | undefined,\n inputs?: ChartInputValues,\n contextResourceIdentifiers?: Record<string, string>,\n urlParamValues?: Record<string, string>,\n /**\n * When true, a data-fetch failure degrades LOCALLY (shown in this chart card)\n * without raising the global error toast — for EMBEDDED charts (a tile inside a\n * composite/detail page). See the `silent` note at the fetch call. Default\n * `false`: a STANDALONE chart page keeps surfacing errors globally.\n */\n localErrorOnly: boolean = false,\n): ChartDataState {\n const [data, setData] = useState<AggregationQueryResponse | null>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<ChartError | null>(null);\n const abortRef = useRef<AbortController | null>(null);\n\n // Latest fetch inputs kept in a ref so the stable `fetchData` callback reads\n // current values WITHOUT being recreated every render. Recreating it on every\n // render is what previously re-fired the fetch effect (refetch storm); see\n // `buildChartQueryKey`.\n const latestFetchInputsRef = useRef({ definition, executionChartRef, inputs, contextResourceIdentifiers, urlParamValues, localErrorOnly });\n latestFetchInputsRef.current = { definition, executionChartRef, inputs, contextResourceIdentifiers, urlParamValues, localErrorOnly };\n\n const fetchData = useCallback(async () => {\n const {\n definition: currentDefinition,\n executionChartRef: currentExecutionChartRef,\n inputs: currentInputs,\n contextResourceIdentifiers: currentContextResourceIdentifiers,\n urlParamValues: currentUrlParamValues,\n localErrorOnly: currentLocalErrorOnly,\n } = latestFetchInputsRef.current;\n\n if (!currentDefinition || !currentExecutionChartRef) {\n abortRef.current?.abort();\n setData(null);\n setError(null);\n setLoading(false);\n return;\n }\n\n // Cancel previous request\n abortRef.current?.abort();\n const controller = new AbortController();\n abortRef.current = controller;\n\n setLoading(true);\n setError(null);\n\n try {\n const httpClient = getManualCallsHttpClient();\n const organizationId = resolveOrganizationIdFromContextResourceIdentifiers(currentContextResourceIdentifiers);\n const queryParams = {\n ...(currentUrlParamValues ?? {}),\n ...(organizationId ? { organizationId } : {}),\n };\n const requestBody = {\n ...(currentInputs && Object.keys(currentInputs).length > 0 ? { inputs: currentInputs } : {}),\n ...(currentContextResourceIdentifiers && Object.keys(currentContextResourceIdentifiers).length > 0\n ? { contextResourceIdentifiers: currentContextResourceIdentifiers }\n : {}),\n };\n const response = await httpClient.getChartData(\n currentExecutionChartRef,\n Object.keys(requestBody).length > 0 ? requestBody : undefined,\n // `silent` is EMBEDDED-vs-STANDALONE, not \"hide errors\":\n // - EMBEDDED chart (a tile inside a composite/detail page; `localErrorOnly`\n // true) → `silent: true` suppresses the global error TOAST so one\n // sub-surface's 403/5xx does not raise a page-level \"Authorization error\".\n // The failure still renders LOCALLY in this chart card (`ChartErrorState`,\n // with retry) — per-widget dashboard error isolation. `silent` suppresses\n // only the user-facing DISPLAY; the error is still EMITTED/logged, so\n // nothing is hidden from observability.\n // - STANDALONE chart page (`localErrorOnly` false) → keeps surfacing through\n // the standard global pipeline: there the chart IS the page, so a\n // page-level error is appropriate.\n //\n // Cancellations never toast in EITHER mode: the response interceptor ignores\n // `axios.isCancel` rejections, so a refetch/unmount `controller.abort()` or a\n // React StrictMode mount→unmount→mount produces no toast and no error. The\n // local `isAbortOrCancelError` guard below is defense-in-depth (the cancel is\n // still rejected to this catch).\n { signal: controller.signal, silent: currentLocalErrorOnly },\n Object.keys(queryParams).length > 0 ? queryParams : undefined,\n );\n const parsedResponse = AggregationQueryResponseSchema.safeParse(response);\n if (!parsedResponse.success) {\n throw new Error(`Invalid aggregation response for chart \"${currentExecutionChartRef}\".`);\n }\n setData(parsedResponse.data);\n } catch (err) {\n // Ignore aborted/cancelled requests (superseded by a newer fetch, or the\n // component unmounted) — they are not real failures. See isAbortOrCancelError:\n // axios rejects a cancellation with `ERR_CANCELED`, not a DOMException, so\n // this must catch the axios shape too or the chart sticks on a cancel error.\n if (isAbortOrCancelError(err)) return;\n setError(parseChartError(err));\n } finally {\n setLoading(false);\n }\n }, []);\n\n // Refetch only when the QUERY changes by VALUE — not when a re-rendering host\n // hands ChartView referentially-fresh but value-equal objects.\n const fetchKey = useMemo(\n () => buildChartQueryKey({ executionChartRef, inputs, contextResourceIdentifiers, urlParamValues }),\n [executionChartRef, inputs, contextResourceIdentifiers, urlParamValues],\n );\n\n useEffect(() => {\n fetchData();\n return () => abortRef.current?.abort();\n }, [fetchKey, fetchData]);\n\n // Auto-refresh (interval-based)\n useEffect(() => {\n const interval = definition?.refreshInterval;\n if (!interval || interval <= 0) return;\n\n const timer = setInterval(fetchData, interval);\n return () => clearInterval(timer);\n }, [definition?.refreshInterval, fetchData]);\n\n // WebSocket real-time re-fetch — subscribe to resource mutations on the main resource type\n // Debounced to prevent excessive refetches during bulk operations\n const { on, isConnected } = useWebSocket();\n const resourceType = definition?.dataQuery?.mainResourceType;\n const wsDebounceRef = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n\n useEffect(() => {\n // `resourceType` is derived from `definition.dataQuery.mainResourceType`, so\n // it is truthy iff a definition exists — gating on it alone avoids depending\n // on the referentially-unstable `definition` object (which would re-subscribe\n // the WebSocket listener on every render).\n if (!isConnected || !resourceType) return;\n\n // Subscribe to resource:updated events for the chart's main resource type\n // This ensures the chart refreshes when data changes (create, update, delete)\n const unsubscribe = on(\n CoreWebSocketEvent.RESOURCE_UPDATED,\n (payload: { resourceType?: string }) => {\n if (payload.resourceType === resourceType) {\n // Debounce: wait 500ms after last event before refetching\n // Prevents 50 HTTP requests during bulk operations\n clearTimeout(wsDebounceRef.current);\n wsDebounceRef.current = setTimeout(fetchData, 500);\n }\n },\n );\n\n return () => {\n unsubscribe();\n clearTimeout(wsDebounceRef.current);\n };\n }, [isConnected, resourceType, on, fetchData]);\n\n return { data, loading, error, refetch: fetchData };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"chart-view.utils.js","sourceRoot":"","sources":["../../../../../src/components/views/chart-view/chart-view.utils.ts"],"names":[],"mappings":"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","sourcesContent":["/** ──────────────────────────────────────────────────────────────\n * Chart View Utilities — Data fetching hook + helpers\n * ────────────────────────────────────────────────────────────── */\n\nimport { useState, useEffect, useCallback, useMemo, useRef } from 'react';\nimport { AggregationQueryResponseSchema, type AggregationQueryResponse } from '@wildo-ai/saas-models';\nimport { CoreResourceType } from '@wildo-ai/saas-models';\nimport type { ChartDefinition, ChartInputValues } from '@wildo-ai/saas-models';\nimport { AggregationErrorCode, CoreWebSocketEvent } from '@wildo-ai/saas-models';\nimport { useWebSocket } from '~wildo-frontend-lib/core/requests/websockets/useWebSocket';\nimport { getManualCallsHttpClient } from '~wildo-frontend-lib/core/requests/wildo-http-client-manual-calls.frontend.service';\nimport { isAbortOrCancelError } from '~wildo-frontend-lib/core/requests/request-cancellation.frontend.utils';\n\n// ── Types ────────────────────────────────────────────────────\n\nexport interface ChartDataState {\n data: AggregationQueryResponse | null;\n loading: boolean;\n error: ChartError | null;\n refetch: () => void;\n}\n\nexport interface ChartError {\n code: string;\n message: string;\n}\n\nfunction resolveOrganizationIdFromContextResourceIdentifiers(\n contextResourceIdentifiers?: Record<string, string>,\n): string | undefined {\n if (!contextResourceIdentifiers) {\n return undefined;\n }\n\n const exactOrganizationId = contextResourceIdentifiers[CoreResourceType.ORGANIZATIONS];\n if (exactOrganizationId) {\n return exactOrganizationId;\n }\n\n const normalizedOrganizationKey = CoreResourceType.ORGANIZATIONS.toLowerCase();\n for (const [key, value] of Object.entries(contextResourceIdentifiers)) {\n if (key.toLowerCase() === normalizedOrganizationKey && value) {\n return value;\n }\n }\n\n return undefined;\n}\n\n// ── Error Parsing ────────────────────────────────────────────\n\nfunction parseChartError(error: unknown): ChartError {\n // Handle errors from WildoBackendHttpClient (already unwrapped from axios)\n if (error && typeof error === 'object') {\n const err = error as Record<string, unknown>;\n const wildoError = err.wildoError as Record<string, unknown> | undefined;\n // Use the FRAMEWORK-classified `customMessageReference` (e.g. `'authorization'`\n // for a 403) as the error code — the interceptor sets it on the error (or on\n // `err.wildoError`). Do NOT read axios's `err.code`: axios assigns the generic\n // `'ERR_BAD_REQUEST'` to EVERY 4xx (403 included), which is not a real\n // `ErrorCustomMessageReference` and resolves no i18n label — so a 403 rendered\n // as `errors_messages.ERR_BAD_REQUEST.msg` (raw key). Fall back to the\n // WildoBackendHttpClient-unwrapped `errorRef`, then `'unknown'`.\n const code = (\n err.customMessageReference\n ?? wildoError?.customMessageReference\n ?? err.errorRef\n ?? 'unknown'\n ) as string;\n const message = (err.message || String(error)) as string;\n return { code, message };\n }\n return { code: 'unknown', message: String(error) };\n}\n\n/**\n * Build an order-independent, value-based key for the inputs that actually\n * determine the chart query (`POST /charts/:ref/data`). The query is defined by\n * the execution ref plus the request payload VALUES — not by the object\n * references that carry them.\n *\n * `ChartView` is a reusable framework surface embedded by hosts (composite\n * views, resource workspaces) that re-render frequently as i18n labels, app\n * scope, and parent data settle. Those hosts hand `useChartData` fresh-but-\n * value-equal `contextResourceIdentifiers` / `inputs` / `urlParamValues`\n * objects on every render. Keying the fetch effect on object identity would\n * therefore abort the in-flight request and fire a new POST on every render —\n * a 6-7×-per-load refetch storm that multiplies every transient backend error\n * into that many user-facing toasts. Keying on this stable VALUE digest makes\n * the hook refetch only when the query genuinely changes.\n */\nfunction buildChartQueryKey(parts: {\n executionChartRef?: string;\n inputs?: ChartInputValues;\n contextResourceIdentifiers?: Record<string, string>;\n urlParamValues?: Record<string, string>;\n}): string {\n const normalizeRecord = (record?: Record<string, unknown>): string =>\n record\n ? Object.keys(record)\n .sort()\n .map((key) => `${key}=${String(record[key])}`)\n .join('&')\n : '';\n\n return [\n parts.executionChartRef ?? '',\n normalizeRecord(parts.inputs as Record<string, unknown> | undefined),\n normalizeRecord(parts.contextResourceIdentifiers),\n normalizeRecord(parts.urlParamValues),\n ].join('|');\n}\n\n// ── Data Fetching Hook ───────────────────────────────────────\n\n/**\n * Hook to fetch chart data from the backend.\n * Handles loading, error states, and optional auto-refresh.\n *\n * Uses WildoBackendHttpClient (via getManualCallsHttpClient) which provides:\n * - Correct base URL from environment config\n * - Authentication headers (JWT/session)\n * - Request interception and error handling\n * - Retry logic and network queue\n */\nexport function useChartData(\n definition: ChartDefinition | undefined,\n executionChartRef: string | undefined,\n inputs?: ChartInputValues,\n contextResourceIdentifiers?: Record<string, string>,\n urlParamValues?: Record<string, string>,\n /**\n * When true, a data-fetch failure degrades LOCALLY (shown in this chart card)\n * without raising the global error toast — for EMBEDDED charts (a tile inside a\n * composite/detail page). See the `silent` note at the fetch call. Default\n * `false`: a STANDALONE chart page keeps surfacing errors globally.\n */\n localErrorOnly: boolean = false,\n): ChartDataState {\n const [data, setData] = useState<AggregationQueryResponse | null>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<ChartError | null>(null);\n const abortRef = useRef<AbortController | null>(null);\n\n // Latest fetch inputs kept in a ref so the stable `fetchData` callback reads\n // current values WITHOUT being recreated every render. Recreating it on every\n // render is what previously re-fired the fetch effect (refetch storm); see\n // `buildChartQueryKey`.\n const latestFetchInputsRef = useRef({ definition, executionChartRef, inputs, contextResourceIdentifiers, urlParamValues, localErrorOnly });\n latestFetchInputsRef.current = { definition, executionChartRef, inputs, contextResourceIdentifiers, urlParamValues, localErrorOnly };\n\n const fetchData = useCallback(async () => {\n const {\n definition: currentDefinition,\n executionChartRef: currentExecutionChartRef,\n inputs: currentInputs,\n contextResourceIdentifiers: currentContextResourceIdentifiers,\n urlParamValues: currentUrlParamValues,\n localErrorOnly: currentLocalErrorOnly,\n } = latestFetchInputsRef.current;\n\n if (!currentDefinition || !currentExecutionChartRef) {\n abortRef.current?.abort();\n setData(null);\n setError(null);\n setLoading(false);\n return;\n }\n\n // Cancel previous request\n abortRef.current?.abort();\n const controller = new AbortController();\n abortRef.current = controller;\n\n setLoading(true);\n setError(null);\n\n try {\n const httpClient = getManualCallsHttpClient();\n const organizationId = resolveOrganizationIdFromContextResourceIdentifiers(currentContextResourceIdentifiers);\n const queryParams = {\n ...(currentUrlParamValues ?? {}),\n ...(organizationId ? { organizationId } : {}),\n };\n const requestBody = {\n ...(currentInputs && Object.keys(currentInputs).length > 0 ? { inputs: currentInputs } : {}),\n ...(currentContextResourceIdentifiers && Object.keys(currentContextResourceIdentifiers).length > 0\n ? { contextResourceIdentifiers: currentContextResourceIdentifiers }\n : {}),\n };\n const response = await httpClient.getChartData(\n currentExecutionChartRef,\n Object.keys(requestBody).length > 0 ? requestBody : undefined,\n // `silent` is EMBEDDED-vs-STANDALONE, not \"hide errors\":\n // - EMBEDDED chart (a tile inside a composite/detail page; `localErrorOnly`\n // true) → `silent: true` suppresses the global error TOAST so one\n // sub-surface's 403/5xx does not raise a page-level \"Authorization error\".\n // The failure still renders LOCALLY in this chart card (`ChartErrorState`,\n // with retry) — per-widget dashboard error isolation. `silent` suppresses\n // only the user-facing DISPLAY; the error is still EMITTED/logged, so\n // nothing is hidden from observability.\n // - STANDALONE chart page (`localErrorOnly` false) → keeps surfacing through\n // the standard global pipeline: there the chart IS the page, so a\n // page-level error is appropriate.\n //\n // Cancellations never toast in EITHER mode: the response interceptor ignores\n // `axios.isCancel` rejections, so a refetch/unmount `controller.abort()` or a\n // React StrictMode mount→unmount→mount produces no toast and no error. The\n // local `isAbortOrCancelError` guard below is defense-in-depth (the cancel is\n // still rejected to this catch).\n { signal: controller.signal, silent: currentLocalErrorOnly },\n Object.keys(queryParams).length > 0 ? queryParams : undefined,\n );\n const parsedResponse = AggregationQueryResponseSchema.safeParse(response);\n if (!parsedResponse.success) {\n throw new Error(`Invalid aggregation response for chart \"${currentExecutionChartRef}\".`);\n }\n setData(parsedResponse.data);\n } catch (err) {\n // Ignore aborted/cancelled requests (superseded by a newer fetch, or the\n // component unmounted) — they are not real failures. See isAbortOrCancelError:\n // axios rejects a cancellation with `ERR_CANCELED`, not a DOMException, so\n // this must catch the axios shape too or the chart sticks on a cancel error.\n if (isAbortOrCancelError(err)) return;\n setError(parseChartError(err));\n } finally {\n setLoading(false);\n }\n }, []);\n\n // Refetch only when the QUERY changes by VALUE — not when a re-rendering host\n // hands ChartView referentially-fresh but value-equal objects.\n const fetchKey = useMemo(\n () => buildChartQueryKey({ executionChartRef, inputs, contextResourceIdentifiers, urlParamValues }),\n [executionChartRef, inputs, contextResourceIdentifiers, urlParamValues],\n );\n\n useEffect(() => {\n fetchData();\n return () => abortRef.current?.abort();\n }, [fetchKey, fetchData]);\n\n // Auto-refresh (interval-based)\n useEffect(() => {\n const interval = definition?.refreshInterval;\n if (!interval || interval <= 0) return;\n\n const timer = setInterval(fetchData, interval);\n return () => clearInterval(timer);\n }, [definition?.refreshInterval, fetchData]);\n\n // WebSocket real-time re-fetch — subscribe to resource mutations on the main resource type\n // Debounced to prevent excessive refetches during bulk operations\n const { on, isConnected } = useWebSocket();\n const resourceType = definition?.dataQuery?.mainResourceType;\n const wsDebounceRef = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n\n useEffect(() => {\n // `resourceType` is derived from `definition.dataQuery.mainResourceType`, so\n // it is truthy iff a definition exists — gating on it alone avoids depending\n // on the referentially-unstable `definition` object (which would re-subscribe\n // the WebSocket listener on every render).\n if (!isConnected || !resourceType) return;\n\n // Subscribe to resource:updated events for the chart's main resource type\n // This ensures the chart refreshes when data changes (create, update, delete)\n const unsubscribe = on(\n CoreWebSocketEvent.RESOURCE_UPDATED,\n (payload: { resourceType?: string }) => {\n if (payload.resourceType === resourceType) {\n // Debounce: wait 500ms after last event before refetching\n // Prevents 50 HTTP requests during bulk operations\n clearTimeout(wsDebounceRef.current);\n wsDebounceRef.current = setTimeout(fetchData, 500);\n }\n },\n );\n\n return () => {\n unsubscribe();\n clearTimeout(wsDebounceRef.current);\n };\n }, [isConnected, resourceType, on, fetchData]);\n\n return { data, loading, error, refetch: fetchData };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartView.example.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"ChartView.example.d.ts","sourceRoot":"","sources":["../../../../../../src/components/views/chart-view/dev/ChartView.example.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B;;GAEG;AACH,wBAAgB,eAAe,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAanD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAapD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAanD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAetD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartView.example.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"ChartView.example.js","sourceRoot":"","sources":["../../../../../../src/components/views/chart-view/dev/ChartView.example.tsx"],"names":[],"mappings":";AAWA,8EAA8E;AAC9E,sFAAsF;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,gEAAgE,CAAC;AAC3F,OAAO,EACL,SAAS,EACT,eAAe,EACf,YAAY,GACb,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,UAAU,GAAG,YAAY,CAAC,kBAAkB,EAAE,QAAQ,CAAC;SAC1D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;SACnB,aAAa,CAAC,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC;SACjD,KAAK,EAAE;SACP,KAAK,EAAE,CAAC;IAEX,OAAO,CACL,eAAK,SAAS,EAAC,QAAQ,aACrB,aAAI,SAAS,EAAC,6BAA6B,kDAAkC,EAC7E,KAAC,SAAS,IAAC,QAAQ,EAAE,UAAU,GAAI,IAC/B,CACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,UAAU,GAAG,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC;SACvD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SACpB,aAAa,CAAC,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC;SACjD,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;SACnC,KAAK,EAAE,CAAC;IAEX,OAAO,CACL,eAAK,SAAS,EAAC,QAAQ,aACrB,aAAI,SAAS,EAAC,6BAA6B,gDAAgC,EAC3E,KAAC,SAAS,IAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAI,IAC5C,CACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,UAAU,GAAG,YAAY,CAAC,kBAAkB,EAAE,QAAQ,CAAC;SAC1D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;SACnB,SAAS,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;SACxC,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;SAC1B,KAAK,EAAE,CAAC;IAEX,OAAO,CACL,eAAK,SAAS,EAAC,QAAQ,aACrB,aAAI,SAAS,EAAC,6BAA6B,kDAAkC,EAC7E,KAAC,SAAS,IAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAC,MAAM,EAAC,MAAM,EAAE,GAAG,GAAI,IACzD,CACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,UAAU,GAAG,YAAY,CAAC,qBAAqB,EAAE,QAAQ,CAAC;SAC7D,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;SAC5B,aAAa,CAAC,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC;SACjD,SAAS,CAAC,UAAU,CAAC;SACrB,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;SACnC,OAAO,CAAC,UAAU,CAAC;SACnB,KAAK,EAAE,CAAC;IAEX,OAAO,CACL,eAAK,SAAS,EAAC,QAAQ,aACrB,aAAI,SAAS,EAAC,6BAA6B,wDAAwC,EACnF,KAAC,SAAS,IAAC,QAAQ,EAAE,UAAU,GAAI,IAC/B,CACP,CAAC;AACJ,CAAC","sourcesContent":["/**\n * ChartView Usage Examples\n * \n * These examples show how to use ChartView with ChartDefinitions built via chartBuilder().\n * In production, charts are registered in the ChartRegistry (backend) and the\n * frontend fetches data via the REST API.\n * \n * These examples use `document` prop to pass definitions directly (for dev/preview).\n */\n\nimport React from 'react';\n// The `.lazy` wrapper is the public door — a static import of the real module\n// would merge ECharts into any bundle that reaches this file (check:lazy-boundaries).\nimport { ChartView } from '~wildo-frontend-lib/components/views/chart-view/ChartView.lazy';\nimport {\n ChartType,\n TimeGranularity,\n chartBuilder,\n} from '@wildo-ai/saas-models';\n\n/**\n * Example 1: Bar chart — orders per month\n */\nexport function BarChartExample(): React.JSX.Element {\n const definition = chartBuilder('orders-per-month', 'ORDERS')\n .type(ChartType.BAR)\n .timeDimension('createdAt', TimeGranularity.MONTH)\n .count()\n .build();\n\n return (\n <div className=\"p-card\">\n <h2 className=\"text-2xl font-bold mb-field\">Bar Chart — Orders per Month</h2>\n <ChartView document={definition} />\n </div>\n );\n}\n\n/**\n * Example 2: Line chart — revenue trend\n */\nexport function LineChartExample(): React.JSX.Element {\n const definition = chartBuilder('revenue-trend', 'ORDERS')\n .type(ChartType.LINE)\n .timeDimension('createdAt', TimeGranularity.MONTH)\n .sum('amount', { label: 'Revenue' })\n .build();\n\n return (\n <div className=\"p-card\">\n <h2 className=\"text-2xl font-bold mb-field\">Line Chart — Revenue Trend</h2>\n <ChartView document={definition} height={300} />\n </div>\n );\n}\n\n/**\n * Example 3: Pie chart — orders by status\n */\nexport function PieChartExample(): React.JSX.Element {\n const definition = chartBuilder('orders-by-status', 'ORDERS')\n .type(ChartType.PIE)\n .dimension('status', { label: 'Status' })\n .count({ label: 'Orders' })\n .build();\n\n return (\n <div className=\"p-card\">\n <h2 className=\"text-2xl font-bold mb-field\">Pie Chart — Orders by Status</h2>\n <ChartView document={definition} width=\"100%\" height={400} />\n </div>\n );\n}\n\n/**\n * Example 4: Stacked area — revenue by category over time\n */\nexport function StackedAreaExample(): React.JSX.Element {\n const definition = chartBuilder('revenue-by-category', 'ORDERS')\n .type(ChartType.STACKED_AREA)\n .timeDimension('createdAt', TimeGranularity.MONTH)\n .dimension('category')\n .sum('amount', { label: 'Revenue' })\n .splitBy('category')\n .build();\n\n return (\n <div className=\"p-card\">\n <h2 className=\"text-2xl font-bold mb-field\">Stacked Area — Revenue by Category</h2>\n <ChartView document={definition} />\n </div>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"echarts-setup.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"echarts-setup.d.ts","sourceRoot":"","sources":["../../../../../src/components/views/chart-view/echarts-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;oEAQoE;AAEpE,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAkFxC,OAAO,EAAE,OAAO,EAAE,CAAC;AAGnB,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"echarts-setup.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"echarts-setup.js","sourceRoot":"","sources":["../../../../../src/components/views/chart-view/echarts-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;oEAQoE;AAEpE,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,wDAAwD;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,uEAAuE;AACvE,4EAA4E;AAC5E,6EAA6E;AAC7E,4EAA4E;AAC5E,+EAA+E;AAC/E,uDAAuD;AACvD,4EAA4E;AAC5E,0EAA0E;AAC1E,+EAA+E;AAC/E,qEAAqE;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,oCAAoC;AACpC,OAAO,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,aAAa;AACb,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,4BAA4B;AAC5B,OAAO,CAAC,GAAG,CAAC;IACV,cAAc;IACd,cAAc;IACd,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,UAAU;IACV,UAAU;IACV,WAAW;IACX,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,aAAa;IACb,aAAa;IACb,gBAAgB;IAChB,eAAe;IACf,iBAAiB;IACjB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,WAAW;IACX,sBAAsB;CACvB,CAAC,CAAC;AAEH,OAAO,EAAE,OAAO,EAAE,CAAC","sourcesContent":["/** ──────────────────────────────────────────────────────────────\n * ECharts Modular Setup — Single entry point for all chart code\n * \n * Uses modular imports exclusively (never `import * as echarts from 'echarts'`).\n * This reduces bundle from ~1MB (full) to ~300-400KB (gzipped ~100-130KB).\n * \n * echarts-for-react receives the `echarts` instance via its `echarts` prop,\n * so it never imports the full library itself.\n * ────────────────────────────────────────────────────────────── */\n\nimport * as echarts from 'echarts/core';\n\n// Renderer (Canvas for performance with large datasets)\nimport { CanvasRenderer } from 'echarts/renderers';\n\n// Opt-in features. ECharts 6 demoted `grid.containLabel` to the LEGACY\n// `LegacyGridContainLabel` feature — the full `echarts` bundle registers it\n// automatically, but a modular `echarts/core` + `use([...])` setup does NOT.\n// Every cartesian option this app builds sets `grid.containLabel: true` (so\n// long axis labels aren't clipped by the plot rect). Without this registration\n// ECharts 6 logs \"Specified `grid.containLabel` but no\n// `use(LegacyGridContainLabel)`\" and falls back to a different layout path,\n// clipping axis labels. Register it to preserve the intended containLabel\n// behavior. (Migrating every builder to `grid.outerBounds` is the forward path\n// but is a larger change; this keeps the existing contract working.)\nimport { LegacyGridContainLabel } from 'echarts/features';\n\n// Chart types — core + exotic types\nimport {\n BarChart,\n LineChart,\n PieChart,\n ScatterChart,\n FunnelChart,\n GaugeChart,\n RadarChart,\n SankeyChart,\n SunburstChart,\n TreemapChart,\n HeatmapChart,\n BoxplotChart,\n ParallelChart,\n} from 'echarts/charts';\n\n// Components\nimport {\n GridComponent,\n TooltipComponent,\n LegendComponent,\n DataZoomComponent,\n ToolboxComponent,\n TitleComponent,\n DatasetComponent,\n VisualMapComponent,\n MarkLineComponent,\n MarkPointComponent,\n ParallelComponent,\n} from 'echarts/components';\n\n// Register all used modules\necharts.use([\n CanvasRenderer,\n // Chart types\n BarChart,\n LineChart,\n PieChart,\n ScatterChart,\n FunnelChart,\n GaugeChart,\n RadarChart,\n SankeyChart,\n SunburstChart,\n TreemapChart,\n HeatmapChart,\n BoxplotChart,\n ParallelChart,\n // Components\n GridComponent,\n TooltipComponent,\n LegendComponent,\n DataZoomComponent,\n ToolboxComponent,\n TitleComponent,\n DatasetComponent,\n VisualMapComponent,\n MarkLineComponent,\n MarkPointComponent,\n ParallelComponent,\n // Features\n LegacyGridContainLabel,\n]);\n\nexport { echarts };\n\n// Re-export types that builders may need\nexport type { EChartsOption } from 'echarts';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-color-bridge.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"enum-color-bridge.d.ts","sourceRoot":"","sources":["../../../../../src/components/views/chart-view/enum-color-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;oEAgBoE;AAEpE,OAAO,EAAE,oBAAoB,EAA+C,MAAM,0BAA0B,CAAC;AAC7G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,sDAAsD;AACtD,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAgBnF;AAED,qFAAqF;AACrF,MAAM,MAAM,yBAAyB,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAAC;AAEvG;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,eAAe,EAC3B,wBAAwB,EAAE,yBAAyB,GAClD,iBAAiB,CAiCnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-color-bridge.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"enum-color-bridge.js","sourceRoot":"","sources":["../../../../../src/components/views/chart-view/enum-color-bridge.ts"],"names":[],"mappings":"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","sourcesContent":["/** ──────────────────────────────────────────────────────────────\n * Enum-color bridge — enumUI decorator colors → chart canvas colors.\n *\n * When a chart dimension is an ENUM field whose `enumUI` decorator declares\n * per-value colors (the SAME source that colors the value's BADGE — e.g.\n * `Todos_Status`: PENDING→SECONDARY, IN_PROGRESS→INFO, COMPLETED→SUCCESS,\n * CANCELLED→DESTRUCTIVE), the chart must render each slice/bar/split-series in\n * the value's semantic color, NOT an arbitrary palette-index color. Otherwise a\n * status donut shows purple/blue/green with zero relationship to the status\n * badges elsewhere in the app.\n *\n * The enum's UI decorator is the single source of truth for \"what color is this\n * value\", so this bridge resolves that decorator at RENDER time (the colors live\n * in the frontend `ui-behavior` layer, invisible to the shared `ChartDefinition`)\n * and hands the builders a per-dimension `{ value → canvas color }` map. Because\n * it resolves live CSS vars, it adapts to light/dark automatically.\n * ────────────────────────────────────────────────────────────── */\n\nimport { BadgeSemanticVariant, getEnumUI, getEnumValues, getZodObjectShape } from '@wildo-ai/zod-decorators';\nimport type { ChartDefinition } from '@wildo-ai/saas-models';\nimport type { z } from 'zod';\nimport { resolveCSSColor } from './chart-theme-bridge';\n\n/** Resolved enum→color map for a single dimension. */\nexport interface DimensionEnumColors {\n /** Per enum value → resolved canvas color. */\n values: Record<string, string>;\n /** Resolved color for the enum's `defaultColor` (values not individually mapped). */\n defaultColor?: string;\n}\n\n/**\n * Enum-derived rendering metadata for a chart's dimensions.\n *\n * - `colors[dimRef]` → the value→color map (badge coherence).\n * - `order[dimRef]` → the enum's DECLARED member order (from the Zod enum), used\n * to sort chart categories/slices by declaration order instead of the backend's\n * natural (often alphabetical) row order. Both are keyed by dimension `ref`.\n */\nexport interface DimensionEnumMeta {\n colors: Record<string, DimensionEnumColors>;\n order: Record<string, string[]>;\n}\n\n/**\n * Map a `BadgeSemanticVariant` to a resolved canvas color.\n *\n * Mirrors the badge's variant→hue mapping (presets-components `badge.tsx`\n * `VARIANT_MAP`) but resolves the SOLID status hue — a chart FILL wants the full\n * color, not the badge's subtle tint. NEUTRAL variants (`default`/`secondary`/\n * `outline`) resolve to the muted-foreground neutral token, matching the neutral\n * badge (design decision 2026-07-08: chart colors must equal badge colors, so a\n * neutral value like `pending` renders a neutral-grey slice, not a palette hue).\n *\n * Hex fallbacks are only used when the CSS var is unreadable (SSR / detached DOM);\n * they approximate the default Ocean palette so canvas never renders `undefined`.\n */\nexport function resolveEnumSemanticChartColor(variant: BadgeSemanticVariant): string {\n switch (variant) {\n case BadgeSemanticVariant.INFO:\n return resolveCSSColor('--info', '#3b82f6');\n case BadgeSemanticVariant.SUCCESS:\n return resolveCSSColor('--success', '#22c55e');\n case BadgeSemanticVariant.WARNING:\n return resolveCSSColor('--warning', '#f59e0b');\n case BadgeSemanticVariant.DESTRUCTIVE:\n return resolveCSSColor('--destructive', '#ef4444');\n case BadgeSemanticVariant.DEFAULT:\n case BadgeSemanticVariant.SECONDARY:\n case BadgeSemanticVariant.OUTLINE:\n default:\n return resolveCSSColor('--muted-foreground', '#737373');\n }\n}\n\n/** Minimal registry surface this bridge needs — a resource-config lookup by type. */\nexport type ChartResourceConfigLookup = (resourceType: string) => { mainSchema?: unknown } | undefined;\n\n/**\n * Build the per-dimension enum metadata (colors + declared order) for a chart.\n *\n * For every `dataQuery.dimensions[i]`, resolve `mainResourceType`'s decorated\n * `mainSchema` → the dimension's `field` schema → its `enumUI` (colors) and its\n * Zod enum options (`getEnumValues`, the declared member order). A dimension whose\n * field is not an enum is simply absent from both maps, so builders fall back to\n * the palette and the backend's natural row order. Keyed by dimension `ref` (the\n * same key pie `getPrimaryDimensionRef` / `series.splitByDimension` / row columns\n * use).\n */\nexport function buildDimensionEnumMeta(\n definition: ChartDefinition,\n getResourceConfiguration: ChartResourceConfigLookup,\n): DimensionEnumMeta {\n const colors: Record<string, DimensionEnumColors> = {};\n const order: Record<string, string[]> = {};\n const config = getResourceConfiguration(definition.dataQuery.mainResourceType);\n const mainSchema = config?.mainSchema as z.ZodTypeAny | undefined;\n if (!mainSchema) return { colors, order };\n\n const shape = getZodObjectShape(mainSchema);\n for (const dim of definition.dataQuery.dimensions) {\n const fieldSchema = shape[dim.field];\n if (!fieldSchema) continue;\n\n // Declared enum member order (empty for non-enum fields, e.g. dates/numbers).\n const enumValues = getEnumValues(fieldSchema);\n if (enumValues.length > 0) order[dim.ref] = enumValues;\n\n const enumUI = getEnumUI(fieldSchema);\n if (!enumUI) continue;\n\n const values: Record<string, string> = {};\n for (const [value, valueConfig] of Object.entries(enumUI.values ?? {})) {\n const variant = valueConfig?.color ?? enumUI.defaultColor;\n if (variant) values[value] = resolveEnumSemanticChartColor(variant);\n }\n const defaultColor = enumUI.defaultColor\n ? resolveEnumSemanticChartColor(enumUI.defaultColor)\n : undefined;\n\n if (Object.keys(values).length > 0 || defaultColor) {\n colors[dim.ref] = { values, defaultColor };\n }\n }\n return { colors, order };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder-utils.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"builder-utils.d.ts","sourceRoot":"","sources":["../../../../../../src/components/views/chart-view/option-builder/builder-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder-utils.js","sourceRoot":"","sources":["../../../../../../../src/components/views/chart-view/option-builder/builder-utils.ts"],"names":[],"mappings":"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","sourcesContent":["/** ──────────────────────────────────────────────────────────────\n * Builder Utilities — shared helpers for option builders\n * ────────────────────────────────────────────────────────────── */\n\nimport { AggregateFunction, TimeGranularity } from '@wildo-ai/saas-models';\nimport type { ChartBuildContext, ChartI18nResolver } from './chart-type-builder.interface';\nimport type { ChartSeriesDefinition, AggregationQueryResponseRow } from '@wildo-ai/saas-models';\nimport type { ChartStylePreset } from '@wildo-ai/presets-components-models';\nimport type { DimensionEnumColors } from '~wildo-frontend-lib/components/views/chart-view/enum-color-bridge';\n\n// ── Data Extraction ──────────────────────────────────────────\n\n/** Get the first dimension ref from the chart definition */\nexport function getPrimaryDimensionRef(ctx: ChartBuildContext): string {\n return ctx.definition.dataQuery.dimensions[0]?.ref ?? '';\n}\n\n/** Extract dimension values (x-axis categories) from response data */\nexport function extractDimensionValues(data: AggregationQueryResponseRow[], dimensionRef: string): unknown[] {\n return data.map(row => row[dimensionRef]);\n}\n\n/** Extract measure values from response data */\n/**\n * Measure values for an axis-based series (bar/line/composed), preserving MISSING\n * values as `null` rather than collapsing them to `0`. A genuinely-absent measure\n * cell renders as a line gap / no bar; a real `0` renders as a zero-height bar —\n * coercing both to `0` masked backend gaps as if the value were truly zero. Only\n * used by axis families (ECharts accepts `null` there); proportional charts\n * (pie/gauge/…) keep their own numeric coercion.\n */\nexport function extractMeasureValues(data: AggregationQueryResponseRow[], measureRef: string): (number | null)[] {\n return data.map(row => {\n const val = row[measureRef];\n if (val == null) {\n return null;\n }\n const num = typeof val === 'number' ? val : Number(val);\n return Number.isFinite(num) ? num : null;\n });\n}\n\n// ── Color Resolution ─────────────────────────────────────────\n\n/** Resolve series color: explicit style → palette index */\nexport function resolveSeriesColor(\n series: ChartSeriesDefinition,\n index: number,\n palette: string[],\n): string {\n return series.style?.color ?? palette[index % palette.length];\n}\n\n// ── Enum-Order Row Sorting ───────────────────────────────────\n\n/**\n * Stable-sort aggregation rows by a dimension's DECLARED enum order (from the\n * Zod enum), so chart categories/slices follow declaration order (e.g. LOW →\n * MEDIUM → HIGH → URGENT) instead of the backend's natural (often alphabetical)\n * row order. Applied once at the data boundary so EVERY family (pie/bar/line)\n * inherits the order — axis and per-series data both derive from these rows, so\n * they stay aligned for free.\n *\n * Values absent from `order` (unexpected / not in the enum) sort AFTER the\n * ordered ones, keeping their original relative position (stable). Non-mutating.\n */\nexport function sortRowsByDimensionOrder(\n rows: AggregationQueryResponseRow[],\n dimensionRef: string,\n order: string[],\n): AggregationQueryResponseRow[] {\n const indexOf = new Map(order.map((value, i) => [value, i]));\n return rows\n .map((row, originalIndex) => ({ row, originalIndex }))\n .sort((a, b) => {\n const ai = indexOf.get(String(a.row[dimensionRef])) ?? Infinity;\n const bi = indexOf.get(String(b.row[dimensionRef])) ?? Infinity;\n return ai !== bi ? ai - bi : a.originalIndex - b.originalIndex;\n })\n .map(({ row }) => row);\n}\n\n// ── Split By Dimension ───────────────────────────────────────\n\n/** Get unique values for a split-by dimension from the data */\nexport function getSplitValues(\n data: AggregationQueryResponseRow[],\n splitDimensionRef: string,\n series: ChartSeriesDefinition,\n): string[] {\n const valuesSet = new Set<string>();\n for (const row of data) {\n const val = row[splitDimensionRef];\n if (val != null) valuesSet.add(String(val));\n }\n let values = Array.from(valuesSet);\n\n // Apply exclude\n if (series.splitConfig?.exclude) {\n const excludeSet = new Set(series.splitConfig.exclude);\n values = values.filter(v => !excludeSet.has(v));\n }\n\n // Apply explicit order\n if (series.splitConfig?.order) {\n const orderMap = new Map(series.splitConfig.order.map((v, i) => [v, i]));\n values.sort((a, b) => {\n const aIdx = orderMap.get(a) ?? Infinity;\n const bIdx = orderMap.get(b) ?? Infinity;\n if (aIdx === bIdx) return a.localeCompare(b);\n return aIdx - bIdx;\n });\n }\n\n return values;\n}\n\n/**\n * Resolve color for a split/dimension value.\n *\n * Precedence: explicit author `splitConfig.colorMap[value]` → the value's\n * `enumUI` semantic color (`enumColors`, when the dimension is an enum) →\n * palette-index fallback. The enum tier is what keeps chart colors coherent with\n * the value's badge; it sits BELOW an explicit colorMap so authors can still\n * override, and ABOVE the palette so non-overridden enum values stop cycling\n * arbitrary hues. See `enum-color-bridge.ts`.\n */\nexport function resolveSplitColor(\n splitValue: string,\n splitIndex: number,\n series: ChartSeriesDefinition,\n palette: string[],\n enumColors?: DimensionEnumColors,\n): string {\n return series.splitConfig?.colorMap?.[splitValue]\n ?? enumColors?.values[splitValue]\n ?? enumColors?.defaultColor\n ?? palette[splitIndex % palette.length];\n}\n\n/**\n * Resolve label for a split value.\n * \n * Resolution order:\n * 1. chart-level i18n.splitValueKeys (via i18n resolver)\n * 2. series.splitConfig.labelMap\n * 3. raw split value\n */\nexport function resolveSplitLabel(\n splitValue: string,\n series: ChartSeriesDefinition,\n ctx?: ChartBuildContext,\n): string {\n // Try i18n key resolution first\n if (ctx?.definition.i18n?.splitValueKeys) {\n const i18nKey = ctx.definition.i18n.splitValueKeys[splitValue];\n if (i18nKey) {\n const resolved = ctx.t(i18nKey);\n if (resolved !== i18nKey) return resolved;\n }\n }\n return series.splitConfig?.labelMap?.[splitValue] ?? splitValue;\n}\n\n/**\n * Resolve series display name.\n * \n * Resolution order:\n * 1. series.nameKey (via i18n resolver)\n * 2. series.name (static fallback)\n */\nexport function resolveSeriesName(\n series: ChartSeriesDefinition,\n t?: ChartI18nResolver,\n): string {\n if (series.nameKey && t) {\n const resolved = t(series.nameKey);\n if (resolved !== series.nameKey) return resolved;\n }\n return series.name;\n}\n\n// ── Axis Builders ────────────────────────────────────────────\n\n/** Build a standard category X axis from dimension values */\nexport function buildCategoryXAxis(\n data: AggregationQueryResponseRow[],\n dimensionRef: string,\n preset?: ChartStylePreset,\n): Record<string, unknown> {\n return {\n type: 'category',\n data: extractDimensionValues(data, dimensionRef),\n axisLabel: { hideOverlap: preset?.axis.hideOverlap ?? true },\n };\n}\n\n/**\n * Whether every measure plotted by the given series is an integer-valued\n * aggregate (COUNT / COUNT_DISTINCT). ECharts' default value-axis picks \"nice\"\n * fractional intervals (0.5, 0.2, …) from the data range — meaningless ticks\n * for cardinality data. Axis-family builders use this to clamp the value axis\n * to whole-number intervals. A mixed chart (e.g. COUNT + AVG on one axis) stays\n * on the default behavior because fractional ticks are legitimate there.\n */\nexport function areAllSeriesMeasuresIntegerValued(\n ctx: ChartBuildContext,\n seriesDefs: ChartSeriesDefinition[],\n): boolean {\n if (seriesDefs.length === 0) {\n return false;\n }\n const measuresByRef = new Map(\n ctx.definition.dataQuery.measures.map((measure) => [measure.ref, measure]),\n );\n return seriesDefs.every((series) => {\n const aggregate = measuresByRef.get(series.measureRef)?.aggregate;\n return aggregate === AggregateFunction.COUNT || aggregate === AggregateFunction.COUNT_DISTINCT;\n });\n}\n\n/**\n * Build a standard value Y axis.\n *\n * `integerValued` clamps tick generation to whole numbers (`minInterval: 1`) —\n * pass the result of {@link areAllSeriesMeasuresIntegerValued} so COUNT-style\n * charts never render fractional gridline labels. `minInterval` (not\n * `interval: 1`) is deliberate: large ranges may still step by 5/10/…, only\n * sub-integer steps are forbidden.\n */\nexport function buildValueYAxis(\n label?: string,\n preset?: ChartStylePreset,\n options?: { integerValued?: boolean },\n): Record<string, unknown> {\n return {\n type: 'value',\n name: label,\n nameLocation: preset?.axis.yAxisNameLocation ?? 'middle',\n nameGap: preset?.axis.yAxisNameGap ?? 50,\n ...(options?.integerValued ? { minInterval: 1 } : {}),\n };\n}\n\n// ── Time-Axis Labelling (timezone-correct) ───────────────────\n\n/**\n * The timezone the backend actually bucketed in, from the aggregation response\n * meta. Falls back to `'UTC'` when absent (older/edge responses) so callers\n * never format against `undefined`.\n *\n * Time buckets are absolute UTC instants at the resolved-timezone's boundaries\n * (e.g. a New York DAY bucket is the UTC instant of local midnight). They MUST\n * be formatted in this timezone — an ECharts `type: 'time'` axis re-parses the\n * instant in the BROWSER's timezone, so the same bucket would show a different\n * calendar day per viewer. This is why the time families render a category axis\n * of pre-formatted labels instead.\n */\nexport function getResolvedTimezone(ctx: ChartBuildContext): string {\n return ctx.response.queryMeta?.resolvedTimezone ?? 'UTC';\n}\n\n/**\n * Format a time bucket to a stable, timezone-correct label for the given\n * granularity. Uses `Intl.DateTimeFormat` with an explicit `timeZone` (the only\n * zero-dependency primitive available) and reads numeric parts, so the output\n * is locale-independent (`YYYY-MM-DD`, `YYYY-MM`, `YYYY-Qn`, `YYYY`, or\n * `YYYY-MM-DD HH:mm`). Non-date input is returned stringified as a last resort.\n */\nexport function formatTimeBucketLabel(\n value: unknown,\n granularity: TimeGranularity | undefined,\n timezone: string,\n): string {\n // Guard null/undefined explicitly: `new Date(null)` is epoch 0 (a VALID date),\n // which would mislabel a missing bucket as \"1970-01-01\" instead of blank. Time\n // buckets are never null in practice, but bar/composed pass raw values here.\n if (value == null) return '';\n const date = value instanceof Date ? value : new Date(value as string | number);\n if (isNaN(date.getTime())) return String(value);\n\n const tz = timezone || 'UTC';\n const parts = new Intl.DateTimeFormat('en-US', {\n timeZone: tz,\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n hourCycle: 'h23',\n }).formatToParts(date);\n const get = (t: string): string => parts.find(p => p.type === t)?.value ?? '';\n const y = get('year');\n const mo = get('month');\n const d = get('day');\n const h = get('hour');\n const mi = get('minute');\n\n switch (granularity) {\n case TimeGranularity.YEAR:\n return y;\n case TimeGranularity.QUARTER:\n return `${y}-Q${Math.floor((Number(mo) - 1) / 3) + 1}`;\n case TimeGranularity.MONTH:\n return `${y}-${mo}`;\n case TimeGranularity.HOUR:\n return `${y}-${mo}-${d} ${h}:00`;\n case TimeGranularity.MINUTE:\n return `${y}-${mo}-${d} ${h}:${mi}`;\n case TimeGranularity.WEEK:\n case TimeGranularity.DAY:\n default:\n return `${y}-${mo}-${d}`;\n }\n}\n\n/**\n * Locale-driven DISPLAY formatter for DAY/WEEK time-bucket axis labels.\n *\n * The deterministic `YYYY-MM-DD` string from {@link formatTimeBucketLabel} stays\n * the category KEY — every alignment concern (series↔axis index alignment,\n * scatter's by-name category matching, tooltips, dedup) keeps keying on it.\n * This formatter is applied ONLY at `axisLabel.formatter`, re-rendering the key\n * as a compact, locale-driven label (`Aug 14` / `14 août`) purely for display.\n * `Intl.DateTimeFormat(undefined, …)` deliberately uses the browser locale: the\n * option builder runs outside the I18n React context, and the browser locale is\n * the same signal the engine's `DateFormat.LOCALE_DEFAULT` display fallback\n * family resolves to when no regional preference is expressed.\n *\n * Returns `undefined` for every other granularity — their deterministic labels\n * are already the right display shape (`2026-08`, `2026-Q3`, `2026`,\n * `2026-08-14 13:00`), and MONTH/HOUR/MINUTE would need different part sets.\n *\n * The parts are formatted with `timeZone: 'UTC'` on a UTC-midnight date built\n * from the label's own fields: the label already encodes the resolved-timezone\n * calendar date, so re-rendering its FIELDS must not shift the day again in\n * negative-offset browser timezones. A label that does not match `YYYY-MM-DD`\n * (defensive) is returned unchanged.\n */\nexport function buildTimeAxisLabelDisplayFormatter(\n granularity: TimeGranularity | undefined,\n): ((label: string) => string) | undefined {\n if (granularity !== TimeGranularity.DAY && granularity !== TimeGranularity.WEEK) {\n return undefined;\n }\n const display = new Intl.DateTimeFormat(undefined, { month: 'short', day: 'numeric', timeZone: 'UTC' });\n return (label: string): string => {\n const match = /^(\\d{4})-(\\d{2})-(\\d{2})$/.exec(label);\n if (!match) return label;\n return display.format(new Date(Date.UTC(Number(match[1]), Number(match[2]) - 1, Number(match[3]))));\n };\n}\n\n/**\n * Ordered, de-duplicated raw bucket instants from the response, in row order\n * (the backend sorts ascending by the time dimension). These are the alignment\n * keys for time-series values; the display axis is their formatted labels.\n * Deduping is keyed on the RAW instant (not the formatted label) so distinct\n * buckets that format identically at a coarse granularity are never collapsed.\n */\nexport function getUniqueTimeBuckets(data: AggregationQueryResponseRow[], dimensionRef: string): string[] {\n const seen = new Set<string>();\n const ordered: string[] = [];\n for (const row of data) {\n const raw = row[dimensionRef];\n if (raw == null) continue;\n const key = raw instanceof Date ? raw.toISOString() : String(raw);\n if (seen.has(key)) continue;\n seen.add(key);\n ordered.push(key);\n }\n return ordered;\n}\n\n/**\n * Build a time X axis as a CATEGORY axis of timezone-correct formatted labels\n * (one per unique bucket, in backend sort order). Category — not ECharts\n * `type: 'time'` — because ECharts has no per-axis timeZone and would re-parse\n * the UTC bucket instants in the browser's timezone; buckets are already\n * discretized server-side, so a continuous time scale buys nothing. Series data\n * align to these categories by index (see {@link getUniqueTimeBuckets}).\n */\nexport function buildTimeCategoryXAxis(\n data: AggregationQueryResponseRow[],\n dimensionRef: string,\n granularity: TimeGranularity | undefined,\n timezone: string,\n preset?: ChartStylePreset,\n): Record<string, unknown> {\n const buckets = getUniqueTimeBuckets(data, dimensionRef);\n const displayFormatter = buildTimeAxisLabelDisplayFormatter(granularity);\n return {\n type: 'category',\n data: buckets.map(b => formatTimeBucketLabel(b, granularity, timezone)),\n axisLabel: {\n hideOverlap: preset?.axis.hideOverlap ?? true,\n // Display-only re-rendering of the deterministic bucket key (DAY/WEEK →\n // locale-driven \"Aug 14\"); see buildTimeAxisLabelDisplayFormatter.\n ...(displayFormatter ? { formatter: displayFormatter } : {}),\n },\n };\n}\n\n// ── Densified Row Detection ──────────────────────────────────\n\n/** Check if a row was generated by the TimeSeriesDensifier */\nexport function isFilledRow(row: AggregationQueryResponseRow): boolean {\n return !!(row as any)._filled;\n}\n\n/** Check if any rows in the dataset are densified */\nexport function hasDensifiedRows(data: AggregationQueryResponseRow[]): boolean {\n return data.some(isFilledRow);\n}\n\n// ── Responsive Media ─────────────────────────────────────────\n\n/**\n * Build responsive media queries for ECharts (from preset or defaults).\n *\n * @param hasCartesianAxes Whether the target chart actually declares an\n * `xAxis`/`yAxis` (bar, line, scatter, …). This MUST be false for\n * non-cartesian families (pie/donut, funnel, gauge, radar, sankey, …).\n *\n * The `xAxis` axis-label override below is a CARTESIAN-only responsive tweak.\n * Injecting it into a chart that has no base axes makes ECharts materialize an\n * ORPHAN `xAxis` component (an x-axis with no paired y-axis → no cartesian\n * coordinate system). Its `CartesianAxisView.render` then dereferences\n * `axis.axisBuilder.group` while `axisBuilder` was never built by the (absent)\n * grid resize → `TypeError: Cannot read properties of undefined (reading\n * 'group')`. The chart renders no canvas, and because the throw happens inside\n * ECharts' shared animation frame it can cascade to sibling chart instances\n * mounted in the same commit (a donut on a page also killed the neighbouring\n * bar + line). Reproduced live against ECharts 6.0.0. So the axis override is\n * emitted ONLY when the chart is cartesian; the width-responsive `legend`\n * behavior still applies to every family.\n *\n * @param compensatesPieLabelsOnSmall Pie/donut only. Hiding the legend under\n * `smallMaxWidth` removes the ONLY affordance that names small slices once\n * outside labels start colliding — the base option's `labelLayout.hideOverlap`\n * then (correctly) drops labels, and a tiny donut could end up naming nothing.\n * With this flag, the same small media entry that hides the legend moves the\n * slice labels INSIDE the slices as percent-only (`{d}%`, no leader lines):\n * compact enough to survive a small container, while the tooltip still names\n * each slice. ECharts recomputes media matches per resize, so growing past\n * `smallMaxWidth` restores the base outside labels automatically. Applies to\n * the FIRST series only (`series: [{…}]` index merge) — pie/donut builds\n * exactly one series. Never set for other families: an `option.series` patch\n * indexed at 0 would restyle an arbitrary series of a multi-series chart.\n */\nexport function buildResponsiveMedia(\n preset: ChartStylePreset | undefined,\n hasCartesianAxes: boolean,\n compensatesPieLabelsOnSmall: boolean = false,\n): unknown[] {\n const r = preset?.responsive;\n const smallMax = r?.smallMaxWidth ?? 400;\n const mediumMax = r?.mediumMaxWidth ?? 799;\n const sg = r?.smallGridPadding ?? { top: 20, right: 10, bottom: 20, left: 30 };\n const mg = r?.mediumGridPadding ?? { left: 50, right: 20, bottom: 40 };\n const hidesLegendOnSmall = r?.hideLegendOnSmall ?? true;\n\n return [\n {\n query: { maxWidth: smallMax },\n option: {\n legend: { show: !hidesLegendOnSmall },\n ...(hasCartesianAxes\n ? { grid: sg, xAxis: { axisLabel: { rotate: r?.smallAxisLabelRotate ?? 45, fontSize: r?.smallFontSize ?? 10 } } }\n : {}),\n // Legend-hidden compensation for pie/donut (see JSDoc): inside\n // percent-only labels, leader lines off. Only when the legend is\n // genuinely hidden at this width — a visible legend already names slices.\n ...(compensatesPieLabelsOnSmall && hidesLegendOnSmall\n ? { series: [{ label: { position: 'inside', formatter: '{d}%' }, labelLine: { show: false } }] }\n : {}),\n },\n },\n {\n query: { minWidth: smallMax, maxWidth: mediumMax },\n option: {\n legend: { orient: 'horizontal', bottom: 0 },\n ...(hasCartesianAxes\n ? { grid: mg, xAxis: { axisLabel: { fontSize: r?.mediumFontSize ?? 11 } } }\n : {}),\n },\n },\n ];\n}\n\n// ── Common Series Style ──────────────────────────────────────\n\n/** Apply ChartSeriesStyle to an ECharts series item */\nexport function applySeriesStyle(\n echartsSeriesItem: Record<string, unknown>,\n seriesDef: ChartSeriesDefinition,\n): void {\n const style = seriesDef.style;\n if (!style) return;\n\n if (style.lineWidth != null) {\n echartsSeriesItem.lineStyle = { ...(echartsSeriesItem.lineStyle as Record<string, unknown> || {}), width: style.lineWidth };\n }\n if (style.lineType) {\n echartsSeriesItem.lineStyle = { ...(echartsSeriesItem.lineStyle as Record<string, unknown> || {}), type: style.lineType };\n }\n if (style.areaOpacity != null) {\n echartsSeriesItem.areaStyle = { opacity: style.areaOpacity };\n }\n if (style.smooth != null) {\n echartsSeriesItem.smooth = style.smooth;\n }\n if (style.barWidth != null) {\n echartsSeriesItem.barWidth = style.barWidth;\n }\n if (style.opacity != null) {\n echartsSeriesItem.opacity = style.opacity;\n }\n if (style.pointSize != null) {\n echartsSeriesItem.symbolSize = style.pointSize;\n if (style.pointSize === 0) {\n echartsSeriesItem.showSymbol = false;\n }\n }\n if (style.pointShape) {\n echartsSeriesItem.symbol = style.pointShape;\n }\n\n // ── Universal properties ──\n\n if (style.connectNulls != null) {\n echartsSeriesItem.connectNulls = style.connectNulls;\n }\n if (style.step) {\n echartsSeriesItem.step = style.step;\n }\n if (style.showLabel != null || style.labelPosition || style.labelFormatter) {\n echartsSeriesItem.label = {\n ...(echartsSeriesItem.label as Record<string, unknown> || {}),\n ...(style.showLabel != null ? { show: style.showLabel } : {}),\n ...(style.labelPosition ? { position: style.labelPosition } : {}),\n ...(style.labelFormatter ? { formatter: style.labelFormatter } : {}),\n };\n }\n if (style.emphasisScale != null) {\n echartsSeriesItem.emphasis = {\n ...(echartsSeriesItem.emphasis as Record<string, unknown> || {}),\n scale: style.emphasisScale,\n };\n }\n\n // ── Mark Lines ──\n if (style.markLines?.length) {\n echartsSeriesItem.markLine = {\n silent: true,\n data: style.markLines.map(ml => {\n if (ml.type) {\n return {\n type: ml.type,\n ...(ml.label ? { label: { formatter: ml.label } } : {}),\n ...(ml.color ? { lineStyle: { color: ml.color, type: ml.lineType ?? 'dashed' } } : { lineStyle: { type: ml.lineType ?? 'dashed' } }),\n };\n }\n // Custom value line\n const lineData: Record<string, unknown> = {};\n if (ml.yValue != null) lineData.yAxis = ml.yValue;\n if (ml.xValue != null) lineData.xAxis = ml.xValue;\n if (ml.label) lineData.label = { formatter: ml.label };\n lineData.lineStyle = { color: ml.color, type: ml.lineType ?? 'dashed' };\n return lineData;\n }),\n };\n }\n\n // ── Mark Points ──\n if (style.markPoints?.length) {\n echartsSeriesItem.markPoint = {\n data: style.markPoints.map(mp => ({\n ...(mp.type ? { type: mp.type } : {}),\n ...(mp.label ? { label: { formatter: mp.label } } : {}),\n ...(mp.symbol ? { symbol: mp.symbol } : {}),\n ...(mp.symbolSize ? { symbolSize: mp.symbolSize } : {}),\n })),\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"builder-utils.js","sourceRoot":"","sources":["../../../../../../src/components/views/chart-view/option-builder/builder-utils.ts"],"names":[],"mappings":"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","sourcesContent":["/** ──────────────────────────────────────────────────────────────\n * Builder Utilities — shared helpers for option builders\n * ────────────────────────────────────────────────────────────── */\n\nimport { AggregateFunction, TimeGranularity } from '@wildo-ai/saas-models';\nimport type { ChartBuildContext, ChartI18nResolver } from './chart-type-builder.interface';\nimport type { ChartSeriesDefinition, AggregationQueryResponseRow } from '@wildo-ai/saas-models';\nimport type { ChartStylePreset } from '@wildo-ai/presets-components-models';\nimport type { DimensionEnumColors } from '~wildo-frontend-lib/components/views/chart-view/enum-color-bridge';\n\n// ── Data Extraction ──────────────────────────────────────────\n\n/** Get the first dimension ref from the chart definition */\nexport function getPrimaryDimensionRef(ctx: ChartBuildContext): string {\n return ctx.definition.dataQuery.dimensions[0]?.ref ?? '';\n}\n\n/** Extract dimension values (x-axis categories) from response data */\nexport function extractDimensionValues(data: AggregationQueryResponseRow[], dimensionRef: string): unknown[] {\n return data.map(row => row[dimensionRef]);\n}\n\n/** Extract measure values from response data */\n/**\n * Measure values for an axis-based series (bar/line/composed), preserving MISSING\n * values as `null` rather than collapsing them to `0`. A genuinely-absent measure\n * cell renders as a line gap / no bar; a real `0` renders as a zero-height bar —\n * coercing both to `0` masked backend gaps as if the value were truly zero. Only\n * used by axis families (ECharts accepts `null` there); proportional charts\n * (pie/gauge/…) keep their own numeric coercion.\n */\nexport function extractMeasureValues(data: AggregationQueryResponseRow[], measureRef: string): (number | null)[] {\n return data.map(row => {\n const val = row[measureRef];\n if (val == null) {\n return null;\n }\n const num = typeof val === 'number' ? val : Number(val);\n return Number.isFinite(num) ? num : null;\n });\n}\n\n// ── Color Resolution ─────────────────────────────────────────\n\n/** Resolve series color: explicit style → palette index */\nexport function resolveSeriesColor(\n series: ChartSeriesDefinition,\n index: number,\n palette: string[],\n): string {\n return series.style?.color ?? palette[index % palette.length];\n}\n\n// ── Enum-Order Row Sorting ───────────────────────────────────\n\n/**\n * Stable-sort aggregation rows by a dimension's DECLARED enum order (from the\n * Zod enum), so chart categories/slices follow declaration order (e.g. LOW →\n * MEDIUM → HIGH → URGENT) instead of the backend's natural (often alphabetical)\n * row order. Applied once at the data boundary so EVERY family (pie/bar/line)\n * inherits the order — axis and per-series data both derive from these rows, so\n * they stay aligned for free.\n *\n * Values absent from `order` (unexpected / not in the enum) sort AFTER the\n * ordered ones, keeping their original relative position (stable). Non-mutating.\n */\nexport function sortRowsByDimensionOrder(\n rows: AggregationQueryResponseRow[],\n dimensionRef: string,\n order: string[],\n): AggregationQueryResponseRow[] {\n const indexOf = new Map(order.map((value, i) => [value, i]));\n return rows\n .map((row, originalIndex) => ({ row, originalIndex }))\n .sort((a, b) => {\n const ai = indexOf.get(String(a.row[dimensionRef])) ?? Infinity;\n const bi = indexOf.get(String(b.row[dimensionRef])) ?? Infinity;\n return ai !== bi ? ai - bi : a.originalIndex - b.originalIndex;\n })\n .map(({ row }) => row);\n}\n\n// ── Split By Dimension ───────────────────────────────────────\n\n/** Get unique values for a split-by dimension from the data */\nexport function getSplitValues(\n data: AggregationQueryResponseRow[],\n splitDimensionRef: string,\n series: ChartSeriesDefinition,\n): string[] {\n const valuesSet = new Set<string>();\n for (const row of data) {\n const val = row[splitDimensionRef];\n if (val != null) valuesSet.add(String(val));\n }\n let values = Array.from(valuesSet);\n\n // Apply exclude\n if (series.splitConfig?.exclude) {\n const excludeSet = new Set(series.splitConfig.exclude);\n values = values.filter(v => !excludeSet.has(v));\n }\n\n // Apply explicit order\n if (series.splitConfig?.order) {\n const orderMap = new Map(series.splitConfig.order.map((v, i) => [v, i]));\n values.sort((a, b) => {\n const aIdx = orderMap.get(a) ?? Infinity;\n const bIdx = orderMap.get(b) ?? Infinity;\n if (aIdx === bIdx) return a.localeCompare(b);\n return aIdx - bIdx;\n });\n }\n\n return values;\n}\n\n/**\n * Resolve color for a split/dimension value.\n *\n * Precedence: explicit author `splitConfig.colorMap[value]` → the value's\n * `enumUI` semantic color (`enumColors`, when the dimension is an enum) →\n * palette-index fallback. The enum tier is what keeps chart colors coherent with\n * the value's badge; it sits BELOW an explicit colorMap so authors can still\n * override, and ABOVE the palette so non-overridden enum values stop cycling\n * arbitrary hues. See `enum-color-bridge.ts`.\n */\nexport function resolveSplitColor(\n splitValue: string,\n splitIndex: number,\n series: ChartSeriesDefinition,\n palette: string[],\n enumColors?: DimensionEnumColors,\n): string {\n return series.splitConfig?.colorMap?.[splitValue]\n ?? enumColors?.values[splitValue]\n ?? enumColors?.defaultColor\n ?? palette[splitIndex % palette.length];\n}\n\n/**\n * Resolve label for a split value.\n * \n * Resolution order:\n * 1. chart-level i18n.splitValueKeys (via i18n resolver)\n * 2. series.splitConfig.labelMap\n * 3. raw split value\n */\nexport function resolveSplitLabel(\n splitValue: string,\n series: ChartSeriesDefinition,\n ctx?: ChartBuildContext,\n): string {\n // Try i18n key resolution first\n if (ctx?.definition.i18n?.splitValueKeys) {\n const i18nKey = ctx.definition.i18n.splitValueKeys[splitValue];\n if (i18nKey) {\n const resolved = ctx.t(i18nKey);\n if (resolved !== i18nKey) return resolved;\n }\n }\n return series.splitConfig?.labelMap?.[splitValue] ?? splitValue;\n}\n\n/**\n * Resolve series display name.\n * \n * Resolution order:\n * 1. series.nameKey (via i18n resolver)\n * 2. series.name (static fallback)\n */\nexport function resolveSeriesName(\n series: ChartSeriesDefinition,\n t?: ChartI18nResolver,\n): string {\n if (series.nameKey && t) {\n const resolved = t(series.nameKey);\n if (resolved !== series.nameKey) return resolved;\n }\n return series.name;\n}\n\n// ── Axis Builders ────────────────────────────────────────────\n\n/** Build a standard category X axis from dimension values */\nexport function buildCategoryXAxis(\n data: AggregationQueryResponseRow[],\n dimensionRef: string,\n preset?: ChartStylePreset,\n): Record<string, unknown> {\n return {\n type: 'category',\n data: extractDimensionValues(data, dimensionRef),\n axisLabel: { hideOverlap: preset?.axis.hideOverlap ?? true },\n };\n}\n\n/**\n * Whether every measure plotted by the given series is an integer-valued\n * aggregate (COUNT / COUNT_DISTINCT). ECharts' default value-axis picks \"nice\"\n * fractional intervals (0.5, 0.2, …) from the data range — meaningless ticks\n * for cardinality data. Axis-family builders use this to clamp the value axis\n * to whole-number intervals. A mixed chart (e.g. COUNT + AVG on one axis) stays\n * on the default behavior because fractional ticks are legitimate there.\n */\nexport function areAllSeriesMeasuresIntegerValued(\n ctx: ChartBuildContext,\n seriesDefs: ChartSeriesDefinition[],\n): boolean {\n if (seriesDefs.length === 0) {\n return false;\n }\n const measuresByRef = new Map(\n ctx.definition.dataQuery.measures.map((measure) => [measure.ref, measure]),\n );\n return seriesDefs.every((series) => {\n const aggregate = measuresByRef.get(series.measureRef)?.aggregate;\n return aggregate === AggregateFunction.COUNT || aggregate === AggregateFunction.COUNT_DISTINCT;\n });\n}\n\n/**\n * Build a standard value Y axis.\n *\n * `integerValued` clamps tick generation to whole numbers (`minInterval: 1`) —\n * pass the result of {@link areAllSeriesMeasuresIntegerValued} so COUNT-style\n * charts never render fractional gridline labels. `minInterval` (not\n * `interval: 1`) is deliberate: large ranges may still step by 5/10/…, only\n * sub-integer steps are forbidden.\n */\nexport function buildValueYAxis(\n label?: string,\n preset?: ChartStylePreset,\n options?: { integerValued?: boolean },\n): Record<string, unknown> {\n return {\n type: 'value',\n name: label,\n nameLocation: preset?.axis.yAxisNameLocation ?? 'middle',\n nameGap: preset?.axis.yAxisNameGap ?? 50,\n ...(options?.integerValued ? { minInterval: 1 } : {}),\n };\n}\n\n// ── Time-Axis Labelling (timezone-correct) ───────────────────\n\n/**\n * The timezone the backend actually bucketed in, from the aggregation response\n * meta. Falls back to `'UTC'` when absent (older/edge responses) so callers\n * never format against `undefined`.\n *\n * Time buckets are absolute UTC instants at the resolved-timezone's boundaries\n * (e.g. a New York DAY bucket is the UTC instant of local midnight). They MUST\n * be formatted in this timezone — an ECharts `type: 'time'` axis re-parses the\n * instant in the BROWSER's timezone, so the same bucket would show a different\n * calendar day per viewer. This is why the time families render a category axis\n * of pre-formatted labels instead.\n */\nexport function getResolvedTimezone(ctx: ChartBuildContext): string {\n return ctx.response.queryMeta?.resolvedTimezone ?? 'UTC';\n}\n\n/**\n * Format a time bucket to a stable, timezone-correct label for the given\n * granularity. Uses `Intl.DateTimeFormat` with an explicit `timeZone` (the only\n * zero-dependency primitive available) and reads numeric parts, so the output\n * is locale-independent (`YYYY-MM-DD`, `YYYY-MM`, `YYYY-Qn`, `YYYY`, or\n * `YYYY-MM-DD HH:mm`). Non-date input is returned stringified as a last resort.\n */\nexport function formatTimeBucketLabel(\n value: unknown,\n granularity: TimeGranularity | undefined,\n timezone: string,\n): string {\n // Guard null/undefined explicitly: `new Date(null)` is epoch 0 (a VALID date),\n // which would mislabel a missing bucket as \"1970-01-01\" instead of blank. Time\n // buckets are never null in practice, but bar/composed pass raw values here.\n if (value == null) return '';\n const date = value instanceof Date ? value : new Date(value as string | number);\n if (isNaN(date.getTime())) return String(value);\n\n const tz = timezone || 'UTC';\n const parts = new Intl.DateTimeFormat('en-US', {\n timeZone: tz,\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n hourCycle: 'h23',\n }).formatToParts(date);\n const get = (t: string): string => parts.find(p => p.type === t)?.value ?? '';\n const y = get('year');\n const mo = get('month');\n const d = get('day');\n const h = get('hour');\n const mi = get('minute');\n\n switch (granularity) {\n case TimeGranularity.YEAR:\n return y;\n case TimeGranularity.QUARTER:\n return `${y}-Q${Math.floor((Number(mo) - 1) / 3) + 1}`;\n case TimeGranularity.MONTH:\n return `${y}-${mo}`;\n case TimeGranularity.HOUR:\n return `${y}-${mo}-${d} ${h}:00`;\n case TimeGranularity.MINUTE:\n return `${y}-${mo}-${d} ${h}:${mi}`;\n case TimeGranularity.WEEK:\n case TimeGranularity.DAY:\n default:\n return `${y}-${mo}-${d}`;\n }\n}\n\n/**\n * Locale-driven DISPLAY formatter for DAY/WEEK time-bucket axis labels.\n *\n * The deterministic `YYYY-MM-DD` string from {@link formatTimeBucketLabel} stays\n * the category KEY — every alignment concern (series↔axis index alignment,\n * scatter's by-name category matching, tooltips, dedup) keeps keying on it.\n * This formatter is applied ONLY at `axisLabel.formatter`, re-rendering the key\n * as a compact, locale-driven label (`Aug 14` / `14 août`) purely for display.\n * `Intl.DateTimeFormat(undefined, …)` deliberately uses the browser locale: the\n * option builder runs outside the I18n React context, and the browser locale is\n * the same signal the engine's `DateFormat.LOCALE_DEFAULT` display fallback\n * family resolves to when no regional preference is expressed.\n *\n * Returns `undefined` for every other granularity — their deterministic labels\n * are already the right display shape (`2026-08`, `2026-Q3`, `2026`,\n * `2026-08-14 13:00`), and MONTH/HOUR/MINUTE would need different part sets.\n *\n * The parts are formatted with `timeZone: 'UTC'` on a UTC-midnight date built\n * from the label's own fields: the label already encodes the resolved-timezone\n * calendar date, so re-rendering its FIELDS must not shift the day again in\n * negative-offset browser timezones. A label that does not match `YYYY-MM-DD`\n * (defensive) is returned unchanged.\n */\nexport function buildTimeAxisLabelDisplayFormatter(\n granularity: TimeGranularity | undefined,\n): ((label: string) => string) | undefined {\n if (granularity !== TimeGranularity.DAY && granularity !== TimeGranularity.WEEK) {\n return undefined;\n }\n const display = new Intl.DateTimeFormat(undefined, { month: 'short', day: 'numeric', timeZone: 'UTC' });\n return (label: string): string => {\n const match = /^(\\d{4})-(\\d{2})-(\\d{2})$/.exec(label);\n if (!match) return label;\n return display.format(new Date(Date.UTC(Number(match[1]), Number(match[2]) - 1, Number(match[3]))));\n };\n}\n\n/**\n * Ordered, de-duplicated raw bucket instants from the response, in row order\n * (the backend sorts ascending by the time dimension). These are the alignment\n * keys for time-series values; the display axis is their formatted labels.\n * Deduping is keyed on the RAW instant (not the formatted label) so distinct\n * buckets that format identically at a coarse granularity are never collapsed.\n */\nexport function getUniqueTimeBuckets(data: AggregationQueryResponseRow[], dimensionRef: string): string[] {\n const seen = new Set<string>();\n const ordered: string[] = [];\n for (const row of data) {\n const raw = row[dimensionRef];\n if (raw == null) continue;\n const key = raw instanceof Date ? raw.toISOString() : String(raw);\n if (seen.has(key)) continue;\n seen.add(key);\n ordered.push(key);\n }\n return ordered;\n}\n\n/**\n * Build a time X axis as a CATEGORY axis of timezone-correct formatted labels\n * (one per unique bucket, in backend sort order). Category — not ECharts\n * `type: 'time'` — because ECharts has no per-axis timeZone and would re-parse\n * the UTC bucket instants in the browser's timezone; buckets are already\n * discretized server-side, so a continuous time scale buys nothing. Series data\n * align to these categories by index (see {@link getUniqueTimeBuckets}).\n */\nexport function buildTimeCategoryXAxis(\n data: AggregationQueryResponseRow[],\n dimensionRef: string,\n granularity: TimeGranularity | undefined,\n timezone: string,\n preset?: ChartStylePreset,\n): Record<string, unknown> {\n const buckets = getUniqueTimeBuckets(data, dimensionRef);\n const displayFormatter = buildTimeAxisLabelDisplayFormatter(granularity);\n return {\n type: 'category',\n data: buckets.map(b => formatTimeBucketLabel(b, granularity, timezone)),\n axisLabel: {\n hideOverlap: preset?.axis.hideOverlap ?? true,\n // Display-only re-rendering of the deterministic bucket key (DAY/WEEK →\n // locale-driven \"Aug 14\"); see buildTimeAxisLabelDisplayFormatter.\n ...(displayFormatter ? { formatter: displayFormatter } : {}),\n },\n };\n}\n\n// ── Densified Row Detection ──────────────────────────────────\n\n/** Check if a row was generated by the TimeSeriesDensifier */\nexport function isFilledRow(row: AggregationQueryResponseRow): boolean {\n return !!(row as any)._filled;\n}\n\n/** Check if any rows in the dataset are densified */\nexport function hasDensifiedRows(data: AggregationQueryResponseRow[]): boolean {\n return data.some(isFilledRow);\n}\n\n// ── Responsive Media ─────────────────────────────────────────\n\n/**\n * Build responsive media queries for ECharts (from preset or defaults).\n *\n * @param hasCartesianAxes Whether the target chart actually declares an\n * `xAxis`/`yAxis` (bar, line, scatter, …). This MUST be false for\n * non-cartesian families (pie/donut, funnel, gauge, radar, sankey, …).\n *\n * The `xAxis` axis-label override below is a CARTESIAN-only responsive tweak.\n * Injecting it into a chart that has no base axes makes ECharts materialize an\n * ORPHAN `xAxis` component (an x-axis with no paired y-axis → no cartesian\n * coordinate system). Its `CartesianAxisView.render` then dereferences\n * `axis.axisBuilder.group` while `axisBuilder` was never built by the (absent)\n * grid resize → `TypeError: Cannot read properties of undefined (reading\n * 'group')`. The chart renders no canvas, and because the throw happens inside\n * ECharts' shared animation frame it can cascade to sibling chart instances\n * mounted in the same commit (a donut on a page also killed the neighbouring\n * bar + line). Reproduced live against ECharts 6.0.0. So the axis override is\n * emitted ONLY when the chart is cartesian; the width-responsive `legend`\n * behavior still applies to every family.\n *\n * @param compensatesPieLabelsOnSmall Pie/donut only. Hiding the legend under\n * `smallMaxWidth` removes the ONLY affordance that names small slices once\n * outside labels start colliding — the base option's `labelLayout.hideOverlap`\n * then (correctly) drops labels, and a tiny donut could end up naming nothing.\n * With this flag, the same small media entry that hides the legend moves the\n * slice labels INSIDE the slices as percent-only (`{d}%`, no leader lines):\n * compact enough to survive a small container, while the tooltip still names\n * each slice. ECharts recomputes media matches per resize, so growing past\n * `smallMaxWidth` restores the base outside labels automatically. Applies to\n * the FIRST series only (`series: [{…}]` index merge) — pie/donut builds\n * exactly one series. Never set for other families: an `option.series` patch\n * indexed at 0 would restyle an arbitrary series of a multi-series chart.\n */\nexport function buildResponsiveMedia(\n preset: ChartStylePreset | undefined,\n hasCartesianAxes: boolean,\n compensatesPieLabelsOnSmall: boolean = false,\n): unknown[] {\n const r = preset?.responsive;\n const smallMax = r?.smallMaxWidth ?? 400;\n const mediumMax = r?.mediumMaxWidth ?? 799;\n const sg = r?.smallGridPadding ?? { top: 20, right: 10, bottom: 20, left: 30 };\n const mg = r?.mediumGridPadding ?? { left: 50, right: 20, bottom: 40 };\n const hidesLegendOnSmall = r?.hideLegendOnSmall ?? true;\n\n return [\n {\n query: { maxWidth: smallMax },\n option: {\n legend: { show: !hidesLegendOnSmall },\n ...(hasCartesianAxes\n ? { grid: sg, xAxis: { axisLabel: { rotate: r?.smallAxisLabelRotate ?? 45, fontSize: r?.smallFontSize ?? 10 } } }\n : {}),\n // Legend-hidden compensation for pie/donut (see JSDoc): inside\n // percent-only labels, leader lines off. Only when the legend is\n // genuinely hidden at this width — a visible legend already names slices.\n ...(compensatesPieLabelsOnSmall && hidesLegendOnSmall\n ? { series: [{ label: { position: 'inside', formatter: '{d}%' }, labelLine: { show: false } }] }\n : {}),\n },\n },\n {\n query: { minWidth: smallMax, maxWidth: mediumMax },\n option: {\n legend: { orient: 'horizontal', bottom: 0 },\n ...(hasCartesianAxes\n ? { grid: mg, xAxis: { axisLabel: { fontSize: r?.mediumFontSize ?? 11 } } }\n : {}),\n },\n },\n ];\n}\n\n// ── Common Series Style ──────────────────────────────────────\n\n/** Apply ChartSeriesStyle to an ECharts series item */\nexport function applySeriesStyle(\n echartsSeriesItem: Record<string, unknown>,\n seriesDef: ChartSeriesDefinition,\n): void {\n const style = seriesDef.style;\n if (!style) return;\n\n if (style.lineWidth != null) {\n echartsSeriesItem.lineStyle = { ...(echartsSeriesItem.lineStyle as Record<string, unknown> || {}), width: style.lineWidth };\n }\n if (style.lineType) {\n echartsSeriesItem.lineStyle = { ...(echartsSeriesItem.lineStyle as Record<string, unknown> || {}), type: style.lineType };\n }\n if (style.areaOpacity != null) {\n echartsSeriesItem.areaStyle = { opacity: style.areaOpacity };\n }\n if (style.smooth != null) {\n echartsSeriesItem.smooth = style.smooth;\n }\n if (style.barWidth != null) {\n echartsSeriesItem.barWidth = style.barWidth;\n }\n if (style.opacity != null) {\n echartsSeriesItem.opacity = style.opacity;\n }\n if (style.pointSize != null) {\n echartsSeriesItem.symbolSize = style.pointSize;\n if (style.pointSize === 0) {\n echartsSeriesItem.showSymbol = false;\n }\n }\n if (style.pointShape) {\n echartsSeriesItem.symbol = style.pointShape;\n }\n\n // ── Universal properties ──\n\n if (style.connectNulls != null) {\n echartsSeriesItem.connectNulls = style.connectNulls;\n }\n if (style.step) {\n echartsSeriesItem.step = style.step;\n }\n if (style.showLabel != null || style.labelPosition || style.labelFormatter) {\n echartsSeriesItem.label = {\n ...(echartsSeriesItem.label as Record<string, unknown> || {}),\n ...(style.showLabel != null ? { show: style.showLabel } : {}),\n ...(style.labelPosition ? { position: style.labelPosition } : {}),\n ...(style.labelFormatter ? { formatter: style.labelFormatter } : {}),\n };\n }\n if (style.emphasisScale != null) {\n echartsSeriesItem.emphasis = {\n ...(echartsSeriesItem.emphasis as Record<string, unknown> || {}),\n scale: style.emphasisScale,\n };\n }\n\n // ── Mark Lines ──\n if (style.markLines?.length) {\n echartsSeriesItem.markLine = {\n silent: true,\n data: style.markLines.map(ml => {\n if (ml.type) {\n return {\n type: ml.type,\n ...(ml.label ? { label: { formatter: ml.label } } : {}),\n ...(ml.color ? { lineStyle: { color: ml.color, type: ml.lineType ?? 'dashed' } } : { lineStyle: { type: ml.lineType ?? 'dashed' } }),\n };\n }\n // Custom value line\n const lineData: Record<string, unknown> = {};\n if (ml.yValue != null) lineData.yAxis = ml.yValue;\n if (ml.xValue != null) lineData.xAxis = ml.xValue;\n if (ml.label) lineData.label = { formatter: ml.label };\n lineData.lineStyle = { color: ml.color, type: ml.lineType ?? 'dashed' };\n return lineData;\n }),\n };\n }\n\n // ── Mark Points ──\n if (style.markPoints?.length) {\n echartsSeriesItem.markPoint = {\n data: style.markPoints.map(mp => ({\n ...(mp.type ? { type: mp.type } : {}),\n ...(mp.label ? { label: { formatter: mp.label } } : {}),\n ...(mp.symbol ? { symbol: mp.symbol } : {}),\n ...(mp.symbolSize ? { symbolSize: mp.symbolSize } : {}),\n })),\n };\n }\n}\n"]}
|
package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bar-family.builder.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"bar-family.builder.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/views/chart-view/option-builder/builders/bar-family.builder.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAuB,MAAM,uBAAuB,CAAC;AACxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,6FAA6F,CAAC;AAmBzK,qBAAa,gBAAiB,YAAW,gBAAgB;IACvD,cAAc,cAAgH;IAE9H,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,qBAAqB,EAAE,GAAG,gBAAgB;IAsIpF;;;;;;;;;OASG;IACH,OAAO,CAAC,cAAc;CA6FvB"}
|
package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bar-family.builder.js","sourceRoot":"","sources":["../../../../../../../../src/components/views/chart-view/option-builder/builders/bar-family.builder.ts"],"names":[],"mappings":"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","sourcesContent":["/** Bar family builder: BAR, HORIZONTAL_BAR, GROUPED_BAR, STACKED_BAR, WATERFALL */\n\nimport { ChartType } from '@wildo-ai/saas-models';\nimport type { ChartSeriesDefinition, ChartTypeConfig_Bar } from '@wildo-ai/saas-models';\nimport type { ChartTypeBuilder, ChartBuildContext, ChartBuildResult } from '~wildo-frontend-lib/components/views/chart-view/option-builder/chart-type-builder.interface';\nimport {\n getPrimaryDimensionRef,\n extractDimensionValues,\n extractMeasureValues,\n areAllSeriesMeasuresIntegerValued,\n buildCategoryXAxis,\n buildValueYAxis,\n formatTimeBucketLabel,\n buildTimeAxisLabelDisplayFormatter,\n getResolvedTimezone,\n resolveSeriesColor,\n resolveSeriesName,\n applySeriesStyle,\n getSplitValues,\n resolveSplitColor,\n resolveSplitLabel,\n} from '~wildo-frontend-lib/components/views/chart-view/option-builder/builder-utils';\n\nexport class BarFamilyBuilder implements ChartTypeBuilder {\n supportedTypes = [ChartType.BAR, ChartType.HORIZONTAL_BAR, ChartType.GROUPED_BAR, ChartType.STACKED_BAR, ChartType.WATERFALL];\n\n build(ctx: ChartBuildContext, seriesDefs: ChartSeriesDefinition[]): ChartBuildResult {\n const dimRef = getPrimaryDimensionRef(ctx);\n const chartType = ctx.definition.chartType;\n const isHorizontal = chartType === ChartType.HORIZONTAL_BAR;\n const isStacked = chartType === ChartType.STACKED_BAR;\n const isWaterfall = chartType === ChartType.WATERFALL;\n const cfg = (ctx.definition.chartTypeConfig ?? {}) as ChartTypeConfig_Bar;\n\n // Waterfall chart uses a special encoding with transparent base + gain/loss coloring\n if (isWaterfall) {\n return this.buildWaterfall(ctx, seriesDefs, dimRef, cfg);\n }\n\n const yAxisLabel = ctx.definition.i18n?.yAxisLabelKey\n ? (() => { const r = ctx.t(ctx.definition.i18n!.yAxisLabelKey!); return r !== ctx.definition.i18n!.yAxisLabelKey! ? r : undefined; })()\n : undefined;\n const valueAxis = buildValueYAxis(yAxisLabel, ctx.chartStylePreset, {\n integerValued: areAllSeriesMeasuresIntegerValued(ctx, seriesDefs),\n });\n\n // Pre-compute unique category values for split-by alignment\n const allCategories = extractDimensionValues(ctx.response.data, dimRef).map(String);\n const uniqueCategories = [...new Set(allCategories)];\n\n // A time dimension shows raw ISO bucket instants as labels unless formatted.\n // The series stay keyed on the raw value (index-aligned), so ONLY the axis\n // label strings change — a categorical dimension (e.g. `priority`) is\n // untouched. Formatted in the backend's resolved timezone.\n const firstDim = ctx.definition.dataQuery.dimensions[0];\n const isTimeDimension = !!firstDim?.timeGranularity;\n const timeLabel = (v: unknown): string => formatTimeBucketLabel(v, firstDim?.timeGranularity, getResolvedTimezone(ctx));\n\n // A SPLIT chart fans into per-split sub-series that align to the UNIQUE primary\n // categories (line below), so the x-axis must be those unique values too — a\n // raw axis with duplicate categories (one row per split-combo) is longer than\n // each sub-series' data and shifts the bars off their categories. Non-split\n // bars render one bar per row, so they keep the raw in-order category list.\n const hasSplit = seriesDefs.some(s => s.splitByDimension);\n // Display-only axis-label re-rendering for DAY/WEEK buckets (\"Aug 14\");\n // category DATA stays the deterministic key. Only defined for time dims.\n const timeDisplayFormatter = isTimeDimension ? buildTimeAxisLabelDisplayFormatter(firstDim?.timeGranularity) : undefined;\n const timeAxisLabel = {\n hideOverlap: ctx.chartStylePreset.axis.hideOverlap ?? true,\n ...(timeDisplayFormatter ? { formatter: timeDisplayFormatter } : {}),\n };\n const categoryAxis = hasSplit\n ? {\n type: 'category',\n data: isTimeDimension ? uniqueCategories.map(timeLabel) : uniqueCategories,\n axisLabel: timeAxisLabel,\n }\n : isTimeDimension\n ? {\n type: 'category',\n data: extractDimensionValues(ctx.response.data, dimRef).map(timeLabel),\n axisLabel: timeAxisLabel,\n }\n : buildCategoryXAxis(ctx.response.data, dimRef, ctx.chartStylePreset);\n\n const echartsSeriesList: unknown[] = [];\n\n for (let i = 0; i < seriesDefs.length; i++) {\n const sDef = seriesDefs[i];\n\n if (sDef.splitByDimension) {\n // Generate sub-series per split dimension value.\n // Each sub-series must align with the full category axis — use null for\n // categories that don't have data for this split value.\n const splitValues = getSplitValues(ctx.response.data, sDef.splitByDimension, sDef);\n\n for (let j = 0; j < splitValues.length; j++) {\n const splitVal = splitValues[j];\n\n // Build a lookup: category → measure value for this split value\n const categoryValueMap = new Map<string, number>();\n for (const row of ctx.response.data) {\n if (String(row[sDef.splitByDimension!]) === splitVal) {\n const cat = String(row[dimRef]);\n const val = row[sDef.measureRef];\n categoryValueMap.set(cat, typeof val === 'number' ? val : Number(val) || 0);\n }\n }\n\n // Map values to the full category axis (null for missing categories)\n const values = uniqueCategories.map(cat => categoryValueMap.get(cat) ?? null);\n\n const item: Record<string, unknown> = {\n type: 'bar',\n name: resolveSplitLabel(splitVal, sDef, ctx),\n data: values,\n itemStyle: { color: resolveSplitColor(splitVal, j, sDef, ctx.colorPalette, ctx.dimensionEnumColors[sDef.splitByDimension!]) },\n stack: isStacked ? 'stack' : undefined,\n ...(cfg.barGap != null ? { barGap: cfg.barGap } : {}),\n ...(cfg.barCategoryGap != null ? { barCategoryGap: cfg.barCategoryGap } : {}),\n };\n applySeriesStyle(item, sDef);\n echartsSeriesList.push(item);\n }\n } else {\n const values = extractMeasureValues(ctx.response.data, sDef.measureRef);\n // Per-category coloring: when the x-dimension is an enum, each bar takes\n // its category's enum color (bars are single-color by default). The\n // series-level `itemStyle.color` below stays the fallback for categories\n // with no enum color and for non-enum dimensions. `values` and\n // `allCategories` are both row-aligned (same `ctx.response.data` order).\n const dimEnumColors = ctx.dimensionEnumColors[dimRef];\n const data = dimEnumColors\n ? values.map((v, k) => {\n const color = dimEnumColors.values[allCategories[k]] ?? dimEnumColors.defaultColor;\n return color != null ? { value: v, itemStyle: { color } } : v;\n })\n : values;\n const item: Record<string, unknown> = {\n type: 'bar',\n name: resolveSeriesName(sDef, ctx.t),\n data,\n itemStyle: { color: resolveSeriesColor(sDef, i, ctx.colorPalette) },\n stack: isStacked ? 'stack' : undefined,\n yAxisIndex: sDef.yAxisIndex,\n ...(cfg.barGap != null ? { barGap: cfg.barGap } : {}),\n ...(cfg.barCategoryGap != null ? { barCategoryGap: cfg.barCategoryGap } : {}),\n };\n applySeriesStyle(item, sDef);\n echartsSeriesList.push(item);\n }\n }\n\n return {\n series: echartsSeriesList,\n xAxis: isHorizontal ? valueAxis : categoryAxis,\n yAxis: isHorizontal ? categoryAxis : valueAxis,\n };\n }\n\n /**\n * Build a waterfall chart.\n *\n * Waterfall encoding uses 3 stacked bar series:\n * 1. Transparent base (invisible spacer that \"lifts\" the bar to the right position)\n * 2. Positive bars (gains) in green\n * 3. Negative bars (losses) in red\n *\n * The last bar can optionally be the total (rendered differently).\n */\n private buildWaterfall(\n ctx: ChartBuildContext,\n seriesDefs: ChartSeriesDefinition[],\n dimRef: string,\n cfg: ChartTypeConfig_Bar,\n ): ChartBuildResult {\n const sDef = seriesDefs[0];\n if (!sDef) return { series: [] };\n\n const firstDim = ctx.definition.dataQuery.dimensions[0];\n const rawCategories = extractDimensionValues(ctx.response.data, dimRef);\n const categories = firstDim?.timeGranularity\n ? rawCategories.map(v => formatTimeBucketLabel(v, firstDim.timeGranularity, getResolvedTimezone(ctx)))\n : rawCategories;\n const waterfallTimeDisplayFormatter = firstDim?.timeGranularity ? buildTimeAxisLabelDisplayFormatter(firstDim.timeGranularity) : undefined;\n const values = extractMeasureValues(ctx.response.data, sDef.measureRef);\n\n // Compute waterfall data: base (transparent), positive, negative\n const baseData: (number | '-')[] = [];\n const positiveData: (number | '-')[] = [];\n const negativeData: (number | '-')[] = [];\n\n let runningTotal = 0;\n\n for (let i = 0; i < values.length; i++) {\n const value = values[i]!;\n\n if (value >= 0) {\n baseData.push(runningTotal);\n positiveData.push(value);\n negativeData.push('-');\n } else {\n baseData.push(runningTotal + value); // Base starts lower\n positiveData.push('-');\n negativeData.push(Math.abs(value));\n }\n\n runningTotal += value;\n }\n\n const palette = ctx.colorPalette;\n const wf = cfg.waterfall;\n const gainColor = wf?.gainColor ?? palette[0] ?? '#5470c6';\n const lossColor = wf?.lossColor ?? '#ee6666';\n // Resolve waterfall labels via i18n keys → static labels → defaults\n const gainLabel = (wf?.gainLabelKey ? (() => { const r = ctx.t(wf.gainLabelKey!); return r !== wf.gainLabelKey! ? r : undefined; })() : undefined)\n ?? wf?.gainLabel ?? 'Increase';\n const lossLabel = (wf?.lossLabelKey ? (() => { const r = ctx.t(wf.lossLabelKey!); return r !== wf.lossLabelKey! ? r : undefined; })() : undefined)\n ?? wf?.lossLabel ?? 'Decrease';\n\n return {\n series: [\n // Transparent base (spacer) — hidden from legend and tooltip\n {\n type: 'bar',\n name: '__waterfall_base',\n stack: 'waterfall',\n data: baseData,\n itemStyle: { color: 'transparent', borderColor: 'transparent' },\n emphasis: { itemStyle: { color: 'transparent', borderColor: 'transparent' } },\n tooltip: { show: false },\n legendHoverLink: false,\n },\n // Positive (gain) bars\n {\n type: 'bar',\n name: gainLabel,\n stack: 'waterfall',\n data: positiveData,\n itemStyle: { color: gainColor },\n },\n // Negative (loss) bars\n {\n type: 'bar',\n name: lossLabel,\n stack: 'waterfall',\n data: negativeData,\n itemStyle: { color: lossColor },\n },\n ],\n xAxis: {\n type: 'category',\n data: categories,\n axisLabel: {\n hideOverlap: ctx.chartStylePreset.axis.hideOverlap ?? true,\n // Display-only: DAY/WEEK time-bucket keys re-render as locale-driven\n // \"Aug 14\" (undefined for categorical dims — formatter omitted).\n ...(waterfallTimeDisplayFormatter ? { formatter: waterfallTimeDisplayFormatter } : {}),\n },\n },\n yAxis: { type: 'value' },\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"bar-family.builder.js","sourceRoot":"","sources":["../../../../../../../src/components/views/chart-view/option-builder/builders/bar-family.builder.ts"],"names":[],"mappings":"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","sourcesContent":["/** Bar family builder: BAR, HORIZONTAL_BAR, GROUPED_BAR, STACKED_BAR, WATERFALL */\n\nimport { ChartType } from '@wildo-ai/saas-models';\nimport type { ChartSeriesDefinition, ChartTypeConfig_Bar } from '@wildo-ai/saas-models';\nimport type { ChartTypeBuilder, ChartBuildContext, ChartBuildResult } from '~wildo-frontend-lib/components/views/chart-view/option-builder/chart-type-builder.interface';\nimport {\n getPrimaryDimensionRef,\n extractDimensionValues,\n extractMeasureValues,\n areAllSeriesMeasuresIntegerValued,\n buildCategoryXAxis,\n buildValueYAxis,\n formatTimeBucketLabel,\n buildTimeAxisLabelDisplayFormatter,\n getResolvedTimezone,\n resolveSeriesColor,\n resolveSeriesName,\n applySeriesStyle,\n getSplitValues,\n resolveSplitColor,\n resolveSplitLabel,\n} from '~wildo-frontend-lib/components/views/chart-view/option-builder/builder-utils';\n\nexport class BarFamilyBuilder implements ChartTypeBuilder {\n supportedTypes = [ChartType.BAR, ChartType.HORIZONTAL_BAR, ChartType.GROUPED_BAR, ChartType.STACKED_BAR, ChartType.WATERFALL];\n\n build(ctx: ChartBuildContext, seriesDefs: ChartSeriesDefinition[]): ChartBuildResult {\n const dimRef = getPrimaryDimensionRef(ctx);\n const chartType = ctx.definition.chartType;\n const isHorizontal = chartType === ChartType.HORIZONTAL_BAR;\n const isStacked = chartType === ChartType.STACKED_BAR;\n const isWaterfall = chartType === ChartType.WATERFALL;\n const cfg = (ctx.definition.chartTypeConfig ?? {}) as ChartTypeConfig_Bar;\n\n // Waterfall chart uses a special encoding with transparent base + gain/loss coloring\n if (isWaterfall) {\n return this.buildWaterfall(ctx, seriesDefs, dimRef, cfg);\n }\n\n const yAxisLabel = ctx.definition.i18n?.yAxisLabelKey\n ? (() => { const r = ctx.t(ctx.definition.i18n!.yAxisLabelKey!); return r !== ctx.definition.i18n!.yAxisLabelKey! ? r : undefined; })()\n : undefined;\n const valueAxis = buildValueYAxis(yAxisLabel, ctx.chartStylePreset, {\n integerValued: areAllSeriesMeasuresIntegerValued(ctx, seriesDefs),\n });\n\n // Pre-compute unique category values for split-by alignment\n const allCategories = extractDimensionValues(ctx.response.data, dimRef).map(String);\n const uniqueCategories = [...new Set(allCategories)];\n\n // A time dimension shows raw ISO bucket instants as labels unless formatted.\n // The series stay keyed on the raw value (index-aligned), so ONLY the axis\n // label strings change — a categorical dimension (e.g. `priority`) is\n // untouched. Formatted in the backend's resolved timezone.\n const firstDim = ctx.definition.dataQuery.dimensions[0];\n const isTimeDimension = !!firstDim?.timeGranularity;\n const timeLabel = (v: unknown): string => formatTimeBucketLabel(v, firstDim?.timeGranularity, getResolvedTimezone(ctx));\n\n // A SPLIT chart fans into per-split sub-series that align to the UNIQUE primary\n // categories (line below), so the x-axis must be those unique values too — a\n // raw axis with duplicate categories (one row per split-combo) is longer than\n // each sub-series' data and shifts the bars off their categories. Non-split\n // bars render one bar per row, so they keep the raw in-order category list.\n const hasSplit = seriesDefs.some(s => s.splitByDimension);\n // Display-only axis-label re-rendering for DAY/WEEK buckets (\"Aug 14\");\n // category DATA stays the deterministic key. Only defined for time dims.\n const timeDisplayFormatter = isTimeDimension ? buildTimeAxisLabelDisplayFormatter(firstDim?.timeGranularity) : undefined;\n const timeAxisLabel = {\n hideOverlap: ctx.chartStylePreset.axis.hideOverlap ?? true,\n ...(timeDisplayFormatter ? { formatter: timeDisplayFormatter } : {}),\n };\n const categoryAxis = hasSplit\n ? {\n type: 'category',\n data: isTimeDimension ? uniqueCategories.map(timeLabel) : uniqueCategories,\n axisLabel: timeAxisLabel,\n }\n : isTimeDimension\n ? {\n type: 'category',\n data: extractDimensionValues(ctx.response.data, dimRef).map(timeLabel),\n axisLabel: timeAxisLabel,\n }\n : buildCategoryXAxis(ctx.response.data, dimRef, ctx.chartStylePreset);\n\n const echartsSeriesList: unknown[] = [];\n\n for (let i = 0; i < seriesDefs.length; i++) {\n const sDef = seriesDefs[i];\n\n if (sDef.splitByDimension) {\n // Generate sub-series per split dimension value.\n // Each sub-series must align with the full category axis — use null for\n // categories that don't have data for this split value.\n const splitValues = getSplitValues(ctx.response.data, sDef.splitByDimension, sDef);\n\n for (let j = 0; j < splitValues.length; j++) {\n const splitVal = splitValues[j];\n\n // Build a lookup: category → measure value for this split value\n const categoryValueMap = new Map<string, number>();\n for (const row of ctx.response.data) {\n if (String(row[sDef.splitByDimension!]) === splitVal) {\n const cat = String(row[dimRef]);\n const val = row[sDef.measureRef];\n categoryValueMap.set(cat, typeof val === 'number' ? val : Number(val) || 0);\n }\n }\n\n // Map values to the full category axis (null for missing categories)\n const values = uniqueCategories.map(cat => categoryValueMap.get(cat) ?? null);\n\n const item: Record<string, unknown> = {\n type: 'bar',\n name: resolveSplitLabel(splitVal, sDef, ctx),\n data: values,\n itemStyle: { color: resolveSplitColor(splitVal, j, sDef, ctx.colorPalette, ctx.dimensionEnumColors[sDef.splitByDimension!]) },\n stack: isStacked ? 'stack' : undefined,\n ...(cfg.barGap != null ? { barGap: cfg.barGap } : {}),\n ...(cfg.barCategoryGap != null ? { barCategoryGap: cfg.barCategoryGap } : {}),\n };\n applySeriesStyle(item, sDef);\n echartsSeriesList.push(item);\n }\n } else {\n const values = extractMeasureValues(ctx.response.data, sDef.measureRef);\n // Per-category coloring: when the x-dimension is an enum, each bar takes\n // its category's enum color (bars are single-color by default). The\n // series-level `itemStyle.color` below stays the fallback for categories\n // with no enum color and for non-enum dimensions. `values` and\n // `allCategories` are both row-aligned (same `ctx.response.data` order).\n const dimEnumColors = ctx.dimensionEnumColors[dimRef];\n const data = dimEnumColors\n ? values.map((v, k) => {\n const color = dimEnumColors.values[allCategories[k]] ?? dimEnumColors.defaultColor;\n return color != null ? { value: v, itemStyle: { color } } : v;\n })\n : values;\n const item: Record<string, unknown> = {\n type: 'bar',\n name: resolveSeriesName(sDef, ctx.t),\n data,\n itemStyle: { color: resolveSeriesColor(sDef, i, ctx.colorPalette) },\n stack: isStacked ? 'stack' : undefined,\n yAxisIndex: sDef.yAxisIndex,\n ...(cfg.barGap != null ? { barGap: cfg.barGap } : {}),\n ...(cfg.barCategoryGap != null ? { barCategoryGap: cfg.barCategoryGap } : {}),\n };\n applySeriesStyle(item, sDef);\n echartsSeriesList.push(item);\n }\n }\n\n return {\n series: echartsSeriesList,\n xAxis: isHorizontal ? valueAxis : categoryAxis,\n yAxis: isHorizontal ? categoryAxis : valueAxis,\n };\n }\n\n /**\n * Build a waterfall chart.\n *\n * Waterfall encoding uses 3 stacked bar series:\n * 1. Transparent base (invisible spacer that \"lifts\" the bar to the right position)\n * 2. Positive bars (gains) in green\n * 3. Negative bars (losses) in red\n *\n * The last bar can optionally be the total (rendered differently).\n */\n private buildWaterfall(\n ctx: ChartBuildContext,\n seriesDefs: ChartSeriesDefinition[],\n dimRef: string,\n cfg: ChartTypeConfig_Bar,\n ): ChartBuildResult {\n const sDef = seriesDefs[0];\n if (!sDef) return { series: [] };\n\n const firstDim = ctx.definition.dataQuery.dimensions[0];\n const rawCategories = extractDimensionValues(ctx.response.data, dimRef);\n const categories = firstDim?.timeGranularity\n ? rawCategories.map(v => formatTimeBucketLabel(v, firstDim.timeGranularity, getResolvedTimezone(ctx)))\n : rawCategories;\n const waterfallTimeDisplayFormatter = firstDim?.timeGranularity ? buildTimeAxisLabelDisplayFormatter(firstDim.timeGranularity) : undefined;\n const values = extractMeasureValues(ctx.response.data, sDef.measureRef);\n\n // Compute waterfall data: base (transparent), positive, negative\n const baseData: (number | '-')[] = [];\n const positiveData: (number | '-')[] = [];\n const negativeData: (number | '-')[] = [];\n\n let runningTotal = 0;\n\n for (let i = 0; i < values.length; i++) {\n const value = values[i]!;\n\n if (value >= 0) {\n baseData.push(runningTotal);\n positiveData.push(value);\n negativeData.push('-');\n } else {\n baseData.push(runningTotal + value); // Base starts lower\n positiveData.push('-');\n negativeData.push(Math.abs(value));\n }\n\n runningTotal += value;\n }\n\n const palette = ctx.colorPalette;\n const wf = cfg.waterfall;\n const gainColor = wf?.gainColor ?? palette[0] ?? '#5470c6';\n const lossColor = wf?.lossColor ?? '#ee6666';\n // Resolve waterfall labels via i18n keys → static labels → defaults\n const gainLabel = (wf?.gainLabelKey ? (() => { const r = ctx.t(wf.gainLabelKey!); return r !== wf.gainLabelKey! ? r : undefined; })() : undefined)\n ?? wf?.gainLabel ?? 'Increase';\n const lossLabel = (wf?.lossLabelKey ? (() => { const r = ctx.t(wf.lossLabelKey!); return r !== wf.lossLabelKey! ? r : undefined; })() : undefined)\n ?? wf?.lossLabel ?? 'Decrease';\n\n return {\n series: [\n // Transparent base (spacer) — hidden from legend and tooltip\n {\n type: 'bar',\n name: '__waterfall_base',\n stack: 'waterfall',\n data: baseData,\n itemStyle: { color: 'transparent', borderColor: 'transparent' },\n emphasis: { itemStyle: { color: 'transparent', borderColor: 'transparent' } },\n tooltip: { show: false },\n legendHoverLink: false,\n },\n // Positive (gain) bars\n {\n type: 'bar',\n name: gainLabel,\n stack: 'waterfall',\n data: positiveData,\n itemStyle: { color: gainColor },\n },\n // Negative (loss) bars\n {\n type: 'bar',\n name: lossLabel,\n stack: 'waterfall',\n data: negativeData,\n itemStyle: { color: lossColor },\n },\n ],\n xAxis: {\n type: 'category',\n data: categories,\n axisLabel: {\n hideOverlap: ctx.chartStylePreset.axis.hideOverlap ?? true,\n // Display-only: DAY/WEEK time-bucket keys re-render as locale-driven\n // \"Aug 14\" (undefined for categorical dims — formatter omitted).\n ...(waterfallTimeDisplayFormatter ? { formatter: waterfallTimeDisplayFormatter } : {}),\n },\n },\n yAxis: { type: 'value' },\n };\n }\n}\n"]}
|
package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composed.builder.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"composed.builder.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/views/chart-view/option-builder/builders/composed.builder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,6FAA6F,CAAC;AAqCzK,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,cAAc,cAAwB;IAEtC,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,qBAAqB,EAAE,GAAG,gBAAgB;CAyFrF"}
|