@wildo-ai/saas-frontend-lib 1.1.2 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/browser-bootstrap/theme-bootstrap.d.ts.map +1 -1
- package/dist/esm/browser-bootstrap/theme-bootstrap.js.map +1 -1
- package/dist/esm/browser-bootstrap.exports.d.ts.map +1 -1
- package/dist/esm/browser-bootstrap.exports.js.map +1 -1
- package/dist/esm/companion-exports.d.ts +1 -1
- package/dist/esm/companion-exports.d.ts.map +1 -1
- package/dist/esm/companion-exports.js +1 -1
- package/dist/esm/companion-exports.js.map +1 -1
- package/dist/esm/companion-runtime-exports.d.ts.map +1 -1
- package/dist/esm/companion-runtime-exports.js.map +1 -1
- package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
- package/dist/esm/components/actions/action-bar.js.map +1 -1
- package/dist/esm/components/actions/action-button.d.ts.map +1 -1
- package/dist/esm/components/actions/action-button.js.map +1 -1
- package/dist/esm/components/actions/button-group.d.ts.map +1 -1
- package/dist/esm/components/actions/button-group.js.map +1 -1
- package/dist/esm/components/actions/button.d.ts.map +1 -1
- package/dist/esm/components/actions/button.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-list.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-list.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/image.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.d.ts +28 -3
- package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/confirmation.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent-wrappers.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.js.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.js.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.js.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.js.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.js.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.js.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.js.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.labels.js.map +1 -1
- package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
- package/dist/esm/components/app/AppLayout_NotificationCenter.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_NotificationCenter.js +7 -2
- package/dist/esm/components/app/AppLayout_NotificationCenter.js.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.js.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.js.map +1 -1
- package/dist/esm/components/app/AppPage_Home.d.ts.map +1 -1
- package/dist/esm/components/app/AppPage_Home.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_MainContainer.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_MainContainer.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_Terms.labels.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_Terms.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.js.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.js.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.js.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.js.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.js.map +1 -1
- package/dist/esm/components/auth/Auth_Main.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.js.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.js.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.js.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Register.js.map +1 -1
- package/dist/esm/components/auth/Auth_Register.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.js.map +1 -1
- package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js.map +1 -1
- package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/enrollment-method-components.js.map +1 -1
- package/dist/esm/components/auth/methods/EmailOtpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/EmailOtpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/MagicLinkAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/MagicLinkAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/OrgOidcAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgOidcAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/PasskeyAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/PasskeyAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/PasswordAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/PasswordAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/SmsOtpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/SmsOtpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/TotpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/TotpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/auth-method-components.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/auth-method-components.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthCallback.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthExchange.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthExchange.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Invitation.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Invitation.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Main.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OneOffSession.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OneOffSession.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_PasswordLost.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_PasswordLost.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Register.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Register.js.map +1 -1
- package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.js.map +1 -1
- package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.js.map +1 -1
- package/dist/esm/components/auth/utils/LabeledDivider.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/LabeledDivider.js.map +1 -1
- package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/OAuthProvidersSection.js.map +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js.map +1 -1
- package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.js.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/DisplayContextKindContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayContextKindContext.js.map +1 -1
- package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayField.js +8 -5
- package/dist/esm/components/data-display/DisplayField.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.js +6 -2
- package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js.map +1 -1
- package/dist/esm/components/data-display/DisplayTemplateContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayTemplateContext.js.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/SummaryContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
- package/dist/esm/components/data-display/automatic-displayer.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/automatic-displayer.utils.js.map +1 -1
- package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
- package/dist/esm/components/data-display/avatar.js.map +1 -1
- package/dist/esm/components/data-display/badge.d.ts.map +1 -1
- package/dist/esm/components/data-display/badge.js.map +1 -1
- package/dist/esm/components/data-display/chart-echarts.d.ts.map +1 -1
- package/dist/esm/components/data-display/chart-echarts.js.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayChromeContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayChromeContext.js.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
- package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
- package/dist/esm/components/data-display/description-list.js.map +1 -1
- package/dist/esm/components/data-display/display-field-resolution.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-field-resolution.utils.js.map +1 -1
- package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
- package/dist/esm/components/data-display/display-resource-link-trail.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-resource-link-trail.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-json.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-json.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.js.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
- package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
- package/dist/esm/components/data-display/useFileActivation.js.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
- package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
- package/dist/esm/components/feedback/danger-zone.js.map +1 -1
- package/dist/esm/components/feedback/empty-display-policy.utils.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-display-policy.utils.js.map +1 -1
- package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-state.js.map +1 -1
- package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
- package/dist/esm/components/feedback/error-display.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts +36 -0
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js +29 -0
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.js.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.js.map +1 -1
- package/dist/esm/components/feedback/notification-center.d.ts +11 -5
- package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
- package/dist/esm/components/feedback/notification-center.js +2 -3
- package/dist/esm/components/feedback/notification-center.js.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
- package/dist/esm/components/feedback/progress.d.ts.map +1 -1
- package/dist/esm/components/feedback/progress.js.map +1 -1
- package/dist/esm/components/feedback/resource-empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/resource-empty-state.js.map +1 -1
- package/dist/esm/components/feedback/skeleton-text.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton-text.js.map +1 -1
- package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton.js.map +1 -1
- package/dist/esm/components/feedback/toast.d.ts.map +1 -1
- package/dist/esm/components/feedback/toast.js.map +1 -1
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts +41 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.js +207 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts +3 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.js +36 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.js.map +1 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts +8 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts.map +1 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.js +14 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.js.map +1 -0
- package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/actor.js.map +1 -1
- package/dist/esm/components/flows-actors/actor.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/actor.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.js.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.js +21 -4
- package/dist/esm/components/flows-actors/approval.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.labels.js +5 -0
- package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.js.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.js +1 -1
- package/dist/esm/components/flows-actors/execution-plan.js.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.js +1 -1
- package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.labels.js.map +1 -1
- package/dist/esm/components/form/Form.d.ts.map +1 -1
- package/dist/esm/components/form/Form.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.js +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.js +16 -9
- package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
- package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormField.js +9 -2
- package/dist/esm/components/form/automated/FormField.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldArray.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldArray.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldComposite.js +8 -6
- package/dist/esm/components/form/automated/FormFieldComposite.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldRecord.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
- package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.js.map +1 -1
- package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.js.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js +37 -3
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.js.map +1 -1
- package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts +12 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts.map +1 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js +26 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js.map +1 -0
- package/dist/esm/components/form/automated/autosave-indicator.d.ts.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.js.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.utils.js.map +1 -1
- package/dist/esm/components/form/automated/create-form-default-values.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/create-form-default-values.utils.js.map +1 -1
- package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.helpers.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.helpers.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.shared.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.shared.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.utils.js.map +1 -1
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
- package/dist/esm/components/form/chromes/FormChromeContext.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormChromeContext.js.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
- package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/field.js.map +1 -1
- package/dist/esm/components/form/chromes/form-primitives.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/form-primitives.js.map +1 -1
- package/dist/esm/components/form/combobox.d.ts.map +1 -1
- package/dist/esm/components/form/combobox.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
- package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select.js.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.js.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.js.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
- package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input-group.js.map +1 -1
- package/dist/esm/components/form/controls/input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input.js.map +1 -1
- package/dist/esm/components/form/controls/number/slider.d.ts +1 -1
- package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
- package/dist/esm/components/form/controls/number/slider.js.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.js.map +1 -1
- package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/inline-edit-text.js.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.js.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.js.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.labels.js.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.js.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.js.map +1 -1
- package/dist/esm/components/form/feedback/RemoteChangeNotification.d.ts.map +1 -1
- package/dist/esm/components/form/feedback/RemoteChangeNotification.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.js +4 -2
- package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.js +4 -2
- package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts +15 -5
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js +21 -18
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.js +139 -2
- package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.labels.js +15 -0
- package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.js +4 -2
- package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.js +7 -2
- package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.labels.js.map +1 -1
- package/dist/esm/components/form/fields/useFormField.d.ts.map +1 -1
- package/dist/esm/components/form/fields/useFormField.js.map +1 -1
- package/dist/esm/components/form/form-context.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.js.map +1 -1
- package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.utils.js.map +1 -1
- package/dist/esm/components/form/form-field-types.d.ts +20 -0
- package/dist/esm/components/form/form-field-types.d.ts.map +1 -1
- package/dist/esm/components/form/form-field-types.js.map +1 -1
- package/dist/esm/components/form/useFormSchemaContext.d.ts.map +1 -1
- package/dist/esm/components/form/useFormSchemaContext.js.map +1 -1
- package/dist/esm/components/form/validation-errors/FormErrorSummary.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
- package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/form-error-extraction.utils.js.map +1 -1
- package/dist/esm/components/form/validation-errors/form-validation.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/form-validation.js.map +1 -1
- package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
- package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
- package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.js.map +1 -1
- package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.js.map +1 -1
- package/dist/esm/components/layout/carousel.d.ts.map +1 -1
- package/dist/esm/components/layout/carousel.js.map +1 -1
- package/dist/esm/components/layout/divider.d.ts.map +1 -1
- package/dist/esm/components/layout/divider.js.map +1 -1
- package/dist/esm/components/layout/resizable.d.ts.map +1 -1
- package/dist/esm/components/layout/resizable.js.map +1 -1
- package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
- package/dist/esm/components/layout/scroll-area.js.map +1 -1
- package/dist/esm/components/layout/separator.d.ts.map +1 -1
- package/dist/esm/components/layout/separator.js.map +1 -1
- package/dist/esm/components/navigation/NavigationItemBadge.d.ts +13 -1
- package/dist/esm/components/navigation/NavigationItemBadge.d.ts.map +1 -1
- package/dist/esm/components/navigation/NavigationItemBadge.js +31 -2
- package/dist/esm/components/navigation/NavigationItemBadge.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.js.map +1 -1
- package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
- package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useActivityBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useActivityBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useControlPanelBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useControlPanelBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts +5 -2
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js +18 -41
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js +13 -3
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useToolbarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useToolbarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +23 -5
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +81 -13
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
- package/dist/esm/components/navigation/command.d.ts.map +1 -1
- package/dist/esm/components/navigation/command.js.map +1 -1
- package/dist/esm/components/navigation/menu-bar.d.ts +1 -1
- package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
- package/dist/esm/components/navigation/menu-bar.js.map +1 -1
- package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/navbar.js.map +1 -1
- package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/sidebar.js.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.js +36 -9
- package/dist/esm/components/overlays/containers/OverlayContainer.js.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.labels.js.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert.js.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.shared-types.js.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.js.map +1 -1
- package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.js.map +1 -1
- package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.js.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.js.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.d.ts +1 -1
- package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.js.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.d.ts +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.js.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.js.map +1 -1
- package/dist/esm/components/overlays/floating/menu.shared-types.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/menu.shared-types.js.map +1 -1
- package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/popover.js.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.js.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.js.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.labels.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.labels.js.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.js.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
- package/dist/esm/components/resources/CollectionSelectionControls.d.ts.map +1 -1
- package/dist/esm/components/resources/CollectionSelectionControls.js.map +1 -1
- package/dist/esm/components/resources/EphemeralFieldsRevealDialog.d.ts.map +1 -1
- package/dist/esm/components/resources/EphemeralFieldsRevealDialog.js.map +1 -1
- package/dist/esm/components/resources/InlineSearchInput.d.ts.map +1 -1
- package/dist/esm/components/resources/InlineSearchInput.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
- package/dist/esm/components/resources/ResourceInPlaceOperationRow.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceInPlaceOperationRow.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +9 -0
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.js +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.js +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_InsertedViews.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read_Expandable.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read_Expandable.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SortControl.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SortControl.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.js +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionPopover.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionPopover.js.map +1 -1
- package/dist/esm/components/resources/ResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationSurface.js.map +1 -1
- package/dist/esm/components/resources/ResourceOwnedViewEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOwnedViewEmbeds.js.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
- package/dist/esm/components/resources/card-action-placement.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/card-action-placement.utils.js.map +1 -1
- package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
- package/dist/esm/components/resources/collection-view-mode.frontend.d.ts.map +1 -1
- package/dist/esm/components/resources/collection-view-mode.frontend.js.map +1 -1
- package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.js.map +1 -1
- package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.js.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.js.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.js.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.js.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
- package/dist/esm/components/resources/inserted-resource-view.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/inserted-resource-view.frontend.utils.js.map +1 -1
- package/dist/esm/components/resources/resource-operation-custom-view.contracts.d.ts.map +1 -1
- package/dist/esm/components/resources/resource-operation-custom-view.contracts.js.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayItemTemplate.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayItemTemplate.js.map +1 -1
- package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.js.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Divider.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Divider.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FieldScopeContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FieldScopeContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ObjectScope.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ObjectScope.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts +12 -0
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js +13 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.shared.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.shared.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionPresentationContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SubmitButton.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SubmitButton.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryHeader.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryHeader.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryMeta.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryMeta.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryTitle.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.shared.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.shared.js.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.utils.js.map +1 -1
- package/dist/esm/components/resources/useInlineSearch.d.ts.map +1 -1
- package/dist/esm/components/resources/useInlineSearch.js.map +1 -1
- package/dist/esm/components/resources/useLongPress.d.ts.map +1 -1
- package/dist/esm/components/resources/useLongPress.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.labels.js.map +1 -1
- package/dist/esm/components/sections/accordion.d.ts.map +1 -1
- package/dist/esm/components/sections/accordion.js.map +1 -1
- package/dist/esm/components/sections/card.d.ts.map +1 -1
- package/dist/esm/components/sections/card.js.map +1 -1
- package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
- package/dist/esm/components/sections/collapsible.js.map +1 -1
- package/dist/esm/components/sections/content-section.d.ts.map +1 -1
- package/dist/esm/components/sections/content-section.js.map +1 -1
- package/dist/esm/components/sections/pagination.d.ts.map +1 -1
- package/dist/esm/components/sections/pagination.js.map +1 -1
- package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
- package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
- package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
- package/dist/esm/components/sections/stacked-layout.js.map +1 -1
- package/dist/esm/components/sections/stepper.d.ts.map +1 -1
- package/dist/esm/components/sections/stepper.js.map +1 -1
- package/dist/esm/components/sections/surface.d.ts.map +1 -1
- package/dist/esm/components/sections/surface.js.map +1 -1
- package/dist/esm/components/sections/table.d.ts.map +1 -1
- package/dist/esm/components/sections/table.js.map +1 -1
- package/dist/esm/components/sections/tabs.d.ts.map +1 -1
- package/dist/esm/components/sections/tabs.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +121 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +386 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +56 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -0
- package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsHub.js +32 -5
- package/dist/esm/components/settings/SettingsHub.js.map +1 -1
- package/dist/esm/components/settings/SettingsHub.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsHub.labels.js.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
- package/dist/esm/components/settings/SettingsSectionNavigationHost.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsSectionNavigationHost.js.map +1 -1
- package/dist/esm/components/typography/heading.d.ts.map +1 -1
- package/dist/esm/components/typography/heading.js.map +1 -1
- package/dist/esm/components/typography/label.d.ts.map +1 -1
- package/dist/esm/components/typography/label.js.map +1 -1
- package/dist/esm/components/typography/link.d.ts.map +1 -1
- package/dist/esm/components/typography/link.js.map +1 -1
- package/dist/esm/components/typography/text.d.ts.map +1 -1
- package/dist/esm/components/typography/text.js.map +1 -1
- package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
- package/dist/esm/components/typography/truncated-text.js.map +1 -1
- package/dist/esm/components/views/ViewLayout_Header.d.ts.map +1 -1
- package/dist/esm/components/views/ViewLayout_Header.js.map +1 -1
- package/dist/esm/components/views/ViewNotFound.d.ts.map +1 -1
- package/dist/esm/components/views/ViewNotFound.js.map +1 -1
- package/dist/esm/components/views/ViewNotFound.labels.d.ts.map +1 -1
- package/dist/esm/components/views/ViewNotFound.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartEmptyState.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartEmptyState.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartErrorState.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartErrorState.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.lazy.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.lazy.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.labels.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/WildoEChart.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/WildoEChart.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-export.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-export.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-runtime.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-runtime.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-theme-bridge.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-theme-bridge.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-view.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-view.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/dev/ChartView.example.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/dev/ChartView.example.js.map +1 -1
- package/dist/esm/components/views/chart-view/echarts-setup.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/echarts-setup.js.map +1 -1
- package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/enum-color-bridge.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builder-utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeView.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeView.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeViewContext.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeViewContext.js.map +1 -1
- package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js.map +1 -1
- package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.js.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.d.ts.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.js.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.labels.js.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +11 -7
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
- package/dist/esm/components/views/full-custom-view/FullCustomView.d.ts.map +1 -1
- package/dist/esm/components/views/full-custom-view/FullCustomView.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.js +9 -2
- package/dist/esm/components/views/onboarding-view/OnboardingView.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.labels.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/onboarding-view.utils.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/onboarding-view.utils.js.map +1 -1
- package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
- package/dist/esm/core/app-shell/PortalContainerContext.js.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts +40 -18
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.js +0 -5
- package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
- package/dist/esm/core/app-shell/app-shell.utils.d.ts.map +1 -1
- package/dist/esm/core/app-shell/app-shell.utils.js.map +1 -1
- package/dist/esm/core/app-shell/hosted-components.utils.d.ts.map +1 -1
- package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
- package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts +16 -0
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js +17 -0
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +31 -11
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +34 -25
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +30 -4
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js +233 -17
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
- package/dist/esm/core/billing/BillingContext.d.ts +36 -0
- package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
- package/dist/esm/core/billing/BillingContext.js +1 -0
- package/dist/esm/core/billing/BillingContext.js.map +1 -1
- package/dist/esm/core/billing/BillingErrorNotifier.d.ts.map +1 -1
- package/dist/esm/core/billing/BillingErrorNotifier.js.map +1 -1
- package/dist/esm/core/billing/billing-launcher.d.ts.map +1 -1
- package/dist/esm/core/billing/billing-launcher.js +1 -1
- package/dist/esm/core/billing/billing-launcher.js.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.js.map +1 -1
- package/dist/esm/core/billing/useBilling.d.ts.map +1 -1
- package/dist/esm/core/billing/useBilling.js.map +1 -1
- package/dist/esm/core/billing/useBillingAction.d.ts.map +1 -1
- package/dist/esm/core/billing/useBillingAction.js.map +1 -1
- package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts.map +1 -1
- package/dist/esm/core/billing/useSafeBillingActionExecutor.js.map +1 -1
- package/dist/esm/core/branding/useBrandIdentity.d.ts +17 -0
- package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandIdentity.js +17 -0
- package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
- package/dist/esm/core/commons/devices.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/devices.frontend.schemas.js.map +1 -1
- package/dist/esm/core/commons/local-storage.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/local-storage.frontend.schemas.js.map +1 -1
- package/dist/esm/core/commons/window-event.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/window-event.frontend.schemas.js.map +1 -1
- package/dist/esm/core/companion/companion-exports.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/companion/companion-exports.frontend.definitions.js.map +1 -1
- package/dist/esm/core/components-registry/ComponentNotInjected.d.ts.map +1 -1
- package/dist/esm/core/components-registry/ComponentNotInjected.js.map +1 -1
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +1 -0
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry-loader.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry-loader.frontend.service.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.js +4 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.js +8 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts +188 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js +255 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -0
- package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
- package/dist/esm/core/components-registry/register-framework-layouts.js +2 -0
- package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts +76 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js +99 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -0
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +15 -5
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +44 -7
- package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-level-components.frontend.schemas.js +44 -7
- package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +14 -14
- package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.js.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.d.ts +0 -49
- package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.js +102 -56
- package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
- package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/execution-view.schemas.js.map +1 -1
- package/dist/esm/core/config/flows-actors-view.schemas.d.ts +5 -3
- package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/flows-actors-view.schemas.js +2 -2
- package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
- package/dist/esm/core/config/full-custom-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/full-custom-view.schemas.js.map +1 -1
- package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
- package/dist/esm/core/config/inserted-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/inserted-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +51 -11
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.js +21 -7
- package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/onboarding-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/onboarding-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.js.map +1 -1
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +23 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.js +22 -0
- package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/useSettingsHubConfig.d.ts.map +1 -1
- package/dist/esm/core/config/useSettingsHubConfig.js +8 -1
- package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/verify-feature-references.frontend.d.ts +7 -0
- package/dist/esm/core/config/verify-feature-references.frontend.d.ts.map +1 -1
- package/dist/esm/core/config/verify-feature-references.frontend.js +42 -1
- package/dist/esm/core/config/verify-feature-references.frontend.js.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.js +9 -2
- package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
- package/dist/esm/core/config/views-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/views-frontend.schemas.js.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
- package/dist/esm/core/errors/ErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/ErrorBoundary.js.map +1 -1
- package/dist/esm/core/errors/ErrorContext.d.ts.map +1 -1
- package/dist/esm/core/errors/ErrorContext.js.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
- package/dist/esm/core/errors/RouterErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/RouterErrorBoundary.js.map +1 -1
- package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
- package/dist/esm/core/errors/errors-builder.frontend.services.d.ts.map +1 -1
- package/dist/esm/core/errors/errors-builder.frontend.services.js.map +1 -1
- package/dist/esm/core/errors/errors.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/errors/errors.frontend.schemas.js.map +1 -1
- package/dist/esm/core/errors/http-error-behavior.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/errors/http-error-behavior.frontend.schemas.js.map +1 -1
- package/dist/esm/core/errors/useError.d.ts.map +1 -1
- package/dist/esm/core/errors/useError.js.map +1 -1
- package/dist/esm/core/errors/withErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/withErrorBoundary.js.map +1 -1
- package/dist/esm/core/events/EventBusContext.d.ts.map +1 -1
- package/dist/esm/core/events/EventBusContext.js.map +1 -1
- package/dist/esm/core/events/NotificationContext.d.ts +6 -5
- package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
- package/dist/esm/core/events/NotificationContext.js +41 -39
- package/dist/esm/core/events/NotificationContext.js.map +1 -1
- package/dist/esm/core/events/event-bus.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/events/event-bus.frontend.service.js.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.d.ts +34 -18
- package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.js +22 -1
- package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
- package/dist/esm/core/events/notification-display-policy.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/notification-display-policy.frontend.schemas.js.map +1 -1
- package/dist/esm/core/events/toast.d.ts.map +1 -1
- package/dist/esm/core/events/toast.js.map +1 -1
- package/dist/esm/core/events/useEventBus.d.ts.map +1 -1
- package/dist/esm/core/events/useEventBus.js.map +1 -1
- package/dist/esm/core/events/useNotification.d.ts.map +1 -1
- package/dist/esm/core/events/useNotification.js.map +1 -1
- package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.d.ts.map +1 -1
- package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.js.map +1 -1
- package/dist/esm/core/execution/ExecutionRuntimeContext.d.ts.map +1 -1
- package/dist/esm/core/execution/ExecutionRuntimeContext.js.map +1 -1
- package/dist/esm/core/execution/execution-anchor.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-anchor.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-dirty-markers.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-dirty-markers.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-failure-handling.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-failure-handling.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-outcome-emission.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-outcome-emission.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-participation.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-participation.utils.js.map +1 -1
- package/dist/esm/core/execution/useExecution.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecution.js.map +1 -1
- package/dist/esm/core/execution/useExecutionDirtyBridge.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionDirtyBridge.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationPrefetch.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationPrefetch.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.js.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts +77 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js +114 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -0
- package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.js.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts +33 -15
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js +27 -21
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts +102 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js +117 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js.map +1 -0
- package/dist/esm/core/features/FeatureGate.d.ts.map +1 -1
- package/dist/esm/core/features/FeatureGate.js +1 -1
- package/dist/esm/core/features/FeatureGate.js.map +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.d.ts.map +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.js +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.js.map +1 -1
- package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
- package/dist/esm/core/features/FeaturesContext.js.map +1 -1
- package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts +7 -0
- package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/features/feature-unavailability.frontend.utils.js +5 -0
- package/dist/esm/core/features/feature-unavailability.frontend.utils.js.map +1 -1
- package/dist/esm/core/features/useFeatureAvailability.d.ts +2 -0
- package/dist/esm/core/features/useFeatureAvailability.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatureAvailability.js +4 -2
- package/dist/esm/core/features/useFeatureAvailability.js.map +1 -1
- package/dist/esm/core/features/useFeatureGate.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatureGate.js.map +1 -1
- package/dist/esm/core/features/useFeatures.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatures.js.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +26 -2
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.js +60 -3
- package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
- package/dist/esm/core/flows-actors/useFlowsActors.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/useFlowsActors.js.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.js +2 -2
- package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
- package/dist/esm/core/guidance/GuidanceRenderer.d.ts.map +1 -1
- package/dist/esm/core/guidance/GuidanceRenderer.js.map +1 -1
- package/dist/esm/core/guidance/guidance-audience.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/guidance/guidance-audience.frontend.utils.js.map +1 -1
- package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.d.ts.map +1 -1
- package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.labels.js.map +1 -1
- package/dist/esm/core/guidance/useGuidance.d.ts.map +1 -1
- package/dist/esm/core/guidance/useGuidance.js.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +29 -0
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +76 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
- package/dist/esm/core/hotkey/HotkeyRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/hotkey/HotkeyRegistryContext.js +44 -8
- package/dist/esm/core/hotkey/HotkeyRegistryContext.js.map +1 -1
- package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.d.ts.map +1 -1
- package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.js.map +1 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts +53 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js +78 -13
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts.map +1 -1
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
- package/dist/esm/core/hotkey/useHotkey.d.ts.map +1 -1
- package/dist/esm/core/hotkey/useHotkey.js.map +1 -1
- package/dist/esm/core/i18n/I18nContext.d.ts +32 -0
- package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
- package/dist/esm/core/i18n/I18nContext.js +154 -32
- package/dist/esm/core/i18n/I18nContext.js.map +1 -1
- package/dist/esm/core/i18n/component-label-resolution.utils.d.ts.map +1 -1
- package/dist/esm/core/i18n/component-label-resolution.utils.js.map +1 -1
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts +51 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js +66 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -0
- package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
- package/dist/esm/core/i18n/useI18n.js +22 -2
- package/dist/esm/core/i18n/useI18n.js.map +1 -1
- package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
- package/dist/esm/core/icons/IconRegistryBridge.js.map +1 -1
- package/dist/esm/core/icons/IconRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/icons/IconRegistryContext.js.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.definitions.js.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/icons/useIconRegistry.d.ts.map +1 -1
- package/dist/esm/core/icons/useIconRegistry.js.map +1 -1
- package/dist/esm/core/loading/AppLoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/AppLoadingGate.js.map +1 -1
- package/dist/esm/core/loading/LoadingBarrier.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingBarrier.js.map +1 -1
- package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingContext.js.map +1 -1
- package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingGate.js +16 -3
- package/dist/esm/core/loading/LoadingGate.js.map +1 -1
- package/dist/esm/core/loading/loading-policy.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-policy.frontend.schemas.js.map +1 -1
- package/dist/esm/core/loading/loading-scope.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-scope.frontend.utils.js.map +1 -1
- package/dist/esm/core/loading/loading-types.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-types.frontend.schemas.js.map +1 -1
- package/dist/esm/core/loading/resolveLoadingPolicy.d.ts.map +1 -1
- package/dist/esm/core/loading/resolveLoadingPolicy.js.map +1 -1
- package/dist/esm/core/loading/useAppLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useAppLoading.js.map +1 -1
- package/dist/esm/core/loading/useComponentLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useComponentLoading.js.map +1 -1
- package/dist/esm/core/loading/useEmitLoadingScope.d.ts.map +1 -1
- package/dist/esm/core/loading/useEmitLoadingScope.js.map +1 -1
- package/dist/esm/core/loading/useLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useLoading.js.map +1 -1
- package/dist/esm/core/mode/AppModeContext.d.ts.map +1 -1
- package/dist/esm/core/mode/AppModeContext.js.map +1 -1
- package/dist/esm/core/mode/section-visibility.d.ts.map +1 -1
- package/dist/esm/core/mode/section-visibility.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/useAnalytics.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/useAnalytics.js.map +1 -1
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts +97 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts.map +1 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js +179 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js.map +1 -0
- package/dist/esm/core/monitoring/logger.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/monitoring/logger.frontend.service.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.js +76 -48
- package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.d.ts +12 -0
- package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.js +24 -0
- package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
- package/dist/esm/core/navigation/hosted-pane.constants.d.ts.map +1 -1
- package/dist/esm/core/navigation/hosted-pane.constants.js.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.d.ts +1 -1
- package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +14 -5
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js +146 -17
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.d.ts +58 -10
- package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.js +1 -1
- package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.d.ts +2 -2
- package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.js +4 -4
- package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
- package/dist/esm/core/navigation/primary-destination-layout.d.ts.map +1 -1
- package/dist/esm/core/navigation/primary-destination-layout.js.map +1 -1
- package/dist/esm/core/navigation/useIsStackEntryActive.d.ts.map +1 -1
- package/dist/esm/core/navigation/useIsStackEntryActive.js.map +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.d.ts +8 -0
- package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.js +26 -6
- package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationState.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationState.js.map +1 -1
- package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
- package/dist/esm/core/navigation/useOverlayTitle.js.map +1 -1
- package/dist/esm/core/navigation/useTransactionAwareSyncRetry.d.ts.map +1 -1
- package/dist/esm/core/navigation/useTransactionAwareSyncRetry.js.map +1 -1
- package/dist/esm/core/navigation/view-title-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/view-title-resolution.js.map +1 -1
- package/dist/esm/core/navigation/zone-content-geometry.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-content-geometry.js.map +1 -1
- package/dist/esm/core/navigation/zone-empty-behavior.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-empty-behavior.js.map +1 -1
- package/dist/esm/core/navigation/zone-visible-entry.d.ts +26 -0
- package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -0
- package/dist/esm/core/navigation/zone-visible-entry.js +76 -0
- package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -0
- package/dist/esm/core/requests/api-readiness-checker.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/api-readiness-checker.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
- package/dist/esm/core/requests/client-instance-id.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/client-instance-id.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/network-backoff.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/requests/network-backoff.frontend.utils.js.map +1 -1
- package/dist/esm/core/requests/offline-replay-policy.frontend.d.ts.map +1 -1
- package/dist/esm/core/requests/offline-replay-policy.frontend.js.map +1 -1
- package/dist/esm/core/requests/request-cancellation.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/requests/request-cancellation.frontend.utils.js.map +1 -1
- package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.js.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
- package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useNotificationBadges.js +32 -19
- package/dist/esm/core/requests/websockets/useNotificationBadges.js.map +1 -1
- package/dist/esm/core/requests/websockets/useResourceRoom.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useResourceRoom.js.map +1 -1
- package/dist/esm/core/requests/websockets/useWebSocket.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useWebSocket.js.map +1 -1
- package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +146 -2
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +108 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts +3 -2
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js +57 -4
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +6 -0
- package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client.frontend.service.js +1 -0
- package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewContext.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewContext.js.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewProvider.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewProvider.js.map +1 -1
- package/dist/esm/core/resources/ResourceReadCacheBridge.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceReadCacheBridge.js +130 -37
- package/dist/esm/core/resources/ResourceReadCacheBridge.js.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.js.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
- package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/ephemeral-fields.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/ephemeral-fields.utils.js.map +1 -1
- package/dist/esm/core/resources/file-serve-url.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/file-serve-url.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
- package/dist/esm/core/resources/in-place/InPlaceOperationContext.d.ts.map +1 -1
- package/dist/esm/core/resources/in-place/InPlaceOperationContext.js.map +1 -1
- package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/relationship-quick-create.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-operation-view.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-operation-view.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-path.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-path.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-read-cache.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistryContext.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMWebSocketBridge.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMWebSocketBridge.js.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/rmm/field-path.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/field-path.utils.js.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-constants.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-constants.js.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-noop-snapshot.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-noop-snapshot.js.map +1 -1
- package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/types.js.map +1 -1
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
- package/dist/esm/core/resources/rmm/useListInvalidation.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useListInvalidation.js.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMEventHandler.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMEventHandler.js.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMSnapshot.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMSnapshot.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
- package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.d.ts.map +1 -1
- package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.js.map +1 -1
- package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
- package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
- package/dist/esm/core/resources/useOperationEnabled.d.ts.map +1 -1
- package/dist/esm/core/resources/useOperationEnabled.js.map +1 -1
- package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceLabels.js +20 -14
- package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/resources/useResourceRegistry.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceRegistry.js.map +1 -1
- package/dist/esm/core/resources/useResourceSelection.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceSelection.js.map +1 -1
- package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js.map +1 -1
- package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
- package/dist/esm/core/runtime/AppRouter.js +2 -1
- package/dist/esm/core/runtime/AppRouter.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts +9 -0
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.js +1 -0
- package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
- package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/env-variable-loader.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/env-variable-loader.frontend.service.js.map +1 -1
- package/dist/esm/core/runtime/frontend-companion-resource-inputs.d.ts.map +1 -1
- package/dist/esm/core/runtime/frontend-companion-resource-inputs.js.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +6 -0
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.js +7 -0
- package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/runtime.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/runtime/runtime.frontend.schemas.js.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.d.ts +38 -0
- package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.js +92 -3
- package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
- package/dist/esm/core/runtime/useApplication.d.ts.map +1 -1
- package/dist/esm/core/runtime/useApplication.js.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
- package/dist/esm/core/scope/scope.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/scope/scope.frontend.schemas.js.map +1 -1
- package/dist/esm/core/scope/scope.utils.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/scope/scope.utils.frontend.service.js.map +1 -1
- package/dist/esm/core/scope/useAppScope.d.ts.map +1 -1
- package/dist/esm/core/scope/useAppScope.js.map +1 -1
- package/dist/esm/core/security/AnonymousSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/AnonymousSessionContext.js.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.js +97 -13
- package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/auth-session.utils.d.ts.map +1 -1
- package/dist/esm/core/security/auth-session.utils.js.map +1 -1
- package/dist/esm/core/security/cross-frontend-handoff.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/security/cross-frontend-handoff.frontend.service.js.map +1 -1
- package/dist/esm/core/security/jwt.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/jwt.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
- package/dist/esm/core/security/session-token-storage.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/security/session-token-storage.frontend.service.js.map +1 -1
- package/dist/esm/core/security/useAuthSession.d.ts.map +1 -1
- package/dist/esm/core/security/useAuthSession.js.map +1 -1
- package/dist/esm/core/security/useResolvedAuthConfig.d.ts.map +1 -1
- package/dist/esm/core/security/useResolvedAuthConfig.js.map +1 -1
- package/dist/esm/core/security/useStepUpAuth.d.ts.map +1 -1
- package/dist/esm/core/security/useStepUpAuth.js.map +1 -1
- package/dist/esm/core/security/useUserOrgs.d.ts.map +1 -1
- package/dist/esm/core/security/useUserOrgs.js.map +1 -1
- package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfaceErrorBoundary.js.map +1 -1
- package/dist/esm/core/ui/SurfacePolicyContext.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfacePolicyContext.js.map +1 -1
- package/dist/esm/core/ui/TypographyScopeContext.d.ts.map +1 -1
- package/dist/esm/core/ui/TypographyScopeContext.js.map +1 -1
- package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
- package/dist/esm/core/ui/UIContext.js.map +1 -1
- package/dist/esm/core/ui/chart-style-defaults.d.ts.map +1 -1
- package/dist/esm/core/ui/chart-style-defaults.js.map +1 -1
- package/dist/esm/core/ui/cn.d.ts.map +1 -1
- package/dist/esm/core/ui/cn.js.map +1 -1
- package/dist/esm/core/ui/color-conversion.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/color-conversion.utils.js.map +1 -1
- package/dist/esm/core/ui/design-token-class-groups.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token-class-groups.js.map +1 -1
- package/dist/esm/core/ui/design-token-config.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token-config.utils.js.map +1 -1
- package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token.utils.js.map +1 -1
- package/dist/esm/core/ui/material-runtime.d.ts.map +1 -1
- package/dist/esm/core/ui/material-runtime.js.map +1 -1
- package/dist/esm/core/ui/surface-a11y.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/surface-a11y.utils.js.map +1 -1
- package/dist/esm/core/ui/theme-preference-storage.shared.d.ts.map +1 -1
- package/dist/esm/core/ui/theme-preference-storage.shared.js.map +1 -1
- package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
- package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts +7 -2
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/ui/ui.frontend.schemas.js.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
- package/dist/esm/core/ui/useUI.d.ts.map +1 -1
- package/dist/esm/core/ui/useUI.js.map +1 -1
- package/dist/esm/index.d.ts +7 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +20 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tailwind/index.d.ts.map +1 -1
- package/dist/esm/tailwind/index.js.map +1 -1
- package/dist/esm/testing/mock-builders.d.ts.map +1 -1
- package/dist/esm/testing/mock-builders.js +2 -0
- package/dist/esm/testing/mock-builders.js.map +1 -1
- package/dist/esm/testing/mock-factory.d.ts.map +1 -1
- package/dist/esm/testing/mock-factory.js.map +1 -1
- package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
- package/dist/esm/testing/rmm-helpers.js.map +1 -1
- package/dist/esm/testing/test-providers.d.ts.map +1 -1
- package/dist/esm/testing/test-providers.js.map +1 -1
- package/dist/esm/testing.d.ts.map +1 -1
- package/dist/esm/testing.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +6 -5
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts +0 -21
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +0 -1
- package/dist/esm/components/billing/billing-plan-change-preview.js +0 -12
- package/dist/esm/components/billing/billing-plan-change-preview.js.map +0 -1
- package/dist/esm/components/billing/billing-promotion-code-input.d.ts +0 -12
- package/dist/esm/components/billing/billing-promotion-code-input.d.ts.map +0 -1
- package/dist/esm/components/billing/billing-promotion-code-input.js +0 -11
- package/dist/esm/components/billing/billing-promotion-code-input.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"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"}
|
package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composed.builder.js","sourceRoot":"","sources":["../../../../../../../../src/components/views/chart-view/option-builder/builders/composed.builder.ts"],"names":[],"mappings":"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","sourcesContent":["/** Composed builder: COMPOSED — mixed series types (e.g., bar + line overlay)\n *\n * Each series definition specifies its own chartType.\n * The builder delegates to the appropriate family builder for each series,\n * then merges the results onto shared axes.\n *\n * Dual-axis is achieved when a series has yAxisIndex: 1.\n */\n\nimport { ChartType } from '@wildo-ai/saas-models';\nimport type { ChartSeriesDefinition } 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 areAllSeriesMeasuresIntegerValued,\n buildCategoryXAxis,\n buildValueYAxis,\n extractDimensionValues,\n extractMeasureValues,\n formatTimeBucketLabel,\n buildTimeAxisLabelDisplayFormatter,\n getResolvedTimezone,\n resolveSeriesColor,\n resolveSeriesName,\n applySeriesStyle,\n} from '~wildo-frontend-lib/components/views/chart-view/option-builder/builder-utils';\n\n/** Map from ChartType to ECharts series type */\nfunction resolveEchartsSeriesType(chartType?: ChartType): string {\n switch (chartType) {\n case ChartType.LINE:\n case ChartType.STEP_LINE:\n case ChartType.AREA:\n case ChartType.STACKED_AREA:\n return 'line';\n case ChartType.SCATTER:\n case ChartType.BUBBLE:\n return 'scatter';\n case ChartType.BAR:\n case ChartType.HORIZONTAL_BAR:\n case ChartType.GROUPED_BAR:\n case ChartType.STACKED_BAR:\n case ChartType.WATERFALL:\n default:\n return 'bar';\n }\n}\n\nexport class ComposedBuilder implements ChartTypeBuilder {\n supportedTypes = [ChartType.COMPOSED];\n\n build(ctx: ChartBuildContext, seriesDefs: ChartSeriesDefinition[]): ChartBuildResult {\n const dimensionRef = getPrimaryDimensionRef(ctx);\n const echartsSeriesList: Record<string, unknown>[] = [];\n\n let needsDualAxis = false;\n\n for (let i = 0; i < seriesDefs.length; i++) {\n const sDef = seriesDefs[i]!;\n const echartsType = resolveEchartsSeriesType(sDef.chartType);\n const color = resolveSeriesColor(sDef, i, ctx.colorPalette);\n const values = extractMeasureValues(ctx.response.data, sDef.measureRef);\n\n const item: Record<string, unknown> = {\n type: echartsType,\n name: resolveSeriesName(sDef, ctx.t),\n data: values,\n itemStyle: { color },\n yAxisIndex: sDef.yAxisIndex ?? 0,\n };\n\n // Type-specific adjustments\n if (sDef.chartType === ChartType.AREA || sDef.chartType === ChartType.STACKED_AREA) {\n item.areaStyle = { opacity: sDef.style?.areaOpacity ?? 0.3 };\n }\n if (sDef.chartType === ChartType.STACKED_BAR || sDef.chartType === ChartType.STACKED_AREA) {\n item.stack = 'composed_stack';\n }\n if (sDef.chartType === ChartType.STEP_LINE) {\n item.step = sDef.style?.step ?? 'start';\n }\n\n // Apply explicit style overrides\n applySeriesStyle(item, sDef);\n\n if ((sDef.yAxisIndex ?? 0) > 0) {\n needsDualAxis = true;\n }\n\n echartsSeriesList.push(item);\n }\n\n // Build axes. A time dimension is rendered as a category axis of\n // timezone-correct labels (series values already index-align by row order);\n // a categorical dimension keeps its raw category labels.\n const firstDim = ctx.definition.dataQuery.dimensions[0];\n const timeDisplayFormatter = buildTimeAxisLabelDisplayFormatter(firstDim?.timeGranularity);\n const xAxis = firstDim?.timeGranularity\n ? {\n type: 'category',\n data: extractDimensionValues(ctx.response.data, dimensionRef).map(\n v => formatTimeBucketLabel(v, firstDim.timeGranularity, getResolvedTimezone(ctx)),\n ),\n axisLabel: {\n hideOverlap: ctx.chartStylePreset.axis.hideOverlap ?? true,\n // Display-only: DAY/WEEK keys re-render as locale-driven \"Aug 14\".\n ...(timeDisplayFormatter ? { formatter: timeDisplayFormatter } : {}),\n },\n }\n : buildCategoryXAxis(ctx.response.data, dimensionRef, ctx.chartStylePreset);\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 // Integer-tick clamping is decided PER AXIS from the series bound to it —\n // a COUNT bar on the left axis keeps whole-number ticks even when an AVG\n // line rides the right axis.\n const primaryAxisSeries = seriesDefs.filter(s => (s.yAxisIndex ?? 0) === 0);\n const secondaryAxisSeries = seriesDefs.filter(s => (s.yAxisIndex ?? 0) > 0);\n const yAxes = [buildValueYAxis(yAxisLabel, ctx.chartStylePreset, {\n integerValued: areAllSeriesMeasuresIntegerValued(ctx, primaryAxisSeries),\n })];\n\n if (needsDualAxis) {\n const secondaryLabel = ctx.definition.i18n?.yAxisSecondaryLabelKey\n ? (() => { const r = ctx.t(ctx.definition.i18n!.yAxisSecondaryLabelKey!); return r !== ctx.definition.i18n!.yAxisSecondaryLabelKey! ? r : undefined; })()\n : undefined;\n const rightAxis = buildValueYAxis(secondaryLabel, ctx.chartStylePreset, {\n integerValued: areAllSeriesMeasuresIntegerValued(ctx, secondaryAxisSeries),\n });\n rightAxis.position = 'right';\n rightAxis.splitLine = { show: false }; // Don't duplicate grid lines\n yAxes.push(rightAxis);\n }\n\n return {\n series: echartsSeriesList,\n xAxis,\n yAxis: yAxes.length === 1 ? yAxes[0] : yAxes,\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"composed.builder.js","sourceRoot":"","sources":["../../../../../../../src/components/views/chart-view/option-builder/builders/composed.builder.ts"],"names":[],"mappings":"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","sourcesContent":["/** Composed builder: COMPOSED — mixed series types (e.g., bar + line overlay)\n *\n * Each series definition specifies its own chartType.\n * The builder delegates to the appropriate family builder for each series,\n * then merges the results onto shared axes.\n *\n * Dual-axis is achieved when a series has yAxisIndex: 1.\n */\n\nimport { ChartType } from '@wildo-ai/saas-models';\nimport type { ChartSeriesDefinition } 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 areAllSeriesMeasuresIntegerValued,\n buildCategoryXAxis,\n buildValueYAxis,\n extractDimensionValues,\n extractMeasureValues,\n formatTimeBucketLabel,\n buildTimeAxisLabelDisplayFormatter,\n getResolvedTimezone,\n resolveSeriesColor,\n resolveSeriesName,\n applySeriesStyle,\n} from '~wildo-frontend-lib/components/views/chart-view/option-builder/builder-utils';\n\n/** Map from ChartType to ECharts series type */\nfunction resolveEchartsSeriesType(chartType?: ChartType): string {\n switch (chartType) {\n case ChartType.LINE:\n case ChartType.STEP_LINE:\n case ChartType.AREA:\n case ChartType.STACKED_AREA:\n return 'line';\n case ChartType.SCATTER:\n case ChartType.BUBBLE:\n return 'scatter';\n case ChartType.BAR:\n case ChartType.HORIZONTAL_BAR:\n case ChartType.GROUPED_BAR:\n case ChartType.STACKED_BAR:\n case ChartType.WATERFALL:\n default:\n return 'bar';\n }\n}\n\nexport class ComposedBuilder implements ChartTypeBuilder {\n supportedTypes = [ChartType.COMPOSED];\n\n build(ctx: ChartBuildContext, seriesDefs: ChartSeriesDefinition[]): ChartBuildResult {\n const dimensionRef = getPrimaryDimensionRef(ctx);\n const echartsSeriesList: Record<string, unknown>[] = [];\n\n let needsDualAxis = false;\n\n for (let i = 0; i < seriesDefs.length; i++) {\n const sDef = seriesDefs[i]!;\n const echartsType = resolveEchartsSeriesType(sDef.chartType);\n const color = resolveSeriesColor(sDef, i, ctx.colorPalette);\n const values = extractMeasureValues(ctx.response.data, sDef.measureRef);\n\n const item: Record<string, unknown> = {\n type: echartsType,\n name: resolveSeriesName(sDef, ctx.t),\n data: values,\n itemStyle: { color },\n yAxisIndex: sDef.yAxisIndex ?? 0,\n };\n\n // Type-specific adjustments\n if (sDef.chartType === ChartType.AREA || sDef.chartType === ChartType.STACKED_AREA) {\n item.areaStyle = { opacity: sDef.style?.areaOpacity ?? 0.3 };\n }\n if (sDef.chartType === ChartType.STACKED_BAR || sDef.chartType === ChartType.STACKED_AREA) {\n item.stack = 'composed_stack';\n }\n if (sDef.chartType === ChartType.STEP_LINE) {\n item.step = sDef.style?.step ?? 'start';\n }\n\n // Apply explicit style overrides\n applySeriesStyle(item, sDef);\n\n if ((sDef.yAxisIndex ?? 0) > 0) {\n needsDualAxis = true;\n }\n\n echartsSeriesList.push(item);\n }\n\n // Build axes. A time dimension is rendered as a category axis of\n // timezone-correct labels (series values already index-align by row order);\n // a categorical dimension keeps its raw category labels.\n const firstDim = ctx.definition.dataQuery.dimensions[0];\n const timeDisplayFormatter = buildTimeAxisLabelDisplayFormatter(firstDim?.timeGranularity);\n const xAxis = firstDim?.timeGranularity\n ? {\n type: 'category',\n data: extractDimensionValues(ctx.response.data, dimensionRef).map(\n v => formatTimeBucketLabel(v, firstDim.timeGranularity, getResolvedTimezone(ctx)),\n ),\n axisLabel: {\n hideOverlap: ctx.chartStylePreset.axis.hideOverlap ?? true,\n // Display-only: DAY/WEEK keys re-render as locale-driven \"Aug 14\".\n ...(timeDisplayFormatter ? { formatter: timeDisplayFormatter } : {}),\n },\n }\n : buildCategoryXAxis(ctx.response.data, dimensionRef, ctx.chartStylePreset);\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 // Integer-tick clamping is decided PER AXIS from the series bound to it —\n // a COUNT bar on the left axis keeps whole-number ticks even when an AVG\n // line rides the right axis.\n const primaryAxisSeries = seriesDefs.filter(s => (s.yAxisIndex ?? 0) === 0);\n const secondaryAxisSeries = seriesDefs.filter(s => (s.yAxisIndex ?? 0) > 0);\n const yAxes = [buildValueYAxis(yAxisLabel, ctx.chartStylePreset, {\n integerValued: areAllSeriesMeasuresIntegerValued(ctx, primaryAxisSeries),\n })];\n\n if (needsDualAxis) {\n const secondaryLabel = ctx.definition.i18n?.yAxisSecondaryLabelKey\n ? (() => { const r = ctx.t(ctx.definition.i18n!.yAxisSecondaryLabelKey!); return r !== ctx.definition.i18n!.yAxisSecondaryLabelKey! ? r : undefined; })()\n : undefined;\n const rightAxis = buildValueYAxis(secondaryLabel, ctx.chartStylePreset, {\n integerValued: areAllSeriesMeasuresIntegerValued(ctx, secondaryAxisSeries),\n });\n rightAxis.position = 'right';\n rightAxis.splitLine = { show: false }; // Don't duplicate grid lines\n yAxes.push(rightAxis);\n }\n\n return {\n series: echartsSeriesList,\n xAxis,\n yAxis: yAxes.length === 1 ? yAxes[0] : yAxes,\n };\n }\n}\n"]}
|
package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"funnel.builder.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"funnel.builder.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/views/chart-view/option-builder/builders/funnel.builder.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAA0B,MAAM,uBAAuB,CAAC;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,6FAA6F,CAAC;AAGzK,qBAAa,aAAc,YAAW,gBAAgB;IACpD,cAAc,cAAsB;IAEpC,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,qBAAqB,EAAE,GAAG,gBAAgB;CAiCrF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"funnel.builder.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"funnel.builder.js","sourceRoot":"","sources":["../../../../../../../src/components/views/chart-view/option-builder/builders/funnel.builder.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,8EAA8E,CAAC;AAE5J,MAAM,OAAO,aAAa;IACxB,cAAc,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAEpC,KAAK,CAAC,GAAsB,EAAE,UAAmC;QAC/D,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE,CAA2B,CAAC;QAE7E,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/C,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC;YAC7D,KAAK,EAAE,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;SAC3G,CAAC,CAAC,CAAC;QAEJ,0EAA0E;QAC1E,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,IAAI,YAAY,CAAC;QAE3C,MAAM,IAAI,GAA4B;YACpC,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;YACpC,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,KAAK;YACvB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,KAAK;YACzB,KAAK,EAAE;gBACL,IAAI,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI;gBAC3B,QAAQ,EAAE,GAAG,CAAC,aAAa,IAAI,QAAQ;aACxC;YACD,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;YACjB,IAAI,EAAE,SAAS;YACf,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjD,CAAC;QAEF,OAAO,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IAC5B,CAAC;CACF","sourcesContent":["/** Funnel builder: FUNNEL */\n\nimport { ChartType } from '@wildo-ai/saas-models';\nimport type { ChartSeriesDefinition, ChartTypeConfig_Funnel } 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 { getPrimaryDimensionRef, resolveSplitLabel, resolveSeriesName } from '~wildo-frontend-lib/components/views/chart-view/option-builder/builder-utils';\n\nexport class FunnelBuilder implements ChartTypeBuilder {\n supportedTypes = [ChartType.FUNNEL];\n\n build(ctx: ChartBuildContext, seriesDefs: ChartSeriesDefinition[]): ChartBuildResult {\n const dimRef = getPrimaryDimensionRef(ctx);\n const sDef = seriesDefs[0];\n if (!sDef) return { series: [] };\n const cfg = (ctx.definition.chartTypeConfig ?? {}) as ChartTypeConfig_Funnel;\n\n const funnelData = ctx.response.data.map(row => ({\n name: resolveSplitLabel(String(row[dimRef] ?? ''), sDef, ctx),\n value: typeof row[sDef.measureRef] === 'number' ? row[sDef.measureRef] : Number(row[sDef.measureRef]) || 0,\n }));\n\n // ECharts handles sorting via the `sort` property — no JS pre-sort needed\n const sortOrder = cfg.sort ?? 'descending';\n\n const item: Record<string, unknown> = {\n type: 'funnel',\n name: resolveSeriesName(sDef, ctx.t),\n data: funnelData,\n left: cfg.left ?? '10%',\n width: cfg.width ?? '80%',\n label: {\n show: cfg.showLabel ?? true,\n position: cfg.labelPosition ?? 'inside',\n },\n gap: cfg.gap ?? 2,\n sort: sortOrder,\n ...(cfg.funnelAlign ? { funnelAlign: cfg.funnelAlign } : {}),\n ...(cfg.minSize ? { minSize: cfg.minSize } : {}),\n ...(cfg.maxSize ? { maxSize: cfg.maxSize } : {}),\n };\n\n return { series: [item] };\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gauge.builder.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"gauge.builder.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/views/chart-view/option-builder/builders/gauge.builder.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAyB,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,6FAA6F,CAAC;AAIzK,qBAAa,YAAa,YAAW,gBAAgB;IACnD,cAAc,cAAqB;IAEnC,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,qBAAqB,EAAE,GAAG,gBAAgB;CA4CrF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gauge.builder.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"gauge.builder.js","sourceRoot":"","sources":["../../../../../../../src/components/views/chart-view/option-builder/builders/gauge.builder.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8EAA8E,CAAC;AAEjH,MAAM,OAAO,YAAY;IACvB,cAAc,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAEnC,KAAK,CAAC,GAAsB,EAAE,UAAmC;QAC/D,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE,CAA0B,CAAC;QAC5E,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAE7C,gDAAgD;QAChD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpE,MAAM,IAAI,GAA4B;YACpC,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YAC9B,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;YACjB,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG;YACnB,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gBAChB,OAAO,EAAE;oBACP,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/D,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnE;aACF,CAAC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC5C,QAAQ,EAAE;oBACR,SAAS,EAAE;wBACT,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC1D,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC7D;iBACF;aACF,CAAC,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,EAAE;gBACN,SAAS,EAAE,GAAG,CAAC,eAAe,IAAI,SAAS;gBAC3C,QAAQ,EAAE,GAAG,CAAC,cAAc,IAAI,EAAE;aACnC;YACD,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI,EAAE;SAC7C,CAAC;QAEF,OAAO,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IAC5B,CAAC;CACF","sourcesContent":["/** Gauge builder: GAUGE */\n\nimport { ChartType } from '@wildo-ai/saas-models';\nimport type { ChartSeriesDefinition, ChartTypeConfig_Gauge } from '@wildo-ai/saas-models';\nimport type { ChartTypeBuilder, ChartBuildContext, ChartBuildResult } from '~wildo-frontend-lib/components/views/chart-view/option-builder/chart-type-builder.interface';\n\nimport { resolveSeriesName } from '~wildo-frontend-lib/components/views/chart-view/option-builder/builder-utils';\n\nexport class GaugeBuilder implements ChartTypeBuilder {\n supportedTypes = [ChartType.GAUGE];\n\n build(ctx: ChartBuildContext, seriesDefs: ChartSeriesDefinition[]): ChartBuildResult {\n const sDef = seriesDefs[0];\n if (!sDef) return { series: [] };\n const cfg = (ctx.definition.chartTypeConfig ?? {}) as ChartTypeConfig_Gauge;\n const sName = resolveSeriesName(sDef, ctx.t);\n\n // Gauge shows a single value from the first row\n const firstRow = ctx.response.data[0];\n const value = firstRow ? Number(firstRow[sDef.measureRef]) || 0 : 0;\n\n const item: Record<string, unknown> = {\n type: 'gauge',\n name: sName,\n data: [{ value, name: sName }],\n min: cfg.min ?? 0,\n max: cfg.max ?? 100,\n ...(cfg.splitNumber != null ? { splitNumber: cfg.splitNumber } : {}),\n ...(cfg.radius ? { radius: cfg.radius } : {}),\n ...(cfg.startAngle != null ? { startAngle: cfg.startAngle } : {}),\n ...(cfg.endAngle != null ? { endAngle: cfg.endAngle } : {}),\n ...(cfg.pointer ? {\n pointer: {\n ...(cfg.pointer.show != null ? { show: cfg.pointer.show } : {}),\n ...(cfg.pointer.length ? { length: cfg.pointer.length } : {}),\n ...(cfg.pointer.width != null ? { width: cfg.pointer.width } : {}),\n },\n } : {}),\n ...(cfg.axisLineWidth || cfg.axisLineColors ? {\n axisLine: {\n lineStyle: {\n ...(cfg.axisLineWidth ? { width: cfg.axisLineWidth } : {}),\n ...(cfg.axisLineColors ? { color: cfg.axisLineColors } : {}),\n },\n },\n } : {}),\n detail: {\n formatter: cfg.detailFormatter ?? '{value}',\n fontSize: cfg.detailFontSize ?? 20,\n },\n progress: { show: cfg.showProgress ?? true },\n };\n\n return { series: [item] };\n }\n}\n"]}
|
package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heatmap.builder.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"heatmap.builder.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/views/chart-view/option-builder/builders/heatmap.builder.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAA2B,MAAM,uBAAuB,CAAC;AAC5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,6FAA6F,CAAC;AAEzK;;;;;;;GAOG;AACH,qBAAa,cAAe,YAAW,gBAAgB;IACrD,cAAc,cAAuB;IAErC,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,qBAAqB,EAAE,GAAG,gBAAgB;CAyFrF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heatmap.builder.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"heatmap.builder.js","sourceRoot":"","sources":["../../../../../../../src/components/views/chart-view/option-builder/builders/heatmap.builder.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD;;;;;;;GAOG;AACH,MAAM,OAAO,cAAc;IACzB,cAAc,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAErC,KAAK,CAAC,GAAsB,EAAE,UAAmC;QAC/D,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE,CAA4B,CAAC;QAE9E,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,gCAAgC;QAChC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzD,2BAA2B;QAC3B,IAAI,QAAQ,GAAG,QAAQ,CAAC;QACxB,IAAI,QAAQ,GAAG,CAAC,QAAQ,CAAC;QAEzB,MAAM,WAAW,GAA+B,EAAE,CAAC;QAEnD,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;YAE3C,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YAEhC,IAAI,KAAK,GAAG,QAAQ;gBAAE,QAAQ,GAAG,KAAK,CAAC;YACvC,IAAI,KAAK,GAAG,QAAQ;gBAAE,QAAQ,GAAG,KAAK,CAAC;QACzC,CAAC;QAED,4BAA4B;QAC5B,IAAI,QAAQ,KAAK,QAAQ;YAAE,QAAQ,GAAG,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,CAAC,QAAQ;YAAE,QAAQ,GAAG,CAAC,CAAC;QACzC,6EAA6E;QAC7E,6EAA6E;QAC7E,4EAA4E;QAC5E,qEAAqE;QACrE,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,QAAQ,GAAG,QAAQ,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,cAAc,CAAC;QAC9D,MAAM,cAAc,GAAG,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC;QAErD,MAAM,IAAI,GAA4B;YACpC,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE;YACtC,QAAQ,EAAE;gBACR,SAAS,EAAE;oBACT,UAAU,EAAE,WAAW,EAAE,IAAI,IAAI,cAAc,EAAE,UAAU,IAAI,EAAE;oBACjE,WAAW,EAAE,WAAW,EAAE,KAAK,IAAI,cAAc,EAAE,WAAW,IAAI,oBAAoB;iBACvF;aACF;SACF,CAAC;QAEF,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,IAAI,YAAY,CAAC;QACrD,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,IAAI,QAAQ,CAAC;QAChD,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC;QAEhD,OAAO;YACL,MAAM,EAAE,CAAC,IAAI,CAAC;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;aACnC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;aACnC;YACD,SAAS,EAAE;gBACT,GAAG,EAAE,GAAG,CAAC,YAAY,IAAI,QAAQ;gBACjC,GAAG,EAAE,GAAG,CAAC,YAAY,IAAI,QAAQ;gBACjC,UAAU,EAAE,GAAG,CAAC,mBAAmB,IAAI,IAAI;gBAC3C,MAAM,EAAE,QAAQ;gBAChB,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,GAAG,CAAC,QAAQ,KAAK,YAAY;oBAC3B,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;oBAChC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;aACnC;SACF,CAAC;IACJ,CAAC;CACF","sourcesContent":["/** Heatmap builder: HEATMAP — density/intensity across two dimensions */\n\nimport { ChartType } from '@wildo-ai/saas-models';\nimport type { ChartSeriesDefinition, ChartTypeConfig_Heatmap } from '@wildo-ai/saas-models';\nimport type { ChartTypeBuilder, ChartBuildContext, ChartBuildResult } from '~wildo-frontend-lib/components/views/chart-view/option-builder/chart-type-builder.interface';\n\n/**\n * HeatmapBuilder expects:\n * - Two dimensions: x-axis (dim[0]) and y-axis (dim[1])\n * - One measure: the intensity value\n *\n * Each row → [xIndex, yIndex, value] triple.\n * Uses visualMap for color mapping.\n */\nexport class HeatmapBuilder implements ChartTypeBuilder {\n supportedTypes = [ChartType.HEATMAP];\n\n build(ctx: ChartBuildContext, seriesDefs: ChartSeriesDefinition[]): ChartBuildResult {\n const sDef = seriesDefs[0];\n if (!sDef) return { series: [] };\n const cfg = (ctx.definition.chartTypeConfig ?? {}) as ChartTypeConfig_Heatmap;\n\n const dims = ctx.definition.dataQuery.dimensions;\n const xRef = dims[0]?.ref ?? '';\n const yRef = dims[1]?.ref ?? xRef;\n const measureRef = sDef.measureRef;\n\n // Collect unique x and y values\n const xValues = [...new Set(ctx.response.data.map(row => String(row[xRef] ?? '')))];\n const yValues = [...new Set(ctx.response.data.map(row => String(row[yRef] ?? '')))];\n\n const xIndexMap = new Map(xValues.map((v, i) => [v, i]));\n const yIndexMap = new Map(yValues.map((v, i) => [v, i]));\n\n // Build [x, y, value] data\n let minValue = Infinity;\n let maxValue = -Infinity;\n\n const heatmapData: [number, number, number][] = [];\n\n for (const row of ctx.response.data) {\n const x = xIndexMap.get(String(row[xRef] ?? '')) ?? 0;\n const y = yIndexMap.get(String(row[yRef] ?? '')) ?? 0;\n const value = Number(row[measureRef]) || 0;\n\n heatmapData.push([x, y, value]);\n\n if (value < minValue) minValue = value;\n if (value > maxValue) maxValue = value;\n }\n\n // Handle edge case: no data\n if (minValue === Infinity) minValue = 0;\n if (maxValue === -Infinity) maxValue = 0;\n // Degenerate range (uniform data / a single cell): a `min === max` visualMap\n // maps every cell to one end of the color ramp (often invisible / all-same).\n // Widen by 1 so the gradient renders a usable mid colour. Authors can still\n // pin explicit visualMapMin/Max via chartTypeConfig (applied below).\n if (minValue === maxValue) {\n maxValue = minValue + 1;\n }\n\n const emphasisCfg = ctx.definition.appearance?.emphasisShadow;\n const presetEmphasis = ctx.chartStylePreset.emphasis;\n\n const item: Record<string, unknown> = {\n type: 'heatmap',\n name: sDef.name,\n data: heatmapData,\n label: { show: cfg.showLabel ?? true },\n emphasis: {\n itemStyle: {\n shadowBlur: emphasisCfg?.blur ?? presetEmphasis?.shadowBlur ?? 10,\n shadowColor: emphasisCfg?.color ?? presetEmphasis?.shadowColor ?? 'rgba(0, 0, 0, 0.5)',\n },\n },\n };\n\n const vmOrient = cfg.visualMapOrient ?? 'horizontal';\n const vmPos = cfg.visualMapPosition ?? 'bottom';\n const showSplitArea = cfg.showSplitArea ?? true;\n\n return {\n series: [item],\n xAxis: {\n type: 'category',\n data: xValues,\n splitArea: { show: showSplitArea },\n },\n yAxis: {\n type: 'category',\n data: yValues,\n splitArea: { show: showSplitArea },\n },\n visualMap: {\n min: cfg.visualMapMin ?? minValue,\n max: cfg.visualMapMax ?? maxValue,\n calculable: cfg.visualMapCalculable ?? true,\n orient: vmOrient,\n ...(cfg.visualMapInRange ? { inRange: { color: cfg.visualMapInRange } } : {}),\n ...(vmOrient === 'horizontal'\n ? { left: 'center', [vmPos]: 0 }\n : { top: 'center', [vmPos]: 0 }),\n },\n };\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hierarchical-family.builder.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"hierarchical-family.builder.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/views/chart-view/option-builder/builders/hierarchical-family.builder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAgC,MAAM,uBAAuB,CAAC;AACjG,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,6FAA6F,CAAC;AASzK,qBAAa,yBAA0B,YAAW,gBAAgB;IAChE,cAAc,cAA2C;IAEzD,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,qBAAqB,EAAE,GAAG,gBAAgB;IAqDpF;;;OAGG;IACH,OAAO,CAAC,SAAS;CA0DlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hierarchical-family.builder.js","sourceRoot":"","sources":["../../../../../../../../src/components/views/chart-view/option-builder/builders/hierarchical-family.builder.ts"],"names":[],"mappings":"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","sourcesContent":["/** Hierarchical family builder: SUNBURST, TREEMAP\n *\n * Converts flat aggregation rows with one or more categorical dimensions\n * into a hierarchical tree structure for ECharts sunburst/treemap.\n *\n * - Single dimension: flat children under a root node\n * - Two+ dimensions: nested tree (dim[0] → parent, dim[1] → child, ...)\n */\n\nimport { ChartType } from '@wildo-ai/saas-models';\nimport type { ChartSeriesDefinition, ChartTypeConfig_Hierarchical } 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 { resolveSeriesName } from '~wildo-frontend-lib/components/views/chart-view/option-builder/builder-utils';\n\ninterface TreeNode {\n name: string;\n value?: number;\n children?: TreeNode[];\n}\n\nexport class HierarchicalFamilyBuilder implements ChartTypeBuilder {\n supportedTypes = [ChartType.SUNBURST, ChartType.TREEMAP];\n\n build(ctx: ChartBuildContext, seriesDefs: ChartSeriesDefinition[]): ChartBuildResult {\n const sDef = seriesDefs[0];\n if (!sDef) return { series: [] };\n const cfg = (ctx.definition.chartTypeConfig ?? {}) as ChartTypeConfig_Hierarchical;\n\n const dims = ctx.definition.dataQuery.dimensions;\n const measureRef = sDef.measureRef;\n const dimRefs = dims.map(d => d.ref);\n\n // Build hierarchical tree from flat rows\n const tree = this.buildTree(ctx.response.data, dimRefs, measureRef);\n\n const isSunburst = ctx.definition.chartType === ChartType.SUNBURST;\n\n const item: Record<string, unknown> = {\n type: isSunburst ? 'sunburst' : 'treemap',\n name: resolveSeriesName(sDef, ctx.t),\n data: tree,\n };\n\n if (isSunburst) {\n const [r0, r1] = cfg.sunburstRadius ?? ['15%', '90%'];\n item.radius = [r0, r1];\n item.sort = undefined; // natural order\n item.emphasis = { focus: cfg.sunburstEmphasisFocus ?? 'ancestor' };\n\n // Derive proportional level boundaries from the configured radius range\n const innerPct = parseFloat(r0) || 15;\n const outerPct = parseFloat(r1) || 90;\n const range = outerPct - innerPct;\n const l1End = `${Math.round(innerPct + range * 0.33)}%`;\n const l2End = `${Math.round(innerPct + range * 0.73)}%`;\n\n const levCfg = cfg.sunburstLevels;\n item.levels = [\n {}, // root level (hidden)\n { r0, r: l1End, label: { rotate: levCfg?.level1LabelRotate ?? 'tangential' } },\n { r0: l1End, r: l2End, label: { align: levCfg?.level2LabelAlign ?? 'right' } },\n { r0: l2End, r: r1, label: { position: levCfg?.level3LabelPosition ?? 'outside', padding: levCfg?.level3LabelPadding ?? 3, silent: false } },\n ];\n } else {\n // Treemap\n item.leafDepth = cfg.treemapLeafDepth ?? (dimRefs.length > 1 ? 2 : 1);\n item.visibleMin = cfg.treemapVisibleMin ?? 300;\n item.label = { show: cfg.treemapShowLabel ?? true, formatter: cfg.treemapLabelFormatter ?? '{b}' };\n item.upperLabel = { show: cfg.treemapShowUpperLabel ?? true, height: cfg.treemapUpperLabelHeight ?? 30 };\n item.breadcrumb = { show: cfg.showBreadcrumb ?? true };\n }\n\n // No axes for hierarchical charts\n return { series: [item] };\n }\n\n /**\n * Build a nested tree from flat rows.\n * Each dimension represents a level in the hierarchy.\n */\n private buildTree(\n data: Record<string, unknown>[],\n dimRefs: string[],\n measureRef: string,\n ): TreeNode[] {\n if (dimRefs.length === 0) return [];\n\n if (dimRefs.length === 1) {\n // Single dimension → flat list\n return data.map(row => ({\n name: String(row[dimRefs[0]!] ?? ''),\n value: Number(row[measureRef]) || 0,\n }));\n }\n\n // Multi-dimensional: build tree recursively\n const rootMap = new Map<string, { node: TreeNode; childMap: Map<string, TreeNode> }>();\n\n for (const row of data) {\n let currentNode: TreeNode | null = null;\n\n for (let i = 0; i < dimRefs.length; i++) {\n const dimValue = String(row[dimRefs[i]!] ?? '');\n const isLast = i === dimRefs.length - 1;\n\n if (i === 0) {\n if (!rootMap.has(dimValue)) {\n const node: TreeNode = { name: dimValue, children: [] };\n rootMap.set(dimValue, { node, childMap: new Map() });\n }\n const entry = rootMap.get(dimValue)!;\n currentNode = entry.node;\n } else if (currentNode) {\n if (!currentNode.children) currentNode.children = [];\n\n if (isLast) {\n // Leaf node — has value\n currentNode.children.push({\n name: dimValue,\n value: Number(row[measureRef]) || 0,\n });\n } else {\n // Intermediate node\n const existing = currentNode.children.find(c => c.name === dimValue);\n if (existing) {\n currentNode = existing;\n } else {\n const newNode: TreeNode = { name: dimValue, children: [] };\n currentNode.children.push(newNode);\n currentNode = newNode;\n }\n }\n }\n }\n }\n\n return Array.from(rootMap.values()).map(v => v.node);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"hierarchical-family.builder.js","sourceRoot":"","sources":["../../../../../../../src/components/views/chart-view/option-builder/builders/hierarchical-family.builder.ts"],"names":[],"mappings":"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","sourcesContent":["/** Hierarchical family builder: SUNBURST, TREEMAP\n *\n * Converts flat aggregation rows with one or more categorical dimensions\n * into a hierarchical tree structure for ECharts sunburst/treemap.\n *\n * - Single dimension: flat children under a root node\n * - Two+ dimensions: nested tree (dim[0] → parent, dim[1] → child, ...)\n */\n\nimport { ChartType } from '@wildo-ai/saas-models';\nimport type { ChartSeriesDefinition, ChartTypeConfig_Hierarchical } 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 { resolveSeriesName } from '~wildo-frontend-lib/components/views/chart-view/option-builder/builder-utils';\n\ninterface TreeNode {\n name: string;\n value?: number;\n children?: TreeNode[];\n}\n\nexport class HierarchicalFamilyBuilder implements ChartTypeBuilder {\n supportedTypes = [ChartType.SUNBURST, ChartType.TREEMAP];\n\n build(ctx: ChartBuildContext, seriesDefs: ChartSeriesDefinition[]): ChartBuildResult {\n const sDef = seriesDefs[0];\n if (!sDef) return { series: [] };\n const cfg = (ctx.definition.chartTypeConfig ?? {}) as ChartTypeConfig_Hierarchical;\n\n const dims = ctx.definition.dataQuery.dimensions;\n const measureRef = sDef.measureRef;\n const dimRefs = dims.map(d => d.ref);\n\n // Build hierarchical tree from flat rows\n const tree = this.buildTree(ctx.response.data, dimRefs, measureRef);\n\n const isSunburst = ctx.definition.chartType === ChartType.SUNBURST;\n\n const item: Record<string, unknown> = {\n type: isSunburst ? 'sunburst' : 'treemap',\n name: resolveSeriesName(sDef, ctx.t),\n data: tree,\n };\n\n if (isSunburst) {\n const [r0, r1] = cfg.sunburstRadius ?? ['15%', '90%'];\n item.radius = [r0, r1];\n item.sort = undefined; // natural order\n item.emphasis = { focus: cfg.sunburstEmphasisFocus ?? 'ancestor' };\n\n // Derive proportional level boundaries from the configured radius range\n const innerPct = parseFloat(r0) || 15;\n const outerPct = parseFloat(r1) || 90;\n const range = outerPct - innerPct;\n const l1End = `${Math.round(innerPct + range * 0.33)}%`;\n const l2End = `${Math.round(innerPct + range * 0.73)}%`;\n\n const levCfg = cfg.sunburstLevels;\n item.levels = [\n {}, // root level (hidden)\n { r0, r: l1End, label: { rotate: levCfg?.level1LabelRotate ?? 'tangential' } },\n { r0: l1End, r: l2End, label: { align: levCfg?.level2LabelAlign ?? 'right' } },\n { r0: l2End, r: r1, label: { position: levCfg?.level3LabelPosition ?? 'outside', padding: levCfg?.level3LabelPadding ?? 3, silent: false } },\n ];\n } else {\n // Treemap\n item.leafDepth = cfg.treemapLeafDepth ?? (dimRefs.length > 1 ? 2 : 1);\n item.visibleMin = cfg.treemapVisibleMin ?? 300;\n item.label = { show: cfg.treemapShowLabel ?? true, formatter: cfg.treemapLabelFormatter ?? '{b}' };\n item.upperLabel = { show: cfg.treemapShowUpperLabel ?? true, height: cfg.treemapUpperLabelHeight ?? 30 };\n item.breadcrumb = { show: cfg.showBreadcrumb ?? true };\n }\n\n // No axes for hierarchical charts\n return { series: [item] };\n }\n\n /**\n * Build a nested tree from flat rows.\n * Each dimension represents a level in the hierarchy.\n */\n private buildTree(\n data: Record<string, unknown>[],\n dimRefs: string[],\n measureRef: string,\n ): TreeNode[] {\n if (dimRefs.length === 0) return [];\n\n if (dimRefs.length === 1) {\n // Single dimension → flat list\n return data.map(row => ({\n name: String(row[dimRefs[0]!] ?? ''),\n value: Number(row[measureRef]) || 0,\n }));\n }\n\n // Multi-dimensional: build tree recursively\n const rootMap = new Map<string, { node: TreeNode; childMap: Map<string, TreeNode> }>();\n\n for (const row of data) {\n let currentNode: TreeNode | null = null;\n\n for (let i = 0; i < dimRefs.length; i++) {\n const dimValue = String(row[dimRefs[i]!] ?? '');\n const isLast = i === dimRefs.length - 1;\n\n if (i === 0) {\n if (!rootMap.has(dimValue)) {\n const node: TreeNode = { name: dimValue, children: [] };\n rootMap.set(dimValue, { node, childMap: new Map() });\n }\n const entry = rootMap.get(dimValue)!;\n currentNode = entry.node;\n } else if (currentNode) {\n if (!currentNode.children) currentNode.children = [];\n\n if (isLast) {\n // Leaf node — has value\n currentNode.children.push({\n name: dimValue,\n value: Number(row[measureRef]) || 0,\n });\n } else {\n // Intermediate node\n const existing = currentNode.children.find(c => c.name === dimValue);\n if (existing) {\n currentNode = existing;\n } else {\n const newNode: TreeNode = { name: dimValue, children: [] };\n currentNode.children.push(newNode);\n currentNode = newNode;\n }\n }\n }\n }\n }\n\n return Array.from(rootMap.values()).map(v => v.node);\n }\n}\n"]}
|
package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line-family.builder.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"line-family.builder.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/views/chart-view/option-builder/builders/line-family.builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAqD,MAAM,uBAAuB,CAAC;AACtH,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,6FAA6F,CAAC;AAqBzK,qBAAa,iBAAkB,YAAW,gBAAgB;IACxD,cAAc,cAAiF;IAE/F,gEAAgE;IAChE,OAAO,CAAC,EAAE,CAAC,CAA0B;IAErC,KAAK,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,qBAAqB,EAAE,GAAG,gBAAgB;IA2HpF,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,sBAAsB;IAyC9B;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;IAwCjC,OAAO,CAAC,iCAAiC;IA2CzC,OAAO,CAAC,gBAAgB;CAkBzB"}
|