@wildo-ai/saas-frontend-lib 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/browser-bootstrap/theme-bootstrap.d.ts.map +1 -1
- package/dist/esm/browser-bootstrap/theme-bootstrap.js.map +1 -1
- package/dist/esm/browser-bootstrap.exports.d.ts.map +1 -1
- package/dist/esm/browser-bootstrap.exports.js.map +1 -1
- package/dist/esm/companion-exports.d.ts.map +1 -1
- package/dist/esm/companion-exports.js.map +1 -1
- package/dist/esm/companion-runtime-exports.d.ts.map +1 -1
- package/dist/esm/companion-runtime-exports.js.map +1 -1
- package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
- package/dist/esm/components/actions/action-bar.js.map +1 -1
- package/dist/esm/components/actions/action-button.d.ts.map +1 -1
- package/dist/esm/components/actions/action-button.js.map +1 -1
- package/dist/esm/components/actions/button-group.d.ts.map +1 -1
- package/dist/esm/components/actions/button-group.js.map +1 -1
- package/dist/esm/components/actions/button.d.ts.map +1 -1
- package/dist/esm/components/actions/button.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-list.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-list.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/image.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.d.ts +15 -2
- package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/confirmation.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent-wrappers.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.js.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.js.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.js.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.js.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.js.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.js.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.js.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.labels.js.map +1 -1
- package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
- package/dist/esm/components/app/AppLayout_NotificationCenter.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_NotificationCenter.js +7 -2
- package/dist/esm/components/app/AppLayout_NotificationCenter.js.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.js.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.js.map +1 -1
- package/dist/esm/components/app/AppPage_Home.d.ts.map +1 -1
- package/dist/esm/components/app/AppPage_Home.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_MainContainer.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_MainContainer.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_Terms.labels.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_Terms.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.js.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.js.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.js.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.js.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.js.map +1 -1
- package/dist/esm/components/auth/Auth_Main.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.js.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.js.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.js.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Register.js.map +1 -1
- package/dist/esm/components/auth/Auth_Register.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.js.map +1 -1
- package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js.map +1 -1
- package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/enrollment-method-components.js.map +1 -1
- package/dist/esm/components/auth/methods/EmailOtpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/EmailOtpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/MagicLinkAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/MagicLinkAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/OrgOidcAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgOidcAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/PasskeyAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/PasskeyAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/PasswordAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/PasswordAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/SmsOtpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/SmsOtpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/TotpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/TotpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/auth-method-components.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/auth-method-components.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthCallback.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthExchange.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthExchange.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Invitation.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Invitation.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Main.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OneOffSession.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OneOffSession.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_PasswordLost.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_PasswordLost.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Register.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Register.js.map +1 -1
- package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.js.map +1 -1
- package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.js.map +1 -1
- package/dist/esm/components/auth/utils/LabeledDivider.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/LabeledDivider.js.map +1 -1
- package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/OAuthProvidersSection.js.map +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js.map +1 -1
- package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.js.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/DisplayContextKindContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayContextKindContext.js.map +1 -1
- package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayField.js +8 -5
- package/dist/esm/components/data-display/DisplayField.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.js +6 -2
- package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js.map +1 -1
- package/dist/esm/components/data-display/DisplayTemplateContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayTemplateContext.js.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/SummaryContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
- package/dist/esm/components/data-display/automatic-displayer.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/automatic-displayer.utils.js.map +1 -1
- package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
- package/dist/esm/components/data-display/avatar.js.map +1 -1
- package/dist/esm/components/data-display/badge.d.ts.map +1 -1
- package/dist/esm/components/data-display/badge.js.map +1 -1
- package/dist/esm/components/data-display/chart-echarts.d.ts.map +1 -1
- package/dist/esm/components/data-display/chart-echarts.js.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayChromeContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayChromeContext.js.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
- package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
- package/dist/esm/components/data-display/description-list.js.map +1 -1
- package/dist/esm/components/data-display/display-field-resolution.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-field-resolution.utils.js.map +1 -1
- package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
- package/dist/esm/components/data-display/display-resource-link-trail.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-resource-link-trail.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-json.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-json.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.js.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
- package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
- package/dist/esm/components/data-display/useFileActivation.js.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
- package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
- package/dist/esm/components/feedback/danger-zone.js.map +1 -1
- package/dist/esm/components/feedback/empty-display-policy.utils.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-display-policy.utils.js.map +1 -1
- package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-state.js.map +1 -1
- package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
- package/dist/esm/components/feedback/error-display.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts +36 -0
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js +29 -0
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.js.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.js.map +1 -1
- package/dist/esm/components/feedback/notification-center.d.ts +11 -5
- package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
- package/dist/esm/components/feedback/notification-center.js +2 -3
- package/dist/esm/components/feedback/notification-center.js.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
- package/dist/esm/components/feedback/progress.d.ts.map +1 -1
- package/dist/esm/components/feedback/progress.js.map +1 -1
- package/dist/esm/components/feedback/resource-empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/resource-empty-state.js.map +1 -1
- package/dist/esm/components/feedback/skeleton-text.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton-text.js.map +1 -1
- package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton.js.map +1 -1
- package/dist/esm/components/feedback/toast.d.ts.map +1 -1
- package/dist/esm/components/feedback/toast.js.map +1 -1
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts +41 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.js +207 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts +3 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.js +36 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.js.map +1 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts +8 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts.map +1 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.js +14 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.js.map +1 -0
- package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/actor.js.map +1 -1
- package/dist/esm/components/flows-actors/actor.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/actor.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.js.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.js +14 -2
- package/dist/esm/components/flows-actors/approval.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.labels.js +2 -0
- package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.js.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.js.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.labels.js.map +1 -1
- package/dist/esm/components/form/Form.d.ts.map +1 -1
- package/dist/esm/components/form/Form.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.js +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.js +16 -9
- package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
- package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormField.js +9 -2
- package/dist/esm/components/form/automated/FormField.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldArray.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldArray.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldComposite.js +8 -6
- package/dist/esm/components/form/automated/FormFieldComposite.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldRecord.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
- package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.js.map +1 -1
- package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.js.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js +37 -3
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.js.map +1 -1
- package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts +12 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts.map +1 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js +26 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js.map +1 -0
- package/dist/esm/components/form/automated/autosave-indicator.d.ts.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.js.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.utils.js.map +1 -1
- package/dist/esm/components/form/automated/create-form-default-values.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/create-form-default-values.utils.js.map +1 -1
- package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.helpers.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.helpers.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.shared.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.shared.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.utils.js.map +1 -1
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
- package/dist/esm/components/form/chromes/FormChromeContext.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormChromeContext.js.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
- package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/field.js.map +1 -1
- package/dist/esm/components/form/chromes/form-primitives.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/form-primitives.js.map +1 -1
- package/dist/esm/components/form/combobox.d.ts.map +1 -1
- package/dist/esm/components/form/combobox.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
- package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select.js.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.js.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.js.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
- package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input-group.js.map +1 -1
- package/dist/esm/components/form/controls/input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input.js.map +1 -1
- package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
- package/dist/esm/components/form/controls/number/slider.js.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.js.map +1 -1
- package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/inline-edit-text.js.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.js.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.js.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.labels.js.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.js.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.js.map +1 -1
- package/dist/esm/components/form/feedback/RemoteChangeNotification.d.ts.map +1 -1
- package/dist/esm/components/form/feedback/RemoteChangeNotification.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.js +4 -2
- package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.js +4 -2
- package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts +15 -5
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js +21 -18
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.js +90 -2
- package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.labels.js +15 -0
- package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.js +4 -2
- package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.js +7 -2
- package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.labels.js.map +1 -1
- package/dist/esm/components/form/fields/useFormField.d.ts.map +1 -1
- package/dist/esm/components/form/fields/useFormField.js.map +1 -1
- package/dist/esm/components/form/form-context.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.js.map +1 -1
- package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.utils.js.map +1 -1
- package/dist/esm/components/form/form-field-types.d.ts.map +1 -1
- package/dist/esm/components/form/form-field-types.js.map +1 -1
- package/dist/esm/components/form/useFormSchemaContext.d.ts.map +1 -1
- package/dist/esm/components/form/useFormSchemaContext.js.map +1 -1
- package/dist/esm/components/form/validation-errors/FormErrorSummary.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
- package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/form-error-extraction.utils.js.map +1 -1
- package/dist/esm/components/form/validation-errors/form-validation.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/form-validation.js.map +1 -1
- package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
- package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
- package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.js.map +1 -1
- package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.js.map +1 -1
- package/dist/esm/components/layout/carousel.d.ts.map +1 -1
- package/dist/esm/components/layout/carousel.js.map +1 -1
- package/dist/esm/components/layout/divider.d.ts.map +1 -1
- package/dist/esm/components/layout/divider.js.map +1 -1
- package/dist/esm/components/layout/resizable.d.ts.map +1 -1
- package/dist/esm/components/layout/resizable.js.map +1 -1
- package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
- package/dist/esm/components/layout/scroll-area.js.map +1 -1
- package/dist/esm/components/layout/separator.d.ts.map +1 -1
- package/dist/esm/components/layout/separator.js.map +1 -1
- package/dist/esm/components/navigation/NavigationItemBadge.d.ts +6 -0
- package/dist/esm/components/navigation/NavigationItemBadge.d.ts.map +1 -1
- package/dist/esm/components/navigation/NavigationItemBadge.js +2 -1
- package/dist/esm/components/navigation/NavigationItemBadge.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.js.map +1 -1
- package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
- package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useActivityBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useActivityBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useControlPanelBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useControlPanelBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts +5 -2
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js +18 -41
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js +13 -3
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useToolbarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useToolbarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +23 -5
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +81 -13
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
- package/dist/esm/components/navigation/command.d.ts.map +1 -1
- package/dist/esm/components/navigation/command.js.map +1 -1
- package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
- package/dist/esm/components/navigation/menu-bar.js.map +1 -1
- package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/navbar.js.map +1 -1
- package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/sidebar.js.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.js.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.labels.js.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert.js.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.shared-types.js.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.js.map +1 -1
- package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.js.map +1 -1
- package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.js.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.js.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.js.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.js.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.js.map +1 -1
- package/dist/esm/components/overlays/floating/menu.shared-types.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/menu.shared-types.js.map +1 -1
- package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/popover.js.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.js.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.js.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.labels.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.labels.js.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.js.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
- package/dist/esm/components/resources/CollectionSelectionControls.d.ts.map +1 -1
- package/dist/esm/components/resources/CollectionSelectionControls.js.map +1 -1
- package/dist/esm/components/resources/EphemeralFieldsRevealDialog.d.ts.map +1 -1
- package/dist/esm/components/resources/EphemeralFieldsRevealDialog.js.map +1 -1
- package/dist/esm/components/resources/InlineSearchInput.d.ts.map +1 -1
- package/dist/esm/components/resources/InlineSearchInput.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
- package/dist/esm/components/resources/ResourceInPlaceOperationRow.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceInPlaceOperationRow.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +9 -0
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.js +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_InsertedViews.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read_Expandable.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read_Expandable.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SortControl.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SortControl.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionPopover.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionPopover.js.map +1 -1
- package/dist/esm/components/resources/ResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationSurface.js.map +1 -1
- package/dist/esm/components/resources/ResourceOwnedViewEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOwnedViewEmbeds.js.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
- package/dist/esm/components/resources/card-action-placement.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/card-action-placement.utils.js.map +1 -1
- package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
- package/dist/esm/components/resources/collection-view-mode.frontend.d.ts.map +1 -1
- package/dist/esm/components/resources/collection-view-mode.frontend.js.map +1 -1
- package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.js.map +1 -1
- package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.js.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.js.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.js.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.js.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
- package/dist/esm/components/resources/inserted-resource-view.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/inserted-resource-view.frontend.utils.js.map +1 -1
- package/dist/esm/components/resources/resource-operation-custom-view.contracts.d.ts.map +1 -1
- package/dist/esm/components/resources/resource-operation-custom-view.contracts.js.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayItemTemplate.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayItemTemplate.js.map +1 -1
- package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.js.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Divider.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Divider.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FieldScopeContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FieldScopeContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ObjectScope.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ObjectScope.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.shared.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.shared.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionPresentationContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SubmitButton.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SubmitButton.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryHeader.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryHeader.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryMeta.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryMeta.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryTitle.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.shared.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.shared.js.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.utils.js.map +1 -1
- package/dist/esm/components/resources/useInlineSearch.d.ts.map +1 -1
- package/dist/esm/components/resources/useInlineSearch.js.map +1 -1
- package/dist/esm/components/resources/useLongPress.d.ts.map +1 -1
- package/dist/esm/components/resources/useLongPress.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.labels.js.map +1 -1
- package/dist/esm/components/sections/accordion.d.ts.map +1 -1
- package/dist/esm/components/sections/accordion.js.map +1 -1
- package/dist/esm/components/sections/card.d.ts.map +1 -1
- package/dist/esm/components/sections/card.js.map +1 -1
- package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
- package/dist/esm/components/sections/collapsible.js.map +1 -1
- package/dist/esm/components/sections/content-section.d.ts.map +1 -1
- package/dist/esm/components/sections/content-section.js.map +1 -1
- package/dist/esm/components/sections/pagination.d.ts.map +1 -1
- package/dist/esm/components/sections/pagination.js.map +1 -1
- package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
- package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
- package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
- package/dist/esm/components/sections/stacked-layout.js.map +1 -1
- package/dist/esm/components/sections/stepper.d.ts.map +1 -1
- package/dist/esm/components/sections/stepper.js.map +1 -1
- package/dist/esm/components/sections/surface.d.ts.map +1 -1
- package/dist/esm/components/sections/surface.js.map +1 -1
- package/dist/esm/components/sections/table.d.ts.map +1 -1
- package/dist/esm/components/sections/table.js.map +1 -1
- package/dist/esm/components/sections/tabs.d.ts.map +1 -1
- package/dist/esm/components/sections/tabs.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +64 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +184 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +26 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -0
- package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsHub.js +3 -0
- package/dist/esm/components/settings/SettingsHub.js.map +1 -1
- package/dist/esm/components/settings/SettingsHub.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsHub.labels.js.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
- package/dist/esm/components/settings/SettingsSectionNavigationHost.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsSectionNavigationHost.js.map +1 -1
- package/dist/esm/components/typography/heading.d.ts.map +1 -1
- package/dist/esm/components/typography/heading.js.map +1 -1
- package/dist/esm/components/typography/label.d.ts.map +1 -1
- package/dist/esm/components/typography/label.js.map +1 -1
- package/dist/esm/components/typography/link.d.ts.map +1 -1
- package/dist/esm/components/typography/link.js.map +1 -1
- package/dist/esm/components/typography/text.d.ts.map +1 -1
- package/dist/esm/components/typography/text.js.map +1 -1
- package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
- package/dist/esm/components/typography/truncated-text.js.map +1 -1
- package/dist/esm/components/views/ViewLayout_Header.d.ts.map +1 -1
- package/dist/esm/components/views/ViewLayout_Header.js.map +1 -1
- package/dist/esm/components/views/ViewNotFound.d.ts.map +1 -1
- package/dist/esm/components/views/ViewNotFound.js.map +1 -1
- package/dist/esm/components/views/ViewNotFound.labels.d.ts.map +1 -1
- package/dist/esm/components/views/ViewNotFound.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartEmptyState.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartEmptyState.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartErrorState.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartErrorState.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.lazy.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.lazy.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.labels.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/WildoEChart.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/WildoEChart.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-export.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-export.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-runtime.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-runtime.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-theme-bridge.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-theme-bridge.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-view.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-view.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/dev/ChartView.example.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/dev/ChartView.example.js.map +1 -1
- package/dist/esm/components/views/chart-view/echarts-setup.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/echarts-setup.js.map +1 -1
- package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/enum-color-bridge.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builder-utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeView.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeView.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeViewContext.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeViewContext.js.map +1 -1
- package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js.map +1 -1
- package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.js.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.d.ts.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.js.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.labels.js.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +11 -7
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
- package/dist/esm/components/views/full-custom-view/FullCustomView.d.ts.map +1 -1
- package/dist/esm/components/views/full-custom-view/FullCustomView.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.labels.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/onboarding-view.utils.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/onboarding-view.utils.js.map +1 -1
- package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
- package/dist/esm/core/app-shell/PortalContainerContext.js.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts +40 -18
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.js +0 -5
- package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
- package/dist/esm/core/app-shell/app-shell.utils.d.ts.map +1 -1
- package/dist/esm/core/app-shell/app-shell.utils.js.map +1 -1
- package/dist/esm/core/app-shell/hosted-components.utils.d.ts.map +1 -1
- package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
- package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +31 -11
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +34 -25
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +30 -4
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js +232 -17
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
- package/dist/esm/core/billing/BillingContext.d.ts +36 -0
- package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
- package/dist/esm/core/billing/BillingContext.js +1 -0
- package/dist/esm/core/billing/BillingContext.js.map +1 -1
- package/dist/esm/core/billing/BillingErrorNotifier.d.ts.map +1 -1
- package/dist/esm/core/billing/BillingErrorNotifier.js.map +1 -1
- package/dist/esm/core/billing/billing-launcher.d.ts.map +1 -1
- package/dist/esm/core/billing/billing-launcher.js.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.js.map +1 -1
- package/dist/esm/core/billing/useBilling.d.ts.map +1 -1
- package/dist/esm/core/billing/useBilling.js.map +1 -1
- package/dist/esm/core/billing/useBillingAction.d.ts.map +1 -1
- package/dist/esm/core/billing/useBillingAction.js.map +1 -1
- package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts.map +1 -1
- package/dist/esm/core/billing/useSafeBillingActionExecutor.js.map +1 -1
- package/dist/esm/core/branding/useBrandIdentity.d.ts +17 -0
- package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandIdentity.js +17 -0
- package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
- package/dist/esm/core/commons/devices.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/devices.frontend.schemas.js.map +1 -1
- package/dist/esm/core/commons/local-storage.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/local-storage.frontend.schemas.js.map +1 -1
- package/dist/esm/core/commons/window-event.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/window-event.frontend.schemas.js.map +1 -1
- package/dist/esm/core/companion/companion-exports.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/companion/companion-exports.frontend.definitions.js.map +1 -1
- package/dist/esm/core/components-registry/ComponentNotInjected.d.ts.map +1 -1
- package/dist/esm/core/components-registry/ComponentNotInjected.js.map +1 -1
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +1 -0
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry-loader.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry-loader.frontend.service.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.js +4 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.js +8 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts +128 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js +183 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -0
- package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
- package/dist/esm/core/components-registry/register-framework-layouts.js +2 -0
- package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts +68 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js +98 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -0
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +15 -5
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +44 -7
- package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-level-components.frontend.schemas.js +44 -7
- package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +6 -6
- package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.d.ts +4 -4
- package/dist/esm/core/config/composite-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.js.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.d.ts +20 -0
- package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.js +90 -5
- package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
- package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/execution-view.schemas.js.map +1 -1
- package/dist/esm/core/config/flows-actors-view.schemas.d.ts +5 -3
- package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/flows-actors-view.schemas.js +2 -2
- package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
- package/dist/esm/core/config/full-custom-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/full-custom-view.schemas.js.map +1 -1
- package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
- package/dist/esm/core/config/inserted-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/inserted-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +51 -11
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.js +21 -7
- package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/onboarding-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/onboarding-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.js.map +1 -1
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +14 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.js +13 -0
- package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/useSettingsHubConfig.d.ts.map +1 -1
- package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/verify-feature-references.frontend.d.ts +7 -0
- package/dist/esm/core/config/verify-feature-references.frontend.d.ts.map +1 -1
- package/dist/esm/core/config/verify-feature-references.frontend.js +42 -1
- package/dist/esm/core/config/verify-feature-references.frontend.js.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.js +9 -2
- package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
- package/dist/esm/core/config/views-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/views-frontend.schemas.js.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
- package/dist/esm/core/errors/ErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/ErrorBoundary.js.map +1 -1
- package/dist/esm/core/errors/ErrorContext.d.ts.map +1 -1
- package/dist/esm/core/errors/ErrorContext.js.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
- package/dist/esm/core/errors/RouterErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/RouterErrorBoundary.js.map +1 -1
- package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
- package/dist/esm/core/errors/errors-builder.frontend.services.d.ts.map +1 -1
- package/dist/esm/core/errors/errors-builder.frontend.services.js.map +1 -1
- package/dist/esm/core/errors/errors.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/errors/errors.frontend.schemas.js.map +1 -1
- package/dist/esm/core/errors/http-error-behavior.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/errors/http-error-behavior.frontend.schemas.js.map +1 -1
- package/dist/esm/core/errors/useError.d.ts.map +1 -1
- package/dist/esm/core/errors/useError.js.map +1 -1
- package/dist/esm/core/errors/withErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/withErrorBoundary.js.map +1 -1
- package/dist/esm/core/events/EventBusContext.d.ts.map +1 -1
- package/dist/esm/core/events/EventBusContext.js.map +1 -1
- package/dist/esm/core/events/NotificationContext.d.ts +6 -5
- package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
- package/dist/esm/core/events/NotificationContext.js +41 -39
- package/dist/esm/core/events/NotificationContext.js.map +1 -1
- package/dist/esm/core/events/event-bus.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/events/event-bus.frontend.service.js.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.d.ts +34 -18
- package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.js +22 -1
- package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
- package/dist/esm/core/events/notification-display-policy.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/notification-display-policy.frontend.schemas.js.map +1 -1
- package/dist/esm/core/events/toast.d.ts.map +1 -1
- package/dist/esm/core/events/toast.js.map +1 -1
- package/dist/esm/core/events/useEventBus.d.ts.map +1 -1
- package/dist/esm/core/events/useEventBus.js.map +1 -1
- package/dist/esm/core/events/useNotification.d.ts.map +1 -1
- package/dist/esm/core/events/useNotification.js.map +1 -1
- package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.d.ts.map +1 -1
- package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.js.map +1 -1
- package/dist/esm/core/execution/ExecutionRuntimeContext.d.ts.map +1 -1
- package/dist/esm/core/execution/ExecutionRuntimeContext.js.map +1 -1
- package/dist/esm/core/execution/execution-anchor.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-anchor.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-dirty-markers.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-dirty-markers.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-failure-handling.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-failure-handling.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-outcome-emission.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-outcome-emission.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-participation.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-participation.utils.js.map +1 -1
- package/dist/esm/core/execution/useExecution.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecution.js.map +1 -1
- package/dist/esm/core/execution/useExecutionDirtyBridge.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionDirtyBridge.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationPrefetch.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationPrefetch.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.js.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts +66 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js +101 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -0
- package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.js.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts +33 -15
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js +27 -21
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts +103 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js +117 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js.map +1 -0
- package/dist/esm/core/features/FeatureGate.d.ts.map +1 -1
- package/dist/esm/core/features/FeatureGate.js +1 -1
- package/dist/esm/core/features/FeatureGate.js.map +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.d.ts.map +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.js +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.js.map +1 -1
- package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
- package/dist/esm/core/features/FeaturesContext.js.map +1 -1
- package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts +7 -0
- package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/features/feature-unavailability.frontend.utils.js +5 -0
- package/dist/esm/core/features/feature-unavailability.frontend.utils.js.map +1 -1
- package/dist/esm/core/features/useFeatureAvailability.d.ts +2 -0
- package/dist/esm/core/features/useFeatureAvailability.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatureAvailability.js +4 -2
- package/dist/esm/core/features/useFeatureAvailability.js.map +1 -1
- package/dist/esm/core/features/useFeatureGate.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatureGate.js.map +1 -1
- package/dist/esm/core/features/useFeatures.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatures.js.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +20 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.js +50 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
- package/dist/esm/core/flows-actors/useFlowsActors.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/useFlowsActors.js.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.js +2 -2
- package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
- package/dist/esm/core/guidance/GuidanceRenderer.d.ts.map +1 -1
- package/dist/esm/core/guidance/GuidanceRenderer.js.map +1 -1
- package/dist/esm/core/guidance/guidance-audience.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/guidance/guidance-audience.frontend.utils.js.map +1 -1
- package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.d.ts.map +1 -1
- package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.labels.js.map +1 -1
- package/dist/esm/core/guidance/useGuidance.d.ts.map +1 -1
- package/dist/esm/core/guidance/useGuidance.js.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +29 -0
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +76 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
- package/dist/esm/core/hotkey/HotkeyRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/hotkey/HotkeyRegistryContext.js +44 -8
- package/dist/esm/core/hotkey/HotkeyRegistryContext.js.map +1 -1
- package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.d.ts.map +1 -1
- package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.js.map +1 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts +53 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js +78 -13
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts.map +1 -1
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
- package/dist/esm/core/hotkey/useHotkey.d.ts.map +1 -1
- package/dist/esm/core/hotkey/useHotkey.js.map +1 -1
- package/dist/esm/core/i18n/I18nContext.d.ts +9 -0
- package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
- package/dist/esm/core/i18n/I18nContext.js +149 -32
- package/dist/esm/core/i18n/I18nContext.js.map +1 -1
- package/dist/esm/core/i18n/component-label-resolution.utils.d.ts.map +1 -1
- package/dist/esm/core/i18n/component-label-resolution.utils.js.map +1 -1
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts +51 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js +66 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -0
- package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
- package/dist/esm/core/i18n/useI18n.js +22 -2
- package/dist/esm/core/i18n/useI18n.js.map +1 -1
- package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
- package/dist/esm/core/icons/IconRegistryBridge.js.map +1 -1
- package/dist/esm/core/icons/IconRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/icons/IconRegistryContext.js.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.definitions.js.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/icons/useIconRegistry.d.ts.map +1 -1
- package/dist/esm/core/icons/useIconRegistry.js.map +1 -1
- package/dist/esm/core/loading/AppLoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/AppLoadingGate.js.map +1 -1
- package/dist/esm/core/loading/LoadingBarrier.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingBarrier.js.map +1 -1
- package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingContext.js.map +1 -1
- package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingGate.js +16 -3
- package/dist/esm/core/loading/LoadingGate.js.map +1 -1
- package/dist/esm/core/loading/loading-policy.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-policy.frontend.schemas.js.map +1 -1
- package/dist/esm/core/loading/loading-scope.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-scope.frontend.utils.js.map +1 -1
- package/dist/esm/core/loading/loading-types.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-types.frontend.schemas.js.map +1 -1
- package/dist/esm/core/loading/resolveLoadingPolicy.d.ts.map +1 -1
- package/dist/esm/core/loading/resolveLoadingPolicy.js.map +1 -1
- package/dist/esm/core/loading/useAppLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useAppLoading.js.map +1 -1
- package/dist/esm/core/loading/useComponentLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useComponentLoading.js.map +1 -1
- package/dist/esm/core/loading/useEmitLoadingScope.d.ts.map +1 -1
- package/dist/esm/core/loading/useEmitLoadingScope.js.map +1 -1
- package/dist/esm/core/loading/useLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useLoading.js.map +1 -1
- package/dist/esm/core/mode/AppModeContext.d.ts.map +1 -1
- package/dist/esm/core/mode/AppModeContext.js.map +1 -1
- package/dist/esm/core/mode/section-visibility.d.ts.map +1 -1
- package/dist/esm/core/mode/section-visibility.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/useAnalytics.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/useAnalytics.js.map +1 -1
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts +97 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts.map +1 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js +179 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js.map +1 -0
- package/dist/esm/core/monitoring/logger.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/monitoring/logger.frontend.service.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.js +76 -48
- package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.d.ts +12 -0
- package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.js +24 -0
- package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
- package/dist/esm/core/navigation/hosted-pane.constants.d.ts.map +1 -1
- package/dist/esm/core/navigation/hosted-pane.constants.js.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.d.ts +1 -1
- package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +14 -5
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js +146 -17
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.d.ts +58 -10
- package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.js +1 -1
- package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.d.ts +2 -2
- package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.js +4 -4
- package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
- package/dist/esm/core/navigation/primary-destination-layout.d.ts.map +1 -1
- package/dist/esm/core/navigation/primary-destination-layout.js.map +1 -1
- package/dist/esm/core/navigation/useIsStackEntryActive.d.ts.map +1 -1
- package/dist/esm/core/navigation/useIsStackEntryActive.js.map +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.d.ts +8 -0
- package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.js +26 -6
- package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationState.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationState.js.map +1 -1
- package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
- package/dist/esm/core/navigation/useOverlayTitle.js.map +1 -1
- package/dist/esm/core/navigation/useTransactionAwareSyncRetry.d.ts.map +1 -1
- package/dist/esm/core/navigation/useTransactionAwareSyncRetry.js.map +1 -1
- package/dist/esm/core/navigation/view-title-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/view-title-resolution.js.map +1 -1
- package/dist/esm/core/navigation/zone-content-geometry.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-content-geometry.js.map +1 -1
- package/dist/esm/core/navigation/zone-empty-behavior.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-empty-behavior.js.map +1 -1
- package/dist/esm/core/navigation/zone-visible-entry.d.ts +26 -0
- package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -0
- package/dist/esm/core/navigation/zone-visible-entry.js +76 -0
- package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -0
- package/dist/esm/core/requests/api-readiness-checker.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/api-readiness-checker.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
- package/dist/esm/core/requests/client-instance-id.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/client-instance-id.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/network-backoff.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/requests/network-backoff.frontend.utils.js.map +1 -1
- package/dist/esm/core/requests/offline-replay-policy.frontend.d.ts.map +1 -1
- package/dist/esm/core/requests/offline-replay-policy.frontend.js.map +1 -1
- package/dist/esm/core/requests/request-cancellation.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/requests/request-cancellation.frontend.utils.js.map +1 -1
- package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.js.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
- package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useNotificationBadges.js +32 -19
- package/dist/esm/core/requests/websockets/useNotificationBadges.js.map +1 -1
- package/dist/esm/core/requests/websockets/useResourceRoom.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useResourceRoom.js.map +1 -1
- package/dist/esm/core/requests/websockets/useWebSocket.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useWebSocket.js.map +1 -1
- package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +73 -2
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +56 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +6 -0
- package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client.frontend.service.js +1 -0
- package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewContext.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewContext.js.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewProvider.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewProvider.js.map +1 -1
- package/dist/esm/core/resources/ResourceReadCacheBridge.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceReadCacheBridge.js.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.js.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
- package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/ephemeral-fields.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/ephemeral-fields.utils.js.map +1 -1
- package/dist/esm/core/resources/file-serve-url.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/file-serve-url.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
- package/dist/esm/core/resources/in-place/InPlaceOperationContext.d.ts.map +1 -1
- package/dist/esm/core/resources/in-place/InPlaceOperationContext.js.map +1 -1
- package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/relationship-quick-create.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-operation-view.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-operation-view.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-path.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-path.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-read-cache.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts +2 -2
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistryContext.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMWebSocketBridge.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMWebSocketBridge.js.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/rmm/field-path.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/field-path.utils.js.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-constants.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-constants.js.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-noop-snapshot.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-noop-snapshot.js.map +1 -1
- package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/types.js.map +1 -1
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
- package/dist/esm/core/resources/rmm/useListInvalidation.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useListInvalidation.js.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMEventHandler.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMEventHandler.js.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMSnapshot.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMSnapshot.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
- package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.d.ts.map +1 -1
- package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.js.map +1 -1
- package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
- package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
- package/dist/esm/core/resources/useOperationEnabled.d.ts.map +1 -1
- package/dist/esm/core/resources/useOperationEnabled.js.map +1 -1
- package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceLabels.js +20 -14
- package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/resources/useResourceRegistry.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceRegistry.js.map +1 -1
- package/dist/esm/core/resources/useResourceSelection.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceSelection.js.map +1 -1
- package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js.map +1 -1
- package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
- package/dist/esm/core/runtime/AppRouter.js +2 -1
- package/dist/esm/core/runtime/AppRouter.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts +9 -0
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.js +1 -0
- package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
- package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/env-variable-loader.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/env-variable-loader.frontend.service.js.map +1 -1
- package/dist/esm/core/runtime/frontend-companion-resource-inputs.d.ts.map +1 -1
- package/dist/esm/core/runtime/frontend-companion-resource-inputs.js.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +6 -0
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.js +7 -0
- package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/runtime.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/runtime/runtime.frontend.schemas.js.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.d.ts +38 -0
- package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.js +84 -3
- package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
- package/dist/esm/core/runtime/useApplication.d.ts.map +1 -1
- package/dist/esm/core/runtime/useApplication.js.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
- package/dist/esm/core/scope/scope.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/scope/scope.frontend.schemas.js.map +1 -1
- package/dist/esm/core/scope/scope.utils.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/scope/scope.utils.frontend.service.js.map +1 -1
- package/dist/esm/core/scope/useAppScope.d.ts.map +1 -1
- package/dist/esm/core/scope/useAppScope.js.map +1 -1
- package/dist/esm/core/security/AnonymousSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/AnonymousSessionContext.js.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.js +37 -9
- package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/auth-session.utils.d.ts.map +1 -1
- package/dist/esm/core/security/auth-session.utils.js.map +1 -1
- package/dist/esm/core/security/cross-frontend-handoff.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/security/cross-frontend-handoff.frontend.service.js.map +1 -1
- package/dist/esm/core/security/jwt.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/jwt.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
- package/dist/esm/core/security/session-token-storage.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/security/session-token-storage.frontend.service.js.map +1 -1
- package/dist/esm/core/security/useAuthSession.d.ts.map +1 -1
- package/dist/esm/core/security/useAuthSession.js.map +1 -1
- package/dist/esm/core/security/useResolvedAuthConfig.d.ts.map +1 -1
- package/dist/esm/core/security/useResolvedAuthConfig.js.map +1 -1
- package/dist/esm/core/security/useStepUpAuth.d.ts.map +1 -1
- package/dist/esm/core/security/useStepUpAuth.js.map +1 -1
- package/dist/esm/core/security/useUserOrgs.d.ts.map +1 -1
- package/dist/esm/core/security/useUserOrgs.js.map +1 -1
- package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfaceErrorBoundary.js.map +1 -1
- package/dist/esm/core/ui/SurfacePolicyContext.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfacePolicyContext.js.map +1 -1
- package/dist/esm/core/ui/TypographyScopeContext.d.ts.map +1 -1
- package/dist/esm/core/ui/TypographyScopeContext.js.map +1 -1
- package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
- package/dist/esm/core/ui/UIContext.js.map +1 -1
- package/dist/esm/core/ui/chart-style-defaults.d.ts.map +1 -1
- package/dist/esm/core/ui/chart-style-defaults.js.map +1 -1
- package/dist/esm/core/ui/cn.d.ts.map +1 -1
- package/dist/esm/core/ui/cn.js.map +1 -1
- package/dist/esm/core/ui/color-conversion.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/color-conversion.utils.js.map +1 -1
- package/dist/esm/core/ui/design-token-class-groups.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token-class-groups.js.map +1 -1
- package/dist/esm/core/ui/design-token-config.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token-config.utils.js.map +1 -1
- package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token.utils.js.map +1 -1
- package/dist/esm/core/ui/material-runtime.d.ts.map +1 -1
- package/dist/esm/core/ui/material-runtime.js.map +1 -1
- package/dist/esm/core/ui/surface-a11y.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/surface-a11y.utils.js.map +1 -1
- package/dist/esm/core/ui/theme-preference-storage.shared.d.ts.map +1 -1
- package/dist/esm/core/ui/theme-preference-storage.shared.js.map +1 -1
- package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
- package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts +7 -2
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/ui/ui.frontend.schemas.js.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
- package/dist/esm/core/ui/useUI.d.ts.map +1 -1
- package/dist/esm/core/ui/useUI.js.map +1 -1
- package/dist/esm/index.d.ts +7 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +20 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tailwind/index.d.ts.map +1 -1
- package/dist/esm/tailwind/index.js.map +1 -1
- package/dist/esm/testing/mock-builders.d.ts.map +1 -1
- package/dist/esm/testing/mock-builders.js +2 -0
- package/dist/esm/testing/mock-builders.js.map +1 -1
- package/dist/esm/testing/mock-factory.d.ts.map +1 -1
- package/dist/esm/testing/mock-factory.js.map +1 -1
- package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
- package/dist/esm/testing/rmm-helpers.js.map +1 -1
- package/dist/esm/testing/test-providers.d.ts.map +1 -1
- package/dist/esm/testing/test-providers.js.map +1 -1
- package/dist/esm/testing.d.ts.map +1 -1
- package/dist/esm/testing.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +6 -5
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts +0 -21
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +0 -1
- package/dist/esm/components/billing/billing-plan-change-preview.js +0 -12
- package/dist/esm/components/billing/billing-plan-change-preview.js.map +0 -1
- package/dist/esm/components/billing/billing-promotion-code-input.d.ts +0 -12
- package/dist/esm/components/billing/billing-promotion-code-input.d.ts.map +0 -1
- package/dist/esm/components/billing/billing-promotion-code-input.js +0 -11
- package/dist/esm/components/billing/billing-promotion-code-input.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultHotkeyHandler.js","sourceRoot":"","sources":["../../../../../src/core/hotkey/DefaultHotkeyHandler.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,WAAW,EACX,WAAW,GAEZ,MAAM,uEAAuE,CAAC;AAE/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EACL,cAAc,GAKf,MAAM,yDAAyD,CAAC;AACjE,OAAO,EACL,yCAAyC,EACzC,qCAAqC,GACtC,MAAM,mEAAmE,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAA8B,MAAM,yDAAyD,CAAC;AAC5H,OAAO,EAAE,4BAA4B,EAAE,MAAM,kEAAkE,CAAC;AAChH,OAAO,EAAE,uBAAuB,EAAE,MAAM,6DAA6D,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AACvF,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D,MAAM,6BAA6B,GAA4C;IAC7E,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,EAAE,8BAA8B;IAC/E,CAAC,uBAAuB,CAAC,yBAAyB,CAAC,EAAE,kCAAkC;IACvF,CAAC,uBAAuB,CAAC,0BAA0B,CAAC,EAAE,kCAAkC;IACxF,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,EAAE,8BAA8B;CAChF,CAAC;AAEF,SAAS,oBAAoB,CAAC,KAA8B;IAC1D,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,uBAAuB,CAAC,0BAA0B;YACrD,OAAO,6BAA6B,CAAC,cAAc,CAAC;QACtD,KAAK,uBAAuB,CAAC,yBAAyB;YACpD,OAAO,6BAA6B,CAAC,mBAAmB,CAAC;QAC3D;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,EAAE,QAAQ,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACzC,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,4BAA4B,EAAE,CAAC;IACrD,MAAM,EAAE,QAAQ,EAAE,GAAG,uBAAuB,EAAE,CAAC;IAC/C,MAAM,EAAE,0BAA0B,EAAE,GAAG,KAAK,EAAE,CAAC;IAC/C,MAAM,0BAA0B,GAAG,qCAAqC,EAAE,CAAC;IAE3E,MAAM,YAAY,GAAG,0BAA0B,EAAE,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACxF,MAAM,iBAAiB,GACrB,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,IAAI;QACvD,CAAC,CAAE,YAA+C,CAAC,QAAQ;QAC3D,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CACnC,yCAAyC,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,CACzF,EAAE,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,CAAC,CAAC;IAEpD,MAAM,mBAAmB,GACvB,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,IAAI;QACvD,CAAC,CAAE,YAAyD,CAAC,aAAa;QAC1E,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,wBAAwB,CAAC,EAAE,EAAE,mBAAmB,CAAC,EACvD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAA4B,EAAE;QAC7D,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QACjD,OAAO,qBAAqB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAC9D,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,aAAa,GAAsB,EAAE,CAAC;QAE5C,MAAM,eAAe,GAAG,CAAC,GAAuB,EAAU,EAAE;YAC1D,MAAM,GAAG,GAAG,GAAG,CAAC,uBAAuB,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpF,OAAO,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACpD,CAAC,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK;gBAAE,SAAS;YACpC,aAAa,CAAC,IAAI,CAChB,QAAQ,CAAC;gBACP,EAAE,EAAE,YAAY,GAAG,CAAC,KAAK,EAAE;gBAC3B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,WAAW,EAAE,eAAe,CAAC,GAAG,CAAC;gBACjC,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM;gBACtC,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,OAAO,EAAE,GAAG,EAAE;oBACZ,QAAQ,GAAG,CAAC,KAAK,EAAE,CAAC;wBAClB,KAAK,uBAAuB,CAAC,qBAAqB;4BAChD,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,EAAuC,CAAC,CAAC;4BACpF,MAAM;wBACR,KAAK,uBAAuB,CAAC,yBAAyB;4BACpD,IAAI,CAAC,cAAc,CAAC,yBAAyB,EAAE,EAA2C,CAAC,CAAC;4BAC5F,MAAM;wBACR,KAAK,uBAAuB,CAAC,0BAA0B;4BACrD,IAAI,CAAC,cAAc,CAAC,0BAA0B,EAAE,EAA2C,CAAC,CAAC;4BAC7F,MAAM;wBACR,KAAK,uBAAuB,CAAC,qBAAqB;4BAChD,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,EAAuC,CAAC,CAAC;4BACpF,MAAM;wBACR;4BACE,MAAM;oBACV,CAAC;gBACH,CAAC;gBACD,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC;gBACzC,cAAc,EAAE,GAAG,CAAC,cAAc,KAAK,KAAK;aAC7C,CAAC,CACH,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;YACvC,aAAa,CAAC,IAAI,CAChB,QAAQ,CAAC;gBACP,EAAE,EAAE,cAAc,OAAO,CAAC,EAAE,EAAE;gBAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK;gBACjD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM;gBAC1C,KAAK,EAAE,WAAW,CAAC,OAAO;gBAC1B,OAAO,EAAE,GAAG,EAAE;oBACZ,eAAe,CAAC,mCAAmC,CACjD,QAAQ,EACR,OAAO,EACP,6BAA6B,CAAC,MAAM,CACrC,CAAC;gBACJ,CAAC;gBACD,QAAQ,EAAE,6BAA6B,CAAC,MAAM;gBAC9C,cAAc,EAAE,IAAI;aACrB,CAAC,CACH,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,EAAE;YACV,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE,CAAC;gBACvC,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;IAE/E,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["/**\n * Registers config-driven application hotkeys:\n * - `[HOTKEY].emitShortcuts` → dispatch `FrontendEvents` (sidebar toggle, palette-adjacent surfaces, etc.)\n * - `[HOTKEY].bindings` → navigate via `resolveHotkeyBindings` / `NavigationUtils`\n *\n * Command menu keyboard open is owned by `useCommandMenuBehavior` (`[COMMAND_MENU].openShortcut`),\n * not this component, so Cmd+K is not double-registered.\n */\n\nimport { useEffect, useMemo } from 'react';\nimport {\n ApplicationLevelComponentType,\n HotkeyDispatchableEvent,\n HotkeyGroup,\n HotkeyScope,\n type HotkeyEmitShortcut,\n} from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport type { HotkeyBinding } from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport { useHotkeyRegistry } from './useHotkey';\nimport { mergeHotkeyEmitShortcuts } from './merge-hotkey-emit-shortcuts';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport {\n FrontendEvents,\n type FrontendEvent_HotkeyNotificationsOpen,\n type FrontendEvent_HotkeyQuickSwitcherOpen,\n type FrontendEvent_HotkeyShortcutsHelp,\n type FrontendEvent_HotkeySidebarToggle,\n} from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport {\n filterHotkeyBindingsByRuntimeAvailability,\n useLauncherRuntimeAvailabilityContext,\n} from '~wildo-frontend-lib/core/navigation/launcher-runtime-availability';\nimport { resolveHotkeyBindings, type ResolvedHotkeyBinding } from '~wildo-frontend-lib/core/navigation/launcher-resolution';\nimport { useLauncherResolutionContext } from '~wildo-frontend-lib/core/navigation/useLauncherResolutionContext';\nimport { useNavigationController } from '~wildo-frontend-lib/core/navigation/useNavigationController';\nimport { NavigationUtils } from '~wildo-frontend-lib/core/navigation/navigation.utils';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\n\nconst DEFAULT_EMIT_DESCRIPTION_KEYS: Record<HotkeyDispatchableEvent, string> = {\n [HotkeyDispatchableEvent.HOTKEY_SIDEBAR_TOGGLE]: 'engine.hotkeys.sidebarToggle',\n [HotkeyDispatchableEvent.HOTKEY_NOTIFICATIONS_OPEN]: 'engine.hotkeys.notificationsOpen',\n [HotkeyDispatchableEvent.HOTKEY_QUICK_SWITCHER_OPEN]: 'engine.hotkeys.quickSwitcherOpen',\n [HotkeyDispatchableEvent.HOTKEY_SHORTCUTS_HELP]: 'engine.hotkeys.shortcutsHelp',\n};\n\nfunction launcherForEmitEvent(event: HotkeyDispatchableEvent): ApplicationLevelComponentType | undefined {\n switch (event) {\n case HotkeyDispatchableEvent.HOTKEY_QUICK_SWITCHER_OPEN:\n return ApplicationLevelComponentType.QUICK_SWITCHER;\n case HotkeyDispatchableEvent.HOTKEY_NOTIFICATIONS_OPEN:\n return ApplicationLevelComponentType.NOTIFICATION_CENTER;\n default:\n return undefined;\n }\n}\n\n/**\n * Renderless component — registers hotkeys from `[HOTKEY]` config.\n */\nexport function DefaultHotkeyHandler(): null {\n const { register } = useHotkeyRegistry();\n const { emit } = useEventBus();\n const resolutionCtx = useLauncherResolutionContext();\n const { navigate } = useNavigationController();\n const { appComponentsConfiguration } = useUI();\n const runtimeAvailabilityContext = useLauncherRuntimeAvailabilityContext();\n\n const hotkeyConfig = appComponentsConfiguration?.[ApplicationLevelComponentType.HOTKEY];\n const rawConfigBindings: HotkeyBinding[] | undefined =\n typeof hotkeyConfig === 'object' && hotkeyConfig !== null\n ? (hotkeyConfig as { bindings?: HotkeyBinding[] }).bindings\n : undefined;\n const configBindings = useMemo(() => (\n filterHotkeyBindingsByRuntimeAvailability(rawConfigBindings, runtimeAvailabilityContext)\n ), [rawConfigBindings, runtimeAvailabilityContext]);\n\n const configEmitShortcuts: HotkeyEmitShortcut[] | undefined =\n typeof hotkeyConfig === 'object' && hotkeyConfig !== null\n ? (hotkeyConfig as { emitShortcuts?: HotkeyEmitShortcut[] }).emitShortcuts\n : undefined;\n\n const emitShortcuts = useMemo(\n () => mergeHotkeyEmitShortcuts([], configEmitShortcuts),\n [configEmitShortcuts],\n );\n\n const resolvedBindings = useMemo((): ResolvedHotkeyBinding[] => {\n if (!configBindings || !resolutionCtx) return [];\n return resolveHotkeyBindings(configBindings, resolutionCtx);\n }, [configBindings, resolutionCtx]);\n\n useEffect(() => {\n const unregisterFns: Array<() => void> = [];\n\n const describeEmitRow = (row: HotkeyEmitShortcut): string => {\n const key = row.descriptionLabellingRef ?? DEFAULT_EMIT_DESCRIPTION_KEYS[row.event];\n return resolutionCtx ? resolutionCtx.t(key) : key;\n };\n\n for (const row of emitShortcuts) {\n if (row.enabled === false) continue;\n unregisterFns.push(\n register({\n id: `app-emit-${row.event}`,\n shortcut: row.shortcut,\n description: describeEmitRow(row),\n scope: row.scope ?? HotkeyScope.GLOBAL,\n group: row.group,\n handler: () => {\n switch (row.event) {\n case HotkeyDispatchableEvent.HOTKEY_SIDEBAR_TOGGLE:\n emit(FrontendEvents.HOTKEY_SIDEBAR_TOGGLE, {} as FrontendEvent_HotkeySidebarToggle);\n break;\n case HotkeyDispatchableEvent.HOTKEY_NOTIFICATIONS_OPEN:\n emit(FrontendEvents.HOTKEY_NOTIFICATIONS_OPEN, {} as FrontendEvent_HotkeyNotificationsOpen);\n break;\n case HotkeyDispatchableEvent.HOTKEY_QUICK_SWITCHER_OPEN:\n emit(FrontendEvents.HOTKEY_QUICK_SWITCHER_OPEN, {} as FrontendEvent_HotkeyQuickSwitcherOpen);\n break;\n case HotkeyDispatchableEvent.HOTKEY_SHORTCUTS_HELP:\n emit(FrontendEvents.HOTKEY_SHORTCUTS_HELP, {} as FrontendEvent_HotkeyShortcutsHelp);\n break;\n default:\n break;\n }\n },\n launcher: launcherForEmitEvent(row.event),\n preventDefault: row.preventDefault !== false,\n }),\n );\n }\n\n for (const binding of resolvedBindings) {\n unregisterFns.push(\n register({\n id: `app-hotkey-${binding.id}`,\n shortcut: binding.shortcut,\n description: binding.description ?? binding.label,\n scope: binding.scope ?? HotkeyScope.GLOBAL,\n group: HotkeyGroup.ACTIONS,\n handler: () => {\n NavigationUtils.dispatchNavigationForResolvedTarget(\n navigate,\n binding,\n ApplicationLevelComponentType.HOTKEY,\n );\n },\n launcher: ApplicationLevelComponentType.HOTKEY,\n preventDefault: true,\n }),\n );\n }\n\n return () => {\n for (const unregister of unregisterFns) {\n unregister();\n }\n };\n }, [register, emit, resolvedBindings, navigate, emitShortcuts, resolutionCtx]);\n\n return null;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"DefaultHotkeyHandler.js","sourceRoot":"","sources":["../../../../src/core/hotkey/DefaultHotkeyHandler.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Registers config-driven application hotkeys:\n * - `[HOTKEY].emitShortcuts` → dispatch `FrontendEvents` (sidebar toggle, palette-adjacent surfaces, etc.)\n * - `[HOTKEY].bindings` → navigate via `resolveHotkeyBindings` / `NavigationUtils`\n *\n * Command menu keyboard open is owned by `useCommandMenuBehavior` (`[COMMAND_MENU].openShortcut`),\n * not this component, so Cmd+K is not double-registered.\n */\n\nimport { useEffect, useMemo } from 'react';\nimport {\n ApplicationLevelComponentType,\n HotkeyDispatchableEvent,\n HotkeyGroup,\n HotkeyScope,\n type HotkeyEmitShortcut,\n} from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport type { HotkeyBinding } from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport { useHotkeyRegistry } from './useHotkey';\nimport { HOTKEY_FRAMEWORK_DEFAULT_PRIORITY } from './hotkey-registry.frontend.schemas';\nimport { mergeHotkeyEmitShortcuts } from './merge-hotkey-emit-shortcuts';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport {\n FrontendEvents,\n type FrontendEvent_HotkeyNotificationsOpen,\n type FrontendEvent_HotkeyQuickSwitcherOpen,\n type FrontendEvent_HotkeyShortcutsHelp,\n type FrontendEvent_HotkeySidebarToggle,\n} from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport {\n filterHotkeyBindingsByRuntimeAvailability,\n useLauncherRuntimeAvailabilityContext,\n} from '~wildo-frontend-lib/core/navigation/launcher-runtime-availability';\nimport { resolveHotkeyBindings, type ResolvedHotkeyBinding } from '~wildo-frontend-lib/core/navigation/launcher-resolution';\nimport { useLauncherResolutionContext } from '~wildo-frontend-lib/core/navigation/useLauncherResolutionContext';\nimport { useNavigationController } from '~wildo-frontend-lib/core/navigation/useNavigationController';\nimport { NavigationUtils } from '~wildo-frontend-lib/core/navigation/navigation.utils';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\n\nconst DEFAULT_EMIT_DESCRIPTION_KEYS: Record<HotkeyDispatchableEvent, string> = {\n [HotkeyDispatchableEvent.HOTKEY_SIDEBAR_TOGGLE]: 'engine.hotkeys.sidebarToggle',\n [HotkeyDispatchableEvent.HOTKEY_NOTIFICATIONS_OPEN]: 'engine.hotkeys.notificationsOpen',\n [HotkeyDispatchableEvent.HOTKEY_QUICK_SWITCHER_OPEN]: 'engine.hotkeys.quickSwitcherOpen',\n [HotkeyDispatchableEvent.HOTKEY_SHORTCUTS_HELP]: 'engine.hotkeys.shortcutsHelp',\n};\n\n/**\n * The framework's DEFAULT chord for each dispatchable event (#441).\n *\n * Until 2026-09-08 the baseline was `[]`: an application's `emitShortcuts` was the ONLY binding\n * channel, no shipped configuration declared one, and so the shortcuts help dialog was mounted for\n * every application and openable by keyboard in none of them.\n *\n * ## How an application overrides\n *\n * `mergeHotkeyEmitShortcuts` keys by EVENT, so an application row for the same event replaces the\n * default outright — application beats framework, with no new mechanism and no arbitration. Setting\n * `enabled: false` on a row removes the binding entirely.\n *\n * ## Why these chords\n *\n * Conventions people already have in their fingers, not inventions:\n * - `Mod+B` — the sidebar toggle in VS Code, Linear and Notion.\n * - `Mod+P` — quick-open / switcher, from VS Code. `Mod+K` was NOT available: the command menu\n * owns it through `[COMMAND_MENU].openShortcut`, and double-registering it is the collision\n * this issue's other half exists to arbitrate.\n * - `Mod+I` — inbox, Linear's mnemonic for the notification surface.\n * - `Shift+?` — the universal \"show shortcuts\" chord (GitHub, Slack, Gmail, Linear).\n *\n * `Shift+?` is spelled with its modifier deliberately. Matching is strict, and typing `?` raises\n * `shiftKey`, so a chord written `?` alone can never match — it would have shipped a help dialog\n * that still could not be opened, which is the exact defect being closed.\n */\nexport const ENGINE_DEFAULT_HOTKEY_EMIT_SHORTCUTS: readonly HotkeyEmitShortcut[] = [\n {\n event: HotkeyDispatchableEvent.HOTKEY_SIDEBAR_TOGGLE,\n shortcut: 'Mod+B',\n scope: HotkeyScope.GLOBAL,\n group: HotkeyGroup.NAVIGATION,\n },\n {\n event: HotkeyDispatchableEvent.HOTKEY_QUICK_SWITCHER_OPEN,\n shortcut: 'Mod+P',\n scope: HotkeyScope.GLOBAL,\n group: HotkeyGroup.NAVIGATION,\n },\n {\n event: HotkeyDispatchableEvent.HOTKEY_NOTIFICATIONS_OPEN,\n shortcut: 'Mod+I',\n scope: HotkeyScope.GLOBAL,\n group: HotkeyGroup.NAVIGATION,\n },\n {\n event: HotkeyDispatchableEvent.HOTKEY_SHORTCUTS_HELP,\n shortcut: 'Shift+?',\n scope: HotkeyScope.GLOBAL,\n group: HotkeyGroup.HELP,\n },\n];\n\n/**\n * Whether a merged row is the framework's own default rather than one the application authored.\n *\n * Identity by REFERENCE: `mergeHotkeyEmitShortcuts` either keeps the default object or replaces it\n * with the application's, so the surviving object IS the answer. Comparing by event would be wrong\n * — an application row for the same event is exactly the case that must NOT be treated as a\n * framework default.\n */\nfunction isFrameworkDefaultRow(row: HotkeyEmitShortcut): boolean {\n return ENGINE_DEFAULT_HOTKEY_EMIT_SHORTCUTS.includes(row);\n}\n\nfunction launcherForEmitEvent(event: HotkeyDispatchableEvent): ApplicationLevelComponentType | undefined {\n switch (event) {\n case HotkeyDispatchableEvent.HOTKEY_QUICK_SWITCHER_OPEN:\n return ApplicationLevelComponentType.QUICK_SWITCHER;\n case HotkeyDispatchableEvent.HOTKEY_NOTIFICATIONS_OPEN:\n return ApplicationLevelComponentType.NOTIFICATION_CENTER;\n default:\n return undefined;\n }\n}\n\n/**\n * Renderless component — registers hotkeys from `[HOTKEY]` config.\n */\nexport function DefaultHotkeyHandler(): null {\n const { register } = useHotkeyRegistry();\n const { emit } = useEventBus();\n const resolutionCtx = useLauncherResolutionContext();\n const { navigate } = useNavigationController();\n const { appComponentsConfiguration } = useUI();\n const runtimeAvailabilityContext = useLauncherRuntimeAvailabilityContext();\n\n const hotkeyConfig = appComponentsConfiguration?.[ApplicationLevelComponentType.HOTKEY];\n const rawConfigBindings: HotkeyBinding[] | undefined =\n typeof hotkeyConfig === 'object' && hotkeyConfig !== null\n ? (hotkeyConfig as { bindings?: HotkeyBinding[] }).bindings\n : undefined;\n const configBindings = useMemo(() => (\n filterHotkeyBindingsByRuntimeAvailability(rawConfigBindings, runtimeAvailabilityContext)\n ), [rawConfigBindings, runtimeAvailabilityContext]);\n\n const configEmitShortcuts: HotkeyEmitShortcut[] | undefined =\n typeof hotkeyConfig === 'object' && hotkeyConfig !== null\n ? (hotkeyConfig as { emitShortcuts?: HotkeyEmitShortcut[] }).emitShortcuts\n : undefined;\n\n const emitShortcuts = useMemo(\n // The baseline was `[]` until #441 — which is why an application declaring no `emitShortcuts`\n // got no working shortcuts at all, help dialog included.\n () => mergeHotkeyEmitShortcuts(ENGINE_DEFAULT_HOTKEY_EMIT_SHORTCUTS, configEmitShortcuts),\n [configEmitShortcuts],\n );\n\n const resolvedBindings = useMemo((): ResolvedHotkeyBinding[] => {\n if (!configBindings || !resolutionCtx) return [];\n return resolveHotkeyBindings(configBindings, resolutionCtx);\n }, [configBindings, resolutionCtx]);\n\n useEffect(() => {\n const unregisterFns: Array<() => void> = [];\n\n const describeEmitRow = (row: HotkeyEmitShortcut): string => {\n const key = row.descriptionLabellingRef ?? DEFAULT_EMIT_DESCRIPTION_KEYS[row.event];\n return resolutionCtx ? resolutionCtx.t(key) : key;\n };\n\n for (const row of emitShortcuts) {\n if (row.enabled === false) continue;\n unregisterFns.push(\n register({\n id: `app-emit-${row.event}`,\n shortcut: row.shortcut,\n description: describeEmitRow(row),\n scope: row.scope ?? HotkeyScope.GLOBAL,\n group: row.group,\n handler: () => {\n switch (row.event) {\n case HotkeyDispatchableEvent.HOTKEY_SIDEBAR_TOGGLE:\n emit(FrontendEvents.HOTKEY_SIDEBAR_TOGGLE, {} as FrontendEvent_HotkeySidebarToggle);\n break;\n case HotkeyDispatchableEvent.HOTKEY_NOTIFICATIONS_OPEN:\n emit(FrontendEvents.HOTKEY_NOTIFICATIONS_OPEN, {} as FrontendEvent_HotkeyNotificationsOpen);\n break;\n case HotkeyDispatchableEvent.HOTKEY_QUICK_SWITCHER_OPEN:\n emit(FrontendEvents.HOTKEY_QUICK_SWITCHER_OPEN, {} as FrontendEvent_HotkeyQuickSwitcherOpen);\n break;\n case HotkeyDispatchableEvent.HOTKEY_SHORTCUTS_HELP:\n emit(FrontendEvents.HOTKEY_SHORTCUTS_HELP, {} as FrontendEvent_HotkeyShortcutsHelp);\n break;\n default:\n break;\n }\n },\n launcher: launcherForEmitEvent(row.event),\n preventDefault: row.preventDefault !== false,\n /*\n * A row the FRAMEWORK supplied registers below an application's own (#441). The merge\n * already replaces a default per event, so this only matters for the other collision: an\n * application binding a DIFFERENT event to a chord a framework default also claims. The\n * application meant its binding; the default is what was offered when nothing was said.\n */\n priority: isFrameworkDefaultRow(row) ? HOTKEY_FRAMEWORK_DEFAULT_PRIORITY : undefined,\n }),\n );\n }\n\n for (const binding of resolvedBindings) {\n unregisterFns.push(\n register({\n id: `app-hotkey-${binding.id}`,\n shortcut: binding.shortcut,\n description: binding.description ?? binding.label,\n scope: binding.scope ?? HotkeyScope.GLOBAL,\n group: HotkeyGroup.ACTIONS,\n handler: () => {\n NavigationUtils.dispatchNavigationForResolvedTarget(\n navigate,\n binding,\n ApplicationLevelComponentType.HOTKEY,\n );\n },\n launcher: ApplicationLevelComponentType.HOTKEY,\n preventDefault: true,\n }),\n );\n }\n\n return () => {\n for (const unregister of unregisterFns) {\n unregister();\n }\n };\n }, [register, emit, resolvedBindings, navigate, emitShortcuts, resolutionCtx]);\n\n return null;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HotkeyRegistryContext.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"HotkeyRegistryContext.d.ts","sourceRoot":"","sources":["../../../../src/core/hotkey/HotkeyRegistryContext.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAA2E,MAAM,OAAO,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,uEAAuE,CAAC;AACpG,OAAO,EAEL,yBAAyB,EAO1B,MAAM,oCAAoC,CAAC;AAE5C,QAAA,MAAM,qBAAqB,0CAAwD,CAAC;AAMpF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,2BAA2B;IAC3B,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAuPxE,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -7,7 +7,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
7
7
|
*/
|
|
8
8
|
import { createContext, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
9
9
|
import { HotkeyScope } from '../../core/config/app-level-components.frontend.schemas.js';
|
|
10
|
-
import { parseShortcut, matchesShortcut, } from './hotkey-registry.frontend.schemas.js';
|
|
10
|
+
import { parseShortcut, matchesShortcut, HOTKEY_DEFAULT_PRIORITY, HOTKEY_SCOPE_SPECIFICITY, } from './hotkey-registry.frontend.schemas.js';
|
|
11
11
|
const HotkeyRegistryContext = createContext(null);
|
|
12
12
|
function scopesOverlap(a, b) {
|
|
13
13
|
return a === b || a === HotkeyScope.GLOBAL || b === HotkeyScope.GLOBAL;
|
|
@@ -30,10 +30,21 @@ export const HotkeyRegistryProvider = ({ children, initialScope = HotkeyScope.GL
|
|
|
30
30
|
hotkey.shortcut.toLowerCase() === definition.shortcut.toLowerCase() &&
|
|
31
31
|
scopesOverlap(hotkey.scope, definition.scope));
|
|
32
32
|
if (conflictingHotkeys.length > 0) {
|
|
33
|
+
/*
|
|
34
|
+
* KEPT after precedence became declarative (#441), deliberately. A resolved collision is
|
|
35
|
+
* still usually a mistake — two shortcuts quietly becoming one — and arbitrating silently is
|
|
36
|
+
* how that goes unnoticed. What changed is the remedy the message can offer: the outcome is
|
|
37
|
+
* now something the author can DECLARE rather than something mount order decides.
|
|
38
|
+
*/
|
|
33
39
|
console.warn(`[HotkeyRegistry] Duplicate shortcut "${definition.shortcut}" detected. ` +
|
|
34
|
-
`
|
|
40
|
+
`Precedence: priority, then scope specificity (component > page > global), then registration order. ` +
|
|
41
|
+
`Declare \`priority\` on the one that should win, or give one of them a different chord.`, {
|
|
35
42
|
incomingId: definition.id,
|
|
36
|
-
|
|
43
|
+
incomingPriority: definition.priority ?? HOTKEY_DEFAULT_PRIORITY,
|
|
44
|
+
existing: conflictingHotkeys.map((hotkey) => ({
|
|
45
|
+
id: hotkey.id,
|
|
46
|
+
priority: hotkey.priority ?? HOTKEY_DEFAULT_PRIORITY,
|
|
47
|
+
})),
|
|
37
48
|
});
|
|
38
49
|
}
|
|
39
50
|
const registered = {
|
|
@@ -110,7 +121,21 @@ export const HotkeyRegistryProvider = ({ children, initialScope = HotkeyScope.GL
|
|
|
110
121
|
if (isInputElement && target.closest('[data-hotkey-passthrough]')) {
|
|
111
122
|
isInputElement = false;
|
|
112
123
|
}
|
|
113
|
-
|
|
124
|
+
/*
|
|
125
|
+
* Pick the BEST match, not the first one this iteration happens to reach (#441).
|
|
126
|
+
*
|
|
127
|
+
* `hotkeysRef` is a Map, so iterating it is REGISTRATION ORDER — which means, before this,
|
|
128
|
+
* which of two conflicting shortcuts fired depended on mount order rather than on anything
|
|
129
|
+
* anyone declared. Two components mounting in a different order swapped the behaviour, and
|
|
130
|
+
* nothing about the shortcuts said which was supposed to win.
|
|
131
|
+
*
|
|
132
|
+
* The order is declarative and total: PRIORITY (explicit, highest wins), then SCOPE
|
|
133
|
+
* SPECIFICITY (a COMPONENT claim on a chord is narrower than a GLOBAL one), then registration
|
|
134
|
+
* order as the last resort — which is where two genuinely indistinguishable registrations
|
|
135
|
+
* land, and is exactly the case the collision warning at registration is for.
|
|
136
|
+
*/
|
|
137
|
+
let best;
|
|
138
|
+
let bestRank;
|
|
114
139
|
for (const hotkey of hotkeysRef.current.values()) {
|
|
115
140
|
// Skip disabled hotkeys
|
|
116
141
|
if (!hotkey.enabled)
|
|
@@ -123,8 +148,21 @@ export const HotkeyRegistryProvider = ({ children, initialScope = HotkeyScope.GL
|
|
|
123
148
|
// Skip non-global hotkeys when in input
|
|
124
149
|
if (isInputElement && hotkey.scope !== HotkeyScope.GLOBAL)
|
|
125
150
|
continue;
|
|
126
|
-
|
|
127
|
-
|
|
151
|
+
if (!matchesShortcut(event, hotkey.parsed))
|
|
152
|
+
continue;
|
|
153
|
+
const rank = [
|
|
154
|
+
hotkey.priority ?? HOTKEY_DEFAULT_PRIORITY,
|
|
155
|
+
HOTKEY_SCOPE_SPECIFICITY[hotkey.scope],
|
|
156
|
+
];
|
|
157
|
+
// STRICTLY greater, so an equal rank keeps the earlier registration — the last-resort rule.
|
|
158
|
+
if (bestRank === undefined || rank[0] > bestRank[0] || (rank[0] === bestRank[0] && rank[1] > bestRank[1])) {
|
|
159
|
+
best = hotkey;
|
|
160
|
+
bestRank = rank;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
{
|
|
164
|
+
const hotkey = best;
|
|
165
|
+
if (hotkey) {
|
|
128
166
|
// Execute handler
|
|
129
167
|
try {
|
|
130
168
|
hotkey.handler();
|
|
@@ -140,8 +178,6 @@ export const HotkeyRegistryProvider = ({ children, initialScope = HotkeyScope.GL
|
|
|
140
178
|
if (hotkey.stopPropagation) {
|
|
141
179
|
event.stopPropagation();
|
|
142
180
|
}
|
|
143
|
-
// Only trigger one hotkey per keystroke
|
|
144
|
-
break;
|
|
145
181
|
}
|
|
146
182
|
}
|
|
147
183
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HotkeyRegistryContext.js","sourceRoot":"","sources":["../../../../../src/core/hotkey/HotkeyRegistryContext.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAc,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,uEAAuE,CAAC;AACpG,OAAO,EAKL,aAAa,EACb,eAAe,GAChB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,qBAAqB,GAAG,aAAa,CAAmC,IAAI,CAAC,CAAC;AAEpF,SAAS,aAAa,CAAC,CAAc,EAAE,CAAc;IACnD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,MAAM,IAAI,CAAC,KAAK,WAAW,CAAC,MAAM,CAAC;AACzE,CAAC;AAQD,MAAM,CAAC,MAAM,sBAAsB,GAA0C,CAAC,EAC5E,QAAQ,EACR,YAAY,GAAG,WAAW,CAAC,MAAM,GAClC,EAAE,EAAE;IACH,sEAAsE;IACtE,QAAQ;IACR,sEAAsE;IAEtE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAc,YAAY,CAAC,CAAC;IAC1E,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,0DAA0D;IAC1D,MAAM,UAAU,GAAG,MAAM,CAAgC,IAAI,GAAG,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtD,sEAAsE;IACtE,yBAAyB;IACzB,sEAAsE;IAEtE,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,UAA4B,EAAgB,EAAE;QAC1E,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACvE,CAAC,MAAwB,EAAE,EAAE,CAC3B,MAAM,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE;YAC3B,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE;YACnE,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAChD,CAAC;QAEF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CACV,wCAAwC,UAAU,CAAC,QAAQ,cAAc;gBACzE,0EAA0E,EAC1E;gBACE,UAAU,EAAE,UAAU,CAAC,EAAE;gBACzB,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,MAAwB,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;aAC7E,CACF,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAqB;YACnC,GAAG,UAAU;YACb,OAAO,EAAE,UAAU,CAAC,OAAO,KAAK,KAAK;YACrC,2FAA2F;YAC3F,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,IAAI;YACjD,eAAe,EAAE,UAAU,CAAC,eAAe,IAAI,KAAK;YACpD,MAAM;SACP,CAAC;QAEF,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAClD,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE7B,6BAA6B;QAC7B,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACzC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,EAAE;QAC5C,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9B,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,OAAgB,EAAE,EAAE;QAC9D,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;YACzB,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,sEAAsE;IACtE,4BAA4B;IAC5B,sEAAsE;IAEtE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzD,sEAAsE;IACtE,kBAAkB;IAClB,sEAAsE;IAEtE,MAAM,UAAU,GAAG,WAAW,CAAC,GAAuB,EAAE;QACtD,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,KAAa,EAAsB,EAAE;QAC1E,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACpG,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,WAAW,CAAC,GAAqB,EAAE;QACtD,MAAM,UAAU,GAAG,IAAI,GAAG,EAA8B,CAAC;QAEzD,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACjD,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,SAAS,GAAqB,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,SAA2B,EAAE,EAAE,CACpE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAuB,EAAE,EAAE,CACvC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CACzE,CACF,CAAC,GAAG,CAAC,CAAC,MAAwB,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAE/C,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,sEAAsE;IACtE,yBAAyB;IACzB,sEAAsE;IAEtE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC7C,iBAAiB;YACjB,IAAI,QAAQ;gBAAE,OAAO;YAErB,qEAAqE;YACrE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;YAC3C,IAAI,cAAc,GAAG,MAAM,CAAC,OAAO,KAAK,OAAO;gBAC1B,MAAM,CAAC,OAAO,KAAK,UAAU;gBAC7B,MAAM,CAAC,iBAAiB,CAAC;YAC9C,IAAI,cAAc,IAAI,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,EAAE,CAAC;gBAClE,cAAc,GAAG,KAAK,CAAC;YACzB,CAAC;YAED,wBAAwB;YACxB,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBACjD,wBAAwB;gBACxB,IAAI,CAAC,MAAM,CAAC,OAAO;oBAAE,SAAS;gBAE9B,cAAc;gBACd,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,CAAC,IAAI,IAAI,WAAW,KAAK,WAAW,CAAC,IAAI;oBAAE,SAAS;gBACpF,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,CAAC,SAAS,IAAI,WAAW,KAAK,WAAW,CAAC,SAAS;oBAAE,SAAS;gBAE9F,wCAAwC;gBACxC,IAAI,cAAc,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,CAAC,MAAM;oBAAE,SAAS;gBAEpE,4BAA4B;gBAC5B,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1C,kBAAkB;oBAClB,IAAI,CAAC;wBACH,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;oBACjE,CAAC;oBAED,gCAAgC;oBAChC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;wBAC1B,KAAK,CAAC,cAAc,EAAE,CAAC;oBACzB,CAAC;oBAED,iCAAiC;oBACjC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;wBAC3B,KAAK,CAAC,eAAe,EAAE,CAAC;oBAC1B,CAAC;oBAED,wCAAwC;oBACxC,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE5B,sEAAsE;IACtE,gBAAgB;IAChB,sEAAsE;IAEtE,MAAM,YAAY,GAAG,OAAO,CAAC,GAA8B,EAAE,CAAC,CAAC;QAC7D,QAAQ;QACR,UAAU;QACV,UAAU;QACV,cAAc;QACd,KAAK;QACL,MAAM;QACN,UAAU;QACV,iBAAiB;QACjB,YAAY;QACZ,WAAW;QACX,QAAQ;KACT,CAAC,EAAE;QACF,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,MAAM;QACN,UAAU;QACV,iBAAiB;QACjB,YAAY;QACZ,WAAW;QACX,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO,CACL,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAChD,QAAQ,GACsB,CAClC,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC","sourcesContent":["/**\n * Hotkey Registry Context\n * \n * Provides centralized keyboard shortcut management.\n * Based on Specs §7 - HOTKEY Specification (Infrastructure)\n */\n\nimport React, { createContext, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { HotkeyScope } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport {\n HotkeyDefinition,\n HotkeyRegistryContextType,\n RegisteredHotkey,\n HotkeyConflict,\n parseShortcut,\n matchesShortcut,\n} from './hotkey-registry.frontend.schemas';\n\nconst HotkeyRegistryContext = createContext<HotkeyRegistryContextType | null>(null);\n\nfunction scopesOverlap(a: HotkeyScope, b: HotkeyScope): boolean {\n return a === b || a === HotkeyScope.GLOBAL || b === HotkeyScope.GLOBAL;\n}\n\nexport interface HotkeyRegistryProviderProps {\n children: React.ReactNode;\n /** Initial active scope */\n initialScope?: HotkeyScope;\n}\n\nexport const HotkeyRegistryProvider: React.FC<HotkeyRegistryProviderProps> = ({\n children,\n initialScope = HotkeyScope.GLOBAL,\n}) => {\n // ===================================================================\n // State\n // ===================================================================\n \n const [activeScope, setActiveScope] = useState<HotkeyScope>(initialScope);\n const [isPaused, setIsPaused] = useState(false);\n \n // Use ref for hotkeys to avoid re-renders on registration\n const hotkeysRef = useRef<Map<string, RegisteredHotkey>>(new Map());\n const [hotkeyVersion, setHotkeyVersion] = useState(0);\n \n // ===================================================================\n // Registration Functions\n // ===================================================================\n \n const register = useCallback((definition: HotkeyDefinition): (() => void) => {\n const parsed = parseShortcut(definition.shortcut);\n const conflictingHotkeys = Array.from(hotkeysRef.current.values()).filter(\n (hotkey: RegisteredHotkey) =>\n hotkey.id !== definition.id &&\n hotkey.shortcut.toLowerCase() === definition.shortcut.toLowerCase() &&\n scopesOverlap(hotkey.scope, definition.scope),\n );\n\n if (conflictingHotkeys.length > 0) {\n console.warn(\n `[HotkeyRegistry] Duplicate shortcut \"${definition.shortcut}\" detected. ` +\n `Resolution is registration-order-dependent; first registered match wins.`,\n {\n incomingId: definition.id,\n existingIds: conflictingHotkeys.map((hotkey: RegisteredHotkey) => hotkey.id),\n },\n );\n }\n\n const registered: RegisteredHotkey = {\n ...definition,\n enabled: definition.enabled !== false,\n /** Defaults to true — application hotkeys should prevent browser defaults (e.g. Cmd+K). */\n preventDefault: definition.preventDefault ?? true,\n stopPropagation: definition.stopPropagation ?? false,\n parsed,\n };\n \n hotkeysRef.current.set(definition.id, registered);\n setHotkeyVersion(v => v + 1);\n \n // Return unregister function\n return () => {\n hotkeysRef.current.delete(definition.id);\n setHotkeyVersion(v => v + 1);\n };\n }, []);\n \n const unregister = useCallback((id: string) => {\n hotkeysRef.current.delete(id);\n setHotkeyVersion(v => v + 1);\n }, []);\n \n const setEnabled = useCallback((id: string, enabled: boolean) => {\n const hotkey = hotkeysRef.current.get(id);\n if (hotkey) {\n hotkey.enabled = enabled;\n setHotkeyVersion(v => v + 1);\n }\n }, []);\n \n // ===================================================================\n // Scope and Pause Functions\n // ===================================================================\n \n const pause = useCallback(() => setIsPaused(true), []);\n const resume = useCallback(() => setIsPaused(false), []);\n \n // ===================================================================\n // Query Functions\n // ===================================================================\n \n const getHotkeys = useCallback((): RegisteredHotkey[] => {\n return Array.from(hotkeysRef.current.values());\n }, []);\n \n const getHotkeysByGroup = useCallback((group: string): RegisteredHotkey[] => {\n return Array.from(hotkeysRef.current.values()).filter((h: RegisteredHotkey) => h.group === group);\n }, []);\n \n const getConflicts = useCallback((): HotkeyConflict[] => {\n const byShortcut = new Map<string, RegisteredHotkey[]>();\n\n for (const hotkey of hotkeysRef.current.values()) {\n const key = hotkey.shortcut.toLowerCase();\n const existing = byShortcut.get(key) ?? [];\n existing.push(hotkey);\n byShortcut.set(key, existing);\n }\n\n const conflicts: HotkeyConflict[] = [];\n for (const [shortcut, hotkeys] of byShortcut.entries()) {\n const conflictingIds = hotkeys.filter((candidate: RegisteredHotkey) =>\n hotkeys.some((other: RegisteredHotkey) =>\n other.id !== candidate.id && scopesOverlap(other.scope, candidate.scope),\n ),\n ).map((hotkey: RegisteredHotkey) => hotkey.id);\n\n if (conflictingIds.length > 1) {\n conflicts.push({ shortcut, hotkeyIds: conflictingIds });\n }\n }\n\n return conflicts;\n }, []);\n \n // ===================================================================\n // Keyboard Event Handler\n // ===================================================================\n \n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n // Skip if paused\n if (isPaused) return;\n \n // Skip if target is an input element (unless it's a global shortcut)\n const target = event.target as HTMLElement;\n let isInputElement = target.tagName === 'INPUT' || \n target.tagName === 'TEXTAREA' || \n target.isContentEditable;\n if (isInputElement && target.closest('[data-hotkey-passthrough]')) {\n isInputElement = false;\n }\n \n // Find matching hotkeys\n for (const hotkey of hotkeysRef.current.values()) {\n // Skip disabled hotkeys\n if (!hotkey.enabled) continue;\n \n // Check scope\n if (hotkey.scope === HotkeyScope.PAGE && activeScope !== HotkeyScope.PAGE) continue;\n if (hotkey.scope === HotkeyScope.COMPONENT && activeScope !== HotkeyScope.COMPONENT) continue;\n \n // Skip non-global hotkeys when in input\n if (isInputElement && hotkey.scope !== HotkeyScope.GLOBAL) continue;\n \n // Check if shortcut matches\n if (matchesShortcut(event, hotkey.parsed)) {\n // Execute handler\n try {\n hotkey.handler();\n } catch (error) {\n console.error(`Hotkey handler error for ${hotkey.id}:`, error);\n }\n \n // Prevent default if configured\n if (hotkey.preventDefault) {\n event.preventDefault();\n }\n \n // Stop propagation if configured\n if (hotkey.stopPropagation) {\n event.stopPropagation();\n }\n \n // Only trigger one hotkey per keystroke\n break;\n }\n }\n };\n \n document.addEventListener('keydown', handleKeyDown);\n return () => document.removeEventListener('keydown', handleKeyDown);\n }, [activeScope, isPaused]);\n \n // ===================================================================\n // Context Value\n // ===================================================================\n \n const contextValue = useMemo((): HotkeyRegistryContextType => ({\n register,\n unregister,\n setEnabled,\n setActiveScope,\n pause,\n resume,\n getHotkeys,\n getHotkeysByGroup,\n getConflicts,\n activeScope,\n isPaused,\n }), [\n register,\n unregister,\n setEnabled,\n pause,\n resume,\n getHotkeys,\n getHotkeysByGroup,\n getConflicts,\n activeScope,\n isPaused,\n ]);\n \n return (\n <HotkeyRegistryContext.Provider value={contextValue}>\n {children}\n </HotkeyRegistryContext.Provider>\n );\n};\n\nexport { HotkeyRegistryContext };\n"]}
|
|
1
|
+
{"version":3,"file":"HotkeyRegistryContext.js","sourceRoot":"","sources":["../../../../src/core/hotkey/HotkeyRegistryContext.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Hotkey Registry Context\n * \n * Provides centralized keyboard shortcut management.\n * Based on Specs §7 - HOTKEY Specification (Infrastructure)\n */\n\nimport React, { createContext, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { HotkeyScope } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport {\n HotkeyDefinition,\n HotkeyRegistryContextType,\n RegisteredHotkey,\n HotkeyConflict,\n parseShortcut,\n matchesShortcut,\n HOTKEY_DEFAULT_PRIORITY,\n HOTKEY_SCOPE_SPECIFICITY,\n} from './hotkey-registry.frontend.schemas';\n\nconst HotkeyRegistryContext = createContext<HotkeyRegistryContextType | null>(null);\n\nfunction scopesOverlap(a: HotkeyScope, b: HotkeyScope): boolean {\n return a === b || a === HotkeyScope.GLOBAL || b === HotkeyScope.GLOBAL;\n}\n\nexport interface HotkeyRegistryProviderProps {\n children: React.ReactNode;\n /** Initial active scope */\n initialScope?: HotkeyScope;\n}\n\nexport const HotkeyRegistryProvider: React.FC<HotkeyRegistryProviderProps> = ({\n children,\n initialScope = HotkeyScope.GLOBAL,\n}) => {\n // ===================================================================\n // State\n // ===================================================================\n \n const [activeScope, setActiveScope] = useState<HotkeyScope>(initialScope);\n const [isPaused, setIsPaused] = useState(false);\n \n // Use ref for hotkeys to avoid re-renders on registration\n const hotkeysRef = useRef<Map<string, RegisteredHotkey>>(new Map());\n const [hotkeyVersion, setHotkeyVersion] = useState(0);\n \n // ===================================================================\n // Registration Functions\n // ===================================================================\n \n const register = useCallback((definition: HotkeyDefinition): (() => void) => {\n const parsed = parseShortcut(definition.shortcut);\n const conflictingHotkeys = Array.from(hotkeysRef.current.values()).filter(\n (hotkey: RegisteredHotkey) =>\n hotkey.id !== definition.id &&\n hotkey.shortcut.toLowerCase() === definition.shortcut.toLowerCase() &&\n scopesOverlap(hotkey.scope, definition.scope),\n );\n\n if (conflictingHotkeys.length > 0) {\n /*\n * KEPT after precedence became declarative (#441), deliberately. A resolved collision is\n * still usually a mistake — two shortcuts quietly becoming one — and arbitrating silently is\n * how that goes unnoticed. What changed is the remedy the message can offer: the outcome is\n * now something the author can DECLARE rather than something mount order decides.\n */\n console.warn(\n `[HotkeyRegistry] Duplicate shortcut \"${definition.shortcut}\" detected. ` +\n `Precedence: priority, then scope specificity (component > page > global), then registration order. ` +\n `Declare \\`priority\\` on the one that should win, or give one of them a different chord.`,\n {\n incomingId: definition.id,\n incomingPriority: definition.priority ?? HOTKEY_DEFAULT_PRIORITY,\n existing: conflictingHotkeys.map((hotkey: RegisteredHotkey) => ({\n id: hotkey.id,\n priority: hotkey.priority ?? HOTKEY_DEFAULT_PRIORITY,\n })),\n },\n );\n }\n\n const registered: RegisteredHotkey = {\n ...definition,\n enabled: definition.enabled !== false,\n /** Defaults to true — application hotkeys should prevent browser defaults (e.g. Cmd+K). */\n preventDefault: definition.preventDefault ?? true,\n stopPropagation: definition.stopPropagation ?? false,\n parsed,\n };\n \n hotkeysRef.current.set(definition.id, registered);\n setHotkeyVersion(v => v + 1);\n \n // Return unregister function\n return () => {\n hotkeysRef.current.delete(definition.id);\n setHotkeyVersion(v => v + 1);\n };\n }, []);\n \n const unregister = useCallback((id: string) => {\n hotkeysRef.current.delete(id);\n setHotkeyVersion(v => v + 1);\n }, []);\n \n const setEnabled = useCallback((id: string, enabled: boolean) => {\n const hotkey = hotkeysRef.current.get(id);\n if (hotkey) {\n hotkey.enabled = enabled;\n setHotkeyVersion(v => v + 1);\n }\n }, []);\n \n // ===================================================================\n // Scope and Pause Functions\n // ===================================================================\n \n const pause = useCallback(() => setIsPaused(true), []);\n const resume = useCallback(() => setIsPaused(false), []);\n \n // ===================================================================\n // Query Functions\n // ===================================================================\n \n const getHotkeys = useCallback((): RegisteredHotkey[] => {\n return Array.from(hotkeysRef.current.values());\n }, []);\n \n const getHotkeysByGroup = useCallback((group: string): RegisteredHotkey[] => {\n return Array.from(hotkeysRef.current.values()).filter((h: RegisteredHotkey) => h.group === group);\n }, []);\n \n const getConflicts = useCallback((): HotkeyConflict[] => {\n const byShortcut = new Map<string, RegisteredHotkey[]>();\n\n for (const hotkey of hotkeysRef.current.values()) {\n const key = hotkey.shortcut.toLowerCase();\n const existing = byShortcut.get(key) ?? [];\n existing.push(hotkey);\n byShortcut.set(key, existing);\n }\n\n const conflicts: HotkeyConflict[] = [];\n for (const [shortcut, hotkeys] of byShortcut.entries()) {\n const conflictingIds = hotkeys.filter((candidate: RegisteredHotkey) =>\n hotkeys.some((other: RegisteredHotkey) =>\n other.id !== candidate.id && scopesOverlap(other.scope, candidate.scope),\n ),\n ).map((hotkey: RegisteredHotkey) => hotkey.id);\n\n if (conflictingIds.length > 1) {\n conflicts.push({ shortcut, hotkeyIds: conflictingIds });\n }\n }\n\n return conflicts;\n }, []);\n \n // ===================================================================\n // Keyboard Event Handler\n // ===================================================================\n \n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n // Skip if paused\n if (isPaused) return;\n \n // Skip if target is an input element (unless it's a global shortcut)\n const target = event.target as HTMLElement;\n let isInputElement = target.tagName === 'INPUT' || \n target.tagName === 'TEXTAREA' || \n target.isContentEditable;\n if (isInputElement && target.closest('[data-hotkey-passthrough]')) {\n isInputElement = false;\n }\n \n /*\n * Pick the BEST match, not the first one this iteration happens to reach (#441).\n *\n * `hotkeysRef` is a Map, so iterating it is REGISTRATION ORDER — which means, before this,\n * which of two conflicting shortcuts fired depended on mount order rather than on anything\n * anyone declared. Two components mounting in a different order swapped the behaviour, and\n * nothing about the shortcuts said which was supposed to win.\n *\n * The order is declarative and total: PRIORITY (explicit, highest wins), then SCOPE\n * SPECIFICITY (a COMPONENT claim on a chord is narrower than a GLOBAL one), then registration\n * order as the last resort — which is where two genuinely indistinguishable registrations\n * land, and is exactly the case the collision warning at registration is for.\n */\n let best: RegisteredHotkey | undefined;\n let bestRank: readonly [number, number] | undefined;\n\n for (const hotkey of hotkeysRef.current.values()) {\n // Skip disabled hotkeys\n if (!hotkey.enabled) continue;\n \n // Check scope\n if (hotkey.scope === HotkeyScope.PAGE && activeScope !== HotkeyScope.PAGE) continue;\n if (hotkey.scope === HotkeyScope.COMPONENT && activeScope !== HotkeyScope.COMPONENT) continue;\n \n // Skip non-global hotkeys when in input\n if (isInputElement && hotkey.scope !== HotkeyScope.GLOBAL) continue;\n \n if (!matchesShortcut(event, hotkey.parsed)) continue;\n\n const rank = [\n hotkey.priority ?? HOTKEY_DEFAULT_PRIORITY,\n HOTKEY_SCOPE_SPECIFICITY[hotkey.scope],\n ] as const;\n // STRICTLY greater, so an equal rank keeps the earlier registration — the last-resort rule.\n if (bestRank === undefined || rank[0] > bestRank[0] || (rank[0] === bestRank[0] && rank[1] > bestRank[1])) {\n best = hotkey;\n bestRank = rank;\n }\n }\n\n {\n const hotkey = best;\n if (hotkey) {\n // Execute handler\n try {\n hotkey.handler();\n } catch (error) {\n console.error(`Hotkey handler error for ${hotkey.id}:`, error);\n }\n \n // Prevent default if configured\n if (hotkey.preventDefault) {\n event.preventDefault();\n }\n \n // Stop propagation if configured\n if (hotkey.stopPropagation) {\n event.stopPropagation();\n }\n \n }\n }\n };\n \n document.addEventListener('keydown', handleKeyDown);\n return () => document.removeEventListener('keydown', handleKeyDown);\n }, [activeScope, isPaused]);\n \n // ===================================================================\n // Context Value\n // ===================================================================\n \n const contextValue = useMemo((): HotkeyRegistryContextType => ({\n register,\n unregister,\n setEnabled,\n setActiveScope,\n pause,\n resume,\n getHotkeys,\n getHotkeysByGroup,\n getConflicts,\n activeScope,\n isPaused,\n }), [\n register,\n unregister,\n setEnabled,\n pause,\n resume,\n getHotkeys,\n getHotkeysByGroup,\n getConflicts,\n activeScope,\n isPaused,\n ]);\n \n return (\n <HotkeyRegistryContext.Provider value={contextValue}>\n {children}\n </HotkeyRegistryContext.Provider>\n );\n};\n\nexport { HotkeyRegistryContext };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HotkeyShortcutsHelpDialog.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"HotkeyShortcutsHelpDialog.d.ts","sourceRoot":"","sources":["../../../../src/core/hotkey/HotkeyShortcutsHelpDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AA8DjC,wBAAgB,yBAAyB,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CA8H9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HotkeyShortcutsHelpDialog.js","sourceRoot":"","sources":["../../../../../src/core/hotkey/HotkeyShortcutsHelpDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useMemo, useState } from 'react';\nimport type { JSX } from 'react';\n\nimport { FrontendComponentType } from '@wildo-ai/presets-components-models';\nimport {\n HotkeyGroup,\n HotkeyScope,\n} from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { FrontendEvents } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { useHotkeyRegistry } from '~wildo-frontend-lib/core/hotkey/useHotkey';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport {\n resolveComponentLabel,\n resolveTranslationKey,\n} from '~wildo-frontend-lib/core/i18n/component-label-resolution.utils';\nimport { Dialog, DialogContent, DialogHeader, DialogTitle } from '~wildo-frontend-lib/components/overlays/containers/dialog';\nimport { ScrollArea } from '~wildo-frontend-lib/components/layout/scroll-area';\n\nimport type {\n HotkeyConflict,\n RegisteredHotkey,\n} from '~wildo-frontend-lib/core/hotkey/hotkey-registry.frontend.schemas';\n\nconst HOTKEY_GROUP_ORDER: readonly string[] = [\n HotkeyGroup.NAVIGATION,\n HotkeyGroup.ACTIONS,\n HotkeyGroup.HELP,\n 'other',\n];\n\nfunction groupLabel(\n group: string,\n tc: (key: string, params?: Record<string, string | number>) => string,\n): string {\n switch (group) {\n case HotkeyGroup.NAVIGATION:\n return tc('navigation');\n case HotkeyGroup.ACTIONS:\n return tc('actions');\n case HotkeyGroup.HELP:\n return tc('help');\n default:\n return tc('other');\n }\n}\n\nfunction scopeLabel(\n scope: HotkeyScope,\n tc: (key: string, params?: Record<string, string | number>) => string,\n): string {\n switch (scope) {\n case HotkeyScope.GLOBAL:\n return tc('shortcutsHelpScopeGlobal');\n case HotkeyScope.PAGE:\n return tc('shortcutsHelpScopePage');\n case HotkeyScope.COMPONENT:\n return tc('shortcutsHelpScopeComponent');\n default:\n return tc('shortcutsHelpScopeUnknown');\n }\n}\n\nexport function HotkeyShortcutsHelpDialog(): JSX.Element | null {\n const [isOpen, setIsOpen] = useState(false);\n const { on } = useEventBus();\n const { getHotkeys, getConflicts, activeScope, isPaused } = useHotkeyRegistry();\n const { t, tComponent, isReady } = useI18n({\n component: FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU,\n });\n\n useEffect(() => {\n return on(FrontendEvents.HOTKEY_SHORTCUTS_HELP, () => {\n setIsOpen(prev => !prev);\n });\n }, [on]);\n\n const tc = (key: string, params?: Record<string, string | number>) =>\n resolveComponentLabel({\n tComponent,\n componentType: FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU,\n key,\n params,\n });\n\n const hotkeys = useMemo((): RegisteredHotkey[] => {\n if (!isOpen) return [];\n\n return getHotkeys()\n .slice()\n .sort((a, b) => {\n const groupA = HOTKEY_GROUP_ORDER.indexOf(a.group ?? 'other');\n const groupB = HOTKEY_GROUP_ORDER.indexOf(b.group ?? 'other');\n if (groupA !== groupB) return groupA - groupB;\n return a.description.localeCompare(b.description);\n });\n }, [getHotkeys, isOpen]);\n\n const groupedHotkeys = useMemo(() => {\n const groups = new Map<string, RegisteredHotkey[]>();\n\n for (const hotkey of hotkeys) {\n const group = hotkey.group ?? 'other';\n const existing = groups.get(group) ?? [];\n existing.push(hotkey);\n groups.set(group, existing);\n }\n\n return HOTKEY_GROUP_ORDER\n .map(group => ({\n group,\n label: groupLabel(group, tc),\n hotkeys: groups.get(group) ?? [],\n }))\n .filter(entry => entry.hotkeys.length > 0);\n }, [hotkeys, tc]);\n\n const conflicts = useMemo((): HotkeyConflict[] => {\n if (!isOpen) return [];\n return getConflicts();\n }, [getConflicts, isOpen]);\n\n if (!isReady) return null;\n\n const title = resolveTranslationKey({\n t,\n key: 'engine.hotkeys.shortcutsHelp',\n });\n\n return (\n <Dialog open={isOpen} onOpenChange={setIsOpen}>\n <DialogContent className=\"max-w-3xl pt-10\">\n <DialogHeader>\n <DialogTitle>{title}</DialogTitle>\n </DialogHeader>\n\n <div className=\"space-y-card-sm\">\n <div className=\"flex flex-wrap items-center gap-item-sm text-xs text-muted-foreground\">\n <span>{tc('shortcutsHelpActiveScope')}: {scopeLabel(activeScope, tc)}</span>\n <span>{tc('shortcutsHelpRegistry')}: {isPaused ? tc('shortcutsHelpRegistryPaused') : tc('shortcutsHelpRegistryListening')}</span>\n <span>{tc('shortcutsHelpCount', { count: hotkeys.length })}</span>\n </div>\n\n {conflicts.length > 0 && (\n <div className=\"rounded-md border border-warning/40 bg-warning/10 p-card-sm text-sm text-warning-foreground\">\n <div className=\"font-medium\">{tc('shortcutsHelpConflictsDetected')}</div>\n <ul className=\"mt-item-xs space-y-item-xs\">\n {conflicts.map(conflict => (\n <li key={conflict.shortcut}>\n <code>{conflict.shortcut}</code> {tc('shortcutsHelpConflictUsedBy')} {conflict.hotkeyIds.join(', ')}\n </li>\n ))}\n </ul>\n </div>\n )}\n\n <ScrollArea className=\"max-h-[60vh] pe-item-sm\">\n <div className=\"space-y-card\">\n {groupedHotkeys.map(({ group, label, hotkeys: groupHotkeys }) => (\n <section key={group} className=\"space-y-item-sm\">\n <h3 className=\"text-sm font-semibold text-foreground\">{label}</h3>\n <div className=\"space-y-item-xs\">\n {groupHotkeys.map(hotkey => (\n <div\n key={hotkey.id}\n className=\"flex items-start justify-between gap-field rounded-md border border-border/70 px-card-sm py-item-sm\"\n >\n <div className=\"min-w-0 space-y-[2px]\">\n <div className=\"text-sm font-medium text-foreground\">{hotkey.description}</div>\n <div className=\"flex flex-wrap items-center gap-item-sm text-xs text-muted-foreground\">\n <span>{scopeLabel(hotkey.scope, tc)}</span>\n {hotkey.launcher && <span>{hotkey.launcher}</span>}\n <span>{hotkey.id}</span>\n </div>\n </div>\n <kbd className=\"shrink-0 rounded border border-border bg-muted px-item-sm py-[2px] text-xs font-medium text-foreground\">\n {hotkey.parsed.display}\n </kbd>\n </div>\n ))}\n </div>\n </section>\n ))}\n </div>\n </ScrollArea>\n </div>\n </DialogContent>\n </Dialog>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"HotkeyShortcutsHelpDialog.js","sourceRoot":"","sources":["../../../../src/core/hotkey/HotkeyShortcutsHelpDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useMemo, useState } from 'react';\nimport type { JSX } from 'react';\n\nimport { FrontendComponentType } from '@wildo-ai/presets-components-models';\nimport {\n HotkeyGroup,\n HotkeyScope,\n} from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { FrontendEvents } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { useHotkeyRegistry } from '~wildo-frontend-lib/core/hotkey/useHotkey';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport {\n resolveComponentLabel,\n resolveTranslationKey,\n} from '~wildo-frontend-lib/core/i18n/component-label-resolution.utils';\nimport { Dialog, DialogContent, DialogHeader, DialogTitle } from '~wildo-frontend-lib/components/overlays/containers/dialog';\nimport { ScrollArea } from '~wildo-frontend-lib/components/layout/scroll-area';\n\nimport type {\n HotkeyConflict,\n RegisteredHotkey,\n} from '~wildo-frontend-lib/core/hotkey/hotkey-registry.frontend.schemas';\n\nconst HOTKEY_GROUP_ORDER: readonly string[] = [\n HotkeyGroup.NAVIGATION,\n HotkeyGroup.ACTIONS,\n HotkeyGroup.HELP,\n 'other',\n];\n\nfunction groupLabel(\n group: string,\n tc: (key: string, params?: Record<string, string | number>) => string,\n): string {\n switch (group) {\n case HotkeyGroup.NAVIGATION:\n return tc('navigation');\n case HotkeyGroup.ACTIONS:\n return tc('actions');\n case HotkeyGroup.HELP:\n return tc('help');\n default:\n return tc('other');\n }\n}\n\nfunction scopeLabel(\n scope: HotkeyScope,\n tc: (key: string, params?: Record<string, string | number>) => string,\n): string {\n switch (scope) {\n case HotkeyScope.GLOBAL:\n return tc('shortcutsHelpScopeGlobal');\n case HotkeyScope.PAGE:\n return tc('shortcutsHelpScopePage');\n case HotkeyScope.COMPONENT:\n return tc('shortcutsHelpScopeComponent');\n default:\n return tc('shortcutsHelpScopeUnknown');\n }\n}\n\nexport function HotkeyShortcutsHelpDialog(): JSX.Element | null {\n const [isOpen, setIsOpen] = useState(false);\n const { on } = useEventBus();\n const { getHotkeys, getConflicts, activeScope, isPaused } = useHotkeyRegistry();\n const { t, tComponent, isReady } = useI18n({\n component: FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU,\n });\n\n useEffect(() => {\n return on(FrontendEvents.HOTKEY_SHORTCUTS_HELP, () => {\n setIsOpen(prev => !prev);\n });\n }, [on]);\n\n const tc = (key: string, params?: Record<string, string | number>) =>\n resolveComponentLabel({\n tComponent,\n componentType: FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU,\n key,\n params,\n });\n\n const hotkeys = useMemo((): RegisteredHotkey[] => {\n if (!isOpen) return [];\n\n return getHotkeys()\n .slice()\n .sort((a, b) => {\n const groupA = HOTKEY_GROUP_ORDER.indexOf(a.group ?? 'other');\n const groupB = HOTKEY_GROUP_ORDER.indexOf(b.group ?? 'other');\n if (groupA !== groupB) return groupA - groupB;\n return a.description.localeCompare(b.description);\n });\n }, [getHotkeys, isOpen]);\n\n const groupedHotkeys = useMemo(() => {\n const groups = new Map<string, RegisteredHotkey[]>();\n\n for (const hotkey of hotkeys) {\n const group = hotkey.group ?? 'other';\n const existing = groups.get(group) ?? [];\n existing.push(hotkey);\n groups.set(group, existing);\n }\n\n return HOTKEY_GROUP_ORDER\n .map(group => ({\n group,\n label: groupLabel(group, tc),\n hotkeys: groups.get(group) ?? [],\n }))\n .filter(entry => entry.hotkeys.length > 0);\n }, [hotkeys, tc]);\n\n const conflicts = useMemo((): HotkeyConflict[] => {\n if (!isOpen) return [];\n return getConflicts();\n }, [getConflicts, isOpen]);\n\n if (!isReady) return null;\n\n const title = resolveTranslationKey({\n t,\n key: 'engine.hotkeys.shortcutsHelp',\n });\n\n return (\n <Dialog open={isOpen} onOpenChange={setIsOpen}>\n <DialogContent className=\"max-w-3xl pt-10\">\n <DialogHeader>\n <DialogTitle>{title}</DialogTitle>\n </DialogHeader>\n\n <div className=\"space-y-card-sm\">\n <div className=\"flex flex-wrap items-center gap-item-sm text-xs text-muted-foreground\">\n <span>{tc('shortcutsHelpActiveScope')}: {scopeLabel(activeScope, tc)}</span>\n <span>{tc('shortcutsHelpRegistry')}: {isPaused ? tc('shortcutsHelpRegistryPaused') : tc('shortcutsHelpRegistryListening')}</span>\n <span>{tc('shortcutsHelpCount', { count: hotkeys.length })}</span>\n </div>\n\n {conflicts.length > 0 && (\n <div className=\"rounded-md border border-warning/40 bg-warning/10 p-card-sm text-sm text-warning-foreground\">\n <div className=\"font-medium\">{tc('shortcutsHelpConflictsDetected')}</div>\n <ul className=\"mt-item-xs space-y-item-xs\">\n {conflicts.map(conflict => (\n <li key={conflict.shortcut}>\n <code>{conflict.shortcut}</code> {tc('shortcutsHelpConflictUsedBy')} {conflict.hotkeyIds.join(', ')}\n </li>\n ))}\n </ul>\n </div>\n )}\n\n <ScrollArea className=\"max-h-[60vh] pe-item-sm\">\n <div className=\"space-y-card\">\n {groupedHotkeys.map(({ group, label, hotkeys: groupHotkeys }) => (\n <section key={group} className=\"space-y-item-sm\">\n <h3 className=\"text-sm font-semibold text-foreground\">{label}</h3>\n <div className=\"space-y-item-xs\">\n {groupHotkeys.map(hotkey => (\n <div\n key={hotkey.id}\n className=\"flex items-start justify-between gap-field rounded-md border border-border/70 px-card-sm py-item-sm\"\n >\n <div className=\"min-w-0 space-y-[2px]\">\n <div className=\"text-sm font-medium text-foreground\">{hotkey.description}</div>\n <div className=\"flex flex-wrap items-center gap-item-sm text-xs text-muted-foreground\">\n <span>{scopeLabel(hotkey.scope, tc)}</span>\n {hotkey.launcher && <span>{hotkey.launcher}</span>}\n <span>{hotkey.id}</span>\n </div>\n </div>\n <kbd className=\"shrink-0 rounded border border-border bg-muted px-item-sm py-[2px] text-xs font-medium text-foreground\">\n {hotkey.parsed.display}\n </kbd>\n </div>\n ))}\n </div>\n </section>\n ))}\n </div>\n </ScrollArea>\n </div>\n </DialogContent>\n </Dialog>\n );\n}\n"]}
|
|
@@ -8,7 +8,31 @@ import { ApplicationLevelComponentType, HotkeyScope } from '../../core/config/ap
|
|
|
8
8
|
/**
|
|
9
9
|
* Modifier keys that can be combined with shortcuts
|
|
10
10
|
*/
|
|
11
|
-
|
|
11
|
+
/**
|
|
12
|
+
* `mod` is the CROSS-PLATFORM modifier: ⌘ on macOS, Ctrl everywhere else.
|
|
13
|
+
*
|
|
14
|
+
* It exists because matching is strict — `hasMeta !== needsMeta` fails — so a chord written `Cmd+K`
|
|
15
|
+
* is DEAD on Windows and `Ctrl+K` is not the Mac convention. That is tolerable while every shortcut
|
|
16
|
+
* is one application's own choice; it is not tolerable for a shortcut the FRAMEWORK ships to every
|
|
17
|
+
* application (#441), which is why this landed with the default binding set rather than after it.
|
|
18
|
+
*
|
|
19
|
+
* Prefer `mod` in new shortcuts. `ctrl` and `meta` stay available for the rare chord that genuinely
|
|
20
|
+
* means one physical key on both platforms.
|
|
21
|
+
*/
|
|
22
|
+
export declare enum ModifierKey {
|
|
23
|
+
/** The physical Control key, on every platform. */
|
|
24
|
+
CTRL = "ctrl",
|
|
25
|
+
/** Alt on Windows and Linux, Option on macOS. */
|
|
26
|
+
ALT = "alt",
|
|
27
|
+
SHIFT = "shift",
|
|
28
|
+
/** The physical Command key on macOS, the Windows key elsewhere. */
|
|
29
|
+
META = "meta",
|
|
30
|
+
/**
|
|
31
|
+
* The CROSS-PLATFORM modifier — ⌘ on macOS, Ctrl everywhere else. Prefer it; see above for why a
|
|
32
|
+
* framework-shipped chord written with `ctrl` or `meta` is dead on one of the two platforms.
|
|
33
|
+
*/
|
|
34
|
+
MOD = "mod"
|
|
35
|
+
}
|
|
12
36
|
/**
|
|
13
37
|
* Parsed shortcut definition
|
|
14
38
|
*/
|
|
@@ -44,7 +68,35 @@ export interface HotkeyDefinition {
|
|
|
44
68
|
preventDefault?: boolean;
|
|
45
69
|
/** Optional: Stop event propagation */
|
|
46
70
|
stopPropagation?: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Explicit precedence when two hotkeys claim the same chord in overlapping scopes. Higher wins.
|
|
73
|
+
*
|
|
74
|
+
* Defaults to {@link HOTKEY_DEFAULT_PRIORITY}. The framework's own default bindings register
|
|
75
|
+
* BELOW it ({@link HOTKEY_FRAMEWORK_DEFAULT_PRIORITY}) so anything an application registers
|
|
76
|
+
* outranks them without having to say so.
|
|
77
|
+
*
|
|
78
|
+
* Ties fall to SCOPE SPECIFICITY (COMPONENT beats PAGE beats GLOBAL), and only then to
|
|
79
|
+
* registration order. Before #441 registration order was the WHOLE rule, so which of two
|
|
80
|
+
* conflicting shortcuts fired depended on mount order — on nothing anyone declared.
|
|
81
|
+
*/
|
|
82
|
+
priority?: number;
|
|
47
83
|
}
|
|
84
|
+
/** Precedence for an ordinary registration — the implicit default. */
|
|
85
|
+
export declare const HOTKEY_DEFAULT_PRIORITY = 0;
|
|
86
|
+
/**
|
|
87
|
+
* Precedence for the framework's own shipped bindings: BELOW an application's.
|
|
88
|
+
*
|
|
89
|
+
* A framework default colliding with an application's own chord is not a conflict to arbitrate on
|
|
90
|
+
* the fly — the application meant its binding, and the default is what the framework offered when
|
|
91
|
+
* nothing was said. Making that a number rather than a special case keeps one comparison in
|
|
92
|
+
* dispatch.
|
|
93
|
+
*/
|
|
94
|
+
export declare const HOTKEY_FRAMEWORK_DEFAULT_PRIORITY = -100;
|
|
95
|
+
/**
|
|
96
|
+
* How specific a scope is, for tie-breaking. A COMPONENT hotkey is a narrower claim on a chord than
|
|
97
|
+
* a GLOBAL one, so it wins when both are live and neither declared a priority.
|
|
98
|
+
*/
|
|
99
|
+
export declare const HOTKEY_SCOPE_SPECIFICITY: Record<HotkeyScope, number>;
|
|
48
100
|
/**
|
|
49
101
|
* Registered hotkey with parsed shortcut
|
|
50
102
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hotkey-registry.frontend.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"hotkey-registry.frontend.schemas.d.ts","sourceRoot":"","sources":["../../../../src/core/hotkey/hotkey-registry.frontend.schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,6BAA6B,EAAE,WAAW,EAAE,MAAM,uEAAuE,CAAC;AAEnI;;GAEG;AACH;;;;;;;;;;GAUG;AACH,oBAAY,WAAW;IACrB,mDAAmD;IACnD,IAAI,SAAS;IACb,iDAAiD;IACjD,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,oEAAoE;IACpE,IAAI,SAAS;IACb;;;OAGG;IACH,GAAG,QAAQ;CACZ;AAOD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IAEX,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IAEjB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IAEpB,0BAA0B;IAC1B,KAAK,EAAE,WAAW,CAAC;IAEnB,iDAAiD;IACjD,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,6BAA6B,CAAC;IAEzC,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,uCAAuC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,sEAAsE;AACtE,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC;;;;;;;GAOG;AACH,eAAO,MAAM,iCAAiC,OAAO,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAIhE,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,6CAA6C;IAC7C,MAAM,EAAE,cAAc,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAEvC,6BAA6B;IAC7B,WAAW,EAAE,WAAW,CAAC;IAEzB,gEAAgE;IAChE,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,4BAA4B;IAC5B,QAAQ,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,MAAM,IAAI,CAAC;IAEvD,gCAAgC;IAChC,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjC,8BAA8B;IAC9B,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnD,2BAA2B;IAC3B,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAE7C,gCAAgC;IAChC,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB,iCAAiC;IACjC,UAAU,EAAE,MAAM,gBAAgB,EAAE,CAAC;IAErC,uCAAuC;IACvC,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,EAAE,CAAC;IAEzD,0BAA0B;IAC1B,YAAY,EAAE,MAAM,cAAc,EAAE,CAAC;IAErC,2BAA2B;IAC3B,WAAW,EAAE,WAAW,CAAC;IAEzB,iCAAiC;IACjC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAoD9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAwBrF"}
|
|
@@ -4,6 +4,60 @@
|
|
|
4
4
|
* Defines the types and schemas for the hotkey system.
|
|
5
5
|
* Based on Specs §7 - HOTKEY Specification (Infrastructure)
|
|
6
6
|
*/
|
|
7
|
+
import { HotkeyScope } from '../../core/config/app-level-components.frontend.schemas.js';
|
|
8
|
+
/**
|
|
9
|
+
* Modifier keys that can be combined with shortcuts
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* `mod` is the CROSS-PLATFORM modifier: ⌘ on macOS, Ctrl everywhere else.
|
|
13
|
+
*
|
|
14
|
+
* It exists because matching is strict — `hasMeta !== needsMeta` fails — so a chord written `Cmd+K`
|
|
15
|
+
* is DEAD on Windows and `Ctrl+K` is not the Mac convention. That is tolerable while every shortcut
|
|
16
|
+
* is one application's own choice; it is not tolerable for a shortcut the FRAMEWORK ships to every
|
|
17
|
+
* application (#441), which is why this landed with the default binding set rather than after it.
|
|
18
|
+
*
|
|
19
|
+
* Prefer `mod` in new shortcuts. `ctrl` and `meta` stay available for the rare chord that genuinely
|
|
20
|
+
* means one physical key on both platforms.
|
|
21
|
+
*/
|
|
22
|
+
export var ModifierKey;
|
|
23
|
+
(function (ModifierKey) {
|
|
24
|
+
/** The physical Control key, on every platform. */
|
|
25
|
+
ModifierKey["CTRL"] = "ctrl";
|
|
26
|
+
/** Alt on Windows and Linux, Option on macOS. */
|
|
27
|
+
ModifierKey["ALT"] = "alt";
|
|
28
|
+
ModifierKey["SHIFT"] = "shift";
|
|
29
|
+
/** The physical Command key on macOS, the Windows key elsewhere. */
|
|
30
|
+
ModifierKey["META"] = "meta";
|
|
31
|
+
/**
|
|
32
|
+
* The CROSS-PLATFORM modifier — ⌘ on macOS, Ctrl everywhere else. Prefer it; see above for why a
|
|
33
|
+
* framework-shipped chord written with `ctrl` or `meta` is dead on one of the two platforms.
|
|
34
|
+
*/
|
|
35
|
+
ModifierKey["MOD"] = "mod";
|
|
36
|
+
})(ModifierKey || (ModifierKey = {}));
|
|
37
|
+
/** True when the runtime is macOS, where `mod` means ⌘ rather than Ctrl. */
|
|
38
|
+
function isMacPlatform() {
|
|
39
|
+
return typeof navigator !== 'undefined' && navigator.platform.toLowerCase().includes('mac');
|
|
40
|
+
}
|
|
41
|
+
/** Precedence for an ordinary registration — the implicit default. */
|
|
42
|
+
export const HOTKEY_DEFAULT_PRIORITY = 0;
|
|
43
|
+
/**
|
|
44
|
+
* Precedence for the framework's own shipped bindings: BELOW an application's.
|
|
45
|
+
*
|
|
46
|
+
* A framework default colliding with an application's own chord is not a conflict to arbitrate on
|
|
47
|
+
* the fly — the application meant its binding, and the default is what the framework offered when
|
|
48
|
+
* nothing was said. Making that a number rather than a special case keeps one comparison in
|
|
49
|
+
* dispatch.
|
|
50
|
+
*/
|
|
51
|
+
export const HOTKEY_FRAMEWORK_DEFAULT_PRIORITY = -100;
|
|
52
|
+
/**
|
|
53
|
+
* How specific a scope is, for tie-breaking. A COMPONENT hotkey is a narrower claim on a chord than
|
|
54
|
+
* a GLOBAL one, so it wins when both are live and neither declared a priority.
|
|
55
|
+
*/
|
|
56
|
+
export const HOTKEY_SCOPE_SPECIFICITY = {
|
|
57
|
+
[HotkeyScope.COMPONENT]: 2,
|
|
58
|
+
[HotkeyScope.PAGE]: 1,
|
|
59
|
+
[HotkeyScope.GLOBAL]: 0,
|
|
60
|
+
};
|
|
7
61
|
/**
|
|
8
62
|
* Parse a shortcut string into modifiers and key
|
|
9
63
|
*
|
|
@@ -21,21 +75,24 @@ export function parseShortcut(shortcut) {
|
|
|
21
75
|
switch (part) {
|
|
22
76
|
case 'ctrl':
|
|
23
77
|
case 'control':
|
|
24
|
-
modifiers.push(
|
|
78
|
+
modifiers.push(ModifierKey.CTRL);
|
|
25
79
|
break;
|
|
26
80
|
case 'alt':
|
|
27
81
|
case 'option':
|
|
28
|
-
modifiers.push(
|
|
82
|
+
modifiers.push(ModifierKey.ALT);
|
|
29
83
|
break;
|
|
30
84
|
case 'shift':
|
|
31
|
-
modifiers.push(
|
|
85
|
+
modifiers.push(ModifierKey.SHIFT);
|
|
32
86
|
break;
|
|
33
87
|
case 'meta':
|
|
34
88
|
case 'cmd':
|
|
35
89
|
case 'command':
|
|
36
90
|
case 'win':
|
|
37
91
|
case 'windows':
|
|
38
|
-
modifiers.push(
|
|
92
|
+
modifiers.push(ModifierKey.META);
|
|
93
|
+
break;
|
|
94
|
+
case 'mod':
|
|
95
|
+
modifiers.push(ModifierKey.MOD);
|
|
39
96
|
break;
|
|
40
97
|
default:
|
|
41
98
|
// This is the main key
|
|
@@ -43,15 +100,19 @@ export function parseShortcut(shortcut) {
|
|
|
43
100
|
}
|
|
44
101
|
}
|
|
45
102
|
// Generate display string (platform-aware)
|
|
46
|
-
const isMac =
|
|
103
|
+
const isMac = isMacPlatform();
|
|
47
104
|
const displayParts = [];
|
|
48
|
-
|
|
105
|
+
// `mod` renders as the key this platform actually presses, so the shortcuts dialog never shows a
|
|
106
|
+
// chord the reader cannot type.
|
|
107
|
+
if (modifiers.includes(ModifierKey.MOD))
|
|
108
|
+
displayParts.push(isMac ? '⌘' : 'Ctrl');
|
|
109
|
+
if (modifiers.includes(ModifierKey.CTRL))
|
|
49
110
|
displayParts.push(isMac ? '⌃' : 'Ctrl');
|
|
50
|
-
if (modifiers.includes(
|
|
111
|
+
if (modifiers.includes(ModifierKey.ALT))
|
|
51
112
|
displayParts.push(isMac ? '⌥' : 'Alt');
|
|
52
|
-
if (modifiers.includes(
|
|
113
|
+
if (modifiers.includes(ModifierKey.SHIFT))
|
|
53
114
|
displayParts.push(isMac ? '⇧' : 'Shift');
|
|
54
|
-
if (modifiers.includes(
|
|
115
|
+
if (modifiers.includes(ModifierKey.META))
|
|
55
116
|
displayParts.push(isMac ? '⌘' : 'Win');
|
|
56
117
|
displayParts.push(key.toUpperCase());
|
|
57
118
|
return {
|
|
@@ -69,10 +130,14 @@ export function matchesShortcut(event, parsed) {
|
|
|
69
130
|
const hasAlt = event.altKey;
|
|
70
131
|
const hasShift = event.shiftKey;
|
|
71
132
|
const hasMeta = event.metaKey;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
const
|
|
75
|
-
const
|
|
133
|
+
// `mod` resolves to the platform's own command modifier before the strict comparison below, so a
|
|
134
|
+
// single authored chord matches ⌘ on macOS and Ctrl elsewhere.
|
|
135
|
+
const needsMod = parsed.modifiers.includes(ModifierKey.MOD);
|
|
136
|
+
const modIsMeta = isMacPlatform();
|
|
137
|
+
const needsCtrl = parsed.modifiers.includes(ModifierKey.CTRL) || (needsMod && !modIsMeta);
|
|
138
|
+
const needsAlt = parsed.modifiers.includes(ModifierKey.ALT);
|
|
139
|
+
const needsShift = parsed.modifiers.includes(ModifierKey.SHIFT);
|
|
140
|
+
const needsMeta = parsed.modifiers.includes(ModifierKey.META) || (needsMod && modIsMeta);
|
|
76
141
|
if (hasCtrl !== needsCtrl)
|
|
77
142
|
return false;
|
|
78
143
|
if (hasAlt !== needsAlt)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hotkey-registry.frontend.schemas.js","sourceRoot":"","sources":["../../../../../src/core/hotkey/hotkey-registry.frontend.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Hotkey Registry Schemas\n * \n * Defines the types and schemas for the hotkey system.\n * Based on Specs §7 - HOTKEY Specification (Infrastructure)\n */\n\nimport { ApplicationLevelComponentType, HotkeyScope } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\n\n/**\n * Modifier keys that can be combined with shortcuts\n */\nexport type ModifierKey = 'ctrl' | 'alt' | 'shift' | 'meta';\n\n/**\n * Parsed shortcut definition\n */\nexport interface ParsedShortcut {\n /** Modifier keys (ctrl, alt, shift, meta) */\n modifiers: ModifierKey[];\n /** The main key (single character or special key name) */\n key: string;\n /** Original shortcut string for display */\n display: string;\n}\n\n/**\n * Hotkey registration definition\n */\nexport interface HotkeyDefinition {\n /** Unique identifier for this hotkey */\n id: string;\n \n /** Keyboard shortcut (e.g., \"Ctrl+K\", \"Cmd+Shift+P\") */\n shortcut: string;\n \n /** Human-readable description */\n description: string;\n \n /** Scope of the hotkey */\n scope: HotkeyScope;\n \n /** Handler function to execute when triggered */\n handler: () => void;\n \n /** Whether this hotkey is currently enabled */\n enabled?: boolean;\n \n /** Optional: Group for organization (e.g., \"navigation\", \"editing\") */\n group?: string;\n \n /** Optional: Associated launcher for navigation hotkeys */\n launcher?: ApplicationLevelComponentType;\n \n /** Optional: Prevent default browser behavior */\n preventDefault?: boolean;\n \n /** Optional: Stop event propagation */\n stopPropagation?: boolean;\n}\n\n/**\n * Registered hotkey with parsed shortcut\n */\nexport interface RegisteredHotkey extends HotkeyDefinition {\n /** Parsed shortcut for efficient matching */\n parsed: ParsedShortcut;\n}\n\n/**\n * Hotkey conflict information\n */\nexport interface HotkeyConflict {\n /** The shortcut that has conflicts */\n shortcut: string;\n /** IDs of hotkeys using this shortcut */\n hotkeyIds: string[];\n}\n\n/**\n * Hotkey registry state\n */\nexport interface HotkeyRegistryState {\n /** All registered hotkeys */\n hotkeys: Map<string, RegisteredHotkey>;\n \n /** Currently active scope */\n activeScope: HotkeyScope;\n \n /** Whether the registry is paused (e.g., when modal is open) */\n isPaused: boolean;\n}\n\n/**\n * Context type for the hotkey registry\n */\nexport interface HotkeyRegistryContextType {\n /** Register a new hotkey */\n register: (definition: HotkeyDefinition) => () => void;\n \n /** Unregister a hotkey by ID */\n unregister: (id: string) => void;\n \n /** Enable/disable a hotkey */\n setEnabled: (id: string, enabled: boolean) => void;\n \n /** Set the active scope */\n setActiveScope: (scope: HotkeyScope) => void;\n \n /** Pause all hotkey handling */\n pause: () => void;\n \n /** Resume hotkey handling */\n resume: () => void;\n \n /** Get all registered hotkeys */\n getHotkeys: () => RegisteredHotkey[];\n \n /** Get hotkeys for a specific group */\n getHotkeysByGroup: (group: string) => RegisteredHotkey[];\n \n /** Check for conflicts */\n getConflicts: () => HotkeyConflict[];\n \n /** Current active scope */\n activeScope: HotkeyScope;\n \n /** Whether registry is paused */\n isPaused: boolean;\n}\n\n/**\n * Parse a shortcut string into modifiers and key\n * \n * Supports formats:\n * - \"Ctrl+K\", \"Cmd+K\" (Cmd maps to Meta on Mac, Ctrl on others)\n * - \"Ctrl+Shift+P\"\n * - \"Alt+Enter\"\n * - Single keys: \"Escape\", \"F1\"\n */\nexport function parseShortcut(shortcut: string): ParsedShortcut {\n const parts = shortcut.split('+').map(p => p.trim().toLowerCase());\n const modifiers: ModifierKey[] = [];\n let key = '';\n \n for (const part of parts) {\n switch (part) {\n case 'ctrl':\n case 'control':\n modifiers.push('ctrl');\n break;\n case 'alt':\n case 'option':\n modifiers.push('alt');\n break;\n case 'shift':\n modifiers.push('shift');\n break;\n case 'meta':\n case 'cmd':\n case 'command':\n case 'win':\n case 'windows':\n modifiers.push('meta');\n break;\n default:\n // This is the main key\n key = part;\n }\n }\n \n // Generate display string (platform-aware)\n const isMac = typeof navigator !== 'undefined' && navigator.platform.toLowerCase().includes('mac');\n const displayParts: string[] = [];\n \n if (modifiers.includes('ctrl')) displayParts.push(isMac ? '⌃' : 'Ctrl');\n if (modifiers.includes('alt')) displayParts.push(isMac ? '⌥' : 'Alt');\n if (modifiers.includes('shift')) displayParts.push(isMac ? '⇧' : 'Shift');\n if (modifiers.includes('meta')) displayParts.push(isMac ? '⌘' : 'Win');\n displayParts.push(key.toUpperCase());\n \n return {\n modifiers,\n key,\n display: displayParts.join(isMac ? '' : '+'),\n };\n}\n\n/**\n * Check if an event matches a parsed shortcut\n */\nexport function matchesShortcut(event: KeyboardEvent, parsed: ParsedShortcut): boolean {\n // Check modifiers\n const hasCtrl = event.ctrlKey;\n const hasAlt = event.altKey;\n const hasShift = event.shiftKey;\n const hasMeta = event.metaKey;\n \n const needsCtrl = parsed.modifiers.includes('ctrl');\n const needsAlt = parsed.modifiers.includes('alt');\n const needsShift = parsed.modifiers.includes('shift');\n const needsMeta = parsed.modifiers.includes('meta');\n \n if (hasCtrl !== needsCtrl) return false;\n if (hasAlt !== needsAlt) return false;\n if (hasShift !== needsShift) return false;\n if (hasMeta !== needsMeta) return false;\n \n // Check main key\n const eventKey = event.key.toLowerCase();\n return eventKey === parsed.key;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"hotkey-registry.frontend.schemas.js","sourceRoot":"","sources":["../../../../src/core/hotkey/hotkey-registry.frontend.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Hotkey Registry Schemas\n * \n * Defines the types and schemas for the hotkey system.\n * Based on Specs §7 - HOTKEY Specification (Infrastructure)\n */\n\nimport { ApplicationLevelComponentType, HotkeyScope } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\n\n/**\n * Modifier keys that can be combined with shortcuts\n */\n/**\n * `mod` is the CROSS-PLATFORM modifier: ⌘ on macOS, Ctrl everywhere else.\n *\n * It exists because matching is strict — `hasMeta !== needsMeta` fails — so a chord written `Cmd+K`\n * is DEAD on Windows and `Ctrl+K` is not the Mac convention. That is tolerable while every shortcut\n * is one application's own choice; it is not tolerable for a shortcut the FRAMEWORK ships to every\n * application (#441), which is why this landed with the default binding set rather than after it.\n *\n * Prefer `mod` in new shortcuts. `ctrl` and `meta` stay available for the rare chord that genuinely\n * means one physical key on both platforms.\n */\nexport enum ModifierKey {\n /** The physical Control key, on every platform. */\n CTRL = 'ctrl',\n /** Alt on Windows and Linux, Option on macOS. */\n ALT = 'alt',\n SHIFT = 'shift',\n /** The physical Command key on macOS, the Windows key elsewhere. */\n META = 'meta',\n /**\n * The CROSS-PLATFORM modifier — ⌘ on macOS, Ctrl everywhere else. Prefer it; see above for why a\n * framework-shipped chord written with `ctrl` or `meta` is dead on one of the two platforms.\n */\n MOD = 'mod',\n}\n\n/** True when the runtime is macOS, where `mod` means ⌘ rather than Ctrl. */\nfunction isMacPlatform(): boolean {\n return typeof navigator !== 'undefined' && navigator.platform.toLowerCase().includes('mac');\n}\n\n/**\n * Parsed shortcut definition\n */\nexport interface ParsedShortcut {\n /** Modifier keys (ctrl, alt, shift, meta) */\n modifiers: ModifierKey[];\n /** The main key (single character or special key name) */\n key: string;\n /** Original shortcut string for display */\n display: string;\n}\n\n/**\n * Hotkey registration definition\n */\nexport interface HotkeyDefinition {\n /** Unique identifier for this hotkey */\n id: string;\n \n /** Keyboard shortcut (e.g., \"Ctrl+K\", \"Cmd+Shift+P\") */\n shortcut: string;\n \n /** Human-readable description */\n description: string;\n \n /** Scope of the hotkey */\n scope: HotkeyScope;\n \n /** Handler function to execute when triggered */\n handler: () => void;\n \n /** Whether this hotkey is currently enabled */\n enabled?: boolean;\n \n /** Optional: Group for organization (e.g., \"navigation\", \"editing\") */\n group?: string;\n \n /** Optional: Associated launcher for navigation hotkeys */\n launcher?: ApplicationLevelComponentType;\n \n /** Optional: Prevent default browser behavior */\n preventDefault?: boolean;\n \n /** Optional: Stop event propagation */\n stopPropagation?: boolean;\n\n /**\n * Explicit precedence when two hotkeys claim the same chord in overlapping scopes. Higher wins.\n *\n * Defaults to {@link HOTKEY_DEFAULT_PRIORITY}. The framework's own default bindings register\n * BELOW it ({@link HOTKEY_FRAMEWORK_DEFAULT_PRIORITY}) so anything an application registers\n * outranks them without having to say so.\n *\n * Ties fall to SCOPE SPECIFICITY (COMPONENT beats PAGE beats GLOBAL), and only then to\n * registration order. Before #441 registration order was the WHOLE rule, so which of two\n * conflicting shortcuts fired depended on mount order — on nothing anyone declared.\n */\n priority?: number;\n}\n\n/** Precedence for an ordinary registration — the implicit default. */\nexport const HOTKEY_DEFAULT_PRIORITY = 0;\n\n/**\n * Precedence for the framework's own shipped bindings: BELOW an application's.\n *\n * A framework default colliding with an application's own chord is not a conflict to arbitrate on\n * the fly — the application meant its binding, and the default is what the framework offered when\n * nothing was said. Making that a number rather than a special case keeps one comparison in\n * dispatch.\n */\nexport const HOTKEY_FRAMEWORK_DEFAULT_PRIORITY = -100;\n\n/**\n * How specific a scope is, for tie-breaking. A COMPONENT hotkey is a narrower claim on a chord than\n * a GLOBAL one, so it wins when both are live and neither declared a priority.\n */\nexport const HOTKEY_SCOPE_SPECIFICITY: Record<HotkeyScope, number> = {\n [HotkeyScope.COMPONENT]: 2,\n [HotkeyScope.PAGE]: 1,\n [HotkeyScope.GLOBAL]: 0,\n};\n\n/**\n * Registered hotkey with parsed shortcut\n */\nexport interface RegisteredHotkey extends HotkeyDefinition {\n /** Parsed shortcut for efficient matching */\n parsed: ParsedShortcut;\n}\n\n/**\n * Hotkey conflict information\n */\nexport interface HotkeyConflict {\n /** The shortcut that has conflicts */\n shortcut: string;\n /** IDs of hotkeys using this shortcut */\n hotkeyIds: string[];\n}\n\n/**\n * Hotkey registry state\n */\nexport interface HotkeyRegistryState {\n /** All registered hotkeys */\n hotkeys: Map<string, RegisteredHotkey>;\n \n /** Currently active scope */\n activeScope: HotkeyScope;\n \n /** Whether the registry is paused (e.g., when modal is open) */\n isPaused: boolean;\n}\n\n/**\n * Context type for the hotkey registry\n */\nexport interface HotkeyRegistryContextType {\n /** Register a new hotkey */\n register: (definition: HotkeyDefinition) => () => void;\n \n /** Unregister a hotkey by ID */\n unregister: (id: string) => void;\n \n /** Enable/disable a hotkey */\n setEnabled: (id: string, enabled: boolean) => void;\n \n /** Set the active scope */\n setActiveScope: (scope: HotkeyScope) => void;\n \n /** Pause all hotkey handling */\n pause: () => void;\n \n /** Resume hotkey handling */\n resume: () => void;\n \n /** Get all registered hotkeys */\n getHotkeys: () => RegisteredHotkey[];\n \n /** Get hotkeys for a specific group */\n getHotkeysByGroup: (group: string) => RegisteredHotkey[];\n \n /** Check for conflicts */\n getConflicts: () => HotkeyConflict[];\n \n /** Current active scope */\n activeScope: HotkeyScope;\n \n /** Whether registry is paused */\n isPaused: boolean;\n}\n\n/**\n * Parse a shortcut string into modifiers and key\n * \n * Supports formats:\n * - \"Ctrl+K\", \"Cmd+K\" (Cmd maps to Meta on Mac, Ctrl on others)\n * - \"Ctrl+Shift+P\"\n * - \"Alt+Enter\"\n * - Single keys: \"Escape\", \"F1\"\n */\nexport function parseShortcut(shortcut: string): ParsedShortcut {\n const parts = shortcut.split('+').map(p => p.trim().toLowerCase());\n const modifiers: ModifierKey[] = [];\n let key = '';\n \n for (const part of parts) {\n switch (part) {\n case 'ctrl':\n case 'control':\n modifiers.push(ModifierKey.CTRL);\n break;\n case 'alt':\n case 'option':\n modifiers.push(ModifierKey.ALT);\n break;\n case 'shift':\n modifiers.push(ModifierKey.SHIFT);\n break;\n case 'meta':\n case 'cmd':\n case 'command':\n case 'win':\n case 'windows':\n modifiers.push(ModifierKey.META);\n break;\n case 'mod':\n modifiers.push(ModifierKey.MOD);\n break;\n default:\n // This is the main key\n key = part;\n }\n }\n \n // Generate display string (platform-aware)\n const isMac = isMacPlatform();\n const displayParts: string[] = [];\n \n // `mod` renders as the key this platform actually presses, so the shortcuts dialog never shows a\n // chord the reader cannot type.\n if (modifiers.includes(ModifierKey.MOD)) displayParts.push(isMac ? '⌘' : 'Ctrl');\n if (modifiers.includes(ModifierKey.CTRL)) displayParts.push(isMac ? '⌃' : 'Ctrl');\n if (modifiers.includes(ModifierKey.ALT)) displayParts.push(isMac ? '⌥' : 'Alt');\n if (modifiers.includes(ModifierKey.SHIFT)) displayParts.push(isMac ? '⇧' : 'Shift');\n if (modifiers.includes(ModifierKey.META)) displayParts.push(isMac ? '⌘' : 'Win');\n displayParts.push(key.toUpperCase());\n \n return {\n modifiers,\n key,\n display: displayParts.join(isMac ? '' : '+'),\n };\n}\n\n/**\n * Check if an event matches a parsed shortcut\n */\nexport function matchesShortcut(event: KeyboardEvent, parsed: ParsedShortcut): boolean {\n // Check modifiers\n const hasCtrl = event.ctrlKey;\n const hasAlt = event.altKey;\n const hasShift = event.shiftKey;\n const hasMeta = event.metaKey;\n \n // `mod` resolves to the platform's own command modifier before the strict comparison below, so a\n // single authored chord matches ⌘ on macOS and Ctrl elsewhere.\n const needsMod = parsed.modifiers.includes(ModifierKey.MOD);\n const modIsMeta = isMacPlatform();\n const needsCtrl = parsed.modifiers.includes(ModifierKey.CTRL) || (needsMod && !modIsMeta);\n const needsAlt = parsed.modifiers.includes(ModifierKey.ALT);\n const needsShift = parsed.modifiers.includes(ModifierKey.SHIFT);\n const needsMeta = parsed.modifiers.includes(ModifierKey.META) || (needsMod && modIsMeta);\n \n if (hasCtrl !== needsCtrl) return false;\n if (hasAlt !== needsAlt) return false;\n if (hasShift !== needsShift) return false;\n if (hasMeta !== needsMeta) return false;\n \n // Check main key\n const eventKey = event.key.toLowerCase();\n return eventKey === parsed.key;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-hotkey-emit-shortcuts.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"merge-hotkey-emit-shortcuts.d.ts","sourceRoot":"","sources":["../../../../src/core/hotkey/merge-hotkey-emit-shortcuts.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,uEAAuE,CAAC;AAE/E;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,EACvC,SAAS,CAAC,EAAE,SAAS,kBAAkB,EAAE,GAAG,IAAI,GAC/C,kBAAkB,EAAE,CAiBtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-hotkey-emit-shortcuts.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"merge-hotkey-emit-shortcuts.js","sourceRoot":"","sources":["../../../../src/core/hotkey/merge-hotkey-emit-shortcuts.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAuC,EACvC,SAAgD;IAEhD,MAAM,GAAG,GAAG,IAAI,GAAG,EAA+C,CAAC;IACnE,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAyB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAE,CAAC,CAAC;IAC3E,KAAK,MAAM,GAAG,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import {\n HotkeyDispatchableEvent,\n type HotkeyEmitShortcut,\n} from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\n\n/**\n * Merge preset/app `emitShortcuts` over a baseline list by `event`.\n * Used by `DefaultHotkeyHandler` with baseline `[]` when config already carries the\n * full list from presets, or with a baseline slice for partial overrides.\n */\nexport function mergeHotkeyEmitShortcuts(\n defaults: readonly HotkeyEmitShortcut[],\n overrides?: readonly HotkeyEmitShortcut[] | null,\n): HotkeyEmitShortcut[] {\n const map = new Map<HotkeyDispatchableEvent, HotkeyEmitShortcut>();\n for (const row of defaults) {\n map.set(row.event, row);\n }\n if (overrides) {\n for (const row of overrides) {\n map.set(row.event, row);\n }\n }\n const ordered: HotkeyEmitShortcut[] = defaults.map(d => map.get(d.event)!);\n for (const row of overrides ?? []) {\n if (!defaults.some(d => d.event === row.event)) {\n ordered.push(map.get(row.event)!);\n }\n }\n return ordered;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHotkey.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"useHotkey.d.ts","sourceRoot":"","sources":["../../../../src/core/hotkey/useHotkey.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,uEAAuE,CAAC;AAIpG;;GAEG;AACH,wBAAgB,iBAAiB,2EAMhC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yDAAyD;IACzD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,sBAAsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,IAAI,EACnB,OAAO,GAAE,gBAAqB,+DAwB/B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,QA4BH;AAED;;;GAGG;AACH,wBAAgB,cAAc;;;;EAG7B;AAED;;;GAGG;AACH,wBAAgB,cAAc;;;EAG7B"}
|