@wildo-ai/saas-frontend-lib 1.1.7 → 1.1.9
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/diff-block.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/diff-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/unified-diff.utils.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/unified-diff.utils.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.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_ConsentGate.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ConsentGate.js.map +1 -1
- package/dist/esm/components/app/AppLayout_ConsentGate.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ConsentGate.labels.js.map +1 -1
- package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.js.map +1 -1
- package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.labels.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.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.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_Terms.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_OrganizationOnboarding.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OrganizationOnboarding.js.map +1 -1
- package/dist/esm/components/auth/Auth_OrganizationOnboarding.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OrganizationOnboarding.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/methods/auth-method-presentation.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/auth-method-presentation.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_OrganizationOnboarding.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OrganizationOnboarding.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_ReAuthenticationCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ReAuthenticationCallback.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/AuthMethodChoiceList.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/AuthMethodChoiceList.js.map +1 -1
- package/dist/esm/components/auth/utils/AuthMethodIcon.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/AuthMethodIcon.js.map +1 -1
- package/dist/esm/components/auth/utils/AuthSecondaryLink.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/AuthSecondaryLink.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/auth/utils/useMfaContinuationNavigation.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/useMfaContinuationNavigation.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-plan-change-preview.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-plan-change-preview.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/compliance/GovernedDocumentAcceptanceControl.d.ts.map +1 -1
- package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.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.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.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-tone.d.ts.map +1 -1
- package/dist/esm/components/data-display/badge-tone.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/duration.d.ts.map +1 -1
- package/dist/esm/components/data-display/duration.js.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.d.ts.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-address.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-address.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/identifier.d.ts.map +1 -1
- package/dist/esm/components/data-display/identifier.js.map +1 -1
- package/dist/esm/components/data-display/kbd.d.ts.map +1 -1
- package/dist/esm/components/data-display/kbd.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/timeline.d.ts.map +1 -1
- package/dist/esm/components/data-display/timeline.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.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
- package/dist/esm/components/feedback/lazy-door-error-boundary.d.ts.map +1 -1
- package/dist/esm/components/feedback/lazy-door-error-boundary.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.map +1 -1
- 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.map +1 -1
- package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -1
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts.map +1 -1
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.js.map +1 -1
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts.map +1 -1
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.js.map +1 -1
- 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-modification-refusal.utils.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
- 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.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.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
- 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.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.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.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/TemplatePlacedFieldsContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/TemplatePlacedFieldsContext.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.map +1 -1
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js.map +1 -1
- 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/field-clearing-rule.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/field-clearing-rule.frontend.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-readiness.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/file-readiness.frontend.utils.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/accepted-file-kinds-description.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/fields/accepted-file-kinds-description.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.labels.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.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.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.map +1 -1
- 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.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.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.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-organization-role.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string-organization-role.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.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-external-validation.d.ts.map +1 -1
- package/dist/esm/components/form/form-external-validation.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/resolver-error-nesting.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/resolver-error-nesting.js.map +1 -1
- package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.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/unstarted-field-visit.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/unstarted-field-visit.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/form/validation-errors/validate-field-url.frontend.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/validate-field-url.frontend.js.map +1 -1
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.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.map +1 -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/sidebar-resource-browser-empty-label.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/sidebar-resource-browser-empty-label.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.map +1 -1
- 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.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.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.map +1 -1
- 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/CollectionSelectionHeaderRail.d.ts.map +1 -1
- package/dist/esm/components/resources/CollectionSelectionHeaderRail.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/ResourceCollectionFilterPresets.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionFilterPresets.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.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.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/ResourceOperationActionDropdown.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionDropdown.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/ResourceOperationDetachedHost.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationDetachedHost.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-create-placement.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/collection-create-placement.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/DisplayDiscriminatorSwitch.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayDiscriminatorSwitch.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_AgentWorkOverrideRateSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.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.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -1
- 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.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/settings/useOwnerProviderConnections.d.ts.map +1 -1
- package/dist/esm/components/settings/useOwnerProviderConnections.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/chart-view/useResourceChartData.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/useResourceChartData.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.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/AppShellBuildingBlocks.d.ts.map +1 -1
- package/dist/esm/core/app-shell/AppShellBuildingBlocks.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.map +1 -1
- 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.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
- package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
- 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/useBillingPlanChange.d.ts.map +1 -1
- package/dist/esm/core/billing/useBillingPlanChange.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.map +1 -1
- 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.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.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.map +1 -1
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
- package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -1
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.js.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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-presentation.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js.map +1 -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.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.map +1 -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.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/view-label-declaration.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/view-label-declaration.schemas.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/ErrorModalContent.d.ts.map +1 -1
- package/dist/esm/core/errors/ErrorModalContent.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/useUserFacingErrorMessage.d.ts.map +1 -1
- package/dist/esm/core/errors/useUserFacingErrorMessage.js.map +1 -1
- package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/errors/user-facing-error-message.frontend.utils.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.map +1 -1
- 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.map +1 -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/ConsentBasedProviderSdks.d.ts.map +1 -1
- package/dist/esm/core/external-providers/ConsentBasedProviderSdks.js.map +1 -1
- package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.d.ts.map +1 -1
- package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.js.map +1 -1
- package/dist/esm/core/external-providers/ProviderAddressLookupHost.d.ts.map +1 -1
- package/dist/esm/core/external-providers/ProviderAddressLookupHost.js.map +1 -1
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -1
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.js.map +1 -1
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js.map +1 -1
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts.map +1 -1
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js.map +1 -1
- package/dist/esm/core/features/FeatureGate.d.ts.map +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.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-gate-surface.example.d.ts.map +1 -1
- package/dist/esm/core/features/feature-gate-surface.example.js.map +1 -1
- package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/features/feature-unavailability.frontend.utils.js.map +1 -1
- package/dist/esm/core/features/useFeatureAvailability.d.ts.map +1 -1
- 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.map +1 -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/flows-actors/usePendingDecisions.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/usePendingDecisions.js.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
- 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.map +1 -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.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.map +1 -1
- 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.map +1 -1
- 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/operation-title-resolution.utils.d.ts.map +1 -1
- package/dist/esm/core/i18n/operation-title-resolution.utils.js.map +1 -1
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -1
- package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
- 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.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/AnalyticsScopeBridge.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsScopeBridge.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.map +1 -1
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
- package/dist/esm/core/navigation/hosted-pane.constants.d.ts.map +1 -1
- package/dist/esm/core/navigation/hosted-pane.constants.js.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.d.ts.map +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-cascade.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-cascade.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-controller-internals.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-controller-internals.js.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
- 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/split-fit.d.ts.map +1 -1
- package/dist/esm/core/navigation/split-fit.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.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationRouterSync.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationRouterSync.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/useResponsiveZoneMigration.d.ts.map +1 -1
- package/dist/esm/core/navigation/useResponsiveZoneMigration.js.map +1 -1
- package/dist/esm/core/navigation/useSynchronousBrowserLocation.d.ts.map +1 -1
- package/dist/esm/core/navigation/useSynchronousBrowserLocation.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-collapse-migration.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-collapse-migration.js.map +1 -1
- package/dist/esm/core/navigation/zone-collapse.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-collapse.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-emphasis.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-emphasis.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.map +1 -1
- package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.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.map +1 -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.map +1 -1
- 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/bulk-failure-grouping.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/bulk-failure-grouping.frontend.utils.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/collection-filter-presets.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/collection-filter-presets.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-label-field-paths.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-operation-view.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-operation-view.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-path.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-path.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-read-cache.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistryContext.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMWebSocketBridge.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMWebSocketBridge.js.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/rmm/field-path.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/field-path.utils.js.map +1 -1
- package/dist/esm/core/resources/rmm/mutation-error-report.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/mutation-error-report.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/useBulkJobProgress.d.ts.map +1 -1
- package/dist/esm/core/resources/useBulkJobProgress.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/useOperationDirectExecution.d.ts.map +1 -1
- package/dist/esm/core/resources/useOperationDirectExecution.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.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/useResourceOperationOutcomeEmitter.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.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.map +1 -1
- 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.map +1 -1
- package/dist/esm/core/runtime/StartupFailureScreen.d.ts.map +1 -1
- package/dist/esm/core/runtime/StartupFailureScreen.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.map +1 -1
- 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.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
- package/dist/esm/core/runtime/startup-failure-copy.frontend.d.ts.map +1 -1
- package/dist/esm/core/runtime/startup-failure-copy.frontend.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.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/consent-gate.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/consent-gate.frontend.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/federated-reauthentication.frontend.d.ts.map +1 -1
- package/dist/esm/core/security/federated-reauthentication.frontend.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/organization-onboarding.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/organization-onboarding.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/pending-mfa-session-storage.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/pending-mfa-session-storage.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/registration-outcome.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/registration-outcome.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/route-organization-access.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/useConsentGateBehavior.d.ts.map +1 -1
- package/dist/esm/core/security/useConsentGateBehavior.js.map +1 -1
- package/dist/esm/core/security/useDocumentAcceptanceGateBehavior.d.ts.map +1 -1
- package/dist/esm/core/security/useDocumentAcceptanceGateBehavior.js.map +1 -1
- package/dist/esm/core/security/useGrantedConsentPurposes.d.ts.map +1 -1
- package/dist/esm/core/security/useGrantedConsentPurposes.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/useRouteOrganizationAccess.d.ts.map +1 -1
- package/dist/esm/core/security/useRouteOrganizationAccess.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/SurfaceErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfaceErrorBoundary.labels.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.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.map +1 -1
- 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/app-shell-placement-coverage.d.ts.map +1 -1
- package/dist/esm/testing/app-shell-placement-coverage.js.map +1 -1
- package/dist/esm/testing/mock-builders.d.ts.map +1 -1
- 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 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GuidanceTour.js","sourceRoot":"","sources":["../../../../../src/core/guidance/renderers/GuidanceTour.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * GuidanceTour Renderer\n *\n * Multi-step spotlight/popover overlay. Uses theme recipes for styling,\n * ResizeObserver for efficient target tracking, and Button for navigation.\n */\n\nimport React, { useState, useCallback, useEffect, useRef, useMemo } from 'react';\nimport ReactDOM from 'react-dom';\nimport type { OnboardingTourElement, OnboardingTourStep } from '@wildo-ai/saas-models';\nimport { TourStepPlacement } from '@wildo-ai/saas-models';\nimport { FrontendComponentType, SurfaceVariant, UIBehavior } from '@wildo-ai/presets-components-models';\nimport { Button, ButtonVariants_Variant } from '~wildo-frontend-lib/components/actions/button';\nimport { ButtonSize } from '@wildo-ai/presets-components-models';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\nimport { useIconRegistry } from '~wildo-frontend-lib/core/icons/useIconRegistry';\nimport { IconSize, StandardIconReference } from '~wildo-frontend-lib/core/icons/icon-registry.frontend.schemas';\nimport { cn } from '~wildo-frontend-lib/core/ui/cn';\nimport { useSurfaceFocusTrap } from '~wildo-frontend-lib/core/ui/surface-a11y.utils';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport type { GuidanceElementRendererProps } from '~wildo-frontend-lib/core/guidance/GuidanceRenderer';\nimport { Surface } from '~wildo-frontend-lib/components/sections/surface';\nimport { usePortalContainer } from '~wildo-frontend-lib/core/app-shell/PortalContainerContext';\n\nexport const GuidanceTour: React.FC<GuidanceElementRendererProps> = ({\n element,\n flowRef,\n state,\n onComplete,\n onDismiss,\n t,\n}) => {\n const guidanceKeys = useMemo(() => [`guidance.${flowRef}`], [flowRef]);\n const { tComponent, tGuidanceTourStep, isReady } = useI18n({\n component: FrontendComponentType.GUIDANCE_TOUR,\n keys: guidanceKeys,\n });\n const { getRecipe } = useUI();\n const { renderIcon } = useIconRegistry();\n const portalContainer = usePortalContainer();\n const tour = element as OnboardingTourElement;\n\n const surfaceRecipe = getRecipe(UIBehavior.SURFACE, SurfaceVariant.OVERLAY);\n\n const sortedSteps = useMemo(\n () => [...(tour.steps ?? [])].sort((a, b) => a.order - b.order),\n [tour.steps],\n );\n\n const [currentStepIndex, setCurrentStepIndex] = useState(state?.lastStepIndex ?? 0);\n const [targetRect, setTargetRect] = useState<DOMRect | null>(null);\n const popoverRef = useRef<HTMLDivElement>(null);\n const observerRef = useRef<ResizeObserver | null>(null);\n\n const currentStep: OnboardingTourStep | undefined = sortedSteps[currentStepIndex];\n const totalSteps = sortedSteps.length;\n const isLastStep = currentStepIndex === totalSteps - 1;\n const isFirstStep = currentStepIndex === 0;\n\n useEffect(() => {\n if (!currentStep?.targetSelector) {\n setTargetRect(null);\n return;\n }\n\n const updateRect = () => {\n const el = document.querySelector(currentStep.targetSelector!);\n if (el) {\n setTargetRect(el.getBoundingClientRect());\n } else {\n setTargetRect(null);\n }\n };\n\n updateRect();\n\n const target = document.querySelector(currentStep.targetSelector!);\n if (target) {\n observerRef.current = new ResizeObserver(updateRect);\n observerRef.current.observe(target);\n }\n\n const handleScroll = () => updateRect();\n const handleResize = () => updateRect();\n window.addEventListener('resize', handleResize);\n window.addEventListener('scroll', handleScroll, true);\n\n return () => {\n observerRef.current?.disconnect();\n window.removeEventListener('resize', handleResize);\n window.removeEventListener('scroll', handleScroll, true);\n };\n }, [currentStep?.targetSelector]);\n\n const handleNext = useCallback(() => {\n if (isLastStep) {\n onComplete(tour.ref, { lastStepIndex: currentStepIndex });\n } else {\n setCurrentStepIndex(prev => prev + 1);\n }\n }, [isLastStep, onComplete, tour.ref, currentStepIndex]);\n\n const handlePrev = useCallback(() => {\n if (!isFirstStep) {\n setCurrentStepIndex(prev => prev - 1);\n }\n }, [isFirstStep]);\n\n const handleSkip = useCallback(() => {\n onDismiss(tour.ref);\n }, [onDismiss, tour.ref]);\n\n /**\n * Escape closes the tour, bound to the POPOVER rather than the window.\n *\n * It listened on `window` for as long as the tour was mounted, so an Escape meant for anything\n * else — dismissing a native autocomplete, clearing a search input, closing an unrelated\n * popover — cancelled the tour instead. The tour is modal (it draws a scrim and now traps\n * focus), so the popover is where the keystroke belongs: focus cannot be outside it.\n */\n useEffect(() => {\n const popover = popoverRef.current;\n if (!popover) return undefined;\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.stopPropagation();\n handleSkip();\n }\n };\n popover.addEventListener('keydown', handleKeyDown);\n return () => popover.removeEventListener('keydown', handleKeyDown);\n }, [handleSkip]);\n\n /**\n * The tour DRAWS a scrim over the page, so it is modal in fact; it simply never said so or acted\n * on it. `role=\"dialog\"` with no `aria-modal`, no initial focus and no containment told assistive\n * technology nothing while letting a keyboard user tab straight behind the scrim into controls\n * they could see were dimmed.\n *\n * Reuses the engine's existing trap rather than adding a second one — it already handles initial\n * focus, Tab cycling and restoring focus to whatever was focused before.\n */\n useSurfaceFocusTrap(popoverRef, true);\n\n if (!isReady) return null;\n\n const nextLabel = tComponent(FrontendComponentType.GUIDANCE_TOUR, 'next');\n const prevLabel = tComponent(FrontendComponentType.GUIDANCE_TOUR, 'previous');\n const skipLabel = tComponent(FrontendComponentType.GUIDANCE_TOUR, 'skip');\n const finishLabel = tComponent(FrontendComponentType.GUIDANCE_TOUR, 'finish');\n const closeLabel = tComponent(FrontendComponentType.GUIDANCE_TOUR, 'close');\n const stepProgress = tComponent(FrontendComponentType.GUIDANCE_TOUR, 'stepProgress', {\n current: currentStepIndex + 1,\n total: totalSteps,\n });\n\n const stepTitle = currentStep\n ? tGuidanceTourStep(flowRef, tour.ref, currentStep.ref, 'title')\n : '';\n const stepDescription = currentStep\n ? tGuidanceTourStep(flowRef, tour.ref, currentStep.ref, 'description')\n : '';\n\n if (!currentStep || typeof document === 'undefined') return null;\n\n const placement = currentStep.placement ?? TourStepPlacement.BOTTOM;\n const popoverStyle = computePopoverPosition(placement, targetRect);\n const portalTarget = portalContainer ?? document.body;\n\n return ReactDOM.createPortal(\n <div className=\"fixed inset-0 z-[calc(var(--z-guidance)+1)] pointer-events-auto\" data-guidance-tour={tour.ref}>\n {targetRect && (\n <svg className=\"fixed inset-0 w-full h-full pointer-events-none\" xmlns=\"http://www.w3.org/2000/svg\">\n <defs>\n <mask id={`spotlight-${tour.ref}`}>\n <rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" fill=\"white\" />\n <rect\n x={targetRect.left - 4}\n y={targetRect.top - 4}\n width={targetRect.width + 8}\n height={targetRect.height + 8}\n rx=\"8\"\n fill=\"black\"\n />\n </mask>\n </defs>\n <rect\n x=\"0\"\n y=\"0\"\n width=\"100%\"\n height=\"100%\"\n className=\"fill-black/50\"\n mask={`url(#spotlight-${tour.ref})`}\n />\n </svg>\n )}\n\n <Surface asChild emitPolicyVars={false} variant={SurfaceVariant.OVERLAY}>\n <div\n ref={popoverRef}\n style={popoverStyle}\n role=\"dialog\"\n aria-modal=\"true\"\n tabIndex={-1}\n aria-label={stepTitle}\n className={cn(\n 'w-[340px] max-w-[calc(100vw-2rem)] rounded-xl overflow-hidden font-inherit text-sm pointer-events-auto',\n surfaceRecipe.base,\n 'shadow-[var(--shadow-xl)]',\n )}\n >\n <Button\n variant={ButtonVariants_Variant.GHOST}\n size={ButtonSize.ICON_SM}\n onClick={handleSkip}\n aria-label={closeLabel}\n className=\"absolute top-2 end-2 z-[calc(var(--z-guidance)+2)]\"\n >\n {renderIcon(StandardIconReference.CLOSE, { size: IconSize.SM })}\n </Button>\n\n <div className=\"px-5 pt-5 pb-3\">\n {stepTitle && <h3 className=\"m-0 text-base font-semibold leading-tight pe-6\">{stepTitle}</h3>}\n {stepDescription && <p className=\"mt-2 text-xs text-muted-foreground leading-normal\">{stepDescription}</p>}\n </div>\n\n <div className=\"flex items-center justify-between px-5 pb-4\">\n <span className=\"text-xs text-muted-foreground\">{stepProgress}</span>\n <div className=\"flex items-center gap-2\">\n {tour.allowSkip && (\n <Button variant={ButtonVariants_Variant.GHOST} size={ButtonSize.SM} onClick={handleSkip}>\n {skipLabel}\n </Button>\n )}\n {!isFirstStep && (\n <Button variant={ButtonVariants_Variant.OUTLINE} size={ButtonSize.SM} onClick={handlePrev}>\n {prevLabel}\n </Button>\n )}\n <Button size={ButtonSize.SM} onClick={handleNext}>\n {isLastStep ? finishLabel : nextLabel}\n </Button>\n </div>\n </div>\n </div>\n </Surface>\n </div>,\n portalTarget,\n );\n};\n\nfunction computePopoverPosition(\n placement: TourStepPlacement,\n targetRect: DOMRect | null,\n): React.CSSProperties {\n if (!targetRect) {\n return {\n position: 'fixed',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n };\n }\n\n const GAP = 12;\n switch (placement) {\n case TourStepPlacement.TOP:\n return {\n position: 'fixed',\n bottom: window.innerHeight - targetRect.top + GAP,\n left: targetRect.left + targetRect.width / 2,\n transform: 'translateX(-50%)',\n };\n case TourStepPlacement.BOTTOM:\n return {\n position: 'fixed',\n top: targetRect.bottom + GAP,\n left: targetRect.left + targetRect.width / 2,\n transform: 'translateX(-50%)',\n };\n case TourStepPlacement.LEFT:\n return {\n position: 'fixed',\n top: targetRect.top + targetRect.height / 2,\n right: window.innerWidth - targetRect.left + GAP,\n transform: 'translateY(-50%)',\n };\n case TourStepPlacement.RIGHT:\n return {\n position: 'fixed',\n top: targetRect.top + targetRect.height / 2,\n left: targetRect.right + GAP,\n transform: 'translateY(-50%)',\n };\n case TourStepPlacement.CENTER:\n default:\n return {\n position: 'fixed',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"GuidanceTour.js","sourceRoot":"","sources":["../../../../../../src/core/guidance/renderers/GuidanceTour.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * GuidanceTour Renderer\n *\n * Multi-step spotlight/popover overlay. Uses theme recipes for styling,\n * ResizeObserver for efficient target tracking, and Button for navigation.\n */\n\nimport React, { useState, useCallback, useEffect, useRef, useMemo } from 'react';\nimport ReactDOM from 'react-dom';\nimport type { OnboardingTourElement, OnboardingTourStep } from '@wildo-ai/saas-models';\nimport { TourStepPlacement } from '@wildo-ai/saas-models';\nimport { FrontendComponentType, SurfaceVariant, UIBehavior } from '@wildo-ai/presets-components-models';\nimport { Button, ButtonVariants_Variant } from '~wildo-frontend-lib/components/actions/button';\nimport { ButtonSize } from '@wildo-ai/presets-components-models';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\nimport { useIconRegistry } from '~wildo-frontend-lib/core/icons/useIconRegistry';\nimport { IconSize, StandardIconReference } from '~wildo-frontend-lib/core/icons/icon-registry.frontend.schemas';\nimport { cn } from '~wildo-frontend-lib/core/ui/cn';\nimport { useSurfaceFocusTrap } from '~wildo-frontend-lib/core/ui/surface-a11y.utils';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport type { GuidanceElementRendererProps } from '~wildo-frontend-lib/core/guidance/GuidanceRenderer';\nimport { Surface } from '~wildo-frontend-lib/components/sections/surface';\nimport { usePortalContainer } from '~wildo-frontend-lib/core/app-shell/PortalContainerContext';\n\nexport const GuidanceTour: React.FC<GuidanceElementRendererProps> = ({\n element,\n flowRef,\n state,\n onComplete,\n onDismiss,\n t,\n}) => {\n const guidanceKeys = useMemo(() => [`guidance.${flowRef}`], [flowRef]);\n const { tComponent, tGuidanceTourStep, isReady } = useI18n({\n component: FrontendComponentType.GUIDANCE_TOUR,\n keys: guidanceKeys,\n });\n const { getRecipe } = useUI();\n const { renderIcon } = useIconRegistry();\n const portalContainer = usePortalContainer();\n const tour = element as OnboardingTourElement;\n\n const surfaceRecipe = getRecipe(UIBehavior.SURFACE, SurfaceVariant.OVERLAY);\n\n const sortedSteps = useMemo(\n () => [...(tour.steps ?? [])].sort((a, b) => a.order - b.order),\n [tour.steps],\n );\n\n const [currentStepIndex, setCurrentStepIndex] = useState(state?.lastStepIndex ?? 0);\n const [targetRect, setTargetRect] = useState<DOMRect | null>(null);\n const popoverRef = useRef<HTMLDivElement>(null);\n const observerRef = useRef<ResizeObserver | null>(null);\n\n const currentStep: OnboardingTourStep | undefined = sortedSteps[currentStepIndex];\n const totalSteps = sortedSteps.length;\n const isLastStep = currentStepIndex === totalSteps - 1;\n const isFirstStep = currentStepIndex === 0;\n\n useEffect(() => {\n if (!currentStep?.targetSelector) {\n setTargetRect(null);\n return;\n }\n\n const updateRect = () => {\n const el = document.querySelector(currentStep.targetSelector!);\n if (el) {\n setTargetRect(el.getBoundingClientRect());\n } else {\n setTargetRect(null);\n }\n };\n\n updateRect();\n\n const target = document.querySelector(currentStep.targetSelector!);\n if (target) {\n observerRef.current = new ResizeObserver(updateRect);\n observerRef.current.observe(target);\n }\n\n const handleScroll = () => updateRect();\n const handleResize = () => updateRect();\n window.addEventListener('resize', handleResize);\n window.addEventListener('scroll', handleScroll, true);\n\n return () => {\n observerRef.current?.disconnect();\n window.removeEventListener('resize', handleResize);\n window.removeEventListener('scroll', handleScroll, true);\n };\n }, [currentStep?.targetSelector]);\n\n const handleNext = useCallback(() => {\n if (isLastStep) {\n onComplete(tour.ref, { lastStepIndex: currentStepIndex });\n } else {\n setCurrentStepIndex(prev => prev + 1);\n }\n }, [isLastStep, onComplete, tour.ref, currentStepIndex]);\n\n const handlePrev = useCallback(() => {\n if (!isFirstStep) {\n setCurrentStepIndex(prev => prev - 1);\n }\n }, [isFirstStep]);\n\n const handleSkip = useCallback(() => {\n onDismiss(tour.ref);\n }, [onDismiss, tour.ref]);\n\n /**\n * Escape closes the tour, bound to the POPOVER rather than the window.\n *\n * It listened on `window` for as long as the tour was mounted, so an Escape meant for anything\n * else — dismissing a native autocomplete, clearing a search input, closing an unrelated\n * popover — cancelled the tour instead. The tour is modal (it draws a scrim and now traps\n * focus), so the popover is where the keystroke belongs: focus cannot be outside it.\n */\n useEffect(() => {\n const popover = popoverRef.current;\n if (!popover) return undefined;\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.stopPropagation();\n handleSkip();\n }\n };\n popover.addEventListener('keydown', handleKeyDown);\n return () => popover.removeEventListener('keydown', handleKeyDown);\n }, [handleSkip]);\n\n /**\n * The tour DRAWS a scrim over the page, so it is modal in fact; it simply never said so or acted\n * on it. `role=\"dialog\"` with no `aria-modal`, no initial focus and no containment told assistive\n * technology nothing while letting a keyboard user tab straight behind the scrim into controls\n * they could see were dimmed.\n *\n * Reuses the engine's existing trap rather than adding a second one — it already handles initial\n * focus, Tab cycling and restoring focus to whatever was focused before.\n */\n useSurfaceFocusTrap(popoverRef, true);\n\n if (!isReady) return null;\n\n const nextLabel = tComponent(FrontendComponentType.GUIDANCE_TOUR, 'next');\n const prevLabel = tComponent(FrontendComponentType.GUIDANCE_TOUR, 'previous');\n const skipLabel = tComponent(FrontendComponentType.GUIDANCE_TOUR, 'skip');\n const finishLabel = tComponent(FrontendComponentType.GUIDANCE_TOUR, 'finish');\n const closeLabel = tComponent(FrontendComponentType.GUIDANCE_TOUR, 'close');\n const stepProgress = tComponent(FrontendComponentType.GUIDANCE_TOUR, 'stepProgress', {\n current: currentStepIndex + 1,\n total: totalSteps,\n });\n\n const stepTitle = currentStep\n ? tGuidanceTourStep(flowRef, tour.ref, currentStep.ref, 'title')\n : '';\n const stepDescription = currentStep\n ? tGuidanceTourStep(flowRef, tour.ref, currentStep.ref, 'description')\n : '';\n\n if (!currentStep || typeof document === 'undefined') return null;\n\n const placement = currentStep.placement ?? TourStepPlacement.BOTTOM;\n const popoverStyle = computePopoverPosition(placement, targetRect);\n const portalTarget = portalContainer ?? document.body;\n\n return ReactDOM.createPortal(\n <div className=\"fixed inset-0 z-[calc(var(--z-guidance)+1)] pointer-events-auto\" data-guidance-tour={tour.ref}>\n {targetRect && (\n <svg className=\"fixed inset-0 w-full h-full pointer-events-none\" xmlns=\"http://www.w3.org/2000/svg\">\n <defs>\n <mask id={`spotlight-${tour.ref}`}>\n <rect x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" fill=\"white\" />\n <rect\n x={targetRect.left - 4}\n y={targetRect.top - 4}\n width={targetRect.width + 8}\n height={targetRect.height + 8}\n rx=\"8\"\n fill=\"black\"\n />\n </mask>\n </defs>\n <rect\n x=\"0\"\n y=\"0\"\n width=\"100%\"\n height=\"100%\"\n className=\"fill-black/50\"\n mask={`url(#spotlight-${tour.ref})`}\n />\n </svg>\n )}\n\n <Surface asChild emitPolicyVars={false} variant={SurfaceVariant.OVERLAY}>\n <div\n ref={popoverRef}\n style={popoverStyle}\n role=\"dialog\"\n aria-modal=\"true\"\n tabIndex={-1}\n aria-label={stepTitle}\n className={cn(\n 'w-[340px] max-w-[calc(100vw-2rem)] rounded-xl overflow-hidden font-inherit text-sm pointer-events-auto',\n surfaceRecipe.base,\n 'shadow-[var(--shadow-xl)]',\n )}\n >\n <Button\n variant={ButtonVariants_Variant.GHOST}\n size={ButtonSize.ICON_SM}\n onClick={handleSkip}\n aria-label={closeLabel}\n className=\"absolute top-2 end-2 z-[calc(var(--z-guidance)+2)]\"\n >\n {renderIcon(StandardIconReference.CLOSE, { size: IconSize.SM })}\n </Button>\n\n <div className=\"px-5 pt-5 pb-3\">\n {stepTitle && <h3 className=\"m-0 text-base font-semibold leading-tight pe-6\">{stepTitle}</h3>}\n {stepDescription && <p className=\"mt-2 text-xs text-muted-foreground leading-normal\">{stepDescription}</p>}\n </div>\n\n <div className=\"flex items-center justify-between px-5 pb-4\">\n <span className=\"text-xs text-muted-foreground\">{stepProgress}</span>\n <div className=\"flex items-center gap-2\">\n {tour.allowSkip && (\n <Button variant={ButtonVariants_Variant.GHOST} size={ButtonSize.SM} onClick={handleSkip}>\n {skipLabel}\n </Button>\n )}\n {!isFirstStep && (\n <Button variant={ButtonVariants_Variant.OUTLINE} size={ButtonSize.SM} onClick={handlePrev}>\n {prevLabel}\n </Button>\n )}\n <Button size={ButtonSize.SM} onClick={handleNext}>\n {isLastStep ? finishLabel : nextLabel}\n </Button>\n </div>\n </div>\n </div>\n </Surface>\n </div>,\n portalTarget,\n );\n};\n\nfunction computePopoverPosition(\n placement: TourStepPlacement,\n targetRect: DOMRect | null,\n): React.CSSProperties {\n if (!targetRect) {\n return {\n position: 'fixed',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n };\n }\n\n const GAP = 12;\n switch (placement) {\n case TourStepPlacement.TOP:\n return {\n position: 'fixed',\n bottom: window.innerHeight - targetRect.top + GAP,\n left: targetRect.left + targetRect.width / 2,\n transform: 'translateX(-50%)',\n };\n case TourStepPlacement.BOTTOM:\n return {\n position: 'fixed',\n top: targetRect.bottom + GAP,\n left: targetRect.left + targetRect.width / 2,\n transform: 'translateX(-50%)',\n };\n case TourStepPlacement.LEFT:\n return {\n position: 'fixed',\n top: targetRect.top + targetRect.height / 2,\n right: window.innerWidth - targetRect.left + GAP,\n transform: 'translateY(-50%)',\n };\n case TourStepPlacement.RIGHT:\n return {\n position: 'fixed',\n top: targetRect.top + targetRect.height / 2,\n left: targetRect.right + GAP,\n transform: 'translateY(-50%)',\n };\n case TourStepPlacement.CENTER:\n default:\n return {\n position: 'fixed',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n };\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GuidanceTour.labels.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"GuidanceTour.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/core/guidance/renderers/GuidanceTour.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,kBAAkB,EAAE,mBAAmB,EAenD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GuidanceTour.labels.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"GuidanceTour.labels.js","sourceRoot":"","sources":["../../../../../../src/core/guidance/renderers/GuidanceTour.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAA4B,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE1I,2EAA2E;AAC3E,6EAA6E;AAC7E,+EAA+E;AAE/E,MAAM,CAAC,MAAM,kBAAkB,GAA0B;IACvD,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,4CAA4C,EAAE;IAC9F,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,+CAA+C,EAAE;IACrG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,6CAA6C,EAAE;IAC/F,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,kDAAkD,EAAE;IACtG,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,qCAAqC,EAAE;IACxF;QACE,GAAG,EAAE,cAAc;QACnB,IAAI,EAAE,SAAS,CAAC,KAAK;QACrB,OAAO,EAAE,8CAA8C;QACvD,MAAM,EAAE;YACN,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,uCAAuC,EAAE;YACpE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,mCAAmC,EAAE;SAC/D;KACF;CACF,CAAC;AACF,uBAAuB,CAAC,qBAAqB,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC","sourcesContent":["import { FrontendComponentType, LabelKind, type LabellingUnitaryDef, registerComponentLabels } from '@wildo-ai/presets-components-models';\n\n// Companion-only label metadata for this component: keys + params + (where\n// authored) per-key purpose / kind / variable meaning. Statically scanned by\n// the dev companion; NOT imported at runtime, so it never ships in the bundle.\n\nexport const GuidanceTourLabels: LabellingUnitaryDef[] = [\n { ref: 'next', kind: LabelKind.BUTTON, purpose: 'Action that advances to the next tour step' },\n { ref: 'previous', kind: LabelKind.BUTTON, purpose: 'Action that returns to the previous tour step' },\n { ref: 'skip', kind: LabelKind.BUTTON, purpose: 'Action that skips the remainder of the tour' },\n { ref: 'finish', kind: LabelKind.BUTTON, purpose: 'Action that completes the tour on its final step' },\n { ref: 'close', kind: LabelKind.BUTTON, purpose: 'Action that closes the tour overlay' },\n {\n ref: 'stepProgress',\n kind: LabelKind.LABEL,\n purpose: 'Position of the current step within the tour',\n params: [\n { key: 'current', meaning: '1-based index of the step being shown' },\n { key: 'total', meaning: 'total number of steps in the tour' },\n ],\n },\n];\nregisterComponentLabels(FrontendComponentType.GUIDANCE_TOUR, GuidanceTourLabels);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGuidance.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"useGuidance.d.ts","sourceRoot":"","sources":["../../../../../src/core/guidance/useGuidance.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAmB,KAAK,oBAAoB,EAAE,KAAK,uBAAuB,EAAE,KAAK,qBAAqB,EAA+D,MAAM,mBAAmB,CAAC;AAEtM;;;GAGG;AACH,wBAAgB,WAAW,IAAI,oBAAoB,CAGlD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,IAAI,qBAAqB,CAGpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,IAAI,uBAAuB,CAGxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGuidance.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"useGuidance.js","sourceRoot":"","sources":["../../../../../src/core/guidance/useGuidance.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAuF,iBAAiB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEtM;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,GAAG,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IACxC,OAAO,GAAG,IAAI,iBAAiB,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,GAAG,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,SAAS,IAAI,kBAAkB,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,WAAW,IAAI,oBAAoB,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;AACrF,CAAC","sourcesContent":["/**\n * Guidance Hooks\n * \n * Separated from GuidanceContext.tsx for React Fast Refresh compatibility.\n */\n\nimport { useContext, useMemo } from 'react';\nimport { GuidanceContext, type GuidanceContextValue, type ProgressionContextSlice, type LifecycleContextSlice, GUIDANCE_FALLBACK, LIFECYCLE_DEFAULTS, PROGRESSION_DEFAULTS } from './GuidanceContext';\n\n/**\n * Hook to access the Guidance context.\n * Returns safe no-op defaults when called outside provider (safe for SSR/tests).\n */\nexport function useGuidance(): GuidanceContextValue {\n const ctx = useContext(GuidanceContext);\n return ctx ?? GUIDANCE_FALLBACK;\n}\n\n/**\n * Hook to access the Lifecycle slice from GuidanceContext.\n *\n * NOTE: The hook-level useMemo here provides marginal benefit on its own because\n * useContext already triggers a re-render on any context value change. The real\n * isolation comes from the provider-level useMemo on `lifecycleSlice` (inside\n * GuidanceContextProvider), which ensures the `lifecycle` reference only changes\n * when lifecycle data actually changes. This hook-level useMemo acts as a safety\n * net so callers receive a stable reference even if the context value object is\n * recreated without lifecycle changes.\n *\n * Returns safe no-op defaults when called outside provider.\n */\nexport function useLifecycle(): LifecycleContextSlice {\n const ctx = useContext(GuidanceContext);\n return useMemo(() => ctx?.lifecycle ?? LIFECYCLE_DEFAULTS, [ctx?.lifecycle]);\n}\n\n/**\n * Hook to access the Progression slice from GuidanceContext.\n *\n * NOTE: Same isolation pattern as useLifecycle — the provider-level useMemo on\n * `progressionSlice` is what prevents unnecessary re-renders. This hook-level\n * useMemo is a safety net for reference stability.\n *\n * Returns safe no-op defaults when called outside provider.\n */\nexport function useProgression(): ProgressionContextSlice {\n const ctx = useContext(GuidanceContext);\n return useMemo(() => ctx?.progression ?? PROGRESSION_DEFAULTS, [ctx?.progression]);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultHotkeyHandler.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"DefaultHotkeyHandler.d.ts","sourceRoot":"","sources":["../../../../../src/core/hotkey/DefaultHotkeyHandler.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAKL,KAAK,kBAAkB,EACxB,MAAM,uEAAuE,CAAC;AA8B/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,oCAAoC,EAAE,SAAS,kBAAkB,EAyB7E,CAAC;AAyBF;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CA+G3C"}
|
|
@@ -1 +1 @@
|
|
|
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 * - `?` — the universal \"show shortcuts\" chord (GitHub, Slack, Gmail, Linear).\n *\n * `?` is spelled WITHOUT a Shift modifier, and this replaces a `Shift+?` that shipped from\n * 2026-09-08 to 2026-09-15. That spelling reasoned from a US keyboard — typing `?` there raises\n * `shiftKey`, and the matcher compared it strictly — and rendered `⇧?` in the shortcuts dialog. But\n * whether Shift is part of typing `?` is a property of the LAYOUT, not of the chord, so Shift is\n * not a modifier axis for a glyph key at all: `parseShortcut` normalizes it away and\n * `matchesShortcut` ignores `shiftKey` for one (see `isGlyphKey`). The chord is `?` on every\n * keyboard, and the dialog shows exactly the key the reader types.\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: '?',\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
|
+
{"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 * - `?` — the universal \"show shortcuts\" chord (GitHub, Slack, Gmail, Linear).\n *\n * `?` is spelled WITHOUT a Shift modifier, and this replaces a `Shift+?` that shipped from\n * 2026-09-08 to 2026-09-15. That spelling reasoned from a US keyboard — typing `?` there raises\n * `shiftKey`, and the matcher compared it strictly — and rendered `⇧?` in the shortcuts dialog. But\n * whether Shift is part of typing `?` is a property of the LAYOUT, not of the chord, so Shift is\n * not a modifier axis for a glyph key at all: `parseShortcut` normalizes it away and\n * `matchesShortcut` ignores `shiftKey` for one (see `isGlyphKey`). The chord is `?` on every\n * keyboard, and the dialog shows exactly the key the reader types.\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: '?',\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,CAwPxE,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
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.parsed.chord === parsed.chord &&\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 // Keyed by chord IDENTITY, not by the authored string: `?` and `Shift+?` are one chord.\n const key = hotkey.parsed.chord;\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
|
+
{"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.parsed.chord === parsed.chord &&\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 // Keyed by chord IDENTITY, not by the authored string: `?` and `Shift+?` are one chord.\n const key = hotkey.parsed.chord;\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;AA+DjC,wBAAgB,yBAAyB,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CA4H9D"}
|
|
@@ -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';\nimport { Kbd } from '~wildo-frontend-lib/components/data-display/kbd';\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>{hotkey.parsed.display}</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';\nimport { Kbd } from '~wildo-frontend-lib/components/data-display/kbd';\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>{hotkey.parsed.display}</Kbd>\n </div>\n ))}\n </div>\n </section>\n ))}\n </div>\n </ScrollArea>\n </div>\n </DialogContent>\n </Dialog>\n );\n}\n"]}
|
|
@@ -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":"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"}
|
|
@@ -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 */\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 /**\n * The chord's IDENTITY, spelling-independent: sorted modifiers then the key, after normalization\n * (`Shift+?` and `?` share one, `Control+K` and `Ctrl+K` share one). Conflict detection keys on\n * this rather than on the authored string, so two registrations of the same physical chord are\n * reported as a collision however each author spelled it.\n */\n chord: string;\n /** Platform-aware rendering for the shortcuts dialog (`⌘B` on macOS, `Ctrl+B` elsewhere) */\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 * Whether a main key is a GLYPH — a single printable character that is neither a letter nor a\n * digit (`?`, `/`, `.`, `,`, `[`, `=`, …).\n *\n * For a glyph, Shift is not a modifier axis. `KeyboardEvent.key` carries the character the\n * keyboard PRODUCED, and whether producing it involved Shift is a property of the layout, not of\n * the chord: `?` is Shift+`/` on a US keyboard, Shift+`,` on a French one, and unshifted on some\n * others. So a chord authored `?` is one physical intent everywhere, and `Shift+?` names nothing a\n * finger can add — the glyph already says it. Letters keep the axis (Shift+P is a real, distinct\n * chord: the event key is `P`, lowercased to match), and digits keep it because a shifted digit\n * arrives as a DIFFERENT glyph (`!`), which an author who wants it should spell as that glyph.\n */\nexport function isGlyphKey(key: string): boolean {\n return key.length === 1 && !/[a-z0-9]/i.test(key);\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 * - Glyph keys: \"?\", \"/\", \".\" — Shift is IMPLIED by the glyph and never a modifier of it (see\n * {@link isGlyphKey}). A chord spelled `Shift+?` is normalized to `?`: same physical intent, and\n * without the normalization the shortcuts dialog would render `⇧?`, telling the reader to hold a\n * key that on their layout may not be part of typing `?` at all.\n */\nexport function parseShortcut(shortcut: string): ParsedShortcut {\n const parts = shortcut.split('+').map(p => p.trim().toLowerCase());\n let 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 if (isGlyphKey(key)) {\n modifiers = modifiers.filter(modifier => modifier !== ModifierKey.SHIFT);\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 chord: [...[...modifiers].sort(), key].join('+'),\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 // A glyph key carries its own shift state in `event.key` (see `isGlyphKey`), so the physical\n // `shiftKey` flag says nothing about the chord and must not be compared — on a US layout `?`\n // arrives with it raised, on others it does not, and both are the same shortcut.\n if (!isGlyphKey(parsed.key) && 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 /**\n * The chord's IDENTITY, spelling-independent: sorted modifiers then the key, after normalization\n * (`Shift+?` and `?` share one, `Control+K` and `Ctrl+K` share one). Conflict detection keys on\n * this rather than on the authored string, so two registrations of the same physical chord are\n * reported as a collision however each author spelled it.\n */\n chord: string;\n /** Platform-aware rendering for the shortcuts dialog (`⌘B` on macOS, `Ctrl+B` elsewhere) */\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 * Whether a main key is a GLYPH — a single printable character that is neither a letter nor a\n * digit (`?`, `/`, `.`, `,`, `[`, `=`, …).\n *\n * For a glyph, Shift is not a modifier axis. `KeyboardEvent.key` carries the character the\n * keyboard PRODUCED, and whether producing it involved Shift is a property of the layout, not of\n * the chord: `?` is Shift+`/` on a US keyboard, Shift+`,` on a French one, and unshifted on some\n * others. So a chord authored `?` is one physical intent everywhere, and `Shift+?` names nothing a\n * finger can add — the glyph already says it. Letters keep the axis (Shift+P is a real, distinct\n * chord: the event key is `P`, lowercased to match), and digits keep it because a shifted digit\n * arrives as a DIFFERENT glyph (`!`), which an author who wants it should spell as that glyph.\n */\nexport function isGlyphKey(key: string): boolean {\n return key.length === 1 && !/[a-z0-9]/i.test(key);\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 * - Glyph keys: \"?\", \"/\", \".\" — Shift is IMPLIED by the glyph and never a modifier of it (see\n * {@link isGlyphKey}). A chord spelled `Shift+?` is normalized to `?`: same physical intent, and\n * without the normalization the shortcuts dialog would render `⇧?`, telling the reader to hold a\n * key that on their layout may not be part of typing `?` at all.\n */\nexport function parseShortcut(shortcut: string): ParsedShortcut {\n const parts = shortcut.split('+').map(p => p.trim().toLowerCase());\n let 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 if (isGlyphKey(key)) {\n modifiers = modifiers.filter(modifier => modifier !== ModifierKey.SHIFT);\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 chord: [...[...modifiers].sort(), key].join('+'),\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 // A glyph key carries its own shift state in `event.key` (see `isGlyphKey`), so the physical\n // `shiftKey` flag says nothing about the chord and must not be compared — on a US layout `?`\n // arrives with it raised, on others it does not, and both are the same shortcut.\n if (!isGlyphKey(parsed.key) && 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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHotkey.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"useHotkey.js","sourceRoot":"","sources":["../../../../../src/core/hotkey/useHotkey.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * useHotkey Hook\n * \n * Hook for registering and managing keyboard shortcuts.\n * Based on Specs §7 - HOTKEY Specification (Infrastructure)\n */\n\nimport { useContext, useEffect, useMemo } from 'react';\nimport { HotkeyScope } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { HotkeyRegistryContext } from './HotkeyRegistryContext';\nimport { HotkeyDefinition, parseShortcut } from './hotkey-registry.frontend.schemas';\n\n/**\n * Hook to access the hotkey registry\n */\nexport function useHotkeyRegistry() {\n const context = useContext(HotkeyRegistryContext);\n if (!context) {\n throw new Error('useHotkeyRegistry must be used within a HotkeyRegistryProvider');\n }\n return context;\n}\n\n/**\n * Options for the useHotkey hook\n */\nexport interface UseHotkeyOptions {\n /** Unique identifier (auto-generated if not provided) */\n id?: string;\n /** Scope of the hotkey */\n scope?: HotkeyScope;\n /** Whether enabled */\n enabled?: boolean;\n /** Group for organization */\n group?: string;\n /** Description for help dialogs */\n description?: string;\n /** Prevent default browser behavior */\n preventDefault?: boolean;\n}\n\nlet hotkeyCounter = 0;\n\n/**\n * Hook to register a single hotkey\n * \n * @param shortcut - Keyboard shortcut (e.g., \"Ctrl+K\", \"Cmd+Shift+P\")\n * @param handler - Function to execute when triggered\n * @param options - Additional options\n * \n * @example\n * ```tsx\n * useHotkey('Ctrl+S', () => saveDocument(), {\n * description: 'Save document',\n * preventDefault: true,\n * });\n * ```\n */\nexport function useHotkey(\n shortcut: string,\n handler: () => void,\n options: UseHotkeyOptions = {}\n) {\n const { register } = useHotkeyRegistry();\n \n const id = useMemo(() => options.id ?? `hotkey-${++hotkeyCounter}`, [options.id]);\n \n useEffect(() => {\n const definition: HotkeyDefinition = {\n id,\n shortcut,\n handler,\n description: options.description ?? shortcut,\n scope: options.scope ?? HotkeyScope.GLOBAL,\n enabled: options.enabled !== false,\n group: options.group,\n preventDefault: options.preventDefault,\n };\n \n const unregister = register(definition);\n return unregister;\n }, [id, shortcut, handler, options.description, options.scope, options.enabled, options.group, options.preventDefault, register]);\n \n // Return the parsed shortcut for display purposes\n return useMemo(() => parseShortcut(shortcut), [shortcut]);\n}\n\n/**\n * Hook to register multiple hotkeys at once\n * \n * @param hotkeys - Array of hotkey definitions\n * \n * @example\n * ```tsx\n * useHotkeys([\n * { shortcut: 'Ctrl+S', handler: save, description: 'Save' },\n * { shortcut: 'Ctrl+Z', handler: undo, description: 'Undo' },\n * ]);\n * ```\n */\nexport function useHotkeys(\n hotkeys: Array<{\n shortcut: string;\n handler: () => void;\n id?: string;\n description?: string;\n scope?: HotkeyScope;\n enabled?: boolean;\n group?: string;\n }>\n) {\n const { register } = useHotkeyRegistry();\n \n useEffect(() => {\n const unregisters: Array<() => void> = [];\n \n for (const hotkey of hotkeys) {\n const id = hotkey.id ?? `hotkey-batch-${++hotkeyCounter}`;\n const definition: HotkeyDefinition = {\n id,\n shortcut: hotkey.shortcut,\n handler: hotkey.handler,\n description: hotkey.description ?? hotkey.shortcut,\n scope: hotkey.scope ?? HotkeyScope.GLOBAL,\n enabled: hotkey.enabled !== false,\n group: hotkey.group,\n };\n \n unregisters.push(register(definition));\n }\n \n return () => {\n for (const unregister of unregisters) {\n unregister();\n }\n };\n }, [hotkeys, register]);\n}\n\n/**\n * Hook to pause/resume hotkey handling\n * Useful when a modal or dialog is open\n */\nexport function useHotkeyPause() {\n const { pause, resume, isPaused } = useHotkeyRegistry();\n return { pause, resume, isPaused };\n}\n\n/**\n * Hook to change the active scope\n * Useful for component-level hotkey contexts\n */\nexport function useHotkeyScope() {\n const { activeScope, setActiveScope } = useHotkeyRegistry();\n return { activeScope, setActiveScope };\n}\n"]}
|