@wildo-ai/saas-frontend-lib 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/browser-bootstrap/theme-bootstrap.d.ts.map +1 -1
- package/dist/esm/browser-bootstrap/theme-bootstrap.js.map +1 -1
- package/dist/esm/browser-bootstrap.exports.d.ts.map +1 -1
- package/dist/esm/browser-bootstrap.exports.js.map +1 -1
- package/dist/esm/companion-exports.d.ts.map +1 -1
- package/dist/esm/companion-exports.js.map +1 -1
- package/dist/esm/companion-runtime-exports.d.ts.map +1 -1
- package/dist/esm/companion-runtime-exports.js.map +1 -1
- package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
- package/dist/esm/components/actions/action-bar.js.map +1 -1
- package/dist/esm/components/actions/action-button.d.ts.map +1 -1
- package/dist/esm/components/actions/action-button.js.map +1 -1
- package/dist/esm/components/actions/button-group.d.ts.map +1 -1
- package/dist/esm/components/actions/button-group.js.map +1 -1
- package/dist/esm/components/actions/button.d.ts.map +1 -1
- package/dist/esm/components/actions/button.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-list.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-list.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/image.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.d.ts +15 -2
- package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/confirmation.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent-wrappers.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.js.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.js.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.js.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.js.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.js.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.js.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.js.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.labels.js.map +1 -1
- package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
- package/dist/esm/components/app/AppLayout_NotificationCenter.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_NotificationCenter.js +7 -2
- package/dist/esm/components/app/AppLayout_NotificationCenter.js.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.js.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.js.map +1 -1
- package/dist/esm/components/app/AppPage_Home.d.ts.map +1 -1
- package/dist/esm/components/app/AppPage_Home.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_MainContainer.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_MainContainer.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_Terms.labels.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_Terms.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.js.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.js.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.js.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.js.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.js.map +1 -1
- package/dist/esm/components/auth/Auth_Main.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.js.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_MfaChallenge.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.js.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.js.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.js.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Register.js.map +1 -1
- package/dist/esm/components/auth/Auth_Register.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.js.map +1 -1
- package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js.map +1 -1
- package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.js.map +1 -1
- package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/enrollment-method-components.js.map +1 -1
- package/dist/esm/components/auth/methods/EmailOtpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/EmailOtpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/MagicLinkAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/MagicLinkAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/OrgOidcAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgOidcAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/PasskeyAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/PasskeyAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/PasswordAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/PasswordAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/SmsOtpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/SmsOtpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/TotpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/TotpAuthMethod.js.map +1 -1
- package/dist/esm/components/auth/methods/auth-method-components.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/auth-method-components.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthCallback.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthExchange.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthExchange.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Invitation.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Invitation.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Main.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OneOffSession.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OneOffSession.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_PasswordLost.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_PasswordLost.js.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Register.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Register.js.map +1 -1
- package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.js.map +1 -1
- package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.js.map +1 -1
- package/dist/esm/components/auth/utils/LabeledDivider.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/LabeledDivider.js.map +1 -1
- package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/OAuthProvidersSection.js.map +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js.map +1 -1
- package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.js.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/DisplayContextKindContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayContextKindContext.js.map +1 -1
- package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayField.js +8 -5
- package/dist/esm/components/data-display/DisplayField.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.js +6 -2
- package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js.map +1 -1
- package/dist/esm/components/data-display/DisplayTemplateContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayTemplateContext.js.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/SummaryContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
- package/dist/esm/components/data-display/automatic-displayer.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/automatic-displayer.utils.js.map +1 -1
- package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
- package/dist/esm/components/data-display/avatar.js.map +1 -1
- package/dist/esm/components/data-display/badge.d.ts.map +1 -1
- package/dist/esm/components/data-display/badge.js.map +1 -1
- package/dist/esm/components/data-display/chart-echarts.d.ts.map +1 -1
- package/dist/esm/components/data-display/chart-echarts.js.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayChromeContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayChromeContext.js.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
- package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
- package/dist/esm/components/data-display/description-list.js.map +1 -1
- package/dist/esm/components/data-display/display-field-resolution.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-field-resolution.utils.js.map +1 -1
- package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
- package/dist/esm/components/data-display/display-resource-link-trail.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-resource-link-trail.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-json.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-json.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.js.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
- package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
- package/dist/esm/components/data-display/useFileActivation.js.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
- package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
- package/dist/esm/components/feedback/danger-zone.js.map +1 -1
- package/dist/esm/components/feedback/empty-display-policy.utils.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-display-policy.utils.js.map +1 -1
- package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-state.js.map +1 -1
- package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
- package/dist/esm/components/feedback/error-display.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts +36 -0
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js +29 -0
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.js.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.js.map +1 -1
- package/dist/esm/components/feedback/notification-center.d.ts +11 -5
- package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
- package/dist/esm/components/feedback/notification-center.js +2 -3
- package/dist/esm/components/feedback/notification-center.js.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
- package/dist/esm/components/feedback/progress.d.ts.map +1 -1
- package/dist/esm/components/feedback/progress.js.map +1 -1
- package/dist/esm/components/feedback/resource-empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/resource-empty-state.js.map +1 -1
- package/dist/esm/components/feedback/skeleton-text.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton-text.js.map +1 -1
- package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton.js.map +1 -1
- package/dist/esm/components/feedback/toast.d.ts.map +1 -1
- package/dist/esm/components/feedback/toast.js.map +1 -1
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts +41 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.js +207 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts +3 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts.map +1 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.js +36 -0
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.js.map +1 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts +8 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts.map +1 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.js +14 -0
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.js.map +1 -0
- package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/actor.js.map +1 -1
- package/dist/esm/components/flows-actors/actor.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/actor.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.js.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.js +14 -2
- package/dist/esm/components/flows-actors/approval.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.labels.js +2 -0
- package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.js.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.js.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.labels.js.map +1 -1
- package/dist/esm/components/form/Form.d.ts.map +1 -1
- package/dist/esm/components/form/Form.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.js +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.js +16 -9
- package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
- package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormField.js +9 -2
- package/dist/esm/components/form/automated/FormField.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldArray.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldArray.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldComposite.js +8 -6
- package/dist/esm/components/form/automated/FormFieldComposite.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldRecord.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
- package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.js.map +1 -1
- package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.js.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js +37 -3
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.js.map +1 -1
- package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts +12 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts.map +1 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js +26 -0
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js.map +1 -0
- package/dist/esm/components/form/automated/autosave-indicator.d.ts.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.js.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.utils.js.map +1 -1
- package/dist/esm/components/form/automated/create-form-default-values.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/create-form-default-values.utils.js.map +1 -1
- package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.helpers.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.helpers.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.shared.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.shared.js.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.utils.js.map +1 -1
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
- package/dist/esm/components/form/chromes/FormChromeContext.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormChromeContext.js.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
- package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/field.js.map +1 -1
- package/dist/esm/components/form/chromes/form-primitives.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/form-primitives.js.map +1 -1
- package/dist/esm/components/form/combobox.d.ts.map +1 -1
- package/dist/esm/components/form/combobox.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
- package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select.js.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.js.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.js.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
- package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input-group.js.map +1 -1
- package/dist/esm/components/form/controls/input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input.js.map +1 -1
- package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
- package/dist/esm/components/form/controls/number/slider.js.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.js.map +1 -1
- package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/inline-edit-text.js.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.js.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.js.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/markdown-editor.labels.js.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.js.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.js.map +1 -1
- package/dist/esm/components/form/feedback/RemoteChangeNotification.d.ts.map +1 -1
- package/dist/esm/components/form/feedback/RemoteChangeNotification.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.js +4 -2
- package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-code.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-date.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.js +4 -2
- package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-enum.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts +15 -5
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js +21 -18
- package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.js +90 -2
- package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.labels.js +15 -0
- package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-money.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.js +4 -2
- package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-number.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-phone.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-number.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.js +7 -2
- package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.labels.js.map +1 -1
- package/dist/esm/components/form/fields/useFormField.d.ts.map +1 -1
- package/dist/esm/components/form/fields/useFormField.js.map +1 -1
- package/dist/esm/components/form/form-context.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.js.map +1 -1
- package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.utils.js.map +1 -1
- package/dist/esm/components/form/form-field-types.d.ts.map +1 -1
- package/dist/esm/components/form/form-field-types.js.map +1 -1
- package/dist/esm/components/form/useFormSchemaContext.d.ts.map +1 -1
- package/dist/esm/components/form/useFormSchemaContext.js.map +1 -1
- package/dist/esm/components/form/validation-errors/FormErrorSummary.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
- package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/form-error-extraction.utils.js.map +1 -1
- package/dist/esm/components/form/validation-errors/form-validation.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/form-validation.js.map +1 -1
- package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
- package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
- package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.js.map +1 -1
- package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.js.map +1 -1
- package/dist/esm/components/layout/carousel.d.ts.map +1 -1
- package/dist/esm/components/layout/carousel.js.map +1 -1
- package/dist/esm/components/layout/divider.d.ts.map +1 -1
- package/dist/esm/components/layout/divider.js.map +1 -1
- package/dist/esm/components/layout/resizable.d.ts.map +1 -1
- package/dist/esm/components/layout/resizable.js.map +1 -1
- package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
- package/dist/esm/components/layout/scroll-area.js.map +1 -1
- package/dist/esm/components/layout/separator.d.ts.map +1 -1
- package/dist/esm/components/layout/separator.js.map +1 -1
- package/dist/esm/components/navigation/NavigationItemBadge.d.ts +6 -0
- package/dist/esm/components/navigation/NavigationItemBadge.d.ts.map +1 -1
- package/dist/esm/components/navigation/NavigationItemBadge.js +2 -1
- package/dist/esm/components/navigation/NavigationItemBadge.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.js.map +1 -1
- package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
- package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useActivityBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useActivityBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useControlPanelBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useControlPanelBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts +5 -2
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js +18 -41
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js +13 -3
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useToolbarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useToolbarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +23 -5
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +81 -13
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
- package/dist/esm/components/navigation/command.d.ts.map +1 -1
- package/dist/esm/components/navigation/command.js.map +1 -1
- package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
- package/dist/esm/components/navigation/menu-bar.js.map +1 -1
- package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/navbar.js.map +1 -1
- package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/sidebar.js.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.js.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.labels.js.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert.js.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.shared-types.js.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.js.map +1 -1
- package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.js.map +1 -1
- package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.js.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.js.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.js.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.js.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.js.map +1 -1
- package/dist/esm/components/overlays/floating/menu.shared-types.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/menu.shared-types.js.map +1 -1
- package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/popover.js.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.js.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.js.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.labels.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.labels.js.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.js.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
- package/dist/esm/components/resources/CollectionSelectionControls.d.ts.map +1 -1
- package/dist/esm/components/resources/CollectionSelectionControls.js.map +1 -1
- package/dist/esm/components/resources/EphemeralFieldsRevealDialog.d.ts.map +1 -1
- package/dist/esm/components/resources/EphemeralFieldsRevealDialog.js.map +1 -1
- package/dist/esm/components/resources/InlineSearchInput.d.ts.map +1 -1
- package/dist/esm/components/resources/InlineSearchInput.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
- package/dist/esm/components/resources/ResourceInPlaceOperationRow.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceInPlaceOperationRow.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +9 -0
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.js +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_InsertedViews.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Pagination.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read_Expandable.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read_Expandable.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SortControl.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SortControl.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionPopover.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionPopover.js.map +1 -1
- package/dist/esm/components/resources/ResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationSurface.js.map +1 -1
- package/dist/esm/components/resources/ResourceOwnedViewEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOwnedViewEmbeds.js.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
- package/dist/esm/components/resources/card-action-placement.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/card-action-placement.utils.js.map +1 -1
- package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
- package/dist/esm/components/resources/collection-view-mode.frontend.d.ts.map +1 -1
- package/dist/esm/components/resources/collection-view-mode.frontend.js.map +1 -1
- package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.js.map +1 -1
- package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.js.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.js.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.js.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.js.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
- package/dist/esm/components/resources/inserted-resource-view.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/inserted-resource-view.frontend.utils.js.map +1 -1
- package/dist/esm/components/resources/resource-operation-custom-view.contracts.d.ts.map +1 -1
- package/dist/esm/components/resources/resource-operation-custom-view.contracts.js.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayItemTemplate.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ArrayItemTemplate.js.map +1 -1
- package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.js.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Divider.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Divider.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FieldScopeContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FieldScopeContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ObjectScope.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ObjectScope.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.shared.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.shared.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionPresentationContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SubmitButton.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SubmitButton.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryHeader.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryHeader.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryMeta.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryMeta.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryTitle.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.shared.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.shared.js.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.utils.js.map +1 -1
- package/dist/esm/components/resources/useInlineSearch.d.ts.map +1 -1
- package/dist/esm/components/resources/useInlineSearch.js.map +1 -1
- package/dist/esm/components/resources/useLongPress.d.ts.map +1 -1
- package/dist/esm/components/resources/useLongPress.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/ContentSectionContainer.labels.js.map +1 -1
- package/dist/esm/components/sections/accordion.d.ts.map +1 -1
- package/dist/esm/components/sections/accordion.js.map +1 -1
- package/dist/esm/components/sections/card.d.ts.map +1 -1
- package/dist/esm/components/sections/card.js.map +1 -1
- package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
- package/dist/esm/components/sections/collapsible.js.map +1 -1
- package/dist/esm/components/sections/content-section.d.ts.map +1 -1
- package/dist/esm/components/sections/content-section.js.map +1 -1
- package/dist/esm/components/sections/pagination.d.ts.map +1 -1
- package/dist/esm/components/sections/pagination.js.map +1 -1
- package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
- package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
- package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
- package/dist/esm/components/sections/stacked-layout.js.map +1 -1
- package/dist/esm/components/sections/stepper.d.ts.map +1 -1
- package/dist/esm/components/sections/stepper.js.map +1 -1
- package/dist/esm/components/sections/surface.d.ts.map +1 -1
- package/dist/esm/components/sections/surface.js.map +1 -1
- package/dist/esm/components/sections/table.d.ts.map +1 -1
- package/dist/esm/components/sections/table.js.map +1 -1
- package/dist/esm/components/sections/tabs.d.ts.map +1 -1
- package/dist/esm/components/sections/tabs.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +64 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +184 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +26 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -0
- package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsHub.js +3 -0
- package/dist/esm/components/settings/SettingsHub.js.map +1 -1
- package/dist/esm/components/settings/SettingsHub.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsHub.labels.js.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
- package/dist/esm/components/settings/SettingsSectionNavigationHost.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsSectionNavigationHost.js.map +1 -1
- package/dist/esm/components/typography/heading.d.ts.map +1 -1
- package/dist/esm/components/typography/heading.js.map +1 -1
- package/dist/esm/components/typography/label.d.ts.map +1 -1
- package/dist/esm/components/typography/label.js.map +1 -1
- package/dist/esm/components/typography/link.d.ts.map +1 -1
- package/dist/esm/components/typography/link.js.map +1 -1
- package/dist/esm/components/typography/text.d.ts.map +1 -1
- package/dist/esm/components/typography/text.js.map +1 -1
- package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
- package/dist/esm/components/typography/truncated-text.js.map +1 -1
- package/dist/esm/components/views/ViewLayout_Header.d.ts.map +1 -1
- package/dist/esm/components/views/ViewLayout_Header.js.map +1 -1
- package/dist/esm/components/views/ViewNotFound.d.ts.map +1 -1
- package/dist/esm/components/views/ViewNotFound.js.map +1 -1
- package/dist/esm/components/views/ViewNotFound.labels.d.ts.map +1 -1
- package/dist/esm/components/views/ViewNotFound.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartEmptyState.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartEmptyState.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartErrorState.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartErrorState.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.lazy.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartView.lazy.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.js.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.labels.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.labels.js.map +1 -1
- package/dist/esm/components/views/chart-view/WildoEChart.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/WildoEChart.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-export.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-export.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-runtime.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-runtime.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-theme-bridge.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-theme-bridge.js.map +1 -1
- package/dist/esm/components/views/chart-view/chart-view.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-view.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/dev/ChartView.example.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/dev/ChartView.example.js.map +1 -1
- package/dist/esm/components/views/chart-view/echarts-setup.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/echarts-setup.js.map +1 -1
- package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/enum-color-bridge.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builder-utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.js.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeView.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeView.js.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeViewContext.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeViewContext.js.map +1 -1
- package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js.map +1 -1
- package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.js.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.d.ts.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.js.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.labels.js.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +11 -7
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
- package/dist/esm/components/views/full-custom-view/FullCustomView.d.ts.map +1 -1
- package/dist/esm/components/views/full-custom-view/FullCustomView.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.labels.js.map +1 -1
- package/dist/esm/components/views/onboarding-view/onboarding-view.utils.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/onboarding-view.utils.js.map +1 -1
- package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
- package/dist/esm/core/app-shell/PortalContainerContext.js.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts +40 -18
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.js +0 -5
- package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
- package/dist/esm/core/app-shell/app-shell.utils.d.ts.map +1 -1
- package/dist/esm/core/app-shell/app-shell.utils.js.map +1 -1
- package/dist/esm/core/app-shell/hosted-components.utils.d.ts.map +1 -1
- package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
- package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +31 -11
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +34 -25
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +30 -4
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js +232 -17
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
- package/dist/esm/core/billing/BillingContext.d.ts +36 -0
- package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
- package/dist/esm/core/billing/BillingContext.js +1 -0
- package/dist/esm/core/billing/BillingContext.js.map +1 -1
- package/dist/esm/core/billing/BillingErrorNotifier.d.ts.map +1 -1
- package/dist/esm/core/billing/BillingErrorNotifier.js.map +1 -1
- package/dist/esm/core/billing/billing-launcher.d.ts.map +1 -1
- package/dist/esm/core/billing/billing-launcher.js.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.js.map +1 -1
- package/dist/esm/core/billing/useBilling.d.ts.map +1 -1
- package/dist/esm/core/billing/useBilling.js.map +1 -1
- package/dist/esm/core/billing/useBillingAction.d.ts.map +1 -1
- package/dist/esm/core/billing/useBillingAction.js.map +1 -1
- package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts.map +1 -1
- package/dist/esm/core/billing/useSafeBillingActionExecutor.js.map +1 -1
- package/dist/esm/core/branding/useBrandIdentity.d.ts +17 -0
- package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandIdentity.js +17 -0
- package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
- package/dist/esm/core/commons/devices.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/devices.frontend.schemas.js.map +1 -1
- package/dist/esm/core/commons/local-storage.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/local-storage.frontend.schemas.js.map +1 -1
- package/dist/esm/core/commons/window-event.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/window-event.frontend.schemas.js.map +1 -1
- package/dist/esm/core/companion/companion-exports.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/companion/companion-exports.frontend.definitions.js.map +1 -1
- package/dist/esm/core/components-registry/ComponentNotInjected.d.ts.map +1 -1
- package/dist/esm/core/components-registry/ComponentNotInjected.js.map +1 -1
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +1 -0
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry-loader.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry-loader.frontend.service.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.js +4 -1
- package/dist/esm/core/components-registry/component-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.js +8 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts +128 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js +183 -0
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -0
- package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
- package/dist/esm/core/components-registry/register-framework-layouts.js +2 -0
- package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts +68 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js +98 -0
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -0
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +15 -5
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +44 -7
- package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-level-components.frontend.schemas.js +44 -7
- package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +6 -6
- package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.d.ts +4 -4
- package/dist/esm/core/config/composite-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.js.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.d.ts +20 -0
- package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.js +90 -5
- package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
- package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/execution-view.schemas.js.map +1 -1
- package/dist/esm/core/config/flows-actors-view.schemas.d.ts +5 -3
- package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/flows-actors-view.schemas.js +2 -2
- package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
- package/dist/esm/core/config/full-custom-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/full-custom-view.schemas.js.map +1 -1
- package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
- package/dist/esm/core/config/inserted-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/inserted-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +51 -11
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.js +21 -7
- package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/onboarding-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/onboarding-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.js.map +1 -1
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +14 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.js +13 -0
- package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/useSettingsHubConfig.d.ts.map +1 -1
- package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/verify-feature-references.frontend.d.ts +7 -0
- package/dist/esm/core/config/verify-feature-references.frontend.d.ts.map +1 -1
- package/dist/esm/core/config/verify-feature-references.frontend.js +42 -1
- package/dist/esm/core/config/verify-feature-references.frontend.js.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.js +9 -2
- package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
- package/dist/esm/core/config/views-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/views-frontend.schemas.js.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
- package/dist/esm/core/errors/ErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/ErrorBoundary.js.map +1 -1
- package/dist/esm/core/errors/ErrorContext.d.ts.map +1 -1
- package/dist/esm/core/errors/ErrorContext.js.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
- package/dist/esm/core/errors/RouterErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/RouterErrorBoundary.js.map +1 -1
- package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
- package/dist/esm/core/errors/errors-builder.frontend.services.d.ts.map +1 -1
- package/dist/esm/core/errors/errors-builder.frontend.services.js.map +1 -1
- package/dist/esm/core/errors/errors.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/errors/errors.frontend.schemas.js.map +1 -1
- package/dist/esm/core/errors/http-error-behavior.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/errors/http-error-behavior.frontend.schemas.js.map +1 -1
- package/dist/esm/core/errors/useError.d.ts.map +1 -1
- package/dist/esm/core/errors/useError.js.map +1 -1
- package/dist/esm/core/errors/withErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/errors/withErrorBoundary.js.map +1 -1
- package/dist/esm/core/events/EventBusContext.d.ts.map +1 -1
- package/dist/esm/core/events/EventBusContext.js.map +1 -1
- package/dist/esm/core/events/NotificationContext.d.ts +6 -5
- package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
- package/dist/esm/core/events/NotificationContext.js +41 -39
- package/dist/esm/core/events/NotificationContext.js.map +1 -1
- package/dist/esm/core/events/event-bus.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/events/event-bus.frontend.service.js.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.d.ts +34 -18
- package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.js +22 -1
- package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
- package/dist/esm/core/events/notification-display-policy.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/notification-display-policy.frontend.schemas.js.map +1 -1
- package/dist/esm/core/events/toast.d.ts.map +1 -1
- package/dist/esm/core/events/toast.js.map +1 -1
- package/dist/esm/core/events/useEventBus.d.ts.map +1 -1
- package/dist/esm/core/events/useEventBus.js.map +1 -1
- package/dist/esm/core/events/useNotification.d.ts.map +1 -1
- package/dist/esm/core/events/useNotification.js.map +1 -1
- package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.d.ts.map +1 -1
- package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.js.map +1 -1
- package/dist/esm/core/execution/ExecutionRuntimeContext.d.ts.map +1 -1
- package/dist/esm/core/execution/ExecutionRuntimeContext.js.map +1 -1
- package/dist/esm/core/execution/execution-anchor.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-anchor.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-dirty-markers.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-dirty-markers.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-failure-handling.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-failure-handling.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-outcome-emission.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-outcome-emission.utils.js.map +1 -1
- package/dist/esm/core/execution/execution-participation.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-participation.utils.js.map +1 -1
- package/dist/esm/core/execution/useExecution.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecution.js.map +1 -1
- package/dist/esm/core/execution/useExecutionDirtyBridge.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionDirtyBridge.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationPrefetch.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationPrefetch.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.js.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts +66 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js +101 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -0
- package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.js.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts +33 -15
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js +27 -21
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts +103 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js +117 -0
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js.map +1 -0
- package/dist/esm/core/features/FeatureGate.d.ts.map +1 -1
- package/dist/esm/core/features/FeatureGate.js +1 -1
- package/dist/esm/core/features/FeatureGate.js.map +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.d.ts.map +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.js +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.js.map +1 -1
- package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
- package/dist/esm/core/features/FeaturesContext.js.map +1 -1
- package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts +7 -0
- package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/features/feature-unavailability.frontend.utils.js +5 -0
- package/dist/esm/core/features/feature-unavailability.frontend.utils.js.map +1 -1
- package/dist/esm/core/features/useFeatureAvailability.d.ts +2 -0
- package/dist/esm/core/features/useFeatureAvailability.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatureAvailability.js +4 -2
- package/dist/esm/core/features/useFeatureAvailability.js.map +1 -1
- package/dist/esm/core/features/useFeatureGate.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatureGate.js.map +1 -1
- package/dist/esm/core/features/useFeatures.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatures.js.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +20 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.js +50 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
- package/dist/esm/core/flows-actors/useFlowsActors.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/useFlowsActors.js.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.js +2 -2
- package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
- package/dist/esm/core/guidance/GuidanceRenderer.d.ts.map +1 -1
- package/dist/esm/core/guidance/GuidanceRenderer.js.map +1 -1
- package/dist/esm/core/guidance/guidance-audience.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/guidance/guidance-audience.frontend.utils.js.map +1 -1
- package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.d.ts.map +1 -1
- package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.js.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.labels.js.map +1 -1
- package/dist/esm/core/guidance/useGuidance.d.ts.map +1 -1
- package/dist/esm/core/guidance/useGuidance.js.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +29 -0
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +76 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
- package/dist/esm/core/hotkey/HotkeyRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/hotkey/HotkeyRegistryContext.js +44 -8
- package/dist/esm/core/hotkey/HotkeyRegistryContext.js.map +1 -1
- package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.d.ts.map +1 -1
- package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.js.map +1 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts +53 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js +78 -13
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts.map +1 -1
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
- package/dist/esm/core/hotkey/useHotkey.d.ts.map +1 -1
- package/dist/esm/core/hotkey/useHotkey.js.map +1 -1
- package/dist/esm/core/i18n/I18nContext.d.ts +9 -0
- package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
- package/dist/esm/core/i18n/I18nContext.js +149 -32
- package/dist/esm/core/i18n/I18nContext.js.map +1 -1
- package/dist/esm/core/i18n/component-label-resolution.utils.d.ts.map +1 -1
- package/dist/esm/core/i18n/component-label-resolution.utils.js.map +1 -1
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts +51 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js +66 -0
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -0
- package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
- package/dist/esm/core/i18n/useI18n.js +22 -2
- package/dist/esm/core/i18n/useI18n.js.map +1 -1
- package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
- package/dist/esm/core/icons/IconRegistryBridge.js.map +1 -1
- package/dist/esm/core/icons/IconRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/icons/IconRegistryContext.js.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.definitions.js.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
- package/dist/esm/core/icons/useIconRegistry.d.ts.map +1 -1
- package/dist/esm/core/icons/useIconRegistry.js.map +1 -1
- package/dist/esm/core/loading/AppLoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/AppLoadingGate.js.map +1 -1
- package/dist/esm/core/loading/LoadingBarrier.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingBarrier.js.map +1 -1
- package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingContext.js.map +1 -1
- package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingGate.js +16 -3
- package/dist/esm/core/loading/LoadingGate.js.map +1 -1
- package/dist/esm/core/loading/loading-policy.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-policy.frontend.schemas.js.map +1 -1
- package/dist/esm/core/loading/loading-scope.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-scope.frontend.utils.js.map +1 -1
- package/dist/esm/core/loading/loading-types.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-types.frontend.schemas.js.map +1 -1
- package/dist/esm/core/loading/resolveLoadingPolicy.d.ts.map +1 -1
- package/dist/esm/core/loading/resolveLoadingPolicy.js.map +1 -1
- package/dist/esm/core/loading/useAppLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useAppLoading.js.map +1 -1
- package/dist/esm/core/loading/useComponentLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useComponentLoading.js.map +1 -1
- package/dist/esm/core/loading/useEmitLoadingScope.d.ts.map +1 -1
- package/dist/esm/core/loading/useEmitLoadingScope.js.map +1 -1
- package/dist/esm/core/loading/useLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useLoading.js.map +1 -1
- package/dist/esm/core/mode/AppModeContext.d.ts.map +1 -1
- package/dist/esm/core/mode/AppModeContext.js.map +1 -1
- package/dist/esm/core/mode/section-visibility.d.ts.map +1 -1
- package/dist/esm/core/mode/section-visibility.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/useAnalytics.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/useAnalytics.js.map +1 -1
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts +97 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts.map +1 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js +179 -0
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js.map +1 -0
- package/dist/esm/core/monitoring/logger.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/monitoring/logger.frontend.service.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.js +76 -48
- package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.d.ts +12 -0
- package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.js +24 -0
- package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
- package/dist/esm/core/navigation/hosted-pane.constants.d.ts.map +1 -1
- package/dist/esm/core/navigation/hosted-pane.constants.js.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.d.ts +1 -1
- package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +14 -5
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js +146 -17
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.d.ts +58 -10
- package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.js +1 -1
- package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.d.ts +2 -2
- package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.js +4 -4
- package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
- package/dist/esm/core/navigation/primary-destination-layout.d.ts.map +1 -1
- package/dist/esm/core/navigation/primary-destination-layout.js.map +1 -1
- package/dist/esm/core/navigation/useIsStackEntryActive.d.ts.map +1 -1
- package/dist/esm/core/navigation/useIsStackEntryActive.js.map +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.d.ts +8 -0
- package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.js +26 -6
- package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationState.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationState.js.map +1 -1
- package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
- package/dist/esm/core/navigation/useOverlayTitle.js.map +1 -1
- package/dist/esm/core/navigation/useTransactionAwareSyncRetry.d.ts.map +1 -1
- package/dist/esm/core/navigation/useTransactionAwareSyncRetry.js.map +1 -1
- package/dist/esm/core/navigation/view-title-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/view-title-resolution.js.map +1 -1
- package/dist/esm/core/navigation/zone-content-geometry.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-content-geometry.js.map +1 -1
- package/dist/esm/core/navigation/zone-empty-behavior.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-empty-behavior.js.map +1 -1
- package/dist/esm/core/navigation/zone-visible-entry.d.ts +26 -0
- package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -0
- package/dist/esm/core/navigation/zone-visible-entry.js +76 -0
- package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -0
- package/dist/esm/core/requests/api-readiness-checker.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/api-readiness-checker.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
- package/dist/esm/core/requests/client-instance-id.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/client-instance-id.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/network-backoff.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/requests/network-backoff.frontend.utils.js.map +1 -1
- package/dist/esm/core/requests/offline-replay-policy.frontend.d.ts.map +1 -1
- package/dist/esm/core/requests/offline-replay-policy.frontend.js.map +1 -1
- package/dist/esm/core/requests/request-cancellation.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/requests/request-cancellation.frontend.utils.js.map +1 -1
- package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.js.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
- package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useNotificationBadges.js +32 -19
- package/dist/esm/core/requests/websockets/useNotificationBadges.js.map +1 -1
- package/dist/esm/core/requests/websockets/useResourceRoom.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useResourceRoom.js.map +1 -1
- package/dist/esm/core/requests/websockets/useWebSocket.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useWebSocket.js.map +1 -1
- package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +73 -2
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +56 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +6 -0
- package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client.frontend.service.js +1 -0
- package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewContext.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewContext.js.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewProvider.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceOperationViewProvider.js.map +1 -1
- package/dist/esm/core/resources/ResourceReadCacheBridge.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceReadCacheBridge.js.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.js.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
- package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/ephemeral-fields.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/ephemeral-fields.utils.js.map +1 -1
- package/dist/esm/core/resources/file-serve-url.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/file-serve-url.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
- package/dist/esm/core/resources/in-place/InPlaceOperationContext.d.ts.map +1 -1
- package/dist/esm/core/resources/in-place/InPlaceOperationContext.js.map +1 -1
- package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/relationship-quick-create.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-operation-view.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-operation-view.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-path.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-path.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-read-cache.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts +2 -2
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMRegistryContext.js.map +1 -1
- package/dist/esm/core/resources/rmm/RMMWebSocketBridge.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/RMMWebSocketBridge.js.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/rmm/field-path.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/field-path.utils.js.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-constants.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-constants.js.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-noop-snapshot.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-noop-snapshot.js.map +1 -1
- package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/types.js.map +1 -1
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
- package/dist/esm/core/resources/rmm/useListInvalidation.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useListInvalidation.js.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMEventHandler.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMEventHandler.js.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMSnapshot.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMSnapshot.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
- package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.d.ts.map +1 -1
- package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.js.map +1 -1
- package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
- package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
- package/dist/esm/core/resources/useOperationEnabled.d.ts.map +1 -1
- package/dist/esm/core/resources/useOperationEnabled.js.map +1 -1
- package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceLabels.js +20 -14
- package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/resources/useResourceRegistry.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceRegistry.js.map +1 -1
- package/dist/esm/core/resources/useResourceSelection.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceSelection.js.map +1 -1
- package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js.map +1 -1
- package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
- package/dist/esm/core/runtime/AppRouter.js +2 -1
- package/dist/esm/core/runtime/AppRouter.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts +9 -0
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.js +1 -0
- package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
- package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/env-variable-loader.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/env-variable-loader.frontend.service.js.map +1 -1
- package/dist/esm/core/runtime/frontend-companion-resource-inputs.d.ts.map +1 -1
- package/dist/esm/core/runtime/frontend-companion-resource-inputs.js.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +6 -0
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.js +7 -0
- package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/runtime.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/runtime/runtime.frontend.schemas.js.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.d.ts +38 -0
- package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.js +84 -3
- package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
- package/dist/esm/core/runtime/useApplication.d.ts.map +1 -1
- package/dist/esm/core/runtime/useApplication.js.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
- package/dist/esm/core/scope/scope.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/scope/scope.frontend.schemas.js.map +1 -1
- package/dist/esm/core/scope/scope.utils.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/scope/scope.utils.frontend.service.js.map +1 -1
- package/dist/esm/core/scope/useAppScope.d.ts.map +1 -1
- package/dist/esm/core/scope/useAppScope.js.map +1 -1
- package/dist/esm/core/security/AnonymousSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/AnonymousSessionContext.js.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.js +37 -9
- package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/auth-session.utils.d.ts.map +1 -1
- package/dist/esm/core/security/auth-session.utils.js.map +1 -1
- package/dist/esm/core/security/cross-frontend-handoff.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/security/cross-frontend-handoff.frontend.service.js.map +1 -1
- package/dist/esm/core/security/jwt.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/jwt.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
- package/dist/esm/core/security/session-token-storage.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/security/session-token-storage.frontend.service.js.map +1 -1
- package/dist/esm/core/security/useAuthSession.d.ts.map +1 -1
- package/dist/esm/core/security/useAuthSession.js.map +1 -1
- package/dist/esm/core/security/useResolvedAuthConfig.d.ts.map +1 -1
- package/dist/esm/core/security/useResolvedAuthConfig.js.map +1 -1
- package/dist/esm/core/security/useStepUpAuth.d.ts.map +1 -1
- package/dist/esm/core/security/useStepUpAuth.js.map +1 -1
- package/dist/esm/core/security/useUserOrgs.d.ts.map +1 -1
- package/dist/esm/core/security/useUserOrgs.js.map +1 -1
- package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfaceErrorBoundary.js.map +1 -1
- package/dist/esm/core/ui/SurfacePolicyContext.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfacePolicyContext.js.map +1 -1
- package/dist/esm/core/ui/TypographyScopeContext.d.ts.map +1 -1
- package/dist/esm/core/ui/TypographyScopeContext.js.map +1 -1
- package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
- package/dist/esm/core/ui/UIContext.js.map +1 -1
- package/dist/esm/core/ui/chart-style-defaults.d.ts.map +1 -1
- package/dist/esm/core/ui/chart-style-defaults.js.map +1 -1
- package/dist/esm/core/ui/cn.d.ts.map +1 -1
- package/dist/esm/core/ui/cn.js.map +1 -1
- package/dist/esm/core/ui/color-conversion.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/color-conversion.utils.js.map +1 -1
- package/dist/esm/core/ui/design-token-class-groups.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token-class-groups.js.map +1 -1
- package/dist/esm/core/ui/design-token-config.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token-config.utils.js.map +1 -1
- package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token.utils.js.map +1 -1
- package/dist/esm/core/ui/material-runtime.d.ts.map +1 -1
- package/dist/esm/core/ui/material-runtime.js.map +1 -1
- package/dist/esm/core/ui/surface-a11y.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/surface-a11y.utils.js.map +1 -1
- package/dist/esm/core/ui/theme-preference-storage.shared.d.ts.map +1 -1
- package/dist/esm/core/ui/theme-preference-storage.shared.js.map +1 -1
- package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
- package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts +7 -2
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/ui/ui.frontend.schemas.js.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
- package/dist/esm/core/ui/useUI.d.ts.map +1 -1
- package/dist/esm/core/ui/useUI.js.map +1 -1
- package/dist/esm/index.d.ts +7 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +20 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tailwind/index.d.ts.map +1 -1
- package/dist/esm/tailwind/index.js.map +1 -1
- package/dist/esm/testing/mock-builders.d.ts.map +1 -1
- package/dist/esm/testing/mock-builders.js +2 -0
- package/dist/esm/testing/mock-builders.js.map +1 -1
- package/dist/esm/testing/mock-factory.d.ts.map +1 -1
- package/dist/esm/testing/mock-factory.js.map +1 -1
- package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
- package/dist/esm/testing/rmm-helpers.js.map +1 -1
- package/dist/esm/testing/test-providers.d.ts.map +1 -1
- package/dist/esm/testing/test-providers.js.map +1 -1
- package/dist/esm/testing.d.ts.map +1 -1
- package/dist/esm/testing.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +6 -5
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts +0 -21
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +0 -1
- package/dist/esm/components/billing/billing-plan-change-preview.js +0 -12
- package/dist/esm/components/billing/billing-plan-change-preview.js.map +0 -1
- package/dist/esm/components/billing/billing-promotion-code-input.d.ts +0 -12
- package/dist/esm/components/billing/billing-promotion-code-input.d.ts.map +0 -1
- package/dist/esm/components/billing/billing-promotion-code-input.js +0 -11
- package/dist/esm/components/billing/billing-promotion-code-input.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormFieldRecord.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"FormFieldRecord.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/automated/FormFieldRecord.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAA4D,MAAM,OAAO,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiDxB,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;CACjC;AA8KD;;;;;GAKG;AACH,iBAAS,wBAAwB,CAAC,EAChC,IAAI,EACJ,MAAM,EACN,KAAK,EACL,WAAW,EACX,QAAQ,EACR,SAAS,EACT,WAAW,EACX,SAAS,GACV,EAAE,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAoMjD;kBA7MQ,wBAAwB;;;AAiNjC,eAAO,MAAM,eAAe,EAAE,OAAO,wBAAwB,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAA6B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormFieldRecord.js","sourceRoot":"","sources":["../../../../../../src/components/form/automated/FormFieldRecord.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * FormFieldRecord Component\n *\n * Handles z.record() and z.map() schema types.\n * Renders a dynamic list of key-value pairs with add/remove controls.\n *\n * ## Architecture\n *\n * **Single source of truth: RHF.**\n *\n * The record is stored in RHF as a plain object at the field path (e.g., `metadata`).\n * Each value is rendered via `FormField` at `${name}.${key}`, which binds to RHF\n * via Controller. This means every value gets the full FormField infrastructure:\n * validation, autosave, error display, decorator handling, type-specific rendering.\n *\n * This component only manages:\n * - The ordered list of entry IDs and keys (for rendering order and key editing)\n * - Syncing the record structure to RHF on key changes, adds, and removes\n *\n * Value changes flow directly through FormField → RHF, never through this component.\n *\n * ## Key Lifecycle\n *\n * - **Empty key**: Placeholder shown instead of FormField (no valid RHF path).\n * A default value is held locally until the key is committed.\n * - **Key rename**: Value is read from old RHF path, record is rebuilt at parent\n * level with the new key, FormField remounts at the new path.\n * - **Key uniqueness**: Computed per-render, duplicate keys show inline error.\n */\n\nimport React, { useCallback, useRef, useEffect, useState, useMemo } from 'react';\nimport { z } from 'zod';\nimport { useFormContext } from 'react-hook-form';\n\nimport { FormFieldChrome } from '../chromes/FormFieldChrome';\nimport { useFormChromeContext } from '../chromes/FormChromeContext';\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 { Button, ButtonVariants_Variant } from '~wildo-frontend-lib/components/actions/button';\nimport { ButtonSize } from '@wildo-ai/presets-components-models';\nimport { cn } from '~wildo-frontend-lib/core/ui/cn';\nimport { FieldDescription as ContentSectionDescription } from '~wildo-frontend-lib/components/form/chromes/field';\nimport {\n ContentSection,\n ContentSectionLegend,\n ContentSectionGroup,\n} from '~wildo-frontend-lib/components/sections/content-section';\nimport { Input } from '~wildo-frontend-lib/components/form/controls/input';\n\nimport { FormField, resolveSurfaceAutoFieldDensity, resolveSurfaceAutoLabelPlacement, resolveSurfaceFormChromeMode } from './FormField';\nimport { DUPLICATE_KEY_ERROR_TYPE } from '../form-context';\nimport { useOptionalAutosave } from './AutosaveContext';\nimport { AutosaveTrigger } from '@wildo-ai/zod-decorators';\nimport { AutomatedLayoutFrontendUtils } from '~wildo-frontend-lib/core/automated-layout/automated-layout.frontend.utils';\nimport { FrontendComponentType, UIBehavior, TypographyVariant } from '@wildo-ai/presets-components-models';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport { useSurfacePolicy } from '~wildo-frontend-lib/core/ui/SurfacePolicyContext';\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\n/**\n * Internal entry for tracking key order and identity.\n * Values are NOT stored here — they live in RHF at `${parentName}.${key}`.\n * `pendingValue` is only used when key is empty (no valid RHF path yet).\n */\ninterface RecordEntry {\n /** Stable React key — never changes for a given entry */\n id: string;\n /** The record key (user-editable) */\n key: string;\n /**\n * Temporary value holder for entries with empty keys.\n * Once a key is set, the value is written to RHF and this field is ignored.\n */\n pendingValue: unknown;\n}\n\nexport interface FormFieldRecordProps {\n name: string;\n schema: z.ZodTypeAny;\n label: string;\n description?: string;\n disabled?: boolean;\n className?: string;\n /** Value schema extracted by caller (getRecordValueSchema or getMapSchemas) */\n valueSchema: z.ZodTypeAny;\n /**\n * Key schema for z.map() types. When provided, keys are validated against it.\n * For z.record(), this is null (keys are always strings).\n */\n keySchema?: z.ZodTypeAny | null;\n}\n\n// =============================================================================\n// HELPERS\n// =============================================================================\n\nlet entryIdCounter = 0;\nfunction generateEntryId(): string {\n return `kv-${++entryIdCounter}-${Date.now()}`;\n}\n\n\n/**\n * Initialize entries from an existing RHF record value.\n * Preserves insertion order from Object.entries.\n */\nfunction recordToEntries(record: unknown): RecordEntry[] {\n if (!record || typeof record !== 'object') {\n return [];\n }\n\n return Object.entries(record as Record<string, unknown>).map(([key]) => ({\n id: generateEntryId(),\n key,\n pendingValue: undefined, // Value is already in RHF\n }));\n}\n\n/**\n * Build a record object from entries, reading current values from RHF.\n *\n * @param entries - Current entries list\n * @param parentName - RHF field path for the record (e.g., \"metadata\")\n * @param getValues - RHF getValues function\n * @param valueOverrides - Map of entryId → value for entries where RHF doesn't\n * have the right value yet (e.g., key renames, new entries)\n */\nfunction buildRecord(\n entries: RecordEntry[],\n parentName: string,\n getValues: (path: string) => unknown,\n valueOverrides?: Map<string, unknown>,\n): Record<string, unknown> {\n const record: Record<string, unknown> = {};\n\n for (const entry of entries) {\n const trimmedKey = entry.key.trim();\n if (trimmedKey === '') continue;\n\n // Use override if provided (key rename or new entry), otherwise read from RHF\n if (valueOverrides?.has(entry.id)) {\n record[trimmedKey] = valueOverrides.get(entry.id);\n } else {\n const rhfValue = getValues(`${parentName}.${trimmedKey}`);\n record[trimmedKey] = rhfValue !== undefined ? rhfValue : entry.pendingValue;\n }\n }\n\n return record;\n}\n\n// =============================================================================\n// KEY-VALUE ROW\n// =============================================================================\n\ninterface KeyValueRowProps {\n entry: RecordEntry;\n index: number;\n valueSchema: z.ZodTypeAny;\n parentName: string;\n disabled?: boolean;\n canRemove: boolean;\n keyError?: string;\n onKeyChange: (id: string, newKey: string) => void;\n onRemove: (id: string) => void;\n keyLabel: string;\n valueLabel: string;\n emptyKeyPlaceholder: string;\n renderIcon: ReturnType<typeof useIconRegistry>['renderIcon'];\n}\n\nfunction KeyValueRow({\n entry,\n index,\n valueSchema,\n parentName,\n disabled,\n canRemove,\n keyError,\n onKeyChange,\n onRemove,\n keyLabel,\n valueLabel,\n emptyKeyPlaceholder,\n renderIcon,\n}: KeyValueRowProps): React.JSX.Element {\n const { getRecipe } = useUI();\n const descriptionRecipe = getRecipe(UIBehavior.TYPOGRAPHY, TypographyVariant.DESCRIPTION);\n const { formChromeMode, sectionChromeMode } = useFormChromeContext();\n const surfacePolicy = useSurfacePolicy();\n const resolvedChromeMode = sectionChromeMode ?? formChromeMode ?? resolveSurfaceFormChromeMode(surfacePolicy.autoRender?.autoFieldChrome);\n const resolvedLabelPlacement = resolveSurfaceAutoLabelPlacement(surfacePolicy.autoRender?.autoLabelPlacement);\n const resolvedControlSize = resolveSurfaceAutoFieldDensity(surfacePolicy.autoRender?.autoFieldDensity);\n const hideInlineErrorForPolicy = surfacePolicy.autoRender?.autoErrorPlacement === 'summary-at-surface-top';\n\n const handleKeyInputChange = useCallback((newKey: string) => {\n onKeyChange(entry.id, newKey);\n }, [entry.id, onKeyChange]);\n\n const hasKey = entry.key.trim() !== '';\n\n return (\n <div\n className=\"relative rounded-lg border border-border p-card\"\n data-testid={`record-entry-${index}`}\n >\n {/* Remove button - top right */}\n {canRemove && (\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.GHOST}\n size={ButtonSize.ICON}\n onClick={() => onRemove(entry.id)}\n disabled={disabled}\n className=\"absolute -top-3 end-3 h-6 w-6 bg-background\"\n aria-label={`Remove entry ${entry.key || index + 1}`}\n >\n {renderIcon(StandardIconReference.CLOSE, { size: IconSize.SM })}\n </Button>\n )}\n\n <div className=\"pt-item space-y-field\">\n {/* Key input */}\n <FormFieldChrome\n mode={resolvedChromeMode}\n label={keyLabel}\n error={keyError}\n labelPlacement={resolvedLabelPlacement}\n hideError={hideInlineErrorForPolicy}\n fieldName={`${parentName}.__key_${entry.id}`}\n disabled={disabled}\n >\n <Input\n schema={z.string()}\n name={`${parentName}.__key_${entry.id}`}\n value={entry.key}\n onChange={(v: string | number) => handleKeyInputChange(String(v))}\n disabled={disabled}\n controlSize={resolvedControlSize}\n />\n </FormFieldChrome>\n\n {/* Value — always rendered via FormField for full infrastructure support */}\n {hasKey ? (\n <FormField\n name={`${parentName}.${entry.key}`}\n schema={valueSchema}\n label={valueLabel}\n disabled={disabled}\n />\n ) : (\n <p className={cn(descriptionRecipe.base, \"py-card-sm px-card-sm rounded-md border border-dashed border-border\")}>\n {emptyKeyPlaceholder}\n </p>\n )}\n </div>\n </div>\n );\n}\n\n// =============================================================================\n// MAIN COMPONENT\n// =============================================================================\n\n/**\n * Renders fields for z.record() and z.map() schemas.\n *\n * Entries track key order and identity. Values live in RHF,\n * rendered by FormField at `${name}.${key}` for full infrastructure support.\n */\nfunction FormFieldRecordComponent({\n name,\n schema,\n label,\n description,\n disabled,\n className,\n valueSchema,\n keySchema,\n}: FormFieldRecordProps): React.JSX.Element | null {\n const { setValue, getValues, trigger, setError, clearErrors, getFieldState, formState } = useFormContext();\n const { renderIcon } = useIconRegistry();\n const autosaveContext = useOptionalAutosave();\n const { tComponent, isReady } = useI18n({ component: FrontendComponentType.LOW_LEVEL_FORM_MESSAGE });\n const { getRecipe } = useUI();\n const descriptionRecipe = getRecipe(UIBehavior.TYPOGRAPHY, TypographyVariant.DESCRIPTION);\n\n // Resolve i18n labels\n const addLabel = tComponent(FrontendComponentType.LOW_LEVEL_FORM_MESSAGE, 'recordAddEntry');\n const keyLabel = tComponent(FrontendComponentType.LOW_LEVEL_FORM_MESSAGE, 'recordKeyLabel');\n const valueLabel = tComponent(FrontendComponentType.LOW_LEVEL_FORM_MESSAGE, 'recordValueLabel');\n const emptyMessage = tComponent(FrontendComponentType.LOW_LEVEL_FORM_MESSAGE, 'recordEmptyMessage');\n const duplicateKeyMessage = tComponent(FrontendComponentType.LOW_LEVEL_FORM_MESSAGE, 'recordDuplicateKey');\n const emptyKeyPlaceholder = tComponent(FrontendComponentType.LOW_LEVEL_FORM_MESSAGE, 'recordEnterKeyFirst');\n\n // Track mounted state to prevent operations after unmount\n const mountedRef = useRef(true);\n useEffect(() => {\n return () => { mountedRef.current = false; };\n }, []);\n\n // Internal entries state — tracks key order and identity only.\n // Initialized from the current RHF record value.\n const [entries, setEntries] = useState<RecordEntry[]>(() => {\n const currentValue = getValues(name);\n return recordToEntries(currentValue);\n });\n\n // Compute duplicate keys for validation display\n const duplicateKeys = useMemo(() => {\n const keyCounts = new Map<string, number>();\n for (const entry of entries) {\n const trimmed = entry.key.trim();\n if (trimmed !== '') {\n keyCounts.set(trimmed, (keyCounts.get(trimmed) || 0) + 1);\n }\n }\n const duplicates = new Set<string>();\n for (const [key, count] of keyCounts) {\n if (count > 1) duplicates.add(key);\n }\n return duplicates;\n }, [entries]);\n\n useEffect(() => {\n if (duplicateKeys.size > 0) {\n setError(name, { type: DUPLICATE_KEY_ERROR_TYPE, message: duplicateKeyMessage });\n } else {\n const currentError = getFieldState(name, formState).error;\n if (currentError?.type === DUPLICATE_KEY_ERROR_TYPE) {\n clearErrors(name);\n }\n }\n }, [duplicateKeys, name, setError, clearErrors, getFieldState, formState, duplicateKeyMessage]);\n\n /**\n * Sync the record structure to RHF.\n * Reads current values from RHF for each entry, optionally overriding specific entries.\n */\n const syncRecordToRHF = useCallback((\n updatedEntries: RecordEntry[],\n valueOverrides?: Map<string, unknown>,\n ) => {\n // field-clearing: N/A — a record clears to `{}`, which is a VALUE, not an absence.\n const record = buildRecord(updatedEntries, name, getValues, valueOverrides);\n setValue(name, record, { shouldDirty: true, shouldValidate: true });\n\n if (autosaveContext) {\n autosaveContext.triggerSave(name, record, AutosaveTrigger.DEBOUNCE);\n }\n\n setTimeout(() => {\n if (mountedRef.current) {\n trigger(name);\n }\n }, 0);\n }, [name, setValue, getValues, trigger, autosaveContext]);\n\n /**\n * Handle key change.\n * Reads the value from the old RHF path and writes it to the new key.\n */\n const handleKeyChange = useCallback((id: string, newKey: string) => {\n setEntries(prev => {\n const entry = prev.find(e => e.id === id);\n if (!entry) return prev;\n\n const oldKey = entry.key.trim();\n\n // Read value from old RHF path (FormField may have changed it)\n // Fall back to pendingValue for entries that were never committed to RHF\n const currentValue = oldKey !== ''\n ? getValues(`${name}.${oldKey}`)\n : entry.pendingValue;\n\n const updated = prev.map(e =>\n e.id === id ? { ...e, key: newKey, pendingValue: currentValue } : e\n );\n\n // Rebuild the record. Override the renamed entry with the value we just read.\n const overrides = new Map<string, unknown>([[id, currentValue]]);\n syncRecordToRHF(updated, overrides);\n\n return updated;\n });\n }, [name, getValues, syncRecordToRHF]);\n\n // Handle add entry\n const handleAdd = useCallback(() => {\n if (disabled) return;\n\n const newEntry: RecordEntry = {\n id: generateEntryId(),\n key: '',\n pendingValue: AutomatedLayoutFrontendUtils.getDefaultValueForSchema(valueSchema),\n };\n\n setEntries(prev => {\n const updated = [...prev, newEntry];\n // Don't sync to RHF yet — entry has empty key, nothing to write\n return updated;\n });\n }, [disabled, valueSchema]);\n\n // Handle remove entry\n const handleRemove = useCallback((id: string) => {\n if (disabled) return;\n\n setEntries(prev => {\n const updated = prev.filter(e => e.id !== id);\n syncRecordToRHF(updated);\n return updated;\n });\n }, [disabled, syncRecordToRHF]);\n\n if (!isReady) return null;\n\n return (\n <ContentSection\n disabled={disabled}\n className={className}\n data-field={name}\n data-testid={`field-record-${name}`}\n >\n <ContentSectionLegend>{label}</ContentSectionLegend>\n {description && <ContentSectionDescription>{description}</ContentSectionDescription>}\n\n <ContentSectionGroup className=\"space-y-field\">\n {entries.map((entry, index) => {\n const keyTrimmed = entry.key.trim();\n const keyError = keyTrimmed !== '' && duplicateKeys.has(keyTrimmed)\n ? duplicateKeyMessage\n : undefined;\n\n return (\n <KeyValueRow\n key={entry.id}\n entry={entry}\n index={index}\n valueSchema={valueSchema}\n parentName={name}\n disabled={disabled}\n canRemove={!disabled}\n keyError={keyError}\n onKeyChange={handleKeyChange}\n onRemove={handleRemove}\n keyLabel={keyLabel}\n valueLabel={valueLabel}\n emptyKeyPlaceholder={emptyKeyPlaceholder}\n renderIcon={renderIcon}\n />\n );\n })}\n\n {/* Add entry button */}\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.OUTLINE}\n onClick={handleAdd}\n disabled={disabled}\n className=\"w-full\"\n >\n {renderIcon(StandardIconReference.PLUS, { size: IconSize.SM, className: \"me-element\" })}\n {addLabel}\n </Button>\n\n {/* Empty state */}\n {entries.length === 0 && (\n <p className={cn(descriptionRecipe.base, \"text-center py-card\")}>\n {emptyMessage}\n </p>\n )}\n </ContentSectionGroup>\n </ContentSection>\n );\n}\n\nFormFieldRecordComponent.displayName = 'FormFieldRecord';\n\nexport const FormFieldRecord: typeof FormFieldRecordComponent & { displayName: string } = FormFieldRecordComponent;\n"]}
|
|
1
|
+
{"version":3,"file":"FormFieldRecord.js","sourceRoot":"","sources":["../../../../../src/components/form/automated/FormFieldRecord.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * FormFieldRecord Component\n *\n * Handles z.record() and z.map() schema types.\n * Renders a dynamic list of key-value pairs with add/remove controls.\n *\n * ## Architecture\n *\n * **Single source of truth: RHF.**\n *\n * The record is stored in RHF as a plain object at the field path (e.g., `metadata`).\n * Each value is rendered via `FormField` at `${name}.${key}`, which binds to RHF\n * via Controller. This means every value gets the full FormField infrastructure:\n * validation, autosave, error display, decorator handling, type-specific rendering.\n *\n * This component only manages:\n * - The ordered list of entry IDs and keys (for rendering order and key editing)\n * - Syncing the record structure to RHF on key changes, adds, and removes\n *\n * Value changes flow directly through FormField → RHF, never through this component.\n *\n * ## Key Lifecycle\n *\n * - **Empty key**: Placeholder shown instead of FormField (no valid RHF path).\n * A default value is held locally until the key is committed.\n * - **Key rename**: Value is read from old RHF path, record is rebuilt at parent\n * level with the new key, FormField remounts at the new path.\n * - **Key uniqueness**: Computed per-render, duplicate keys show inline error.\n */\n\nimport React, { useCallback, useRef, useEffect, useState, useMemo } from 'react';\nimport { z } from 'zod';\nimport { useFormContext } from 'react-hook-form';\n\nimport { FormFieldChrome } from '../chromes/FormFieldChrome';\nimport { useFormChromeContext } from '../chromes/FormChromeContext';\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 { Button, ButtonVariants_Variant } from '~wildo-frontend-lib/components/actions/button';\nimport { ButtonSize } from '@wildo-ai/presets-components-models';\nimport { cn } from '~wildo-frontend-lib/core/ui/cn';\nimport { FieldDescription as ContentSectionDescription } from '~wildo-frontend-lib/components/form/chromes/field';\nimport {\n ContentSection,\n ContentSectionLegend,\n ContentSectionGroup,\n} from '~wildo-frontend-lib/components/sections/content-section';\nimport { Input } from '~wildo-frontend-lib/components/form/controls/input';\n\nimport { FormField, resolveSurfaceAutoFieldDensity, resolveSurfaceAutoLabelPlacement, resolveSurfaceFormChromeMode } from './FormField';\nimport { DUPLICATE_KEY_ERROR_TYPE } from '../form-context';\nimport { useOptionalAutosave } from './AutosaveContext';\nimport { AutosaveTrigger } from '@wildo-ai/zod-decorators';\nimport { AutomatedLayoutFrontendUtils } from '~wildo-frontend-lib/core/automated-layout/automated-layout.frontend.utils';\nimport { FrontendComponentType, UIBehavior, TypographyVariant } from '@wildo-ai/presets-components-models';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport { useSurfacePolicy } from '~wildo-frontend-lib/core/ui/SurfacePolicyContext';\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\n/**\n * Internal entry for tracking key order and identity.\n * Values are NOT stored here — they live in RHF at `${parentName}.${key}`.\n * `pendingValue` is only used when key is empty (no valid RHF path yet).\n */\ninterface RecordEntry {\n /** Stable React key — never changes for a given entry */\n id: string;\n /** The record key (user-editable) */\n key: string;\n /**\n * Temporary value holder for entries with empty keys.\n * Once a key is set, the value is written to RHF and this field is ignored.\n */\n pendingValue: unknown;\n}\n\nexport interface FormFieldRecordProps {\n name: string;\n schema: z.ZodTypeAny;\n label: string;\n description?: string;\n disabled?: boolean;\n className?: string;\n /** Value schema extracted by caller (getRecordValueSchema or getMapSchemas) */\n valueSchema: z.ZodTypeAny;\n /**\n * Key schema for z.map() types. When provided, keys are validated against it.\n * For z.record(), this is null (keys are always strings).\n */\n keySchema?: z.ZodTypeAny | null;\n}\n\n// =============================================================================\n// HELPERS\n// =============================================================================\n\nlet entryIdCounter = 0;\nfunction generateEntryId(): string {\n return `kv-${++entryIdCounter}-${Date.now()}`;\n}\n\n\n/**\n * Initialize entries from an existing RHF record value.\n * Preserves insertion order from Object.entries.\n */\nfunction recordToEntries(record: unknown): RecordEntry[] {\n if (!record || typeof record !== 'object') {\n return [];\n }\n\n return Object.entries(record as Record<string, unknown>).map(([key]) => ({\n id: generateEntryId(),\n key,\n pendingValue: undefined, // Value is already in RHF\n }));\n}\n\n/**\n * Build a record object from entries, reading current values from RHF.\n *\n * @param entries - Current entries list\n * @param parentName - RHF field path for the record (e.g., \"metadata\")\n * @param getValues - RHF getValues function\n * @param valueOverrides - Map of entryId → value for entries where RHF doesn't\n * have the right value yet (e.g., key renames, new entries)\n */\nfunction buildRecord(\n entries: RecordEntry[],\n parentName: string,\n getValues: (path: string) => unknown,\n valueOverrides?: Map<string, unknown>,\n): Record<string, unknown> {\n const record: Record<string, unknown> = {};\n\n for (const entry of entries) {\n const trimmedKey = entry.key.trim();\n if (trimmedKey === '') continue;\n\n // Use override if provided (key rename or new entry), otherwise read from RHF\n if (valueOverrides?.has(entry.id)) {\n record[trimmedKey] = valueOverrides.get(entry.id);\n } else {\n const rhfValue = getValues(`${parentName}.${trimmedKey}`);\n record[trimmedKey] = rhfValue !== undefined ? rhfValue : entry.pendingValue;\n }\n }\n\n return record;\n}\n\n// =============================================================================\n// KEY-VALUE ROW\n// =============================================================================\n\ninterface KeyValueRowProps {\n entry: RecordEntry;\n index: number;\n valueSchema: z.ZodTypeAny;\n parentName: string;\n disabled?: boolean;\n canRemove: boolean;\n keyError?: string;\n onKeyChange: (id: string, newKey: string) => void;\n onRemove: (id: string) => void;\n keyLabel: string;\n valueLabel: string;\n emptyKeyPlaceholder: string;\n renderIcon: ReturnType<typeof useIconRegistry>['renderIcon'];\n}\n\nfunction KeyValueRow({\n entry,\n index,\n valueSchema,\n parentName,\n disabled,\n canRemove,\n keyError,\n onKeyChange,\n onRemove,\n keyLabel,\n valueLabel,\n emptyKeyPlaceholder,\n renderIcon,\n}: KeyValueRowProps): React.JSX.Element {\n const { getRecipe } = useUI();\n const descriptionRecipe = getRecipe(UIBehavior.TYPOGRAPHY, TypographyVariant.DESCRIPTION);\n const { formChromeMode, sectionChromeMode } = useFormChromeContext();\n const surfacePolicy = useSurfacePolicy();\n const resolvedChromeMode = sectionChromeMode ?? formChromeMode ?? resolveSurfaceFormChromeMode(surfacePolicy.autoRender?.autoFieldChrome);\n const resolvedLabelPlacement = resolveSurfaceAutoLabelPlacement(surfacePolicy.autoRender?.autoLabelPlacement);\n const resolvedControlSize = resolveSurfaceAutoFieldDensity(surfacePolicy.autoRender?.autoFieldDensity);\n const hideInlineErrorForPolicy = surfacePolicy.autoRender?.autoErrorPlacement === 'summary-at-surface-top';\n\n const handleKeyInputChange = useCallback((newKey: string) => {\n onKeyChange(entry.id, newKey);\n }, [entry.id, onKeyChange]);\n\n const hasKey = entry.key.trim() !== '';\n\n return (\n <div\n className=\"relative rounded-lg border border-border p-card\"\n data-testid={`record-entry-${index}`}\n >\n {/* Remove button - top right */}\n {canRemove && (\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.GHOST}\n size={ButtonSize.ICON}\n onClick={() => onRemove(entry.id)}\n disabled={disabled}\n className=\"absolute -top-3 end-3 h-6 w-6 bg-background\"\n aria-label={`Remove entry ${entry.key || index + 1}`}\n >\n {renderIcon(StandardIconReference.CLOSE, { size: IconSize.SM })}\n </Button>\n )}\n\n <div className=\"pt-item space-y-field\">\n {/* Key input */}\n <FormFieldChrome\n mode={resolvedChromeMode}\n label={keyLabel}\n error={keyError}\n labelPlacement={resolvedLabelPlacement}\n hideError={hideInlineErrorForPolicy}\n fieldName={`${parentName}.__key_${entry.id}`}\n disabled={disabled}\n >\n <Input\n schema={z.string()}\n name={`${parentName}.__key_${entry.id}`}\n value={entry.key}\n onChange={(v: string | number) => handleKeyInputChange(String(v))}\n disabled={disabled}\n controlSize={resolvedControlSize}\n />\n </FormFieldChrome>\n\n {/* Value — always rendered via FormField for full infrastructure support */}\n {hasKey ? (\n <FormField\n name={`${parentName}.${entry.key}`}\n schema={valueSchema}\n label={valueLabel}\n disabled={disabled}\n />\n ) : (\n <p className={cn(descriptionRecipe.base, \"py-card-sm px-card-sm rounded-md border border-dashed border-border\")}>\n {emptyKeyPlaceholder}\n </p>\n )}\n </div>\n </div>\n );\n}\n\n// =============================================================================\n// MAIN COMPONENT\n// =============================================================================\n\n/**\n * Renders fields for z.record() and z.map() schemas.\n *\n * Entries track key order and identity. Values live in RHF,\n * rendered by FormField at `${name}.${key}` for full infrastructure support.\n */\nfunction FormFieldRecordComponent({\n name,\n schema,\n label,\n description,\n disabled,\n className,\n valueSchema,\n keySchema,\n}: FormFieldRecordProps): React.JSX.Element | null {\n const { setValue, getValues, trigger, setError, clearErrors, getFieldState, formState } = useFormContext();\n const { renderIcon } = useIconRegistry();\n const autosaveContext = useOptionalAutosave();\n const { tComponent, isReady } = useI18n({ component: FrontendComponentType.LOW_LEVEL_FORM_MESSAGE });\n const { getRecipe } = useUI();\n const descriptionRecipe = getRecipe(UIBehavior.TYPOGRAPHY, TypographyVariant.DESCRIPTION);\n\n // Resolve i18n labels\n const addLabel = tComponent(FrontendComponentType.LOW_LEVEL_FORM_MESSAGE, 'recordAddEntry');\n const keyLabel = tComponent(FrontendComponentType.LOW_LEVEL_FORM_MESSAGE, 'recordKeyLabel');\n const valueLabel = tComponent(FrontendComponentType.LOW_LEVEL_FORM_MESSAGE, 'recordValueLabel');\n const emptyMessage = tComponent(FrontendComponentType.LOW_LEVEL_FORM_MESSAGE, 'recordEmptyMessage');\n const duplicateKeyMessage = tComponent(FrontendComponentType.LOW_LEVEL_FORM_MESSAGE, 'recordDuplicateKey');\n const emptyKeyPlaceholder = tComponent(FrontendComponentType.LOW_LEVEL_FORM_MESSAGE, 'recordEnterKeyFirst');\n\n // Track mounted state to prevent operations after unmount\n const mountedRef = useRef(true);\n useEffect(() => {\n return () => { mountedRef.current = false; };\n }, []);\n\n // Internal entries state — tracks key order and identity only.\n // Initialized from the current RHF record value.\n const [entries, setEntries] = useState<RecordEntry[]>(() => {\n const currentValue = getValues(name);\n return recordToEntries(currentValue);\n });\n\n // Compute duplicate keys for validation display\n const duplicateKeys = useMemo(() => {\n const keyCounts = new Map<string, number>();\n for (const entry of entries) {\n const trimmed = entry.key.trim();\n if (trimmed !== '') {\n keyCounts.set(trimmed, (keyCounts.get(trimmed) || 0) + 1);\n }\n }\n const duplicates = new Set<string>();\n for (const [key, count] of keyCounts) {\n if (count > 1) duplicates.add(key);\n }\n return duplicates;\n }, [entries]);\n\n useEffect(() => {\n if (duplicateKeys.size > 0) {\n setError(name, { type: DUPLICATE_KEY_ERROR_TYPE, message: duplicateKeyMessage });\n } else {\n const currentError = getFieldState(name, formState).error;\n if (currentError?.type === DUPLICATE_KEY_ERROR_TYPE) {\n clearErrors(name);\n }\n }\n }, [duplicateKeys, name, setError, clearErrors, getFieldState, formState, duplicateKeyMessage]);\n\n /**\n * Sync the record structure to RHF.\n * Reads current values from RHF for each entry, optionally overriding specific entries.\n */\n const syncRecordToRHF = useCallback((\n updatedEntries: RecordEntry[],\n valueOverrides?: Map<string, unknown>,\n ) => {\n // field-clearing: N/A — a record clears to `{}`, which is a VALUE, not an absence.\n const record = buildRecord(updatedEntries, name, getValues, valueOverrides);\n setValue(name, record, { shouldDirty: true, shouldValidate: true });\n\n if (autosaveContext) {\n autosaveContext.triggerSave(name, record, AutosaveTrigger.DEBOUNCE);\n }\n\n setTimeout(() => {\n if (mountedRef.current) {\n trigger(name);\n }\n }, 0);\n }, [name, setValue, getValues, trigger, autosaveContext]);\n\n /**\n * Handle key change.\n * Reads the value from the old RHF path and writes it to the new key.\n */\n const handleKeyChange = useCallback((id: string, newKey: string) => {\n setEntries(prev => {\n const entry = prev.find(e => e.id === id);\n if (!entry) return prev;\n\n const oldKey = entry.key.trim();\n\n // Read value from old RHF path (FormField may have changed it)\n // Fall back to pendingValue for entries that were never committed to RHF\n const currentValue = oldKey !== ''\n ? getValues(`${name}.${oldKey}`)\n : entry.pendingValue;\n\n const updated = prev.map(e =>\n e.id === id ? { ...e, key: newKey, pendingValue: currentValue } : e\n );\n\n // Rebuild the record. Override the renamed entry with the value we just read.\n const overrides = new Map<string, unknown>([[id, currentValue]]);\n syncRecordToRHF(updated, overrides);\n\n return updated;\n });\n }, [name, getValues, syncRecordToRHF]);\n\n // Handle add entry\n const handleAdd = useCallback(() => {\n if (disabled) return;\n\n const newEntry: RecordEntry = {\n id: generateEntryId(),\n key: '',\n pendingValue: AutomatedLayoutFrontendUtils.getDefaultValueForSchema(valueSchema),\n };\n\n setEntries(prev => {\n const updated = [...prev, newEntry];\n // Don't sync to RHF yet — entry has empty key, nothing to write\n return updated;\n });\n }, [disabled, valueSchema]);\n\n // Handle remove entry\n const handleRemove = useCallback((id: string) => {\n if (disabled) return;\n\n setEntries(prev => {\n const updated = prev.filter(e => e.id !== id);\n syncRecordToRHF(updated);\n return updated;\n });\n }, [disabled, syncRecordToRHF]);\n\n if (!isReady) return null;\n\n return (\n <ContentSection\n disabled={disabled}\n className={className}\n data-field={name}\n data-testid={`field-record-${name}`}\n >\n <ContentSectionLegend>{label}</ContentSectionLegend>\n {description && <ContentSectionDescription>{description}</ContentSectionDescription>}\n\n <ContentSectionGroup className=\"space-y-field\">\n {entries.map((entry, index) => {\n const keyTrimmed = entry.key.trim();\n const keyError = keyTrimmed !== '' && duplicateKeys.has(keyTrimmed)\n ? duplicateKeyMessage\n : undefined;\n\n return (\n <KeyValueRow\n key={entry.id}\n entry={entry}\n index={index}\n valueSchema={valueSchema}\n parentName={name}\n disabled={disabled}\n canRemove={!disabled}\n keyError={keyError}\n onKeyChange={handleKeyChange}\n onRemove={handleRemove}\n keyLabel={keyLabel}\n valueLabel={valueLabel}\n emptyKeyPlaceholder={emptyKeyPlaceholder}\n renderIcon={renderIcon}\n />\n );\n })}\n\n {/* Add entry button */}\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.OUTLINE}\n onClick={handleAdd}\n disabled={disabled}\n className=\"w-full\"\n >\n {renderIcon(StandardIconReference.PLUS, { size: IconSize.SM, className: \"me-element\" })}\n {addLabel}\n </Button>\n\n {/* Empty state */}\n {entries.length === 0 && (\n <p className={cn(descriptionRecipe.base, \"text-center py-card\")}>\n {emptyMessage}\n </p>\n )}\n </ContentSectionGroup>\n </ContentSection>\n );\n}\n\nFormFieldRecordComponent.displayName = 'FormFieldRecord';\n\nexport const FormFieldRecord: typeof FormFieldRecordComponent & { displayName: string } = FormFieldRecordComponent;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormTemplateContext.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"FormTemplateContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/automated/FormTemplateContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormTemplateContext.js","sourceRoot":"","sources":["../../../../../../src/components/form/automated/FormTemplateContext.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,OAAc,EAAE,aAAa,EAAE,UAAU,EAAW,MAAM,OAAO,CAAC;AAuHlE,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,MAAM,mBAAmB,GAAG,aAAa,CAAkC,IAAI,CAAC,CAAC;AAWjF;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAA6B;IACjF,OAAO,CACL,KAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACvC,QAAQ,GACoB,CAChC,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,GAAG,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,yEAAyE;YACzE,kDAAkD,CACnD,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B;IAC5C,OAAO,UAAU,CAAC,mBAAmB,CAAC,CAAC;AACzC,CAAC","sourcesContent":["/**\n * FormTemplateContext — carries resolved form-level values so skeleton components\n * (FormField in name-only mode, Section, WizardLayout, etc.) can read from context.\n *\n * AutomatedForm provides this context inside the form render tree. Skeleton\n * components and developer-authored templates both read from it via\n * `useFormTemplateContext()` or `useOptionalFormTemplateContext()`.\n *\n * **What this context carries (and where each value comes from):**\n *\n * | Value | Source in AutomatedForm | Template consumer |\n * |------------------------|------------------------------------|-------------------|\n * | schema | `schema` prop | FormField (resolves field schemas by path) |\n * | fieldLabels | `useResourceLabels()` hook | FormField `label` |\n * | fieldDescriptions | `useResourceLabels()` hook | FormField `description` |\n * | fieldTooltips | `useResourceLabels()` hook | FormField `tooltip` |\n * | enumLabels | `useResourceLabels()` hook | FormField `enumLabels` |\n * | sectionLabels | `useResourceLabels()` hook | Section `legend` |\n * | sectionDescriptions | `useResourceLabels()` hook | Section `description` |\n * | groupLabels | `useResourceLabels()` hook | Group `title` |\n * | wizardStepLabels | `useResourceLabels()` hook | WizardLayout step titles |\n * | wizardStepDescriptions | `useResourceLabels()` hook | WizardLayout step descriptions |\n * | readOnly | `readOnly` prop | FormField `readOnly` |\n * | disabled | `disabled` prop | Section `disabled`, FormField |\n * | fileUploadContext | `fileUploadContext` prop | FormField `fileUploadContext` |\n * | contextFieldValues | `contextFieldValues` prop | Generated templates hide context-owned fields |\n * | hiddenFieldNames | upstream wrapper shaping | Generated templates hide wrapper-resolved fields and submit paths prune them |\n * | generatedFieldOverrides| upstream wrapper shaping | Standard `FormField` slots or generated templates replace raw DTO slots |\n * | onSectionSave | `onSectionSave` prop | Section `saveable` handler |\n * | operationType | `operationType` / `operationLike` | Field visibility |\n * | operationRef | `operationRef` prop | Operation-specific field visibility |\n * | isExisting | operationType === 'update' | Template conditional rendering (create vs update) |\n *\n * **Infrastructure responsibility split (template-only architecture):**\n *\n * - Form wrapper / RHF provider: `<Form>` component — not in this context\n * - Error summary: template places `<FormErrorSummarySlot>` explicitly\n * - Section chromeMode: `FormChromeProvider` — not in this context\n * - Discriminator visibility: skeleton `<DiscriminatorSwitch>`\n * - AutoFocus: `FormLayout` skeleton — not in this context\n * - Submit filtering: `wrappedOnSubmit` in AutomatedForm — not in this context\n * - Unsaved changes: `<Form>` wrapper — not in this context\n * - Labels/i18n: **this context** provides resolved labels\n * - data-guidance attributes: FormField handles internally\n *\n * All remaining behaviors (readOnly, disabled, fileUploadContext, onSectionSave,\n * schema, operationType) are carried by **this context**.\n */\n\nimport React, { createContext, useContext, useMemo } from 'react';\nimport type { ReactNode } from 'react';\nimport type { z } from 'zod';\nimport type { FileFieldEndpoints } from '@wildo-ai/zod-decorators';\nimport type { FormOperationType } from '~wildo-frontend-lib/core/automated-layout/automated-layout.frontend.schemas';\nimport type { InheritanceSchemaDefinition } from '~wildo-frontend-lib/core/automated-layout/automated-layout.frontend.schemas';\n\n// =============================================================================\n// CONTEXT VALUE\n// =============================================================================\n\nexport interface FormTemplateContextValue {\n /** Root form schema — enables field schema resolution by name for name-only FormField usage */\n schema: z.ZodTypeAny;\n\n /** Resolved field labels (keyed by field name). Produced by useResourceLabels(). */\n fieldLabels: Record<string, string>;\n\n /** Resolved field descriptions (keyed by field name). Produced by useResourceLabels(). */\n fieldDescriptions: Record<string, string>;\n\n /** Resolved field tooltips (keyed by field name). Produced by useResourceLabels(). */\n fieldTooltips: Record<string, string>;\n\n /**\n * Resolved enum labels per field (keyed by field name → enum value → label).\n * Produced by useResourceLabels().\n */\n enumLabels: Record<string, Record<string, string>>;\n\n /** Resolved section labels (keyed by section ref). Produced by useResourceLabels(). */\n sectionLabels: Record<string, string>;\n\n /** Resolved section descriptions (keyed by section ref). Produced by useResourceLabels(). */\n sectionDescriptions: Record<string, string>;\n\n /** Resolved group labels (keyed by group name). Falls back to sectionLabels if not provided. */\n groupLabels?: Record<string, string>;\n\n /** Resolved wizard step labels (keyed by step ref). Produced by useResourceLabels(). */\n wizardStepLabels: Record<string, string>;\n\n /** Resolved wizard step descriptions (keyed by step ref). Produced by useResourceLabels(). */\n wizardStepDescriptions: Record<string, string>;\n\n /**\n * Form-level read-only flag. When true, all fields should be non-editable\n * but their values are included in submission (unlike disabled).\n */\n readOnly?: boolean;\n\n /** Form-level disabled flag. Fields and sections should be non-interactive. */\n disabled?: boolean;\n\n /**\n * File upload endpoints per file field (keyed by field name).\n * Enables resource-integrated upload/delete for file fields in the template.\n */\n fileUploadContext?: Record<string, FileFieldEndpoints>;\n\n /**\n * Context-derived field values injected by an outer wrapper.\n * These are often parent/context-owned values coming from the active view.\n *\n * Generated templates use this to hide context-owned fields instead of rendering\n * editable controls for values that are already fixed by the active view context.\n */\n contextFieldValues?: Record<string, unknown>;\n\n /**\n * Additional field names that should be hidden from generated templates after\n * upstream wrapper shaping. Unlike `contextFieldValues`, these fields are not\n * auto-injected into submit payloads; they are removed from the generated UI\n * path and pruned from submit/draft payloads by `AutomatedForm`.\n *\n * The generic form layer treats these names as opaque inputs. Resource-aware\n * decisions about which fields belong here should stay in\n * `ResourceAutomatedForm` or another domain-aware wrapper.\n */\n hiddenFieldNames?: string[];\n\n /**\n * Generated-form replacements keyed by top-level field name. This lets the\n * upstream preparation layer replace one field slot with a business-facing\n * control while keeping `FormField` as the standard template slot primitive.\n * The generic form layer mounts the override but does not derive it.\n */\n generatedFieldOverrides?: Record<string, ReactNode>;\n\n /**\n * Callback for saving individual sections (partial updates).\n * Skeleton `<Section saveable>` reads this to implement section-level save.\n */\n onSectionSave?: (\n sectionRef: string,\n fieldNames: string[],\n data: Record<string, unknown>,\n ) => void | Promise<void>;\n\n /**\n * Effective operation type for field visibility rules.\n * Resolves `operationLike || operationType` — used by isHidden/excludeFromCreate/excludeFromUpdate checks.\n */\n operationType?: FormOperationType;\n\n /** Operation ref for operation-specific field visibility (isHidden({ operations: [...] })). */\n operationRef?: string;\n\n /**\n * Whether the form is editing an existing resource (update) or creating a new one.\n * Templates use this for conditional rendering (e.g., hide certain fields on create).\n * Replaces the deleted `LayoutTemplateContext.isExisting`.\n */\n isExisting: boolean;\n\n /** Discriminator metadata for schema-family forms. */\n inheritanceConfig?: InheritanceSchemaDefinition;\n}\n\n// =============================================================================\n// REACT CONTEXT\n// =============================================================================\n\nconst FormTemplateContext = createContext<FormTemplateContextValue | null>(null);\n\n// =============================================================================\n// PROVIDER\n// =============================================================================\n\nexport interface FormTemplateProviderProps {\n value: FormTemplateContextValue;\n children: React.ReactNode;\n}\n\n/**\n * Provides form-level resolved values to the template tree.\n * Placed by AutomatedForm inside the form render tree so that skeleton\n * components can resolve labels, schema, and operation context.\n */\nexport function FormTemplateProvider({ value, children }: FormTemplateProviderProps): React.JSX.Element {\n return (\n <FormTemplateContext.Provider value={value}>\n {children}\n </FormTemplateContext.Provider>\n );\n}\n\n// =============================================================================\n// HOOKS\n// =============================================================================\n\n/**\n * Read the form template context. Throws if not inside a FormTemplateProvider.\n * Use in components that REQUIRE AutomatedForm context (skeleton Section, etc.).\n */\nexport function useFormTemplateContext(): FormTemplateContextValue {\n const ctx = useContext(FormTemplateContext);\n if (!ctx) {\n throw new Error(\n 'useFormTemplateContext() must be used within a <FormTemplateProvider>. ' +\n 'This is provided automatically by AutomatedForm.',\n );\n }\n return ctx;\n}\n\n/**\n * Read the form template context if available, or null when outside AutomatedForm.\n * Use in components that work both standalone and inside AutomatedForm\n * (e.g., FormField can receive explicit props OR resolve from context).\n */\nexport function useOptionalFormTemplateContext(): FormTemplateContextValue | null {\n return useContext(FormTemplateContext);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"FormTemplateContext.js","sourceRoot":"","sources":["../../../../../src/components/form/automated/FormTemplateContext.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,OAAc,EAAE,aAAa,EAAE,UAAU,EAAW,MAAM,OAAO,CAAC;AAuHlE,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,MAAM,mBAAmB,GAAG,aAAa,CAAkC,IAAI,CAAC,CAAC;AAWjF;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAA6B;IACjF,OAAO,CACL,KAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACvC,QAAQ,GACoB,CAChC,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,GAAG,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,yEAAyE;YACzE,kDAAkD,CACnD,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B;IAC5C,OAAO,UAAU,CAAC,mBAAmB,CAAC,CAAC;AACzC,CAAC","sourcesContent":["/**\n * FormTemplateContext — carries resolved form-level values so skeleton components\n * (FormField in name-only mode, Section, WizardLayout, etc.) can read from context.\n *\n * AutomatedForm provides this context inside the form render tree. Skeleton\n * components and developer-authored templates both read from it via\n * `useFormTemplateContext()` or `useOptionalFormTemplateContext()`.\n *\n * **What this context carries (and where each value comes from):**\n *\n * | Value | Source in AutomatedForm | Template consumer |\n * |------------------------|------------------------------------|-------------------|\n * | schema | `schema` prop | FormField (resolves field schemas by path) |\n * | fieldLabels | `useResourceLabels()` hook | FormField `label` |\n * | fieldDescriptions | `useResourceLabels()` hook | FormField `description` |\n * | fieldTooltips | `useResourceLabels()` hook | FormField `tooltip` |\n * | enumLabels | `useResourceLabels()` hook | FormField `enumLabels` |\n * | sectionLabels | `useResourceLabels()` hook | Section `legend` |\n * | sectionDescriptions | `useResourceLabels()` hook | Section `description` |\n * | groupLabels | `useResourceLabels()` hook | Group `title` |\n * | wizardStepLabels | `useResourceLabels()` hook | WizardLayout step titles |\n * | wizardStepDescriptions | `useResourceLabels()` hook | WizardLayout step descriptions |\n * | readOnly | `readOnly` prop | FormField `readOnly` |\n * | disabled | `disabled` prop | Section `disabled`, FormField |\n * | fileUploadContext | `fileUploadContext` prop | FormField `fileUploadContext` |\n * | contextFieldValues | `contextFieldValues` prop | Generated templates hide context-owned fields |\n * | hiddenFieldNames | upstream wrapper shaping | Generated templates hide wrapper-resolved fields and submit paths prune them |\n * | generatedFieldOverrides| upstream wrapper shaping | Standard `FormField` slots or generated templates replace raw DTO slots |\n * | onSectionSave | `onSectionSave` prop | Section `saveable` handler |\n * | operationType | `operationType` / `operationLike` | Field visibility |\n * | operationRef | `operationRef` prop | Operation-specific field visibility |\n * | isExisting | operationType === 'update' | Template conditional rendering (create vs update) |\n *\n * **Infrastructure responsibility split (template-only architecture):**\n *\n * - Form wrapper / RHF provider: `<Form>` component — not in this context\n * - Error summary: template places `<FormErrorSummarySlot>` explicitly\n * - Section chromeMode: `FormChromeProvider` — not in this context\n * - Discriminator visibility: skeleton `<DiscriminatorSwitch>`\n * - AutoFocus: `FormLayout` skeleton — not in this context\n * - Submit filtering: `wrappedOnSubmit` in AutomatedForm — not in this context\n * - Unsaved changes: `<Form>` wrapper — not in this context\n * - Labels/i18n: **this context** provides resolved labels\n * - data-guidance attributes: FormField handles internally\n *\n * All remaining behaviors (readOnly, disabled, fileUploadContext, onSectionSave,\n * schema, operationType) are carried by **this context**.\n */\n\nimport React, { createContext, useContext, useMemo } from 'react';\nimport type { ReactNode } from 'react';\nimport type { z } from 'zod';\nimport type { FileFieldEndpoints } from '@wildo-ai/zod-decorators';\nimport type { FormOperationType } from '~wildo-frontend-lib/core/automated-layout/automated-layout.frontend.schemas';\nimport type { InheritanceSchemaDefinition } from '~wildo-frontend-lib/core/automated-layout/automated-layout.frontend.schemas';\n\n// =============================================================================\n// CONTEXT VALUE\n// =============================================================================\n\nexport interface FormTemplateContextValue {\n /** Root form schema — enables field schema resolution by name for name-only FormField usage */\n schema: z.ZodTypeAny;\n\n /** Resolved field labels (keyed by field name). Produced by useResourceLabels(). */\n fieldLabels: Record<string, string>;\n\n /** Resolved field descriptions (keyed by field name). Produced by useResourceLabels(). */\n fieldDescriptions: Record<string, string>;\n\n /** Resolved field tooltips (keyed by field name). Produced by useResourceLabels(). */\n fieldTooltips: Record<string, string>;\n\n /**\n * Resolved enum labels per field (keyed by field name → enum value → label).\n * Produced by useResourceLabels().\n */\n enumLabels: Record<string, Record<string, string>>;\n\n /** Resolved section labels (keyed by section ref). Produced by useResourceLabels(). */\n sectionLabels: Record<string, string>;\n\n /** Resolved section descriptions (keyed by section ref). Produced by useResourceLabels(). */\n sectionDescriptions: Record<string, string>;\n\n /** Resolved group labels (keyed by group name). Falls back to sectionLabels if not provided. */\n groupLabels?: Record<string, string>;\n\n /** Resolved wizard step labels (keyed by step ref). Produced by useResourceLabels(). */\n wizardStepLabels: Record<string, string>;\n\n /** Resolved wizard step descriptions (keyed by step ref). Produced by useResourceLabels(). */\n wizardStepDescriptions: Record<string, string>;\n\n /**\n * Form-level read-only flag. When true, all fields should be non-editable\n * but their values are included in submission (unlike disabled).\n */\n readOnly?: boolean;\n\n /** Form-level disabled flag. Fields and sections should be non-interactive. */\n disabled?: boolean;\n\n /**\n * File upload endpoints per file field (keyed by field name).\n * Enables resource-integrated upload/delete for file fields in the template.\n */\n fileUploadContext?: Record<string, FileFieldEndpoints>;\n\n /**\n * Context-derived field values injected by an outer wrapper.\n * These are often parent/context-owned values coming from the active view.\n *\n * Generated templates use this to hide context-owned fields instead of rendering\n * editable controls for values that are already fixed by the active view context.\n */\n contextFieldValues?: Record<string, unknown>;\n\n /**\n * Additional field names that should be hidden from generated templates after\n * upstream wrapper shaping. Unlike `contextFieldValues`, these fields are not\n * auto-injected into submit payloads; they are removed from the generated UI\n * path and pruned from submit/draft payloads by `AutomatedForm`.\n *\n * The generic form layer treats these names as opaque inputs. Resource-aware\n * decisions about which fields belong here should stay in\n * `ResourceAutomatedForm` or another domain-aware wrapper.\n */\n hiddenFieldNames?: string[];\n\n /**\n * Generated-form replacements keyed by top-level field name. This lets the\n * upstream preparation layer replace one field slot with a business-facing\n * control while keeping `FormField` as the standard template slot primitive.\n * The generic form layer mounts the override but does not derive it.\n */\n generatedFieldOverrides?: Record<string, ReactNode>;\n\n /**\n * Callback for saving individual sections (partial updates).\n * Skeleton `<Section saveable>` reads this to implement section-level save.\n */\n onSectionSave?: (\n sectionRef: string,\n fieldNames: string[],\n data: Record<string, unknown>,\n ) => void | Promise<void>;\n\n /**\n * Effective operation type for field visibility rules.\n * Resolves `operationLike || operationType` — used by isHidden/excludeFromCreate/excludeFromUpdate checks.\n */\n operationType?: FormOperationType;\n\n /** Operation ref for operation-specific field visibility (isHidden({ operations: [...] })). */\n operationRef?: string;\n\n /**\n * Whether the form is editing an existing resource (update) or creating a new one.\n * Templates use this for conditional rendering (e.g., hide certain fields on create).\n * Replaces the deleted `LayoutTemplateContext.isExisting`.\n */\n isExisting: boolean;\n\n /** Discriminator metadata for schema-family forms. */\n inheritanceConfig?: InheritanceSchemaDefinition;\n}\n\n// =============================================================================\n// REACT CONTEXT\n// =============================================================================\n\nconst FormTemplateContext = createContext<FormTemplateContextValue | null>(null);\n\n// =============================================================================\n// PROVIDER\n// =============================================================================\n\nexport interface FormTemplateProviderProps {\n value: FormTemplateContextValue;\n children: React.ReactNode;\n}\n\n/**\n * Provides form-level resolved values to the template tree.\n * Placed by AutomatedForm inside the form render tree so that skeleton\n * components can resolve labels, schema, and operation context.\n */\nexport function FormTemplateProvider({ value, children }: FormTemplateProviderProps): React.JSX.Element {\n return (\n <FormTemplateContext.Provider value={value}>\n {children}\n </FormTemplateContext.Provider>\n );\n}\n\n// =============================================================================\n// HOOKS\n// =============================================================================\n\n/**\n * Read the form template context. Throws if not inside a FormTemplateProvider.\n * Use in components that REQUIRE AutomatedForm context (skeleton Section, etc.).\n */\nexport function useFormTemplateContext(): FormTemplateContextValue {\n const ctx = useContext(FormTemplateContext);\n if (!ctx) {\n throw new Error(\n 'useFormTemplateContext() must be used within a <FormTemplateProvider>. ' +\n 'This is provided automatically by AutomatedForm.',\n );\n }\n return ctx;\n}\n\n/**\n * Read the form template context if available, or null when outside AutomatedForm.\n * Use in components that work both standalone and inside AutomatedForm\n * (e.g., FormField can receive explicit props OR resolve from context).\n */\nexport function useOptionalFormTemplateContext(): FormTemplateContextValue | null {\n return useContext(FormTemplateContext);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeneratedAssociationRelationshipField.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"GeneratedAssociationRelationshipField.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/automated/GeneratedAssociationRelationshipField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAazE,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,+DAA+D,CAAC;AAC7H,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gEAAgE,CAAC;AAE9G,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,gFAAgF,CAAC;AAmBzI,MAAM,WAAW,0CAA0C;IACzD,YAAY,EAAE,kCAAkC,CAAC;IACjD,gBAAgB,EAAE,uCAAuC,CAAC;IAC1D,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,GAAG,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACrC,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC;AAED,wBAAgB,qCAAqC,CAAC,EACpD,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,uBAA+B,EAC/B,GAAG,EACH,4BAAoC,GACrC,EAAE,0CAA0C,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAmUvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeneratedAssociationRelationshipField.js","sourceRoot":"","sources":["../../../../../../src/components/form/automated/GeneratedAssociationRelationshipField.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { z } from 'zod';\nimport {\n ResourcesConfig_OperationPathUtils,\n} from '@wildo-ai/saas-models';\nimport {\n ButtonSize,\n} from '@wildo-ai/presets-components-models';\nimport {\n FieldSchemaType,\n getSchemaType,\n} from '@wildo-ai/zod-decorators';\nimport { Button, ButtonVariants_Variant } from '~wildo-frontend-lib/components/actions/button';\nimport type { FrontendResourceConfiguration_Operation } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport type { ResourceMutationManager } from '~wildo-frontend-lib/core/resources/rmm/ResourceMutationManager';\nimport { MutationErrorType, MutationPriority, MutationSourceType, MutationType } from '~wildo-frontend-lib/core/resources/rmm/types';\nimport type { RelationshipWriteSurfaceDescriptor } from '~wildo-frontend-lib/core/resources/relationship-surface-runtime.frontend.utils';\nimport { ResourceFieldEdit_ResourceReference } from '~wildo-frontend-lib/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference';\nimport {\n resolveGeneratedRelationshipFieldSchema,\n} from './generated-relationship-field.utils';\nimport {\n GeneratedRelationshipFieldFrame,\n} from './generated-relationship-field.shared';\nimport {\n buildGeneratedRelationshipMutationContext,\n warnGeneratedRelationshipActionFailure,\n} from './generated-relationship-field.helpers';\nimport {\n useGeneratedRelationshipFieldCommon,\n useWarnWhenGeneratedRelationshipRmmUnavailable,\n} from './generated-relationship-field.hooks';\nimport { normalizeResourceReferenceSelectionValue } from '~wildo-frontend-lib/components/resources-fields/resource-reference/resource-reference.shared.utils';\nimport { buildBulkOperationSelectorPayload } from '~wildo-frontend-lib/core/resources/operation-semantics.frontend.utils';\n\nexport interface GeneratedAssociationRelationshipFieldProps {\n writeSurface: RelationshipWriteSurfaceDescriptor;\n replaceOperation: FrontendResourceConfiguration_Operation;\n initialRelationshipValue?: unknown;\n hasHydratedInitialValue?: boolean;\n rmm?: ResourceMutationManager | null;\n allowDirectOperationFallback?: boolean;\n}\n\nexport function GeneratedAssociationRelationshipField({\n writeSurface,\n replaceOperation,\n initialRelationshipValue,\n hasHydratedInitialValue = false,\n rmm,\n allowDirectOperationFallback = false,\n}: GeneratedAssociationRelationshipFieldProps): React.JSX.Element | null {\n const fieldName = writeSurface.rootFieldName;\n const relatedResourceType = writeSurface.relatedResourceType;\n const {\n formContext,\n formSchemaContext,\n registry,\n doOperation,\n fieldSchema,\n resolvedChromeMode,\n resolvedLabelPlacement,\n resolvedControlSize,\n hideInlineErrorForPolicy,\n fieldLabel,\n fieldDescription,\n fieldTooltip,\n disabled,\n readOnly,\n labels: {\n saveLabel,\n savingLabel,\n clearLabel,\n saveFailedLabel,\n saveConflictLabel,\n saveUnavailableLabel,\n },\n } = useGeneratedRelationshipFieldCommon({ fieldName });\n\n const relatedFieldIdentifier = registry.allResourceFieldIdentifiers?.[relatedResourceType];\n const relationshipFieldValue = formContext.watch(fieldName);\n const resolvedRelationshipValue = relationshipFieldValue ?? initialRelationshipValue;\n const isMultiple = fieldSchema ? getSchemaType(fieldSchema) === FieldSchemaType.ARRAY : true;\n const hasKnownRelationshipBaseline = hasHydratedInitialValue || relationshipFieldValue !== undefined;\n\n const currentPeerObjects = useMemo(() => {\n const objects = new Map<string, Record<string, unknown>>();\n if (!relatedFieldIdentifier || !resolvedRelationshipValue) {\n return objects;\n }\n\n const rawValues = Array.isArray(resolvedRelationshipValue)\n ? resolvedRelationshipValue\n : [resolvedRelationshipValue];\n\n for (const rawValue of rawValues) {\n if (!rawValue || typeof rawValue !== 'object' || Array.isArray(rawValue)) {\n continue;\n }\n\n const entry = rawValue as Record<string, unknown>;\n const id = entry[relatedFieldIdentifier];\n if (typeof id === 'string' && id !== '') {\n objects.set(id, entry);\n }\n }\n\n return objects;\n }, [relatedFieldIdentifier, resolvedRelationshipValue]);\n\n const currentPeerIds = useMemo(() => [...currentPeerObjects.keys()], [currentPeerObjects]);\n const [pendingValue, setPendingValue] = useState<string | string[] | undefined>(undefined);\n const [isPending, setIsPending] = useState(false);\n const [actionError, setActionError] = useState<string | undefined>(undefined);\n\n useEffect(() => {\n setPendingValue(undefined);\n setIsPending(false);\n setActionError(undefined);\n }, [fieldName, formSchemaContext.resourceId]);\n\n useEffect(() => {\n setPendingValue(undefined);\n setIsPending(false);\n setActionError(undefined);\n }, [currentPeerIds.join('|')]);\n\n const effectiveValue = pendingValue ?? (\n isMultiple\n ? currentPeerIds\n : currentPeerIds[0]\n );\n const desiredPeerIds = useMemo(\n () => [...new Set(normalizeResourceReferenceSelectionValue(effectiveValue))],\n [effectiveValue],\n );\n const isUnavailable = (!rmm && !allowDirectOperationFallback) || !hasKnownRelationshipBaseline;\n\n const hasDiff = useMemo(() => {\n if (desiredPeerIds.length !== currentPeerIds.length) {\n return true;\n }\n\n const currentSet = new Set(currentPeerIds);\n return desiredPeerIds.some((peerId) => !currentSet.has(peerId));\n }, [currentPeerIds, desiredPeerIds]);\n\n const rmmWarningContext = useMemo(() => ({ fieldName }), [fieldName]);\n useWarnWhenGeneratedRelationshipRmmUnavailable({\n rmm,\n allowsDirectOperationFallback: allowDirectOperationFallback,\n componentName: 'GeneratedAssociationRelationshipField',\n context: rmmWarningContext,\n });\n\n const handleSelectionChange = useCallback((nextValue: string | string[] | undefined) => {\n if (!hasKnownRelationshipBaseline) {\n return;\n }\n setPendingValue(nextValue);\n setActionError(undefined);\n }, [hasKnownRelationshipBaseline]);\n\n const handleClearSelection = useCallback(() => {\n if (!hasKnownRelationshipBaseline) {\n return;\n }\n setPendingValue(isMultiple ? [] : undefined);\n setActionError(undefined);\n }, [hasKnownRelationshipBaseline, isMultiple]);\n\n const savePeerIds = useCallback(async (nextPeerIds: string[]) => {\n if (\n !hasKnownRelationshipBaseline ||\n !formSchemaContext.resourceId ||\n !formSchemaContext.resourceType ||\n !relatedFieldIdentifier ||\n !(\n nextPeerIds.length !== currentPeerIds.length ||\n nextPeerIds.some((peerId) => !new Set(currentPeerIds).has(peerId))\n )\n ) {\n return;\n }\n if (!rmm && !allowDirectOperationFallback) {\n setActionError(saveUnavailableLabel);\n return;\n }\n\n setIsPending(true);\n setActionError(undefined);\n\n try {\n const {\n contextualParameters,\n parentResourcesRequirements,\n } = buildGeneratedRelationshipMutationContext({\n formSchemaContext,\n registry,\n });\n const nextObjects = nextPeerIds.map((peerId) =>\n currentPeerObjects.get(peerId) ?? { [relatedFieldIdentifier]: peerId },\n );\n\n const operationPathKey = ResourcesConfig_OperationPathUtils.createOperationPathKeyFromOperation(replaceOperation);\n const requestData = {\n ...buildBulkOperationSelectorPayload([formSchemaContext.resourceId]),\n peerIds: nextPeerIds,\n };\n if (rmm) {\n // Associations use the same shared RMM queue, but with a bulk REPLACE\n // transport override because the authoritative write contract is the\n // relationship operation rather than the wrapper's default update lane.\n const mutationResult = await rmm.queueMutation(\n {\n // FIELD-CLEARING CONTRACT — a cleared SINGLE association is the framework's cleared\n // sentinel (`null`), not `undefined`, so `_applyConfirmedClears` can see it: the\n // read-back OMITS a cleared key, and an absent key overwrites nothing in the merge.\n // A cleared MULTIPLE association is `[]`, which is a VALUE rather than an absence and\n // therefore needs no sentinel.\n [fieldName]: isMultiple ? nextObjects : (nextObjects[0] ?? null),\n },\n {\n type: MutationType.CUSTOM,\n priority: MutationPriority.NORMAL,\n source: { type: MutationSourceType.FORM, subscriberId: `generated-association:${fieldName}` },\n transportOverride: {\n operationPathKey,\n contextualParameters,\n parentResourcesRequirements,\n requestData,\n readBackOnSuccess: true,\n },\n },\n );\n if (!mutationResult.success) {\n setActionError(\n mutationResult.error?.type === MutationErrorType.CONFLICT\n ? saveConflictLabel\n : saveFailedLabel,\n );\n return;\n }\n } else {\n await doOperation(operationPathKey, {\n contextualParameters,\n parentResourcesRequirements,\n requestData,\n });\n }\n\n // Mirror the completed authoritative write into form state without\n // re-dirtying the field. The queue/read-back path already owns confirmed\n // server truth.\n formContext.setValue(\n fieldName,\n // `null` for a cleared single association — same reason as the queued mutation above, and\n // react-hook-form reserves `undefined` for \"fall back to defaultValue\".\n isMultiple ? nextObjects : (nextObjects[0] ?? null),\n {\n shouldDirty: false,\n shouldValidate: false,\n },\n );\n setPendingValue(undefined);\n } catch (error) {\n warnGeneratedRelationshipActionFailure({\n componentName: 'GeneratedAssociationRelationshipField',\n message: 'Failed to update association relationship',\n context: {\n fieldName,\n action: 'save',\n desiredPeerIds: nextPeerIds,\n error,\n },\n });\n setActionError(saveFailedLabel);\n } finally {\n setIsPending(false);\n }\n }, [\n allowDirectOperationFallback,\n currentPeerIds,\n currentPeerObjects,\n doOperation,\n fieldName,\n formContext,\n formSchemaContext.contextResourceIdentifiers,\n formSchemaContext.parentResourcesRequirements,\n formSchemaContext.resourceId,\n formSchemaContext.resourceType,\n hasKnownRelationshipBaseline,\n hasDiff,\n isMultiple,\n replaceOperation,\n registry,\n relatedFieldIdentifier,\n saveFailedLabel,\n saveUnavailableLabel,\n rmm,\n ]);\n\n const executeSave = useCallback(async () => {\n await savePeerIds(desiredPeerIds);\n }, [desiredPeerIds, savePeerIds]);\n\n if (!fieldSchema || !relatedFieldIdentifier) {\n return null;\n }\n\n return (\n <GeneratedRelationshipFieldFrame\n fieldName={fieldName}\n resolvedChromeMode={resolvedChromeMode}\n resolvedLabelPlacement={resolvedLabelPlacement}\n resolvedControlSize={resolvedControlSize}\n hideInlineErrorForPolicy={hideInlineErrorForPolicy}\n fieldLabel={fieldLabel}\n fieldDescription={fieldDescription}\n fieldTooltip={fieldTooltip}\n disabled={disabled}\n actionError={actionError}\n unavailableLabel={saveUnavailableLabel}\n isUnavailable={isUnavailable}\n controls={(\n <ResourceFieldEdit_ResourceReference\n schema={isMultiple ? z.array(z.string()).optional() : z.string().optional()}\n name={fieldName}\n quickCreateSourceFieldName={writeSurface.quickCreate ? fieldName : undefined}\n value={effectiveValue}\n onChange={handleSelectionChange}\n targetResourceType={relatedResourceType}\n onQuickCreateCreated={(createdId) => {\n const nextPeerIds = [...new Set([...desiredPeerIds, createdId])];\n setPendingValue(isMultiple ? nextPeerIds : createdId);\n setActionError(undefined);\n void savePeerIds(nextPeerIds);\n }}\n onBlur={() => {}}\n disabled={disabled || readOnly || isPending || isUnavailable}\n readOnly={readOnly}\n controlSize={resolvedControlSize}\n required={false}\n autoFocus={undefined}\n />\n )}\n actions={(\n <>\n <Button\n type=\"button\"\n size={ButtonSize.SM}\n className=\"shrink-0\"\n disabled={!hasDiff || isPending || readOnly || isUnavailable}\n onClick={() => {\n void executeSave();\n }}\n >\n {isPending ? savingLabel : saveLabel}\n </Button>\n\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.OUTLINE}\n size={ButtonSize.SM}\n className=\"shrink-0\"\n disabled={desiredPeerIds.length === 0 || isPending || readOnly || isUnavailable}\n onClick={handleClearSelection}\n >\n {clearLabel}\n </Button>\n </>\n )}\n />\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"GeneratedAssociationRelationshipField.js","sourceRoot":"","sources":["../../../../../src/components/form/automated/GeneratedAssociationRelationshipField.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { z } from 'zod';\nimport {\n ResourcesConfig_OperationPathUtils,\n} from '@wildo-ai/saas-models';\nimport {\n ButtonSize,\n} from '@wildo-ai/presets-components-models';\nimport {\n FieldSchemaType,\n getSchemaType,\n} from '@wildo-ai/zod-decorators';\nimport { Button, ButtonVariants_Variant } from '~wildo-frontend-lib/components/actions/button';\nimport type { FrontendResourceConfiguration_Operation } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport type { ResourceMutationManager } from '~wildo-frontend-lib/core/resources/rmm/ResourceMutationManager';\nimport { MutationErrorType, MutationPriority, MutationSourceType, MutationType } from '~wildo-frontend-lib/core/resources/rmm/types';\nimport type { RelationshipWriteSurfaceDescriptor } from '~wildo-frontend-lib/core/resources/relationship-surface-runtime.frontend.utils';\nimport { ResourceFieldEdit_ResourceReference } from '~wildo-frontend-lib/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference';\nimport {\n resolveGeneratedRelationshipFieldSchema,\n} from './generated-relationship-field.utils';\nimport {\n GeneratedRelationshipFieldFrame,\n} from './generated-relationship-field.shared';\nimport {\n buildGeneratedRelationshipMutationContext,\n warnGeneratedRelationshipActionFailure,\n} from './generated-relationship-field.helpers';\nimport {\n useGeneratedRelationshipFieldCommon,\n useWarnWhenGeneratedRelationshipRmmUnavailable,\n} from './generated-relationship-field.hooks';\nimport { normalizeResourceReferenceSelectionValue } from '~wildo-frontend-lib/components/resources-fields/resource-reference/resource-reference.shared.utils';\nimport { buildBulkOperationSelectorPayload } from '~wildo-frontend-lib/core/resources/operation-semantics.frontend.utils';\n\nexport interface GeneratedAssociationRelationshipFieldProps {\n writeSurface: RelationshipWriteSurfaceDescriptor;\n replaceOperation: FrontendResourceConfiguration_Operation;\n initialRelationshipValue?: unknown;\n hasHydratedInitialValue?: boolean;\n rmm?: ResourceMutationManager | null;\n allowDirectOperationFallback?: boolean;\n}\n\nexport function GeneratedAssociationRelationshipField({\n writeSurface,\n replaceOperation,\n initialRelationshipValue,\n hasHydratedInitialValue = false,\n rmm,\n allowDirectOperationFallback = false,\n}: GeneratedAssociationRelationshipFieldProps): React.JSX.Element | null {\n const fieldName = writeSurface.rootFieldName;\n const relatedResourceType = writeSurface.relatedResourceType;\n const {\n formContext,\n formSchemaContext,\n registry,\n doOperation,\n fieldSchema,\n resolvedChromeMode,\n resolvedLabelPlacement,\n resolvedControlSize,\n hideInlineErrorForPolicy,\n fieldLabel,\n fieldDescription,\n fieldTooltip,\n disabled,\n readOnly,\n labels: {\n saveLabel,\n savingLabel,\n clearLabel,\n saveFailedLabel,\n saveConflictLabel,\n saveUnavailableLabel,\n },\n } = useGeneratedRelationshipFieldCommon({ fieldName });\n\n const relatedFieldIdentifier = registry.allResourceFieldIdentifiers?.[relatedResourceType];\n const relationshipFieldValue = formContext.watch(fieldName);\n const resolvedRelationshipValue = relationshipFieldValue ?? initialRelationshipValue;\n const isMultiple = fieldSchema ? getSchemaType(fieldSchema) === FieldSchemaType.ARRAY : true;\n const hasKnownRelationshipBaseline = hasHydratedInitialValue || relationshipFieldValue !== undefined;\n\n const currentPeerObjects = useMemo(() => {\n const objects = new Map<string, Record<string, unknown>>();\n if (!relatedFieldIdentifier || !resolvedRelationshipValue) {\n return objects;\n }\n\n const rawValues = Array.isArray(resolvedRelationshipValue)\n ? resolvedRelationshipValue\n : [resolvedRelationshipValue];\n\n for (const rawValue of rawValues) {\n if (!rawValue || typeof rawValue !== 'object' || Array.isArray(rawValue)) {\n continue;\n }\n\n const entry = rawValue as Record<string, unknown>;\n const id = entry[relatedFieldIdentifier];\n if (typeof id === 'string' && id !== '') {\n objects.set(id, entry);\n }\n }\n\n return objects;\n }, [relatedFieldIdentifier, resolvedRelationshipValue]);\n\n const currentPeerIds = useMemo(() => [...currentPeerObjects.keys()], [currentPeerObjects]);\n const [pendingValue, setPendingValue] = useState<string | string[] | undefined>(undefined);\n const [isPending, setIsPending] = useState(false);\n const [actionError, setActionError] = useState<string | undefined>(undefined);\n\n useEffect(() => {\n setPendingValue(undefined);\n setIsPending(false);\n setActionError(undefined);\n }, [fieldName, formSchemaContext.resourceId]);\n\n useEffect(() => {\n setPendingValue(undefined);\n setIsPending(false);\n setActionError(undefined);\n }, [currentPeerIds.join('|')]);\n\n const effectiveValue = pendingValue ?? (\n isMultiple\n ? currentPeerIds\n : currentPeerIds[0]\n );\n const desiredPeerIds = useMemo(\n () => [...new Set(normalizeResourceReferenceSelectionValue(effectiveValue))],\n [effectiveValue],\n );\n const isUnavailable = (!rmm && !allowDirectOperationFallback) || !hasKnownRelationshipBaseline;\n\n const hasDiff = useMemo(() => {\n if (desiredPeerIds.length !== currentPeerIds.length) {\n return true;\n }\n\n const currentSet = new Set(currentPeerIds);\n return desiredPeerIds.some((peerId) => !currentSet.has(peerId));\n }, [currentPeerIds, desiredPeerIds]);\n\n const rmmWarningContext = useMemo(() => ({ fieldName }), [fieldName]);\n useWarnWhenGeneratedRelationshipRmmUnavailable({\n rmm,\n allowsDirectOperationFallback: allowDirectOperationFallback,\n componentName: 'GeneratedAssociationRelationshipField',\n context: rmmWarningContext,\n });\n\n const handleSelectionChange = useCallback((nextValue: string | string[] | undefined) => {\n if (!hasKnownRelationshipBaseline) {\n return;\n }\n setPendingValue(nextValue);\n setActionError(undefined);\n }, [hasKnownRelationshipBaseline]);\n\n const handleClearSelection = useCallback(() => {\n if (!hasKnownRelationshipBaseline) {\n return;\n }\n setPendingValue(isMultiple ? [] : undefined);\n setActionError(undefined);\n }, [hasKnownRelationshipBaseline, isMultiple]);\n\n const savePeerIds = useCallback(async (nextPeerIds: string[]) => {\n if (\n !hasKnownRelationshipBaseline ||\n !formSchemaContext.resourceId ||\n !formSchemaContext.resourceType ||\n !relatedFieldIdentifier ||\n !(\n nextPeerIds.length !== currentPeerIds.length ||\n nextPeerIds.some((peerId) => !new Set(currentPeerIds).has(peerId))\n )\n ) {\n return;\n }\n if (!rmm && !allowDirectOperationFallback) {\n setActionError(saveUnavailableLabel);\n return;\n }\n\n setIsPending(true);\n setActionError(undefined);\n\n try {\n const {\n contextualParameters,\n parentResourcesRequirements,\n } = buildGeneratedRelationshipMutationContext({\n formSchemaContext,\n registry,\n });\n const nextObjects = nextPeerIds.map((peerId) =>\n currentPeerObjects.get(peerId) ?? { [relatedFieldIdentifier]: peerId },\n );\n\n const operationPathKey = ResourcesConfig_OperationPathUtils.createOperationPathKeyFromOperation(replaceOperation);\n const requestData = {\n ...buildBulkOperationSelectorPayload([formSchemaContext.resourceId]),\n peerIds: nextPeerIds,\n };\n if (rmm) {\n // Associations use the same shared RMM queue, but with a bulk REPLACE\n // transport override because the authoritative write contract is the\n // relationship operation rather than the wrapper's default update lane.\n const mutationResult = await rmm.queueMutation(\n {\n // FIELD-CLEARING CONTRACT — a cleared SINGLE association is the framework's cleared\n // sentinel (`null`), not `undefined`, so `_applyConfirmedClears` can see it: the\n // read-back OMITS a cleared key, and an absent key overwrites nothing in the merge.\n // A cleared MULTIPLE association is `[]`, which is a VALUE rather than an absence and\n // therefore needs no sentinel.\n [fieldName]: isMultiple ? nextObjects : (nextObjects[0] ?? null),\n },\n {\n type: MutationType.CUSTOM,\n priority: MutationPriority.NORMAL,\n source: { type: MutationSourceType.FORM, subscriberId: `generated-association:${fieldName}` },\n transportOverride: {\n operationPathKey,\n contextualParameters,\n parentResourcesRequirements,\n requestData,\n readBackOnSuccess: true,\n },\n },\n );\n if (!mutationResult.success) {\n setActionError(\n mutationResult.error?.type === MutationErrorType.CONFLICT\n ? saveConflictLabel\n : saveFailedLabel,\n );\n return;\n }\n } else {\n await doOperation(operationPathKey, {\n contextualParameters,\n parentResourcesRequirements,\n requestData,\n });\n }\n\n // Mirror the completed authoritative write into form state without\n // re-dirtying the field. The queue/read-back path already owns confirmed\n // server truth.\n formContext.setValue(\n fieldName,\n // `null` for a cleared single association — same reason as the queued mutation above, and\n // react-hook-form reserves `undefined` for \"fall back to defaultValue\".\n isMultiple ? nextObjects : (nextObjects[0] ?? null),\n {\n shouldDirty: false,\n shouldValidate: false,\n },\n );\n setPendingValue(undefined);\n } catch (error) {\n warnGeneratedRelationshipActionFailure({\n componentName: 'GeneratedAssociationRelationshipField',\n message: 'Failed to update association relationship',\n context: {\n fieldName,\n action: 'save',\n desiredPeerIds: nextPeerIds,\n error,\n },\n });\n setActionError(saveFailedLabel);\n } finally {\n setIsPending(false);\n }\n }, [\n allowDirectOperationFallback,\n currentPeerIds,\n currentPeerObjects,\n doOperation,\n fieldName,\n formContext,\n formSchemaContext.contextResourceIdentifiers,\n formSchemaContext.parentResourcesRequirements,\n formSchemaContext.resourceId,\n formSchemaContext.resourceType,\n hasKnownRelationshipBaseline,\n hasDiff,\n isMultiple,\n replaceOperation,\n registry,\n relatedFieldIdentifier,\n saveFailedLabel,\n saveUnavailableLabel,\n rmm,\n ]);\n\n const executeSave = useCallback(async () => {\n await savePeerIds(desiredPeerIds);\n }, [desiredPeerIds, savePeerIds]);\n\n if (!fieldSchema || !relatedFieldIdentifier) {\n return null;\n }\n\n return (\n <GeneratedRelationshipFieldFrame\n fieldName={fieldName}\n resolvedChromeMode={resolvedChromeMode}\n resolvedLabelPlacement={resolvedLabelPlacement}\n resolvedControlSize={resolvedControlSize}\n hideInlineErrorForPolicy={hideInlineErrorForPolicy}\n fieldLabel={fieldLabel}\n fieldDescription={fieldDescription}\n fieldTooltip={fieldTooltip}\n disabled={disabled}\n actionError={actionError}\n unavailableLabel={saveUnavailableLabel}\n isUnavailable={isUnavailable}\n controls={(\n <ResourceFieldEdit_ResourceReference\n schema={isMultiple ? z.array(z.string()).optional() : z.string().optional()}\n name={fieldName}\n quickCreateSourceFieldName={writeSurface.quickCreate ? fieldName : undefined}\n value={effectiveValue}\n onChange={handleSelectionChange}\n targetResourceType={relatedResourceType}\n onQuickCreateCreated={(createdId) => {\n const nextPeerIds = [...new Set([...desiredPeerIds, createdId])];\n setPendingValue(isMultiple ? nextPeerIds : createdId);\n setActionError(undefined);\n void savePeerIds(nextPeerIds);\n }}\n onBlur={() => {}}\n disabled={disabled || readOnly || isPending || isUnavailable}\n readOnly={readOnly}\n controlSize={resolvedControlSize}\n required={false}\n autoFocus={undefined}\n />\n )}\n actions={(\n <>\n <Button\n type=\"button\"\n size={ButtonSize.SM}\n className=\"shrink-0\"\n disabled={!hasDiff || isPending || readOnly || isUnavailable}\n onClick={() => {\n void executeSave();\n }}\n >\n {isPending ? savingLabel : saveLabel}\n </Button>\n\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.OUTLINE}\n size={ButtonSize.SM}\n className=\"shrink-0\"\n disabled={desiredPeerIds.length === 0 || isPending || readOnly || isUnavailable}\n onClick={handleClearSelection}\n >\n {clearLabel}\n </Button>\n </>\n )}\n />\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeneratedReferenceRelationshipField.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"GeneratedReferenceRelationshipField.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/automated/GeneratedReferenceRelationshipField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AASzE,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,+DAA+D,CAAC;AAC7H,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gEAAgE,CAAC;AAE9G,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,gFAAgF,CAAC;AAkBzI,MAAM,WAAW,wCAAwC;IACvD,YAAY,EAAE,kCAAkC,CAAC;IACjD,YAAY,EAAE,uCAAuC,CAAC;IACtD,cAAc,CAAC,EAAE,uCAAuC,CAAC;IACzD,GAAG,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACrC,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC;AAED,wBAAgB,mCAAmC,CAAC,EAClD,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,GAAG,EACH,4BAAoC,GACrC,EAAE,wCAAwC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAyUrE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeneratedReferenceRelationshipField.js","sourceRoot":"","sources":["../../../../../../src/components/form/automated/GeneratedReferenceRelationshipField.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { z } from 'zod';\nimport {\n ResourcesConfig_OperationPathUtils,\n} from '@wildo-ai/saas-models';\nimport {\n ButtonSize,\n} from '@wildo-ai/presets-components-models';\nimport { Button, ButtonVariants_Variant } from '~wildo-frontend-lib/components/actions/button';\nimport type { FrontendResourceConfiguration_Operation } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport type { ResourceMutationManager } from '~wildo-frontend-lib/core/resources/rmm/ResourceMutationManager';\nimport { MutationErrorType, MutationPriority, MutationSourceType, MutationType } from '~wildo-frontend-lib/core/resources/rmm/types';\nimport type { RelationshipWriteSurfaceDescriptor } from '~wildo-frontend-lib/core/resources/relationship-surface-runtime.frontend.utils';\nimport { ResourceFieldEdit_ResourceReference } from '~wildo-frontend-lib/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference';\nimport {\n resolveGeneratedRelationshipFieldSchema,\n} from './generated-relationship-field.utils';\nimport {\n GeneratedRelationshipFieldFrame,\n} from './generated-relationship-field.shared';\nimport {\n buildGeneratedRelationshipMutationContext,\n warnGeneratedRelationshipActionFailure,\n} from './generated-relationship-field.helpers';\nimport {\n useGeneratedRelationshipFieldCommon,\n useWarnWhenGeneratedRelationshipRmmUnavailable,\n} from './generated-relationship-field.hooks';\nimport { buildBulkOperationSelectorPayload } from '~wildo-frontend-lib/core/resources/operation-semantics.frontend.utils';\n\nexport interface GeneratedReferenceRelationshipFieldProps {\n writeSurface: RelationshipWriteSurfaceDescriptor;\n setOperation: FrontendResourceConfiguration_Operation;\n clearOperation?: FrontendResourceConfiguration_Operation;\n rmm?: ResourceMutationManager | null;\n allowDirectOperationFallback?: boolean;\n}\n\nexport function GeneratedReferenceRelationshipField({\n writeSurface,\n setOperation,\n clearOperation,\n rmm,\n allowDirectOperationFallback = false,\n}: GeneratedReferenceRelationshipFieldProps): React.JSX.Element | null {\n const fieldName = writeSurface.rootFieldName;\n const foreignKeyFieldName = writeSurface.foreignKeyIdentity?.fieldIdentifier;\n const relatedResourceType = writeSurface.relatedResourceType;\n const {\n formContext,\n formSchemaContext,\n templateContext,\n registry,\n doOperation,\n fieldSchema,\n resolvedChromeMode,\n resolvedLabelPlacement,\n resolvedControlSize,\n hideInlineErrorForPolicy,\n fieldLabel,\n fieldDescription,\n fieldTooltip,\n disabled,\n readOnly,\n labels: {\n saveLabel,\n savingLabel,\n clearLabel,\n saveFailedLabel,\n saveConflictLabel,\n saveUnavailableLabel,\n },\n } = useGeneratedRelationshipFieldCommon({ fieldName });\n const foreignKeyFieldSchema = foreignKeyFieldName\n ? resolveGeneratedRelationshipFieldSchema(templateContext?.schema, foreignKeyFieldName)\n : undefined;\n\n const relatedFieldIdentifier = registry.allResourceFieldIdentifiers?.[relatedResourceType];\n const foreignKeyFieldValue = formContext.watch(foreignKeyFieldName);\n const relationshipFieldValue = formContext.watch(fieldName);\n const currentTargetId = useMemo(() => {\n if (typeof foreignKeyFieldValue === 'string' && foreignKeyFieldValue !== '') {\n return foreignKeyFieldValue;\n }\n if (\n !relatedFieldIdentifier ||\n !relationshipFieldValue ||\n typeof relationshipFieldValue !== 'object' ||\n Array.isArray(relationshipFieldValue)\n ) {\n return undefined;\n }\n\n const targetId = (relationshipFieldValue as Record<string, unknown>)[relatedFieldIdentifier];\n return typeof targetId === 'string' && targetId !== '' ? targetId : undefined;\n }, [foreignKeyFieldValue, relatedFieldIdentifier, relationshipFieldValue]);\n\n const [pendingValue, setPendingValue] = useState<string | undefined>(undefined);\n const [appliedOverride, setAppliedOverride] = useState<string | null | undefined>(undefined);\n const [isPending, setIsPending] = useState(false);\n const [actionError, setActionError] = useState<string | undefined>(undefined);\n\n useEffect(() => {\n setPendingValue(undefined);\n setAppliedOverride(undefined);\n setIsPending(false);\n setActionError(undefined);\n }, [fieldName, formSchemaContext.resourceId]);\n\n useEffect(() => {\n setPendingValue(undefined);\n setAppliedOverride(undefined);\n setIsPending(false);\n setActionError(undefined);\n }, [currentTargetId]);\n\n const effectiveValue = appliedOverride !== undefined\n ? appliedOverride ?? undefined\n : currentTargetId;\n const controlValue = pendingValue ?? effectiveValue;\n\n const rmmWarningContext = useMemo(() => ({\n fieldName,\n foreignKeyFieldName,\n }), [fieldName, foreignKeyFieldName]);\n useWarnWhenGeneratedRelationshipRmmUnavailable({\n rmm,\n allowsDirectOperationFallback: allowDirectOperationFallback,\n componentName: 'GeneratedReferenceRelationshipField',\n context: rmmWarningContext,\n });\n\n const handleSelectionChange = useCallback((nextValue: string | string[] | undefined) => {\n if (Array.isArray(nextValue)) {\n return;\n }\n\n setPendingValue(nextValue);\n setActionError(undefined);\n }, []);\n\n const executeAction = useCallback(async (action: 'set' | 'clear', explicitTargetId?: string) => {\n if (!formSchemaContext.resourceId || !formSchemaContext.resourceType) {\n return;\n }\n\n const operation = action === 'set' ? setOperation : clearOperation;\n if (!operation) {\n return;\n }\n\n const targetId = action === 'set' ? (explicitTargetId ?? controlValue) : undefined;\n if (action === 'set' && (!targetId || targetId === effectiveValue)) {\n return;\n }\n if (!rmm && !allowDirectOperationFallback) {\n setActionError(saveUnavailableLabel);\n return;\n }\n\n setIsPending(true);\n setActionError(undefined);\n\n try {\n const operationPathKey = ResourcesConfig_OperationPathUtils.createOperationPathKeyFromOperation(operation);\n const {\n contextualParameters,\n parentResourcesRequirements,\n } = buildGeneratedRelationshipMutationContext({\n formSchemaContext,\n registry,\n });\n\n const nextRelationshipValue = action === 'set' && targetId\n ? (() => {\n const currentValue = formContext.getValues(fieldName);\n return (\n currentValue &&\n typeof currentValue === 'object' &&\n !Array.isArray(currentValue)\n )\n ? {\n ...(currentValue as Record<string, unknown>),\n [relatedFieldIdentifier]: targetId,\n }\n : {\n [relatedFieldIdentifier]: targetId,\n };\n })()\n : undefined;\n\n const requestData = {\n ...buildBulkOperationSelectorPayload([formSchemaContext.resourceId]),\n ...(action === 'set' ? { targetId } : {}),\n };\n\n if (rmm) {\n // Generated relationship controls still go through the shared RMM queue.\n // They simply override transport to the bulk SET/CLEAR operation rather\n // than the wrapper's default single-resource update transport.\n const mutationResult = await rmm.queueMutation(\n {\n // FIELD-CLEARING CONTRACT — a CLEAR is queued as the framework's cleared sentinel\n // (`null`), not `undefined`.\n //\n // This object is what the RMM tracks locally; the WIRE payload is `requestData` below,\n // so the sentinel choice does not change what the server receives. What it does change\n // is whether the clear is VISIBLE to `_applyConfirmedClears`, which keys on `null`.\n // Queued as `undefined` the clear was invisible: `readBackOnSuccess` then returns a row\n // that simply OMITS the cleared keys, an absent key overwrites nothing in the merge, and\n // the stale relationship kept rendering — the exact failure that function exists to\n // prevent, at the one clearing surface it did not cover.\n [fieldName]: action === 'set' ? nextRelationshipValue : null,\n [foreignKeyFieldName]: action === 'set' ? targetId : null,\n },\n {\n type: MutationType.CUSTOM,\n priority: MutationPriority.NORMAL,\n source: { type: MutationSourceType.FORM, subscriberId: `generated-reference:${fieldName}` },\n transportOverride: {\n operationPathKey,\n contextualParameters,\n parentResourcesRequirements,\n requestData,\n readBackOnSuccess: true,\n },\n },\n );\n if (!mutationResult.success) {\n setActionError(\n mutationResult.error?.type === MutationErrorType.CONFLICT\n ? saveConflictLabel\n : saveFailedLabel,\n );\n return;\n }\n } else {\n await doOperation(operationPathKey, {\n contextualParameters,\n parentResourcesRequirements,\n requestData,\n });\n }\n\n // Mirror the successful authoritative write into form state without\n // marking the relationship dirty again; confirmed truth is already owned\n // by the completed mutation/read-back path.\n // `null` rather than `undefined` for the same reason as the queued mutation above, and\n // because react-hook-form reserves `undefined` to mean \"fall back to defaultValue\".\n formContext.setValue(fieldName, action === 'set' ? nextRelationshipValue : null, {\n shouldDirty: false,\n shouldValidate: false,\n });\n\n formContext.setValue(foreignKeyFieldName, action === 'set' ? targetId : null, {\n shouldDirty: false,\n shouldValidate: false,\n });\n\n setAppliedOverride(action === 'set' ? targetId ?? null : null);\n setPendingValue(undefined);\n } catch (error) {\n warnGeneratedRelationshipActionFailure({\n componentName: 'GeneratedReferenceRelationshipField',\n message: 'Failed to update reference relationship',\n context: {\n fieldName,\n foreignKeyFieldName,\n action,\n error,\n },\n });\n setActionError(saveFailedLabel);\n } finally {\n setIsPending(false);\n }\n }, [\n clearOperation,\n controlValue,\n effectiveValue,\n fieldName,\n foreignKeyFieldName,\n formSchemaContext.contextResourceIdentifiers,\n formSchemaContext.parentResourcesRequirements,\n formSchemaContext.resourceId,\n formSchemaContext.resourceType,\n formContext,\n relatedFieldIdentifier,\n registry,\n allowDirectOperationFallback,\n doOperation,\n rmm,\n saveFailedLabel,\n saveUnavailableLabel,\n setOperation,\n ]);\n\n if (!fieldSchema || !relatedFieldIdentifier || !foreignKeyFieldName) {\n return null;\n }\n\n return (\n <GeneratedRelationshipFieldFrame\n fieldName={fieldName}\n resolvedChromeMode={resolvedChromeMode}\n resolvedLabelPlacement={resolvedLabelPlacement}\n resolvedControlSize={resolvedControlSize}\n hideInlineErrorForPolicy={hideInlineErrorForPolicy}\n fieldLabel={fieldLabel}\n fieldDescription={fieldDescription}\n fieldTooltip={fieldTooltip}\n disabled={disabled}\n actionError={actionError}\n unavailableLabel={saveUnavailableLabel}\n isUnavailable={!rmm && !allowDirectOperationFallback}\n controls={(\n <ResourceFieldEdit_ResourceReference\n schema={z.string().optional()}\n name={foreignKeyFieldName}\n quickCreateSourceFieldName={writeSurface.quickCreate ? fieldName : undefined}\n value={controlValue}\n onChange={handleSelectionChange}\n onQuickCreateCreated={(createdId) => {\n setPendingValue(createdId);\n setActionError(undefined);\n void executeAction('set', createdId);\n }}\n onBlur={() => {}}\n disabled={disabled || readOnly || isPending || (!rmm && !allowDirectOperationFallback)}\n readOnly={readOnly}\n controlSize={resolvedControlSize}\n required={false}\n autoFocus={undefined}\n />\n )}\n actions={(\n <>\n <Button\n type=\"button\"\n size={ButtonSize.SM}\n className=\"shrink-0\"\n disabled={\n !pendingValue\n || pendingValue === effectiveValue\n || isPending\n || readOnly\n || (!rmm && !allowDirectOperationFallback)\n }\n onClick={() => {\n void executeAction('set');\n }}\n >\n {isPending ? savingLabel : saveLabel}\n </Button>\n\n {clearOperation && (\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.OUTLINE}\n size={ButtonSize.SM}\n className=\"shrink-0\"\n disabled={!effectiveValue || isPending || readOnly || (!rmm && !allowDirectOperationFallback)}\n onClick={() => {\n void executeAction('clear');\n }}\n >\n {clearLabel}\n </Button>\n )}\n </>\n )}\n />\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"GeneratedReferenceRelationshipField.js","sourceRoot":"","sources":["../../../../../src/components/form/automated/GeneratedReferenceRelationshipField.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { z } from 'zod';\nimport {\n ResourcesConfig_OperationPathUtils,\n} from '@wildo-ai/saas-models';\nimport {\n ButtonSize,\n} from '@wildo-ai/presets-components-models';\nimport { Button, ButtonVariants_Variant } from '~wildo-frontend-lib/components/actions/button';\nimport type { FrontendResourceConfiguration_Operation } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport type { ResourceMutationManager } from '~wildo-frontend-lib/core/resources/rmm/ResourceMutationManager';\nimport { MutationErrorType, MutationPriority, MutationSourceType, MutationType } from '~wildo-frontend-lib/core/resources/rmm/types';\nimport type { RelationshipWriteSurfaceDescriptor } from '~wildo-frontend-lib/core/resources/relationship-surface-runtime.frontend.utils';\nimport { ResourceFieldEdit_ResourceReference } from '~wildo-frontend-lib/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference';\nimport {\n resolveGeneratedRelationshipFieldSchema,\n} from './generated-relationship-field.utils';\nimport {\n GeneratedRelationshipFieldFrame,\n} from './generated-relationship-field.shared';\nimport {\n buildGeneratedRelationshipMutationContext,\n warnGeneratedRelationshipActionFailure,\n} from './generated-relationship-field.helpers';\nimport {\n useGeneratedRelationshipFieldCommon,\n useWarnWhenGeneratedRelationshipRmmUnavailable,\n} from './generated-relationship-field.hooks';\nimport { buildBulkOperationSelectorPayload } from '~wildo-frontend-lib/core/resources/operation-semantics.frontend.utils';\n\nexport interface GeneratedReferenceRelationshipFieldProps {\n writeSurface: RelationshipWriteSurfaceDescriptor;\n setOperation: FrontendResourceConfiguration_Operation;\n clearOperation?: FrontendResourceConfiguration_Operation;\n rmm?: ResourceMutationManager | null;\n allowDirectOperationFallback?: boolean;\n}\n\nexport function GeneratedReferenceRelationshipField({\n writeSurface,\n setOperation,\n clearOperation,\n rmm,\n allowDirectOperationFallback = false,\n}: GeneratedReferenceRelationshipFieldProps): React.JSX.Element | null {\n const fieldName = writeSurface.rootFieldName;\n const foreignKeyFieldName = writeSurface.foreignKeyIdentity?.fieldIdentifier;\n const relatedResourceType = writeSurface.relatedResourceType;\n const {\n formContext,\n formSchemaContext,\n templateContext,\n registry,\n doOperation,\n fieldSchema,\n resolvedChromeMode,\n resolvedLabelPlacement,\n resolvedControlSize,\n hideInlineErrorForPolicy,\n fieldLabel,\n fieldDescription,\n fieldTooltip,\n disabled,\n readOnly,\n labels: {\n saveLabel,\n savingLabel,\n clearLabel,\n saveFailedLabel,\n saveConflictLabel,\n saveUnavailableLabel,\n },\n } = useGeneratedRelationshipFieldCommon({ fieldName });\n const foreignKeyFieldSchema = foreignKeyFieldName\n ? resolveGeneratedRelationshipFieldSchema(templateContext?.schema, foreignKeyFieldName)\n : undefined;\n\n const relatedFieldIdentifier = registry.allResourceFieldIdentifiers?.[relatedResourceType];\n const foreignKeyFieldValue = formContext.watch(foreignKeyFieldName);\n const relationshipFieldValue = formContext.watch(fieldName);\n const currentTargetId = useMemo(() => {\n if (typeof foreignKeyFieldValue === 'string' && foreignKeyFieldValue !== '') {\n return foreignKeyFieldValue;\n }\n if (\n !relatedFieldIdentifier ||\n !relationshipFieldValue ||\n typeof relationshipFieldValue !== 'object' ||\n Array.isArray(relationshipFieldValue)\n ) {\n return undefined;\n }\n\n const targetId = (relationshipFieldValue as Record<string, unknown>)[relatedFieldIdentifier];\n return typeof targetId === 'string' && targetId !== '' ? targetId : undefined;\n }, [foreignKeyFieldValue, relatedFieldIdentifier, relationshipFieldValue]);\n\n const [pendingValue, setPendingValue] = useState<string | undefined>(undefined);\n const [appliedOverride, setAppliedOverride] = useState<string | null | undefined>(undefined);\n const [isPending, setIsPending] = useState(false);\n const [actionError, setActionError] = useState<string | undefined>(undefined);\n\n useEffect(() => {\n setPendingValue(undefined);\n setAppliedOverride(undefined);\n setIsPending(false);\n setActionError(undefined);\n }, [fieldName, formSchemaContext.resourceId]);\n\n useEffect(() => {\n setPendingValue(undefined);\n setAppliedOverride(undefined);\n setIsPending(false);\n setActionError(undefined);\n }, [currentTargetId]);\n\n const effectiveValue = appliedOverride !== undefined\n ? appliedOverride ?? undefined\n : currentTargetId;\n const controlValue = pendingValue ?? effectiveValue;\n\n const rmmWarningContext = useMemo(() => ({\n fieldName,\n foreignKeyFieldName,\n }), [fieldName, foreignKeyFieldName]);\n useWarnWhenGeneratedRelationshipRmmUnavailable({\n rmm,\n allowsDirectOperationFallback: allowDirectOperationFallback,\n componentName: 'GeneratedReferenceRelationshipField',\n context: rmmWarningContext,\n });\n\n const handleSelectionChange = useCallback((nextValue: string | string[] | undefined) => {\n if (Array.isArray(nextValue)) {\n return;\n }\n\n setPendingValue(nextValue);\n setActionError(undefined);\n }, []);\n\n const executeAction = useCallback(async (action: 'set' | 'clear', explicitTargetId?: string) => {\n if (!formSchemaContext.resourceId || !formSchemaContext.resourceType) {\n return;\n }\n\n const operation = action === 'set' ? setOperation : clearOperation;\n if (!operation) {\n return;\n }\n\n const targetId = action === 'set' ? (explicitTargetId ?? controlValue) : undefined;\n if (action === 'set' && (!targetId || targetId === effectiveValue)) {\n return;\n }\n if (!rmm && !allowDirectOperationFallback) {\n setActionError(saveUnavailableLabel);\n return;\n }\n\n setIsPending(true);\n setActionError(undefined);\n\n try {\n const operationPathKey = ResourcesConfig_OperationPathUtils.createOperationPathKeyFromOperation(operation);\n const {\n contextualParameters,\n parentResourcesRequirements,\n } = buildGeneratedRelationshipMutationContext({\n formSchemaContext,\n registry,\n });\n\n const nextRelationshipValue = action === 'set' && targetId\n ? (() => {\n const currentValue = formContext.getValues(fieldName);\n return (\n currentValue &&\n typeof currentValue === 'object' &&\n !Array.isArray(currentValue)\n )\n ? {\n ...(currentValue as Record<string, unknown>),\n [relatedFieldIdentifier]: targetId,\n }\n : {\n [relatedFieldIdentifier]: targetId,\n };\n })()\n : undefined;\n\n const requestData = {\n ...buildBulkOperationSelectorPayload([formSchemaContext.resourceId]),\n ...(action === 'set' ? { targetId } : {}),\n };\n\n if (rmm) {\n // Generated relationship controls still go through the shared RMM queue.\n // They simply override transport to the bulk SET/CLEAR operation rather\n // than the wrapper's default single-resource update transport.\n const mutationResult = await rmm.queueMutation(\n {\n // FIELD-CLEARING CONTRACT — a CLEAR is queued as the framework's cleared sentinel\n // (`null`), not `undefined`.\n //\n // This object is what the RMM tracks locally; the WIRE payload is `requestData` below,\n // so the sentinel choice does not change what the server receives. What it does change\n // is whether the clear is VISIBLE to `_applyConfirmedClears`, which keys on `null`.\n // Queued as `undefined` the clear was invisible: `readBackOnSuccess` then returns a row\n // that simply OMITS the cleared keys, an absent key overwrites nothing in the merge, and\n // the stale relationship kept rendering — the exact failure that function exists to\n // prevent, at the one clearing surface it did not cover.\n [fieldName]: action === 'set' ? nextRelationshipValue : null,\n [foreignKeyFieldName]: action === 'set' ? targetId : null,\n },\n {\n type: MutationType.CUSTOM,\n priority: MutationPriority.NORMAL,\n source: { type: MutationSourceType.FORM, subscriberId: `generated-reference:${fieldName}` },\n transportOverride: {\n operationPathKey,\n contextualParameters,\n parentResourcesRequirements,\n requestData,\n readBackOnSuccess: true,\n },\n },\n );\n if (!mutationResult.success) {\n setActionError(\n mutationResult.error?.type === MutationErrorType.CONFLICT\n ? saveConflictLabel\n : saveFailedLabel,\n );\n return;\n }\n } else {\n await doOperation(operationPathKey, {\n contextualParameters,\n parentResourcesRequirements,\n requestData,\n });\n }\n\n // Mirror the successful authoritative write into form state without\n // marking the relationship dirty again; confirmed truth is already owned\n // by the completed mutation/read-back path.\n // `null` rather than `undefined` for the same reason as the queued mutation above, and\n // because react-hook-form reserves `undefined` to mean \"fall back to defaultValue\".\n formContext.setValue(fieldName, action === 'set' ? nextRelationshipValue : null, {\n shouldDirty: false,\n shouldValidate: false,\n });\n\n formContext.setValue(foreignKeyFieldName, action === 'set' ? targetId : null, {\n shouldDirty: false,\n shouldValidate: false,\n });\n\n setAppliedOverride(action === 'set' ? targetId ?? null : null);\n setPendingValue(undefined);\n } catch (error) {\n warnGeneratedRelationshipActionFailure({\n componentName: 'GeneratedReferenceRelationshipField',\n message: 'Failed to update reference relationship',\n context: {\n fieldName,\n foreignKeyFieldName,\n action,\n error,\n },\n });\n setActionError(saveFailedLabel);\n } finally {\n setIsPending(false);\n }\n }, [\n clearOperation,\n controlValue,\n effectiveValue,\n fieldName,\n foreignKeyFieldName,\n formSchemaContext.contextResourceIdentifiers,\n formSchemaContext.parentResourcesRequirements,\n formSchemaContext.resourceId,\n formSchemaContext.resourceType,\n formContext,\n relatedFieldIdentifier,\n registry,\n allowDirectOperationFallback,\n doOperation,\n rmm,\n saveFailedLabel,\n saveUnavailableLabel,\n setOperation,\n ]);\n\n if (!fieldSchema || !relatedFieldIdentifier || !foreignKeyFieldName) {\n return null;\n }\n\n return (\n <GeneratedRelationshipFieldFrame\n fieldName={fieldName}\n resolvedChromeMode={resolvedChromeMode}\n resolvedLabelPlacement={resolvedLabelPlacement}\n resolvedControlSize={resolvedControlSize}\n hideInlineErrorForPolicy={hideInlineErrorForPolicy}\n fieldLabel={fieldLabel}\n fieldDescription={fieldDescription}\n fieldTooltip={fieldTooltip}\n disabled={disabled}\n actionError={actionError}\n unavailableLabel={saveUnavailableLabel}\n isUnavailable={!rmm && !allowDirectOperationFallback}\n controls={(\n <ResourceFieldEdit_ResourceReference\n schema={z.string().optional()}\n name={foreignKeyFieldName}\n quickCreateSourceFieldName={writeSurface.quickCreate ? fieldName : undefined}\n value={controlValue}\n onChange={handleSelectionChange}\n onQuickCreateCreated={(createdId) => {\n setPendingValue(createdId);\n setActionError(undefined);\n void executeAction('set', createdId);\n }}\n onBlur={() => {}}\n disabled={disabled || readOnly || isPending || (!rmm && !allowDirectOperationFallback)}\n readOnly={readOnly}\n controlSize={resolvedControlSize}\n required={false}\n autoFocus={undefined}\n />\n )}\n actions={(\n <>\n <Button\n type=\"button\"\n size={ButtonSize.SM}\n className=\"shrink-0\"\n disabled={\n !pendingValue\n || pendingValue === effectiveValue\n || isPending\n || readOnly\n || (!rmm && !allowDirectOperationFallback)\n }\n onClick={() => {\n void executeAction('set');\n }}\n >\n {isPending ? savingLabel : saveLabel}\n </Button>\n\n {clearOperation && (\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.OUTLINE}\n size={ButtonSize.SM}\n className=\"shrink-0\"\n disabled={!effectiveValue || isPending || readOnly || (!rmm && !allowDirectOperationFallback)}\n onClick={() => {\n void executeAction('clear');\n }}\n >\n {clearLabel}\n </Button>\n )}\n </>\n )}\n />\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceAutomatedForm.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"ResourceAutomatedForm.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/automated/ResourceAutomatedForm.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAA4D,MAAM,OAAO,CAAC;AACjF,OAAO,EAAE,aAAa,EAA+B,MAAM,iBAAiB,CAAC;AAmC7E,OAAO,EAAqG,eAAe,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC9K,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wDAAwD,CAAC;AAqB7F,OAAO,EAAE,gCAAgC,EAAE,MAAM,+DAA+D,CAAC;AA8CjH,OAAO,EAGL,8BAA8B,EAC/B,MAAM,+EAA+E,CAAC;AAsEvF,MAAM,WAAW,0BAA0B;IACzC,sEAAsE;IACtE,eAAe,EAAE,gCAAgC,CAAC;IAElD,6CAA6C;IAC7C,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAEhC,0CAA0C;IAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,yDAAyD;IACzD,cAAc,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAE9C,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,uGAAuG;IACvG,cAAc,CAAC,EAAE,cAAc,CAAC;IAGhC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,cAAc,CAAC,EAAE;QACf,oCAAoC;QACpC,OAAO,EAAE,OAAO,CAAC;QACjB,4EAA4E;QAC5E,cAAc,CAAC,EAAE,eAAe,CAAC;QACjC,oDAAoD;QACpD,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF;;;;OAIG;IACH,WAAW,CAAC,EAAE;QACZ,sCAAsC;QACtC,OAAO,EAAE,OAAO,CAAC;QACjB,+CAA+C;QAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;;;;;WAMG;QACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C;;;;;;WAMG;QACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5C,kDAAkD;QAClD,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,4CAA4C;QAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IAEF;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,CACd,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAAE,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC3C,oEAAoE;IACpE,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;;;;;;;OAUG;IACH,8BAA8B,CAAC,EAAE,8BAA8B,CAAC;CACjE;AAgID,wBAAgB,qBAAqB,CAAC,EACpC,eAAe,EACf,SAAS,EACT,OAAO,EACP,QAAQ,EACR,QAAgB,EAChB,SAAS,EACT,cAAc,EACd,gBAAuB,EACvB,cAAc,EACd,cAAc,EACd,WAAW,EACX,aAAa,EAAE,iBAAiB,EAChC,qBAAqB,EACrB,cAAc,EACd,8BAA4E,GAC7E,EAAE,0BAA0B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA4xEvD"}
|
|
@@ -27,6 +27,7 @@ import { resolveCreateFormInitialValues } from './create-form-default-values.uti
|
|
|
27
27
|
import { AutomatedLayoutFrontendUtils } from '../../../core/automated-layout/automated-layout.frontend.utils.js';
|
|
28
28
|
import { generateDefaultFormTemplate } from '../../../core/automated-layout/default-layout-generator.frontend.utils.js';
|
|
29
29
|
import { AutosaveProvider } from '../../../components/form/automated/AutosaveContext.js';
|
|
30
|
+
import { deriveAutosaveEnabledFromFields } from '../../../components/form/automated/autosave-derivation.frontend.utils.js';
|
|
30
31
|
import { useOptionalAutosave } from '../../../components/form/automated/AutosaveContext.js';
|
|
31
32
|
import { extractServerValidationErrors } from '../../../components/form/validation-errors/form-error-extraction.utils.js';
|
|
32
33
|
import { collectErroredFieldPaths, scrollAndFocusFirstErroredField } from '../../../components/form/validation-errors/scroll-to-first-error.utils.js';
|
|
@@ -1515,12 +1516,45 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1515
1516
|
rmm,
|
|
1516
1517
|
]);
|
|
1517
1518
|
// Autosave config for the provider
|
|
1519
|
+
/**
|
|
1520
|
+
* DERIVED when the caller passes none: a field that declares `edit.autosave` autosaves, and
|
|
1521
|
+
* nothing else changes.
|
|
1522
|
+
*
|
|
1523
|
+
* Until 2026-09-08 `edit.autosave` was inert on every generated form (#449). The provider mounts
|
|
1524
|
+
* only when a caller passes `autosaveConfig`, and no engine layout and neither dogfood application
|
|
1525
|
+
* passed one — so the decorator was authored, typed and read by `FormField`, which then resolved a
|
|
1526
|
+
* null context every time. The only live provider anywhere was the read-side inline array editor.
|
|
1527
|
+
*
|
|
1528
|
+
* **Why no layout could simply turn it on, which is the part worth knowing.** An undeclared field
|
|
1529
|
+
* does not opt out: `resolveAutosaveTrigger` returns the CONTEXT DEFAULT for a field with no
|
|
1530
|
+
* config, and that default was `DEBOUNCE`. So enabling the provider for the one field that asked
|
|
1531
|
+
* made every OTHER field in the form autosave too — turning a field-level declaration into a
|
|
1532
|
+
* form-wide behaviour change. That is a much larger promise than the decorator makes, and it is
|
|
1533
|
+
* the reason this stayed off rather than an oversight.
|
|
1534
|
+
*
|
|
1535
|
+
* So the derivation passes `defaultTrigger: NONE`. Undeclared fields resolve to NONE, which
|
|
1536
|
+
* `triggerSave` skips outright, and only a declaring field saves. A form where no field declares
|
|
1537
|
+
* autosave never mounts the provider at all, so **no application changes behaviour unless a field
|
|
1538
|
+
* asked for it** — which is what makes this safe to enable by default rather than a product
|
|
1539
|
+
* decision about writing data differently.
|
|
1540
|
+
*
|
|
1541
|
+
* UPDATE only. Autosave PATCHes an existing row; on a CREATE there is nothing to patch, and a
|
|
1542
|
+
* per-field save before the record exists is a different feature (drafts) with its own surface.
|
|
1543
|
+
*
|
|
1544
|
+
* An explicit caller-supplied `autosaveConfig` still wins, unchanged — including its own
|
|
1545
|
+
* `defaultTrigger`, so a caller that genuinely wants form-wide autosave can still ask for it.
|
|
1546
|
+
*/
|
|
1547
|
+
const derivedAutosaveEnabled = useMemo(
|
|
1548
|
+
// `effectiveFormOperationType`, not `operationType`: a CUSTOM operation declaring
|
|
1549
|
+
// `resourceOperationLike: UPDATE` (a `rotate`, say) edits an existing row and autosaves on the
|
|
1550
|
+
// same terms. That variable is the one the rest of the form filters fields by.
|
|
1551
|
+
() => autosaveConfig === undefined && deriveAutosaveEnabledFromFields(formFieldShape, effectiveFormOperationType), [autosaveConfig, effectiveFormOperationType, formFieldShape]);
|
|
1518
1552
|
const autosaveProviderConfig = useMemo(() => ({
|
|
1519
|
-
enabled: autosaveConfig?.enabled ??
|
|
1520
|
-
defaultTrigger: autosaveConfig?.defaultTrigger ?? AutosaveTrigger.DEBOUNCE,
|
|
1553
|
+
enabled: autosaveConfig?.enabled ?? derivedAutosaveEnabled,
|
|
1554
|
+
defaultTrigger: autosaveConfig?.defaultTrigger ?? (derivedAutosaveEnabled ? AutosaveTrigger.NONE : AutosaveTrigger.DEBOUNCE),
|
|
1521
1555
|
debounceMs: autosaveConfig?.debounceMs ?? 500,
|
|
1522
1556
|
savedStateDurationMs: 2000,
|
|
1523
|
-
}), [autosaveConfig]);
|
|
1557
|
+
}), [autosaveConfig, derivedAutosaveEnabled]);
|
|
1524
1558
|
// Draft-relaxed schema for draft saves (makes isDraftRelaxed fields optional)
|
|
1525
1559
|
const draftSchema = useMemo(() => {
|
|
1526
1560
|
if (!formSchema || !effectiveDraftConfig?.enabled)
|