@wildo-ai/saas-frontend-lib 1.1.10 → 1.1.11
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/companion-exports.d.ts +2 -1
- package/dist/esm/companion-exports.d.ts.map +1 -1
- package/dist/esm/companion-exports.js +2 -1
- package/dist/esm/companion-exports.js.map +1 -1
- package/dist/esm/companion-runtime-exports.d.ts.map +1 -1
- package/dist/esm/components/actions/action-bar.d.ts +45 -1
- package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
- package/dist/esm/components/actions/action-bar.js +84 -0
- 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/button-group.d.ts.map +1 -1
- package/dist/esm/components/actions/button.d.ts +22 -0
- package/dist/esm/components/actions/button.d.ts.map +1 -1
- package/dist/esm/components/actions/button.js +45 -0
- package/dist/esm/components/actions/button.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.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation-thread.d.ts +109 -0
- package/dist/esm/components/ai-elements/chat/conversation-thread.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/chat/conversation-thread.js +22 -0
- package/dist/esm/components/ai-elements/chat/conversation-thread.js.map +1 -0
- package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.d.ts +103 -7
- 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/queue.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.d.ts +6 -0
- 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 +60 -1
- package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.js +26 -0
- 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/controls.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.d.ts +39 -4
- package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.js +18 -0
- 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/toolbar.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.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/checkpoint.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts +6 -0
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js +29 -8
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
- package/dist/esm/components/app/AppLayout_ConsentGate.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ConsentGate.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_DecisionInbox.d.ts +17 -0
- package/dist/esm/components/app/AppLayout_DecisionInbox.d.ts.map +1 -0
- package/dist/esm/components/app/AppLayout_DecisionInbox.js +24 -0
- package/dist/esm/components/app/AppLayout_DecisionInbox.js.map +1 -0
- package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_Home.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_MainContainer.js +3 -0
- 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_RouterErrorBoundary.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/components/app/AppPage_Home.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_LegalNotice.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_LegalNotice.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_LegalNotice.labels.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_LegalNotice.labels.js.map +1 -1
- package/dist/esm/components/app/PublicLayout_MainContainer.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_Terms.d.ts.map +1 -1
- package/dist/esm/components/app/PublicLayout_Terms.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_AuthCallback.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_ChatIdentityLink.d.ts +15 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.d.ts.map +1 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.js +219 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.js.map +1 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.d.ts +3 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.d.ts.map +1 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.js +49 -0
- package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.js.map +1 -0
- package/dist/esm/components/auth/Auth_ConfirmEmail.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_ConfirmEmail.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Invitation.js +3 -2
- 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 +2 -2
- 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.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.js +40 -7
- 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 +9 -0
- 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.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthConsent.js +3 -2
- 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_OAuthLoggedOut.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OneOffSession.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OrganizationOnboarding.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_OrganizationOnboarding.labels.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_PasswordLost.d.ts.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 +2 -2
- 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 +8 -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 +2 -2
- package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.d.ts +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.js +3 -3
- 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 +94 -6
- 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 +21 -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 +16 -13
- 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/SsoConnectionSamlReadSection.d.ts.map +1 -1
- package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js +3 -3
- 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 +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/TotpEnrollmentMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/EmailOtpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/MagicLinkAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgOidcAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js +3 -4
- 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/PasswordAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/SmsOtpAuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/TotpAuthMethod.d.ts.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-presentation.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_AuthExchange.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.d.ts +11 -0
- package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.d.ts.map +1 -0
- package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.js +25 -0
- package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.js.map +1 -0
- package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Invitation.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OneOffSession.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_OrganizationOnboarding.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_PasswordLost.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_ReAuthenticationCallback.d.ts.map +1 -1
- package/dist/esm/components/auth/pages/AuthPage_Register.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/AuthMethodChoiceList.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/AuthMethodIcon.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.d.ts +39 -0
- package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.d.ts.map +1 -0
- package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.js +45 -0
- package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.js.map +1 -0
- package/dist/esm/components/auth/utils/AuthSecondaryLink.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js +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/resolvePasswordViolationsToLabels.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/useMfaContinuationNavigation.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
- package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.d.ts.map +1 -1
- package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js +2 -1
- package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/AutomaticDisplayer.js +21 -35
- package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayField.js +98 -70
- 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/DisplayFieldEditable.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.js +48 -8
- package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts +3 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.js +30 -4
- package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.js +2 -2
- package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayTemplateContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.js +45 -94
- 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 +14 -8
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts +41 -3
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.js +49 -5
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/SummaryContext.d.ts +2 -2
- package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
- package/dist/esm/components/data-display/automatic-displayer.utils.d.ts +22 -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 +29 -0
- 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/badge-tone.d.ts.map +1 -1
- package/dist/esm/components/data-display/badge.d.ts +9 -0
- 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/chromes/DisplayChromeContext.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts +14 -2
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js +42 -12
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
- package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.d.ts +10 -0
- package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.d.ts.map +1 -0
- package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.js +18 -0
- package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.js.map +1 -0
- package/dist/esm/components/data-display/chromes/field-tile-boundaries.d.ts +38 -0
- package/dist/esm/components/data-display/chromes/field-tile-boundaries.d.ts.map +1 -0
- package/dist/esm/components/data-display/chromes/field-tile-boundaries.js +30 -0
- package/dist/esm/components/data-display/chromes/field-tile-boundaries.js.map +1 -0
- package/dist/esm/components/data-display/chromes/field-tiles.utils.d.ts +22 -0
- package/dist/esm/components/data-display/chromes/field-tiles.utils.d.ts.map +1 -0
- package/dist/esm/components/data-display/chromes/field-tiles.utils.js +52 -0
- package/dist/esm/components/data-display/chromes/field-tiles.utils.js.map +1 -0
- package/dist/esm/components/data-display/description-list.d.ts.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-resolved-props.d.ts +4 -0
- 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-layout-template.utils.d.ts +18 -0
- package/dist/esm/components/data-display/display-layout-template.utils.d.ts.map +1 -0
- package/dist/esm/components/data-display/display-layout-template.utils.js +18 -0
- package/dist/esm/components/data-display/display-layout-template.utils.js.map +1 -0
- package/dist/esm/components/data-display/display-resource-link-trail.d.ts.map +1 -1
- package/dist/esm/components/data-display/display-value-emptiness.utils.d.ts +44 -0
- package/dist/esm/components/data-display/display-value-emptiness.utils.d.ts.map +1 -0
- package/dist/esm/components/data-display/display-value-emptiness.utils.js +61 -0
- package/dist/esm/components/data-display/display-value-emptiness.utils.js.map +1 -0
- package/dist/esm/components/data-display/duration.d.ts.map +1 -1
- package/dist/esm/components/data-display/empty-value-mark.d.ts +31 -0
- package/dist/esm/components/data-display/empty-value-mark.d.ts.map +1 -0
- package/dist/esm/components/data-display/empty-value-mark.js +49 -0
- package/dist/esm/components/data-display/empty-value-mark.js.map +1 -0
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts +3 -2
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js +4 -4
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts +6 -3
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js +22 -12
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.d.ts.map +1 -1
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js +2 -2
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-address.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.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-code.d.ts.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-datetime.d.ts.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-enum.d.ts.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-document.d.ts.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-image.d.ts.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.d.ts.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-money.d.ts.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-phone.d.ts.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-date.d.ts.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-money.d.ts.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-time.d.ts.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-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/identifier.d.ts.map +1 -1
- package/dist/esm/components/data-display/kbd.d.ts.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
- package/dist/esm/components/data-display/reference-display-target.d.ts +98 -0
- package/dist/esm/components/data-display/reference-display-target.d.ts.map +1 -0
- package/dist/esm/components/data-display/reference-display-target.js +154 -0
- package/dist/esm/components/data-display/reference-display-target.js.map +1 -0
- package/dist/esm/components/data-display/summary-value-naming.context.d.ts +15 -0
- package/dist/esm/components/data-display/summary-value-naming.context.d.ts.map +1 -0
- package/dist/esm/components/data-display/summary-value-naming.context.js +18 -0
- package/dist/esm/components/data-display/summary-value-naming.context.js.map +1 -0
- package/dist/esm/components/data-display/timeline.d.ts.map +1 -1
- package/dist/esm/components/data-display/tone-marker.d.ts +38 -0
- package/dist/esm/components/data-display/tone-marker.d.ts.map +1 -0
- package/dist/esm/components/data-display/tone-marker.js +56 -0
- package/dist/esm/components/data-display/tone-marker.js.map +1 -0
- package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
- package/dist/esm/components/data-display/useFileActivation.js +2 -9
- 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/danger-zone.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-display-policy.utils.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/error-display.d.ts.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 +12 -4
- 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-unavailable-dialog.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
- package/dist/esm/components/feedback/lazy-door-error-boundary.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
- package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts +8 -0
- 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/resource-empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton-text.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
- package/dist/esm/components/feedback/toast.d.ts.map +1 -1
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts +0 -5
- package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -1
- package/dist/esm/components/files/Files_UploadGrantDrop.js +5 -17
- package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -1
- package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts.map +1 -1
- package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/actor.d.ts +21 -4
- package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/actor.js +114 -192
- 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 +5 -10
- 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.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.js +1 -1
- package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/approval-modification-refusal.utils.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js +1 -0
- package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.d.ts +26 -16
- package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.js +208 -70
- 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 +67 -22
- 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.labels.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/artifact-browser.labels.js +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 +19 -7
- package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/execution-plan.js +55 -41
- 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 +25 -8
- package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/execution-usage.d.ts +69 -0
- package/dist/esm/components/flows-actors/execution-usage.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/execution-usage.js +189 -0
- package/dist/esm/components/flows-actors/execution-usage.js.map +1 -0
- package/dist/esm/components/flows-actors/execution-usage.labels.d.ts +3 -0
- package/dist/esm/components/flows-actors/execution-usage.labels.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/execution-usage.labels.js +27 -0
- package/dist/esm/components/flows-actors/execution-usage.labels.js.map +1 -0
- package/dist/esm/components/flows-actors/flow-execution.d.ts +23 -6
- package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-execution.js +56 -208
- 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 +3 -10
- package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.d.ts +54 -21
- package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/flow-node-badges.js +80 -6
- package/dist/esm/components/flows-actors/flow-node-badges.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 +0 -8
- package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/flow-step-visuals.d.ts +31 -0
- package/dist/esm/components/flows-actors/flow-step-visuals.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/flow-step-visuals.js +98 -0
- package/dist/esm/components/flows-actors/flow-step-visuals.js.map +1 -0
- package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts +18 -19
- 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 +18 -19
- 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 +27 -42
- 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 +28 -43
- 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 +15 -10
- 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 +16 -42
- package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
- package/dist/esm/components/flows-actors/graph-viewer.d.ts +112 -0
- package/dist/esm/components/flows-actors/graph-viewer.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/graph-viewer.js +431 -0
- package/dist/esm/components/flows-actors/graph-viewer.js.map +1 -0
- package/dist/esm/components/flows-actors/graph-viewer.labels.d.ts +3 -0
- package/dist/esm/components/flows-actors/graph-viewer.labels.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/graph-viewer.labels.js +67 -0
- package/dist/esm/components/flows-actors/graph-viewer.labels.js.map +1 -0
- package/dist/esm/components/flows-actors/graph-viewer.models.d.ts +16 -0
- package/dist/esm/components/flows-actors/graph-viewer.models.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/graph-viewer.models.js +18 -0
- package/dist/esm/components/flows-actors/graph-viewer.models.js.map +1 -0
- package/dist/esm/components/flows-actors/human-decision-form.d.ts +57 -0
- package/dist/esm/components/flows-actors/human-decision-form.d.ts.map +1 -0
- package/dist/esm/components/flows-actors/human-decision-form.js +128 -0
- package/dist/esm/components/flows-actors/human-decision-form.js.map +1 -0
- package/dist/esm/components/flows-actors/system-catalog.d.ts +6 -1
- package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.js +22 -20
- 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 +3 -2
- package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.d.ts +17 -3
- package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-detail.js +32 -25
- 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-memory.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/task-memory.js +3 -2
- 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/form/Form.d.ts +2 -0
- package/dist/esm/components/form/Form.d.ts.map +1 -1
- package/dist/esm/components/form/Form.js +4 -0
- package/dist/esm/components/form/Form.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.d.ts +16 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.js +101 -21
- package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.d.ts +19 -2
- package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedForm.js +40 -6
- package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.d.ts +22 -1
- package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutosaveContext.js +53 -0
- package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
- package/dist/esm/components/form/automated/FormField.d.ts +1 -1
- package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormField.js +127 -53
- 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/FormFieldComposite.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldComposite.js +12 -10
- 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 +16 -7
- package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.d.ts +27 -0
- package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormTemplateContext.js +0 -48
- 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/GeneratedReferenceRelationshipField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts +4 -3
- package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js +616 -149
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts +105 -5
- 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 +225 -6
- package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
- package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.d.ts.map +1 -1
- package/dist/esm/components/form/automated/autosave-indicator.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/bulk-field-clear-context.d.ts +59 -0
- package/dist/esm/components/form/automated/bulk-field-clear-context.d.ts.map +1 -0
- package/dist/esm/components/form/automated/bulk-field-clear-context.js +77 -0
- package/dist/esm/components/form/automated/bulk-field-clear-context.js.map +1 -0
- package/dist/esm/components/form/automated/create-form-default-values.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/field-clearing-rule.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.d.ts.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.hooks.d.ts +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.shared.d.ts.map +1 -1
- package/dist/esm/components/form/automated/generated-relationship-field.utils.d.ts.map +1 -1
- package/dist/esm/components/form/automated/unplaced-request-fields.context.d.ts +19 -0
- package/dist/esm/components/form/automated/unplaced-request-fields.context.d.ts.map +1 -0
- package/dist/esm/components/form/automated/unplaced-request-fields.context.js +13 -0
- package/dist/esm/components/form/automated/unplaced-request-fields.context.js.map +1 -0
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts +7 -0
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.js +10 -2
- package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
- package/dist/esm/components/form/automated/useReferenceRecordLabels.d.ts +16 -0
- package/dist/esm/components/form/automated/useReferenceRecordLabels.d.ts.map +1 -0
- package/dist/esm/components/form/automated/useReferenceRecordLabels.js +66 -0
- package/dist/esm/components/form/automated/useReferenceRecordLabels.js.map +1 -0
- package/dist/esm/components/form/automated/useRequestFieldOffer.d.ts +18 -0
- package/dist/esm/components/form/automated/useRequestFieldOffer.d.ts.map +1 -0
- package/dist/esm/components/form/automated/useRequestFieldOffer.js +107 -0
- package/dist/esm/components/form/automated/useRequestFieldOffer.js.map +1 -0
- package/dist/esm/components/form/chromes/FormChromeContext.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.d.ts +7 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.js +6 -3
- 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/form-primitives.d.ts.map +1 -1
- package/dist/esm/components/form/combobox.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.d.ts.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.d.ts.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/date-range-picker.d.ts +11 -0
- 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 +21 -0
- 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 +9 -0
- 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 +9 -0
- 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-range-picker.d.ts +1 -0
- 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 +10 -0
- 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.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.d.ts +14 -10
- package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.js +14 -6
- package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
- package/dist/esm/components/form/controls/file/file-readiness.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.d.ts.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/form-field-checkbox-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.js +7 -3
- 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.d.ts.map +1 -1
- package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/chips-input.d.ts +65 -0
- package/dist/esm/components/form/controls/string/chips-input.d.ts.map +1 -0
- package/dist/esm/components/form/controls/string/chips-input.js +9 -0
- package/dist/esm/components/form/controls/string/chips-input.js.map +1 -0
- package/dist/esm/components/form/controls/string/color-input.d.ts.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/input-otp.d.ts.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.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
- package/dist/esm/components/form/feedback/RemoteChangeNotification.d.ts.map +1 -1
- package/dist/esm/components/form/fields/accepted-file-kinds-description.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.js +7 -5
- package/dist/esm/components/form/fields/form-field-address.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.labels.js +1 -1
- package/dist/esm/components/form/fields/form-field-address.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-bigdecimal.js +2 -2
- 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-boolean.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-boolean.js +2 -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-code.d.ts.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 +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 +16 -11
- 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-datetime.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-datetime.js +10 -5
- 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-duration.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-duration.js +5 -7
- 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 +8 -2
- 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 +31 -31
- 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-file-provider-constraints.frontend.utils.d.ts.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 +13 -12
- 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 +6 -6
- 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 +5 -4
- 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 +8 -2
- 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 +2 -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-phone.d.ts.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-range-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-bigdecimal.js +2 -2
- 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-date.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-date.js +7 -2
- 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-datetime.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-datetime.js +5 -2
- 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-money.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-money.js +6 -19
- 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 +8 -2
- 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 +2 -2
- 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-time.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-range-time.js +2 -2
- 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-resource-reference.d.ts +56 -0
- package/dist/esm/components/form/fields/form-field-resource-reference.d.ts.map +1 -0
- package/dist/esm/components/form/fields/form-field-resource-reference.js +51 -0
- package/dist/esm/components/form/fields/form-field-resource-reference.js.map +1 -0
- package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts +36 -6
- package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string-organization-role.js +30 -11
- package/dist/esm/components/form/fields/form-field-string-organization-role.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.d.ts +5 -0
- package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.js +9 -7
- 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-time.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-time.js +6 -3
- 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/themed-native-select.d.ts +29 -0
- package/dist/esm/components/form/fields/themed-native-select.d.ts.map +1 -0
- package/dist/esm/components/form/fields/themed-native-select.js +36 -0
- package/dist/esm/components/form/fields/themed-native-select.js.map +1 -0
- package/dist/esm/components/form/form-context.d.ts +11 -0
- package/dist/esm/components/form/form-context.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.js +11 -0
- package/dist/esm/components/form/form-context.js.map +1 -1
- package/dist/esm/components/form/form-context.utils.d.ts +2 -0
- package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
- package/dist/esm/components/form/form-context.utils.js +6 -2
- 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/useFormSchemaContext.d.ts.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 +17 -15
- package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
- package/dist/esm/components/form/validation-errors/field-reveal.d.ts +41 -0
- package/dist/esm/components/form/validation-errors/field-reveal.d.ts.map +1 -0
- package/dist/esm/components/form/validation-errors/field-reveal.js +108 -0
- package/dist/esm/components/form/validation-errors/field-reveal.js.map +1 -0
- package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/form-level-error-recheck.d.ts +3 -0
- package/dist/esm/components/form/validation-errors/form-level-error-recheck.d.ts.map +1 -0
- package/dist/esm/components/form/validation-errors/form-level-error-recheck.js +37 -0
- package/dist/esm/components/form/validation-errors/form-level-error-recheck.js.map +1 -0
- package/dist/esm/components/form/validation-errors/form-validation.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/getFieldError.d.ts +6 -0
- package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/getFieldError.js +9 -2
- package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
- package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts +8 -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 +46 -3
- 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/useServerErrorInjection.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/useServerErrorInjection.js +8 -3
- package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
- package/dist/esm/components/form/validation-errors/validate-field-url.frontend.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.d.ts +32 -0
- package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.d.ts.map +1 -0
- package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.js +60 -0
- package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.js.map +1 -0
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts +10 -0
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.js +12 -3
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.js.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
- package/dist/esm/components/layout/carousel.d.ts.map +1 -1
- package/dist/esm/components/layout/divider.d.ts.map +1 -1
- package/dist/esm/components/layout/resizable.d.ts.map +1 -1
- package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
- package/dist/esm/components/layout/separator.d.ts.map +1 -1
- package/dist/esm/components/navigation/NavigationItemBadge.d.ts.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_CommandMenu.d.ts.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_MenuBar.d.ts.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_NavigationBack.d.ts.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_QuickActionButton.d.ts +7 -0
- 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_Sidebar.d.ts.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_Toolbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts +6 -0
- 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/SidebarResourceBrowser.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js +6 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
- package/dist/esm/components/navigation/app-level/engine-launcher-entries.d.ts +46 -0
- package/dist/esm/components/navigation/app-level/engine-launcher-entries.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/engine-launcher-entries.js +165 -0
- package/dist/esm/components/navigation/app-level/engine-launcher-entries.js.map +1 -0
- package/dist/esm/components/navigation/app-level/sidebar-resource-browser-empty-label.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useActivityBarBehavior.d.ts.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 +8 -3
- 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/useMenuBarBehavior.d.ts.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 +41 -20
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts +1 -2
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js +1 -15
- package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.d.ts +32 -0
- package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.d.ts.map +1 -0
- package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.js +91 -0
- package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.js.map +1 -0
- package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.d.ts.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 +3 -1
- package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts +18 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +66 -9
- 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/useToolbarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +15 -10
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +89 -12
- 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/command.d.ts.map +1 -1
- package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
- package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/OverlayContainer.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts.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/sheet.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/menu.shared-types.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionAchievementBadge.labels.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.d.ts.map +1 -1
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js +2 -2
- package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
- package/dist/esm/components/resources/CollectionSelectAllCheckbox.d.ts +39 -0
- package/dist/esm/components/resources/CollectionSelectAllCheckbox.d.ts.map +1 -0
- package/dist/esm/components/resources/CollectionSelectAllCheckbox.js +21 -0
- package/dist/esm/components/resources/CollectionSelectAllCheckbox.js.map +1 -0
- package/dist/esm/components/resources/CollectionSelectionControls.d.ts +4 -3
- 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/InlineSearchInput.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts +7 -2
- package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionBody_Table.js +38 -14
- package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts +4 -4
- package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionFilterPresets.js +20 -22
- package/dist/esm/components/resources/ResourceCollectionFilterPresets.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts +4 -3
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js +40 -6
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts +65 -23
- package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.js +73 -10
- 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/ResourceLayout_Action.d.ts.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 +5 -0
- package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts +18 -0
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js +57 -48
- 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_CollectionActions.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_CollectionActions.js +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.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +7 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Create.js +3 -4
- 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 +10 -0
- package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts +5 -3
- package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_DangerZone.js +4 -3
- 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_FilterChips.d.ts +8 -7
- package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.js +78 -42
- 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.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.js +1 -1
- package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts +5 -8
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FiltersControl.js +68 -19
- 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 +150 -44
- 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_InsertedViews.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_InsertedViews.js +62 -40
- 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 +67 -70
- 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 +4 -10
- 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_OperationBulk.d.ts +8 -9
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.js +67 -25
- 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 +8 -8
- package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts +8 -2
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_OperationsItems.js +12 -7
- 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 +11 -6
- 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.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.d.ts +2 -0
- package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.js +23 -5
- 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_ReadSummary.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary.js +5 -3
- 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_TableRow.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js +18 -7
- 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_RecordSharing.d.ts +56 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.d.ts.map +1 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.js +184 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.js.map +1 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.d.ts +3 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.d.ts.map +1 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.js +106 -0
- package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.js.map +1 -0
- package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.js +55 -42
- 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 +0 -6
- 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_SemanticOperationFallback.d.ts +8 -0
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js +2 -3
- 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 +3 -2
- 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.labels.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.d.ts +29 -5
- package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.js +123 -41
- package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionDropdown.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionPopover.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationDetachedHost.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceOwnedViewEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.d.ts +6 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceViewModeToggle.js +9 -7
- 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/collection-card-layout.utils.d.ts +37 -15
- package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/collection-card-layout.utils.js +37 -15
- package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
- package/dist/esm/components/resources/collection-selection-bar-density.d.ts +113 -0
- package/dist/esm/components/resources/collection-selection-bar-density.d.ts.map +1 -0
- package/dist/esm/components/resources/collection-selection-bar-density.js +175 -0
- package/dist/esm/components/resources/collection-selection-bar-density.js.map +1 -0
- package/dist/esm/components/resources/collection-view-mode.frontend.d.ts.map +1 -1
- package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts +2 -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/RelatedResourcePreview.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.js +14 -2
- package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts +61 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.js +151 -15
- package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts +11 -0
- 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 +13 -0
- package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts +24 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js +47 -3
- 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/resource-filter-field-type.frontend.schemas.d.ts +35 -0
- package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.d.ts.map +1 -0
- package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.js +36 -0
- package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.js.map +1 -0
- package/dist/esm/components/resources/resource-header-geometry.d.ts +19 -0
- package/dist/esm/components/resources/resource-header-geometry.d.ts.map +1 -0
- package/dist/esm/components/resources/resource-header-geometry.js +19 -0
- package/dist/esm/components/resources/resource-header-geometry.js.map +1 -0
- package/dist/esm/components/resources/resource-operation-custom-view.contracts.d.ts.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.d.ts +28 -2
- package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.js +45 -12
- 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 +10 -0
- package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayDiscriminatorSwitch.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts +20 -4
- package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/DisplayLayout.js +19 -2
- package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FieldTiles.d.ts +48 -0
- package/dist/esm/components/resources/skeleton/FieldTiles.d.ts.map +1 -0
- package/dist/esm/components/resources/skeleton/FieldTiles.js +51 -0
- package/dist/esm/components/resources/skeleton/FieldTiles.js.map +1 -0
- package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.js +2 -1
- package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Group.js +5 -2
- package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts +77 -14
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js +98 -25
- package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.d.ts +7 -0
- package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.js +9 -3
- package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SubmitButton.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts +3 -3
- package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryLayout.js +3 -3
- package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SummaryTitle.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.d.ts +7 -5
- package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.js +176 -65
- package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts +9 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.js +7 -0
- package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.d.ts +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.js +9 -5
- package/dist/esm/components/resources/skeleton/WizardStep.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.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/section-consolidation.utils.js +31 -2
- package/dist/esm/components/resources/skeleton/section-consolidation.utils.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 +176 -61
- 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 +14 -7
- 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 +18 -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/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts.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/resource-reference.shared.utils.d.ts +8 -0
- 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 +3 -0
- 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 +48 -17
- 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 +226 -74
- 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 +2 -3
- 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/card.d.ts.map +1 -1
- package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
- package/dist/esm/components/sections/content-section.d.ts +2 -2
- 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/section-grouping.shared.d.ts +19 -0
- package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
- package/dist/esm/components/sections/section-grouping.shared.js +24 -0
- package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
- package/dist/esm/components/sections/section-legend-voice.context.d.ts +19 -0
- package/dist/esm/components/sections/section-legend-voice.context.d.ts.map +1 -0
- package/dist/esm/components/sections/section-legend-voice.context.js +21 -0
- package/dist/esm/components/sections/section-legend-voice.context.js.map +1 -0
- package/dist/esm/components/sections/section-legend-voice.d.ts +41 -0
- package/dist/esm/components/sections/section-legend-voice.d.ts.map +1 -0
- package/dist/esm/components/sections/section-legend-voice.js +67 -0
- package/dist/esm/components/sections/section-legend-voice.js.map +1 -0
- package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
- package/dist/esm/components/sections/stepper.d.ts +14 -0
- 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 +10 -2
- 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/tabs.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.d.ts +39 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.js +187 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.js +34 -0
- package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.js.map +1 -0
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.d.ts +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js +8 -8
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.d.ts +43 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.js +142 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.js +62 -0
- package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.js.map +1 -0
- package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +25 -8
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +275 -71
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +91 -14
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts +13 -8
- package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.js +95 -23
- 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 +25 -2
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.d.ts +67 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.js +177 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.js +45 -0
- package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.js.map +1 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.d.ts +35 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.js +137 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.js +38 -0
- package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.js.map +1 -0
- package/dist/esm/components/settings/SettingsHub.d.ts +3 -3
- package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsHub.js +98 -48
- 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 +2 -0
- 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 +21 -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/useOwnerProviderConnections.d.ts +24 -5
- package/dist/esm/components/settings/useOwnerProviderConnections.d.ts.map +1 -1
- package/dist/esm/components/settings/useOwnerProviderConnections.js +67 -9
- package/dist/esm/components/settings/useOwnerProviderConnections.js.map +1 -1
- package/dist/esm/components/typography/heading.d.ts.map +1 -1
- package/dist/esm/components/typography/label.d.ts.map +1 -1
- package/dist/esm/components/typography/link.d.ts.map +1 -1
- package/dist/esm/components/typography/text.d.ts.map +1 -1
- package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
- package/dist/esm/components/views/ViewLayout_Header.d.ts.map +1 -1
- package/dist/esm/components/views/ViewNotFound.d.ts.map +1 -1
- package/dist/esm/components/views/ViewNotFound.labels.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartEmptyState.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartErrorState.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.d.ts.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 +3 -3
- 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.lazy.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/ChartWidget.labels.d.ts.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 +2 -9
- 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-theme-bridge.d.ts.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/dev/ChartView.example.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts +1 -0
- 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 +10 -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 +8 -6
- 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 +10 -8
- 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 +2 -2
- 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 +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/gauge.builder.d.ts.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/hierarchical-family.builder.d.ts.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 +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/pie-family.builder.d.ts.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/sankey.builder.d.ts.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 +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/chart-type-builder.interface.d.ts +6 -0
- 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 +3 -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 +4 -1
- package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
- package/dist/esm/components/views/chart-view/useResourceChartData.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.d.ts +0 -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/CompositeViewContext.d.ts.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 +24 -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/execution-view/ExecutionView.d.ts.map +1 -1
- package/dist/esm/components/views/execution-view/ExecutionView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.d.ts +29 -0
- package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.d.ts.map +1 -0
- package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.js +104 -0
- package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.js.map +1 -0
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts +16 -5
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +219 -230
- 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 +5 -0
- 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 +15 -13
- package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
- package/dist/esm/components/views/flows-actors-view/held-conversation-selection.d.ts +13 -0
- package/dist/esm/components/views/flows-actors-view/held-conversation-selection.d.ts.map +1 -0
- package/dist/esm/components/views/flows-actors-view/held-conversation-selection.js +44 -0
- package/dist/esm/components/views/flows-actors-view/held-conversation-selection.js.map +1 -0
- package/dist/esm/components/views/full-custom-view/FullCustomView.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/OnboardingView.labels.d.ts.map +1 -1
- package/dist/esm/components/views/onboarding-view/onboarding-view.utils.d.ts.map +1 -1
- package/dist/esm/core/app-shell/AppShellBuildingBlocks.d.ts.map +1 -1
- package/dist/esm/core/app-shell/AppShellBuildingBlocks.js +6 -2
- package/dist/esm/core/app-shell/AppShellBuildingBlocks.js.map +1 -1
- package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts +64 -9
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
- package/dist/esm/core/app-shell/app-shell.utils.d.ts.map +1 -1
- package/dist/esm/core/app-shell/hosted-components.utils.d.ts +11 -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 +25 -0
- package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
- package/dist/esm/core/app-shell/shell-layout.d.ts +138 -0
- package/dist/esm/core/app-shell/shell-layout.d.ts.map +1 -0
- package/dist/esm/core/app-shell/shell-layout.js +143 -0
- package/dist/esm/core/app-shell/shell-layout.js.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.d.ts +13 -0
- package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.d.ts.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.js +49 -0
- package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.js.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.d.ts +95 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.d.ts.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.js +316 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.js.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.d.ts +217 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.d.ts.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.js +197 -0
- package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.js.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-view-transition.d.ts +46 -0
- package/dist/esm/core/app-shell/shell-motion/shell-view-transition.d.ts.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/shell-view-transition.js +139 -0
- package/dist/esm/core/app-shell/shell-motion/shell-view-transition.js.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/use-shell-motion.d.ts +108 -0
- package/dist/esm/core/app-shell/shell-motion/use-shell-motion.d.ts.map +1 -0
- package/dist/esm/core/app-shell/shell-motion/use-shell-motion.js +423 -0
- package/dist/esm/core/app-shell/shell-motion/use-shell-motion.js.map +1 -0
- package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.js +6 -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 +11 -4
- 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.utils.d.ts +18 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +26 -4
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
- package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js +3 -22
- package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js.map +1 -1
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +19 -3
- 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 +100 -13
- package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
- package/dist/esm/core/automated-layout/summary-value-naming.utils.d.ts +67 -0
- package/dist/esm/core/automated-layout/summary-value-naming.utils.d.ts.map +1 -0
- package/dist/esm/core/automated-layout/summary-value-naming.utils.js +100 -0
- package/dist/esm/core/automated-layout/summary-value-naming.utils.js.map +1 -0
- package/dist/esm/core/billing/BillingContext.d.ts +0 -17
- package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
- package/dist/esm/core/billing/BillingContext.js +6 -1
- package/dist/esm/core/billing/BillingContext.js.map +1 -1
- package/dist/esm/core/billing/BillingErrorNotifier.d.ts.map +1 -1
- package/dist/esm/core/billing/billing-launcher.d.ts.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/billing/useBilling.d.ts.map +1 -1
- package/dist/esm/core/billing/useBillingAction.d.ts.map +1 -1
- package/dist/esm/core/billing/useBillingPlanChange.d.ts.map +1 -1
- package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts.map +1 -1
- package/dist/esm/core/branding/OrganizationBrandingPublisher.d.ts +2 -0
- package/dist/esm/core/branding/OrganizationBrandingPublisher.d.ts.map +1 -0
- package/dist/esm/core/branding/OrganizationBrandingPublisher.js +78 -0
- package/dist/esm/core/branding/OrganizationBrandingPublisher.js.map +1 -0
- package/dist/esm/core/branding/useBrandIdentity.d.ts +21 -0
- package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandIdentity.js +31 -5
- package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.d.ts +5 -0
- package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
- package/dist/esm/core/branding/useBrandPresentation.js +1 -0
- package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
- package/dist/esm/core/branding/useDisplayableImageUrl.d.ts +4 -0
- package/dist/esm/core/branding/useDisplayableImageUrl.d.ts.map +1 -0
- package/dist/esm/core/branding/useDisplayableImageUrl.js +66 -0
- package/dist/esm/core/branding/useDisplayableImageUrl.js.map +1 -0
- package/dist/esm/core/branding/useOrganizationDocumentTitle.d.ts +2 -0
- package/dist/esm/core/branding/useOrganizationDocumentTitle.d.ts.map +1 -0
- package/dist/esm/core/branding/useOrganizationDocumentTitle.js +23 -0
- package/dist/esm/core/branding/useOrganizationDocumentTitle.js.map +1 -0
- package/dist/esm/core/commons/devices.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons/save-blob-as-file.frontend.utils.d.ts +16 -0
- package/dist/esm/core/commons/save-blob-as-file.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/commons/save-blob-as-file.frontend.utils.js +35 -0
- package/dist/esm/core/commons/save-blob-as-file.frontend.utils.js.map +1 -0
- package/dist/esm/core/companion/companion-exports.frontend.definitions.d.ts.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 +8 -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.frontend.schemas.d.ts.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-resolver.frontend.helper.d.ts.map +1 -1
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.js +34 -5
- package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
- package/dist/esm/core/components-registry/register-framework-layouts.js +4 -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.map +1 -1
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +36 -20
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-configuration-frontend.schemas.js +29 -2
- package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +10 -16
- 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 +10 -16
- 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 +10 -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 +10 -0
- package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/composite-view.schemas.d.ts +2 -2
- package/dist/esm/core/config/composite-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.d.ts +20 -0
- package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.js +46 -6
- package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
- package/dist/esm/core/config/decision-inbox-capability.frontend.utils.d.ts +83 -0
- package/dist/esm/core/config/decision-inbox-capability.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/config/decision-inbox-capability.frontend.utils.js +100 -0
- package/dist/esm/core/config/decision-inbox-capability.frontend.utils.js.map +1 -0
- package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.d.ts +69 -0
- package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.js +65 -0
- package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.js.map +1 -0
- package/dist/esm/core/config/engine-settings-destinations.d.ts +13 -1
- package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.js +586 -155
- package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
- package/dist/esm/core/config/execution-view.schemas.d.ts +17 -3
- package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/execution-view.schemas.js +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 +12 -2
- package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/flows-actors-view.schemas.js +13 -1
- package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
- package/dist/esm/core/config/full-custom-view.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts +12 -11
- package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/inserted-view-launcher.schemas.js +14 -13
- 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/launcher-items.frontend.schemas.d.ts +50 -33
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.js +14 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/onboarding-view.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.d.ts +79 -0
- package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.js +95 -0
- package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.js.map +1 -0
- package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts +21 -10
- 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 +48 -16
- package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
- package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts +2 -2
- package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js +38 -5
- package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +99 -22
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.js +40 -3
- 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 +4 -1
- package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts +2 -2
- package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
- package/dist/esm/core/config/useVisibleSettingsHubConfig.js +7 -8
- package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
- package/dist/esm/core/config/verify-feature-references.frontend.d.ts.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.d.ts +6 -6
- package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.js +13 -12
- package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.d.ts +4 -0
- package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-settings-hub-content.js +34 -0
- package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
- package/dist/esm/core/config/view-label-declaration.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/views-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.d.ts +16 -23
- package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
- package/dist/esm/core/enums/common-enum-registry.js +26 -29
- 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/ErrorContext.d.ts.map +1 -1
- package/dist/esm/core/errors/ErrorModalContent.d.ts.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.js +71 -9
- 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/error-management.frontend.service.d.ts +0 -4
- package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/errors/error-management.frontend.service.js +5 -8
- 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.frontend.schemas.d.ts +21 -10
- 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/useError.d.ts.map +1 -1
- package/dist/esm/core/errors/useUserFacingErrorMessage.d.ts.map +1 -1
- package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts +35 -0
- package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js +44 -5
- package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js.map +1 -1
- package/dist/esm/core/errors/withErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/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 +13 -1
- package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
- package/dist/esm/core/events/NotificationContext.js +89 -22
- 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/events.frontend.schemas.d.ts +68 -4
- package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.js +67 -3
- 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/useEventBus.d.ts.map +1 -1
- package/dist/esm/core/events/useNotification.d.ts.map +1 -1
- package/dist/esm/core/events/useNotificationPreferenceKinds.d.ts +9 -0
- package/dist/esm/core/events/useNotificationPreferenceKinds.d.ts.map +1 -0
- package/dist/esm/core/events/useNotificationPreferenceKinds.js +50 -0
- package/dist/esm/core/events/useNotificationPreferenceKinds.js.map +1 -0
- package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.d.ts.map +1 -1
- package/dist/esm/core/execution/ExecutionRuntimeContext.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-anchor.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-dirty-markers.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-failure-handling.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-outcome-emission.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/execution-participation.utils.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecution.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecution.js +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/useExecutionParticipationDataPrefetch.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationPrefetch.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.js +4 -0
- 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/useExecutionResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.js +3 -3
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/external-providers/ConsentBasedProviderSdks.d.ts.map +1 -1
- package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.d.ts.map +1 -1
- package/dist/esm/core/external-providers/ProviderAddressLookupHost.d.ts.map +1 -1
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -1
- package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.d.ts +52 -0
- package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.d.ts.map +1 -0
- package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.js +88 -0
- package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.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-registry.frontend.service.d.ts +20 -2
- 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 +18 -1
- package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts +7 -5
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts.map +1 -1
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js +9 -6
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js.map +1 -1
- package/dist/esm/core/features/FeatureGate.d.ts.map +1 -1
- package/dist/esm/core/features/FeatureRouteGuard.d.ts.map +1 -1
- package/dist/esm/core/features/FeaturesContext.d.ts +9 -1
- package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
- package/dist/esm/core/features/FeaturesContext.js +38 -12
- package/dist/esm/core/features/FeaturesContext.js.map +1 -1
- package/dist/esm/core/features/feature-gate-surface.example.d.ts.map +1 -1
- package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatureAvailability.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatureGate.d.ts.map +1 -1
- package/dist/esm/core/features/useFeatures.d.ts.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
- package/dist/esm/core/features/useOperationFeatureAvailability.js +4 -0
- package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +90 -33
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.js +153 -100
- package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
- package/dist/esm/core/flows-actors/conversation-history.model.d.ts +41 -0
- package/dist/esm/core/flows-actors/conversation-history.model.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/conversation-history.model.js +65 -0
- package/dist/esm/core/flows-actors/conversation-history.model.js.map +1 -0
- package/dist/esm/core/flows-actors/conversation-thread.model.d.ts +144 -0
- package/dist/esm/core/flows-actors/conversation-thread.model.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/conversation-thread.model.js +315 -0
- package/dist/esm/core/flows-actors/conversation-thread.model.js.map +1 -0
- package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.d.ts +29 -0
- package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.js +67 -0
- package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.js.map +1 -0
- package/dist/esm/core/flows-actors/graph-view.layout.d.ts +77 -0
- package/dist/esm/core/flows-actors/graph-view.layout.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/graph-view.layout.js +169 -0
- package/dist/esm/core/flows-actors/graph-view.layout.js.map +1 -0
- package/dist/esm/core/flows-actors/graph-view.model.d.ts +245 -0
- package/dist/esm/core/flows-actors/graph-view.model.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/graph-view.model.js +414 -0
- package/dist/esm/core/flows-actors/graph-view.model.js.map +1 -0
- package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.d.ts +12 -0
- package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.js +20 -0
- package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.js.map +1 -0
- package/dist/esm/core/flows-actors/useFlowsActors.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/usePendingDecisions.d.ts +36 -11
- package/dist/esm/core/flows-actors/usePendingDecisions.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/usePendingDecisions.js +114 -29
- package/dist/esm/core/flows-actors/usePendingDecisions.js.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
- package/dist/esm/core/guidance/GuidanceContext.js +1 -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/guidance-audience.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceCard.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.d.ts.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 +2 -2
- 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.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceModal.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.d.ts.map +1 -1
- package/dist/esm/core/guidance/renderers/GuidanceTour.labels.d.ts.map +1 -1
- package/dist/esm/core/guidance/useGuidance.d.ts.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +3 -9
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
- package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +3 -15
- 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/HotkeyShortcutsHelpDialog.d.ts.map +1 -1
- package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts +2 -2
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts.map +1 -1
- package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js +2 -2
- 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/i18n/I18nContext.d.ts +52 -3
- package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
- package/dist/esm/core/i18n/I18nContext.js +80 -7
- 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/operation-title-resolution.utils.d.ts.map +1 -1
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts +82 -1
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js +121 -6
- package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -1
- package/dist/esm/core/i18n/useI18n.d.ts +3 -1
- package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
- package/dist/esm/core/i18n/useI18n.js +3 -1
- package/dist/esm/core/i18n/useI18n.js.map +1 -1
- package/dist/esm/core/icons/IconRegistryBridge.d.ts +38 -4
- package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
- package/dist/esm/core/icons/IconRegistryBridge.js +103 -63
- 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 +41 -0
- 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.schemas.d.ts +44 -0
- package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/icons/icon-registry.frontend.schemas.js +46 -0
- 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/loading/AppLoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingBarrier.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-policy.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/loading/loading-scope.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/loading/resolveLoadingPolicy.d.ts.map +1 -1
- package/dist/esm/core/loading/useAppLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useComponentLoading.d.ts.map +1 -1
- package/dist/esm/core/loading/useEmitLoadingScope.d.ts.map +1 -1
- package/dist/esm/core/loading/useLoading.d.ts.map +1 -1
- package/dist/esm/core/mode/AppModeContext.d.ts.map +1 -1
- package/dist/esm/core/mode/section-visibility.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsScopeBridge.d.ts.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/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js +2 -2
- 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/useAnalytics.d.ts.map +1 -1
- package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/monitoring/logger.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.d.ts +64 -20
- package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.js +82 -51
- package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.js +130 -23
- package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.d.ts +4 -0
- package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.js +17 -1
- package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
- package/dist/esm/core/navigation/ZoneChromeContext.d.ts +80 -0
- package/dist/esm/core/navigation/ZoneChromeContext.d.ts.map +1 -0
- package/dist/esm/core/navigation/ZoneChromeContext.js +130 -0
- package/dist/esm/core/navigation/ZoneChromeContext.js.map +1 -0
- package/dist/esm/core/navigation/launcher-resolution.d.ts +98 -6
- package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js +171 -13
- package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.d.ts +35 -21
- package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.js +147 -51
- package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
- package/dist/esm/core/navigation/navigation-cascade.d.ts +44 -14
- package/dist/esm/core/navigation/navigation-cascade.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-cascade.js +87 -19
- package/dist/esm/core/navigation/navigation-cascade.js.map +1 -1
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-commit.d.ts +45 -0
- package/dist/esm/core/navigation/navigation-commit.d.ts.map +1 -0
- package/dist/esm/core/navigation/navigation-commit.js +68 -0
- package/dist/esm/core/navigation/navigation-commit.js.map +1 -0
- package/dist/esm/core/navigation/navigation-controller-internals.d.ts +54 -3
- package/dist/esm/core/navigation/navigation-controller-internals.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-controller-internals.js +91 -3
- package/dist/esm/core/navigation/navigation-controller-internals.js.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +3 -3
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js +3 -3
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.d.ts +95 -22
- package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.js +190 -63
- 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/sidebar-resource-browser-operation.d.ts.map +1 -1
- package/dist/esm/core/navigation/sidebar-resource-browser-operation.js.map +1 -1
- package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.d.ts +64 -0
- package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.d.ts.map +1 -0
- package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.js +212 -0
- package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.js.map +1 -0
- package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts +1 -8
- package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.js +18 -40
- package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.d.ts +1 -0
- package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.js +51 -67
- package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationRouterSync.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationRouterSync.js +17 -1
- package/dist/esm/core/navigation/useNavigationRouterSync.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationState.d.ts.map +1 -1
- package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
- package/dist/esm/core/navigation/useResponsiveZoneMigration.d.ts.map +1 -1
- package/dist/esm/core/navigation/useTransactionAwareSyncRetry.d.ts.map +1 -1
- package/dist/esm/core/navigation/useZoneEntryOrganizationHold.d.ts +17 -0
- package/dist/esm/core/navigation/useZoneEntryOrganizationHold.d.ts.map +1 -0
- package/dist/esm/core/navigation/useZoneEntryOrganizationHold.js +32 -0
- package/dist/esm/core/navigation/useZoneEntryOrganizationHold.js.map +1 -0
- package/dist/esm/core/navigation/view-title-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-collapse-migration.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-collapse.d.ts +2 -1
- package/dist/esm/core/navigation/zone-collapse.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-collapse.js +2 -1
- package/dist/esm/core/navigation/zone-collapse.js.map +1 -1
- package/dist/esm/core/navigation/zone-content-geometry.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-emphasis.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-empty-behavior.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-entry-organization.d.ts +34 -0
- package/dist/esm/core/navigation/zone-entry-organization.d.ts.map +1 -0
- package/dist/esm/core/navigation/zone-entry-organization.js +77 -0
- package/dist/esm/core/navigation/zone-entry-organization.js.map +1 -0
- package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -1
- package/dist/esm/core/requests/api-readiness-checker.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts +15 -0
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.js +24 -0
- package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
- package/dist/esm/core/requests/automatic-resend-safety.frontend.d.ts +74 -0
- package/dist/esm/core/requests/automatic-resend-safety.frontend.d.ts.map +1 -0
- package/dist/esm/core/requests/automatic-resend-safety.frontend.js +52 -0
- package/dist/esm/core/requests/automatic-resend-safety.frontend.js.map +1 -0
- package/dist/esm/core/requests/client-instance-id.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.js +31 -0
- 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 +2 -0
- 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/usePublishNotificationBadgeCount.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useResourceRoom.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useWebSocket.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +162 -98
- 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 +283 -157
- 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 +9 -13
- 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 +45 -97
- 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 +25 -5
- 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 +56 -11
- 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/ResourceOperationViewProvider.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceReadCacheBridge.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.js +1 -2
- package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
- package/dist/esm/core/resources/bulk-failure-grouping.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/calendar-date-fields.frontend.utils.d.ts +14 -0
- package/dist/esm/core/resources/calendar-date-fields.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/calendar-date-fields.frontend.utils.js +29 -0
- package/dist/esm/core/resources/calendar-date-fields.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/caller-identity-record.frontend.utils.d.ts +23 -0
- package/dist/esm/core/resources/caller-identity-record.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/caller-identity-record.frontend.utils.js +26 -0
- package/dist/esm/core/resources/caller-identity-record.frontend.utils.js.map +1 -0
- 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 +5 -15
- package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts +49 -20
- package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js +92 -86
- package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/date-filter-window.frontend.utils.d.ts +58 -0
- package/dist/esm/core/resources/date-filter-window.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/date-filter-window.frontend.utils.js +70 -0
- package/dist/esm/core/resources/date-filter-window.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/ephemeral-fields.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/file-serve-url.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.d.ts +146 -7
- package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.js +194 -22
- package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts +18 -4
- package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
- package/dist/esm/core/resources/hooks/useOperationEnabled.js +26 -6
- 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/operation-initiator-satisfaction.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts +95 -2
- package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.js +126 -13
- package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.d.ts +45 -0
- package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.js +46 -0
- package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/referenced-record-scope.frontend.utils.d.ts +46 -0
- package/dist/esm/core/resources/referenced-record-scope.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/referenced-record-scope.frontend.utils.js +86 -0
- package/dist/esm/core/resources/referenced-record-scope.frontend.utils.js.map +1 -0
- 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 +5 -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/resource-addressability.frontend.utils.d.ts +28 -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 +43 -3
- package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-discriminators.frontend.utils.d.ts +26 -0
- package/dist/esm/core/resources/resource-discriminators.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/resource-discriminators.frontend.utils.js +37 -0
- package/dist/esm/core/resources/resource-discriminators.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-operation-view.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-path.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.d.ts +40 -8
- package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.js +333 -73
- package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts +118 -57
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.js +207 -68
- package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts +9 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/HttpTransportAdapter.js +57 -22
- 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 +1 -0
- 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/RMMWebSocketBridge.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts +3 -0
- package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.js +94 -35
- 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/mutation-error-report.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/rmm-noop-snapshot.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/types.d.ts +58 -6
- package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/types.js +17 -0
- package/dist/esm/core/resources/rmm/types.js.map +1 -1
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts +43 -6
- 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 +49 -6
- 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/useRMMEventHandler.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useRMMSnapshot.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceMutationManager.js +2 -0
- package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.d.ts +2 -0
- package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.js +10 -3
- package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
- package/dist/esm/core/resources/temporal-day-groups.frontend.utils.d.ts +22 -0
- package/dist/esm/core/resources/temporal-day-groups.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/temporal-day-groups.frontend.utils.js +31 -0
- package/dist/esm/core/resources/temporal-day-groups.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.d.ts +36 -0
- package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.js +88 -0
- package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.js.map +1 -0
- package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.d.ts.map +1 -1
- package/dist/esm/core/resources/useBulkJobProgress.d.ts +6 -0
- package/dist/esm/core/resources/useBulkJobProgress.d.ts.map +1 -1
- package/dist/esm/core/resources/useBulkJobProgress.js +1 -0
- package/dist/esm/core/resources/useBulkJobProgress.js.map +1 -1
- package/dist/esm/core/resources/useCollectionFilterPresetScope.d.ts +14 -0
- package/dist/esm/core/resources/useCollectionFilterPresetScope.d.ts.map +1 -0
- package/dist/esm/core/resources/useCollectionFilterPresetScope.js +29 -0
- package/dist/esm/core/resources/useCollectionFilterPresetScope.js.map +1 -0
- package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts +7 -6
- package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
- package/dist/esm/core/resources/useHostlessResourceNavigation.js +35 -21
- package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
- package/dist/esm/core/resources/useOperationDirectExecution.d.ts.map +1 -1
- package/dist/esm/core/resources/useOperationDirectExecution.js +25 -10
- package/dist/esm/core/resources/useOperationDirectExecution.js.map +1 -1
- package/dist/esm/core/resources/useOperationEnabled.d.ts.map +1 -1
- package/dist/esm/core/resources/useRecordSharing.d.ts +58 -0
- package/dist/esm/core/resources/useRecordSharing.d.ts.map +1 -0
- package/dist/esm/core/resources/useRecordSharing.js +220 -0
- package/dist/esm/core/resources/useRecordSharing.js.map +1 -0
- package/dist/esm/core/resources/useResourceLabels.d.ts +4 -1
- package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceLabels.js +31 -32
- package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.d.ts +21 -3
- package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.js +219 -51
- package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts +10 -1
- package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js +7 -2
- package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.d.ts +5 -5
- package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.js +5 -4
- 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/useResourceSelection.d.ts +6 -0
- 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 +47 -0
- 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 +117 -4
- 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 +3 -1
- package/dist/esm/core/runtime/AppRouter.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.d.ts +10 -1
- package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.js +17 -2
- package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
- package/dist/esm/core/runtime/StartupFailureScreen.d.ts.map +1 -1
- package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts +5 -0
- package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.js +4 -2
- package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/frontend-companion-resource-inputs.d.ts.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +19 -3
- package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/routes.frontend.definitions.js +23 -7
- 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/start-application.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
- package/dist/esm/core/runtime/startup-failure-copy.frontend.d.ts.map +1 -1
- package/dist/esm/core/runtime/useApplication.d.ts.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.d.ts +7 -2
- package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
- package/dist/esm/core/scope/AppScopeContext.js +56 -10
- 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.utils.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/scope/useAppScope.d.ts.map +1 -1
- package/dist/esm/core/security/AnonymousSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/ApplicationRoleTablesContext.d.ts +23 -0
- package/dist/esm/core/security/ApplicationRoleTablesContext.d.ts.map +1 -0
- package/dist/esm/core/security/ApplicationRoleTablesContext.js +27 -0
- package/dist/esm/core/security/ApplicationRoleTablesContext.js.map +1 -0
- package/dist/esm/core/security/AuthSessionContext.d.ts +26 -8
- package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.js +81 -17
- package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
- package/dist/esm/core/security/RouteOrganizationDecisionContext.d.ts +13 -0
- package/dist/esm/core/security/RouteOrganizationDecisionContext.d.ts.map +1 -0
- package/dist/esm/core/security/RouteOrganizationDecisionContext.js +12 -0
- package/dist/esm/core/security/RouteOrganizationDecisionContext.js.map +1 -0
- package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.js +5 -5
- package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.d.ts +13 -0
- package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.js +272 -103
- package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts +1 -0
- package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/auth-redirect.frontend.utils.js +3 -2
- 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/consent-gate.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/cross-frontend-handoff.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/security/effective-permissions.frontend.utils.d.ts +43 -0
- package/dist/esm/core/security/effective-permissions.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/security/effective-permissions.frontend.utils.js +73 -0
- package/dist/esm/core/security/effective-permissions.frontend.utils.js.map +1 -0
- package/dist/esm/core/security/federated-reauthentication.frontend.d.ts.map +1 -1
- package/dist/esm/core/security/organization-onboarding.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/registration-outcome.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts +175 -5
- package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/security/route-organization-access.frontend.utils.js +147 -6
- package/dist/esm/core/security/route-organization-access.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.d.ts +17 -5
- package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/security/security.frontend.schemas.js +0 -5
- package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
- package/dist/esm/core/security/useApplicationRoleTables.d.ts +3 -0
- package/dist/esm/core/security/useApplicationRoleTables.d.ts.map +1 -0
- package/dist/esm/core/security/useApplicationRoleTables.js +11 -0
- package/dist/esm/core/security/useApplicationRoleTables.js.map +1 -0
- package/dist/esm/core/security/useAuthSession.d.ts.map +1 -1
- package/dist/esm/core/security/useConsentGateBehavior.d.ts.map +1 -1
- package/dist/esm/core/security/useDocumentAcceptanceGateBehavior.d.ts.map +1 -1
- package/dist/esm/core/security/useGrantedConsentPurposes.d.ts.map +1 -1
- package/dist/esm/core/security/useResolvedAuthConfig.d.ts.map +1 -1
- package/dist/esm/core/security/useRouteOrganizationAccess.d.ts +9 -0
- package/dist/esm/core/security/useRouteOrganizationAccess.d.ts.map +1 -1
- package/dist/esm/core/security/useRouteOrganizationAccess.js +31 -10
- package/dist/esm/core/security/useRouteOrganizationAccess.js.map +1 -1
- package/dist/esm/core/security/useRouteOrganizationFollow.d.ts +24 -0
- package/dist/esm/core/security/useRouteOrganizationFollow.d.ts.map +1 -0
- package/dist/esm/core/security/useRouteOrganizationFollow.js +76 -0
- package/dist/esm/core/security/useRouteOrganizationFollow.js.map +1 -0
- package/dist/esm/core/security/useStepUpAuth.d.ts.map +1 -1
- package/dist/esm/core/security/useUserOrgs.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfaceErrorBoundary.labels.d.ts.map +1 -1
- package/dist/esm/core/ui/SurfacePolicyContext.d.ts.map +1 -1
- package/dist/esm/core/ui/UIContext.d.ts +25 -2
- package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
- package/dist/esm/core/ui/UIContext.js +49 -37
- 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/design-token-config.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token.utils.d.ts +0 -11
- package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/design-token.utils.js +51 -83
- 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/surface-a11y.utils.d.ts.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 +151 -59
- package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
- package/dist/esm/core/ui/themes/focus-indicator.d.ts +221 -0
- package/dist/esm/core/ui/themes/focus-indicator.d.ts.map +1 -0
- package/dist/esm/core/ui/themes/focus-indicator.js +229 -0
- package/dist/esm/core/ui/themes/focus-indicator.js.map +1 -0
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts +7 -6
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
- package/dist/esm/core/ui/useThemePreferenceControl.js +1 -2
- package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
- package/dist/esm/core/ui/useUI.d.ts.map +1 -1
- package/dist/esm/index.d.ts +33 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +44 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tailwind/index.d.ts.map +1 -1
- package/dist/esm/tailwind/index.js +3 -0
- package/dist/esm/tailwind/index.js.map +1 -1
- package/dist/esm/testing/app-shell-placement-coverage.d.ts.map +1 -1
- package/dist/esm/testing/app-shell-placement-coverage.js +6 -2
- package/dist/esm/testing/app-shell-placement-coverage.js.map +1 -1
- package/dist/esm/testing/mock-builders.d.ts +13 -1
- package/dist/esm/testing/mock-builders.d.ts.map +1 -1
- package/dist/esm/testing/mock-builders.js +35 -1
- package/dist/esm/testing/mock-builders.js.map +1 -1
- package/dist/esm/testing/rmm-helpers.d.ts +5 -3
- package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
- package/dist/esm/testing/rmm-helpers.js +3 -0
- 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 +3 -0
- package/dist/esm/testing/test-providers.js.map +1 -1
- package/dist/esm/testing.d.ts.map +1 -1
- package/package.json +7 -6
- package/dist/esm/components/flows-actors/flow-node.d.ts +0 -28
- package/dist/esm/components/flows-actors/flow-node.d.ts.map +0 -1
- package/dist/esm/components/flows-actors/flow-node.js +0 -115
- package/dist/esm/components/flows-actors/flow-node.js.map +0 -1
- package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts +0 -30
- package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts.map +0 -1
- package/dist/esm/components/resources/CollectionSelectionHeaderRail.js +0 -17
- package/dist/esm/components/resources/CollectionSelectionHeaderRail.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { FieldSchemaType, getSchemaType, isFileSchema, isForeignKeyField, unwrapSchema } from '@wildo-ai/zod-decorators';
|
|
3
|
-
import { BULK_OPERATION_HOST_SUPPLIED_FIELDS, BULK_OPERATION_MATCH_FIELD, BULK_OPERATION_SELECTOR_FIELD, COLLECTION_OPERATIONS_WITHOUT_IDS, CoreResourceOperation, ResourceGeneratedOperationKind, ResourceOperationVariantType, ResourceOperationFrontendSurface, ResourceOperationRiskLevel, NavigationTransition, Resources_SharedUtils, } from '@wildo-ai/saas-models';
|
|
3
|
+
import { ALL_COLLECTION_OPERATIONS, BULK_OPERATION_HOST_SUPPLIED_FIELDS, BULK_OPERATION_MATCH_FIELD, BULK_OPERATION_SELECTOR_FIELD, COLLECTION_OPERATIONS_WITHOUT_IDS, CoreResourceOperation, ResourceGeneratedOperationKind, ResourceOperationVariantType, ResourceOperationFrontendSurface, ResourceOperationRiskLevel, NavigationTransition, Resources_SharedUtils, Resources_BulkOperationMatchListingSchema, getContextAddressedCompositionSingletonRelationshipCandidates, } from '@wildo-ai/saas-models';
|
|
4
4
|
import { isCollectionScopedOperation, ResourceOperationActionPresentation, ResourceOperationActionScope, } from '../../core/resources/resources.frontend.schemas.js';
|
|
5
5
|
export const BULK_OPERATION_SELECTION_IDS_CONTEXT_KEY = 'bulkOperationSelectionIds';
|
|
6
6
|
/**
|
|
@@ -53,6 +53,22 @@ export function resolveSurfaceTitleOperationIdentifier(operationIdentifier, reso
|
|
|
53
53
|
}
|
|
54
54
|
return String(operationIdentifier);
|
|
55
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Is a surface showing this operation HEADED by the record's own name, rather than by the operation's title?
|
|
58
|
+
*
|
|
59
|
+
* Only for a CORE verb that addresses one record — READ (the record's page), UPDATE (its edit page, titled like the
|
|
60
|
+
* page: see {@link resolveSurfaceTitleOperationIdentifier}) and DELETE (whose question is WHICH record). A NAMED
|
|
61
|
+
* action on one record keeps its own title as the heading: `setRepresentativeAdmissionPolicy`'s title is what the page DOES, and the
|
|
62
|
+
* record is the thing it does it to, so its name sits beneath the title instead of replacing it (#2058). Until
|
|
63
|
+
* then a record label replaced every one-record surface's title, and every named action opened as a page headed
|
|
64
|
+
* only "E2E spfbb168", which says nothing about which action the form below performs.
|
|
65
|
+
*
|
|
66
|
+
* Keyed on the literal identifier for the same reason the title rule is: a custom operation BORROWING update
|
|
67
|
+
* semantics (`resourceOperationLike`) is still a named action.
|
|
68
|
+
*/
|
|
69
|
+
export function surfaceHeadingIsRecordName(operation) {
|
|
70
|
+
return isLiteralCoreResourceOperation(operation.operationIdentifier) && operationAddressesOneRecord(operation);
|
|
71
|
+
}
|
|
56
72
|
export function isUpdateLikeCoreOperation(coreOperation) {
|
|
57
73
|
return coreOperation === CoreResourceOperation.UPDATE
|
|
58
74
|
|| coreOperation === CoreResourceOperation.UPDATE_MANY;
|
|
@@ -93,13 +109,33 @@ export function readBulkOperationMatchSelection(additionalContext) {
|
|
|
93
109
|
return undefined;
|
|
94
110
|
}
|
|
95
111
|
const candidate = value;
|
|
112
|
+
// The listing the rows came from (#2718), read through its own wire schema so a malformed one travels as none.
|
|
113
|
+
const listing = Resources_BulkOperationMatchListingSchema.safeParse(candidate.listing);
|
|
96
114
|
return {
|
|
97
115
|
...(candidate.filters && typeof candidate.filters === 'object' && !Array.isArray(candidate.filters)
|
|
98
116
|
? { filters: candidate.filters }
|
|
99
117
|
: {}),
|
|
100
118
|
...(typeof candidate.search === 'string' && candidate.search !== '' ? { search: candidate.search } : {}),
|
|
119
|
+
...(candidate.listing !== undefined && listing.success ? { listing: listing.data } : {}),
|
|
101
120
|
};
|
|
102
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* How many records a bulk operation context names, for the words a bulk form shows ("will be cleared on 40 records",
|
|
124
|
+
* #2620): the ids when rows were picked, else the count the LISTING reported for a cross-page selection
|
|
125
|
+
* (`matchedCount`, a statement about the moment the person chose, as the bulk bar shows it). `undefined` when the context
|
|
126
|
+
* names no selection, or a cross-page one without its count.
|
|
127
|
+
*
|
|
128
|
+
* Read only for display: the selection the server writes to is the one `mergeBulkSelectionIntoRequestData` sends, and the
|
|
129
|
+
* count never travels with it.
|
|
130
|
+
*/
|
|
131
|
+
export function readBulkOperationSelectionCount(additionalContext) {
|
|
132
|
+
const ids = readBulkOperationSelectionIds(additionalContext);
|
|
133
|
+
if (ids)
|
|
134
|
+
return ids.length;
|
|
135
|
+
const match = additionalContext?.[BULK_OPERATION_MATCH_SELECTION_CONTEXT_KEY];
|
|
136
|
+
const matchedCount = match && typeof match === 'object' ? match.matchedCount : undefined;
|
|
137
|
+
return typeof matchedCount === 'number' && Number.isInteger(matchedCount) && matchedCount >= 0 ? matchedCount : undefined;
|
|
138
|
+
}
|
|
103
139
|
export function readResourceOperationExecutedDiscriminator(additionalContext) {
|
|
104
140
|
const value = additionalContext?.[RESOURCE_OPERATION_EXECUTED_DISCRIMINATOR_CONTEXT_KEY];
|
|
105
141
|
return typeof value === 'string' && value.length > 0 ? value : undefined;
|
|
@@ -131,7 +167,9 @@ export function buildBulkOperationSelectorPayload(ids) {
|
|
|
131
167
|
export function buildBulkOperationMatchPayload(match) {
|
|
132
168
|
const filters = match.filters && Object.keys(match.filters).length > 0 ? { filters: match.filters } : {};
|
|
133
169
|
const search = match.search ? { search: match.search } : {};
|
|
134
|
-
|
|
170
|
+
// The listing the rows came from, so the server re-runs exactly that operation and variant (#2718).
|
|
171
|
+
const listing = match.listing ? { listing: match.listing } : {};
|
|
172
|
+
return { [BULK_OPERATION_MATCH_FIELD]: { ...filters, ...search, ...listing } };
|
|
135
173
|
}
|
|
136
174
|
/**
|
|
137
175
|
* The `resultSummary` an outcome event may carry: the operation's result when it is a PLAIN OBJECT,
|
|
@@ -152,20 +190,22 @@ export function mergeBulkSelectionIntoRequestData(params) {
|
|
|
152
190
|
if (params.operation.isBulkOperation !== true) {
|
|
153
191
|
return params.requestData;
|
|
154
192
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
//
|
|
193
|
+
const match = readBulkOperationMatchSelection(params.additionalContext);
|
|
194
|
+
const ids = readBulkOperationSelectionIds(params.additionalContext);
|
|
195
|
+
// No selection in the context: the caller's request is left exactly as given — a programmatic
|
|
196
|
+
// `execute({ _ids })` names its own rows, and dropping them would turn it into a no-target request.
|
|
197
|
+
if (!match && (!ids || ids.length === 0)) {
|
|
198
|
+
return params.requestData;
|
|
199
|
+
}
|
|
200
|
+
// The context supplies the selection, so it is the COLLECTION's to write, never the form's: whatever
|
|
201
|
+
// the request carries under a selector key is dropped first, so an empty `_match: {}` can never stand
|
|
202
|
+
// in for — or sit beside — the selection the person actually made.
|
|
158
203
|
const formValues = params.requestData
|
|
159
204
|
? Object.fromEntries(Object.entries(params.requestData).filter(([key]) => !BULK_OPERATION_HOST_SUPPLIED_FIELDS.includes(key)))
|
|
160
205
|
: undefined;
|
|
161
|
-
const match = readBulkOperationMatchSelection(params.additionalContext);
|
|
162
206
|
if (match) {
|
|
163
207
|
return { ...(formValues ?? {}), ...buildBulkOperationMatchPayload(match) };
|
|
164
208
|
}
|
|
165
|
-
const ids = readBulkOperationSelectionIds(params.additionalContext);
|
|
166
|
-
if (!ids || ids.length === 0) {
|
|
167
|
-
return formValues;
|
|
168
|
-
}
|
|
169
209
|
return {
|
|
170
210
|
...(formValues ?? {}),
|
|
171
211
|
...buildBulkOperationSelectorPayload(ids),
|
|
@@ -194,6 +234,51 @@ export function isGeneratedCollectionExportOperation(operation) {
|
|
|
194
234
|
|| (typeof operation.operationIdentifier === 'string'
|
|
195
235
|
&& Resources_SharedUtils.parseGeneratedCollectionExportOperationIdentifier(operation.operationIdentifier) !== undefined);
|
|
196
236
|
}
|
|
237
|
+
/**
|
|
238
|
+
* Does this collection export re-run the VARIANT the listing shows (#2705)?
|
|
239
|
+
*
|
|
240
|
+
* An export re-runs exactly the variant that declared it. A resource can show one operation's variants on different
|
|
241
|
+
* screens: a member's own listing (unkeyed), and the governed `directory` (keyed) an administrator reads. An export of
|
|
242
|
+
* one, offered on the other, downloads a set the person is not looking at: the directory's whole tenant list from a
|
|
243
|
+
* member listing's toolbar, with that listing's filters. So it is offered only where its source variant is the one shown.
|
|
244
|
+
*
|
|
245
|
+
* `listingVariantKeys` is the variant the listing shows for each verb: a key, `null` for the unkeyed variant, or
|
|
246
|
+
* `undefined` when the listing did not say (no constraint: a surface that supplies nothing sees no change).
|
|
247
|
+
*/
|
|
248
|
+
export function collectionExportReRunsListingVariant(operation, listingVariantKeys) {
|
|
249
|
+
if (!listingVariantKeys || operation.generatedOperation?.kind !== ResourceGeneratedOperationKind.GENERATED_COLLECTION_EXPORT) {
|
|
250
|
+
return true;
|
|
251
|
+
}
|
|
252
|
+
const shown = operation.generatedOperation.sourceCoreOperation === CoreResourceOperation.SEARCH
|
|
253
|
+
? listingVariantKeys.search
|
|
254
|
+
: listingVariantKeys.list;
|
|
255
|
+
if (shown === undefined)
|
|
256
|
+
return true;
|
|
257
|
+
const sourceVariantKey = typeof operation.generatedOperation.sourceVariantKey === 'string' ? operation.generatedOperation.sourceVariantKey : null;
|
|
258
|
+
return sourceVariantKey === shown;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Does this operation address ONE persisted record, so that its context's own-type slot is that record's id?
|
|
262
|
+
*
|
|
263
|
+
* A non-bulk READ, UPDATE or DELETE does, and so does a custom operation borrowing one of them. Nothing else
|
|
264
|
+
* does: every collection verb (`ALL_COLLECTION_OPERATIONS`: LIST, SEARCH, COUNT, CREATE, CREATE_MANY,
|
|
265
|
+
* UPDATE_MANY, DELETE_MANY), a BULK variant of any verb (`haveBulkOperation` — an UPDATE or DELETE over a
|
|
266
|
+
* selection; saas-models builds its route with no entity id for the same reason), and an operation whose
|
|
267
|
+
* semantic cannot be resolved. On those an own-type id in the context is AMBIENT SCOPE — the quick-switcher's
|
|
268
|
+
* selected record, for one — and never "the current record".
|
|
269
|
+
*
|
|
270
|
+
* The single answer to that question. The resource header asks it before letting a record's label replace
|
|
271
|
+
* the operation title, the navigation layer before reading a context's type slot as an id
|
|
272
|
+
* (`NavigationUtils.isScopeAddressedOperationContext`), and the app scope before treating a surface as one
|
|
273
|
+
* that addresses a record of a scope field's type. They used to answer it separately, from a hand-closed list
|
|
274
|
+
* each, and disagreed about CREATE_MANY and the bulk variants.
|
|
275
|
+
*/
|
|
276
|
+
export function operationAddressesOneRecord(operation) {
|
|
277
|
+
if (operation.isBulkOperation === true)
|
|
278
|
+
return false;
|
|
279
|
+
const effectiveCoreOperation = resolveEffectiveCoreOperationFromOperation(operation);
|
|
280
|
+
return effectiveCoreOperation !== undefined && !ALL_COLLECTION_OPERATIONS.includes(effectiveCoreOperation);
|
|
281
|
+
}
|
|
197
282
|
/**
|
|
198
283
|
* A CUSTOM operation that borrows a COLLECTION verb, and therefore addresses no single row.
|
|
199
284
|
*
|
|
@@ -250,11 +335,38 @@ export function isCollectionVerbBorrowingOperation(operation) {
|
|
|
250
335
|
* 2. DERIVED from the generated collection-export companion, which is collection-scoped by
|
|
251
336
|
* construction and has no author to declare anything;
|
|
252
337
|
* 3. DERIVED from a borrowed COLLECTION verb — see {@link isCollectionVerbBorrowingOperation}.
|
|
338
|
+
*
|
|
339
|
+
* The third follows what the verb ADDRESSES, not the verb it is like (#2326). A verb with no `:id` addresses the
|
|
340
|
+
* collection its context selects, and for a context-addressed SINGLETON that collection is one record: the one a
|
|
341
|
+
* detail page shows when its context is that record's owner. There the verb acts on the record on screen, so it is
|
|
342
|
+
* an item action (`addressesTheContextSingletonRecord`, decided by {@link recordIsItsContextSingleton}). A settings
|
|
343
|
+
* singleton whose ENABLE and DISABLE borrow CREATE for the id-less route is the case that found it (a representing
|
|
344
|
+
* organization's activity-feed settings, since retired, #2592): they appeared on no surface at all, since a singleton
|
|
345
|
+
* has no list to carry collection actions. The
|
|
346
|
+
* two DECLARED kinds are untouched: a "retry all" means all, wherever it renders.
|
|
253
347
|
*/
|
|
254
|
-
export function isCollectionScopedResourceOperation(operation) {
|
|
348
|
+
export function isCollectionScopedResourceOperation(operation, options) {
|
|
255
349
|
return isCollectionScopedOperation(operation.operationFrontendConfig)
|
|
256
350
|
|| isGeneratedCollectionExportOperation(operation)
|
|
257
|
-
|| isCollectionVerbBorrowingOperation(operation);
|
|
351
|
+
|| (!options?.addressesTheContextSingletonRecord && isCollectionVerbBorrowingOperation(operation));
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Is the record on screen the one its context selects (#2326)? True when the resource is a context-addressed
|
|
355
|
+
* composition singleton under some parent, the record names that parent, and the surface's context IS that parent.
|
|
356
|
+
*
|
|
357
|
+
* The last condition is what keeps the rule to the record a person opened in its own context. The same singleton can
|
|
358
|
+
* also be a row of somebody's administrative list, reached from another context; an id-less verb there would address
|
|
359
|
+
* the context's record, not that row's, so it must not become a row action.
|
|
360
|
+
*/
|
|
361
|
+
export function recordIsItsContextSingleton(input) {
|
|
362
|
+
if (!input.resourceRelationships || !input.currentObject)
|
|
363
|
+
return false;
|
|
364
|
+
return getContextAddressedCompositionSingletonRelationshipCandidates(input.resourceRelationships).some((candidate) => {
|
|
365
|
+
const owner = input.currentObject[candidate.foreignKeyField];
|
|
366
|
+
const context = input.contextResourceIdentifiers[candidate.parentResourceType];
|
|
367
|
+
const contextId = typeof context === 'string' ? context : context?.resourceId;
|
|
368
|
+
return typeof owner === 'string' && owner.length > 0 && owner === contextId;
|
|
369
|
+
});
|
|
258
370
|
}
|
|
259
371
|
export const NON_ITEM_RESOURCE_OPERATIONS = new Set([
|
|
260
372
|
CoreResourceOperation.LIST,
|
|
@@ -525,6 +637,8 @@ export function resolveResourceOperationDropdownChoice(operation) {
|
|
|
525
637
|
export function operationCanPresentAsDropdown(operation) {
|
|
526
638
|
return operation.isBulkOperation !== true
|
|
527
639
|
&& !isRiskyResourceOperation(operation.riskLevel)
|
|
640
|
+
// Its choices depend on the row and the application (#2744): the form that applies the offer collects it instead.
|
|
641
|
+
&& !operation.requestFieldOffers
|
|
528
642
|
&& resolveResourceOperationDropdownChoice(operation) !== undefined;
|
|
529
643
|
}
|
|
530
644
|
/**
|
|
@@ -725,7 +839,6 @@ export function pickPreferredOperationForCoreSemantic(operations, coreOperation,
|
|
|
725
839
|
}
|
|
726
840
|
const preferredVariantTypes = [
|
|
727
841
|
ResourceOperationVariantType.API_CALL,
|
|
728
|
-
ResourceOperationVariantType.API_CALL_WITH_CALLBACK,
|
|
729
842
|
];
|
|
730
843
|
return [...filtered].sort((left, right) => {
|
|
731
844
|
const leftLiteral = left.operationIdentifier === coreOperation ? 1 : 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-semantics.frontend.utils.js","sourceRoot":"","sources":["../../../../../src/core/resources/operation-semantics.frontend.utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { FieldSchemaType, getSchemaType, isFileSchema, isForeignKeyField, unwrapSchema } from '@wildo-ai/zod-decorators';\nimport {\n BULK_OPERATION_HOST_SUPPLIED_FIELDS,\n BULK_OPERATION_MATCH_FIELD,\n BULK_OPERATION_SELECTOR_FIELD,\n COLLECTION_OPERATIONS_WITHOUT_IDS,\n CoreResourceOperation,\n ResourceGeneratedOperationKind,\n ResourceOperationVariantType,\n ResourceOperationFrontendSurface,\n ResourceOperationRiskLevel,\n NavigationTransition,\n Resources_SharedUtils,\n} from '@wildo-ai/saas-models';\nimport {\n isCollectionScopedOperation,\n ResourceOperationActionPresentation,\n ResourceOperationActionScope,\n} from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\n\nexport interface ResourceOperationSemanticsLike {\n operationIdentifier: unknown;\n resourceOperationLike?: unknown;\n requestDto?: unknown;\n variantType?: unknown;\n isOperationDefault?: boolean;\n isBulkOperation?: boolean;\n variantKey?: unknown;\n /** Read only by the DROPDOWN rule: a pick that executes cannot also be a deliberate, confirmed act. */\n riskLevel?: unknown;\n /**\n * The subset of `ResourceOperationFrontendConfig` this module's decisions read.\n *\n * Deliberately a structural subset rather than the full config type: these helpers run against\n * operation objects arriving through several projections (the frontend registry, a thinned\n * navigation payload, a test fixture), and requiring the whole config would make them unusable on\n * exactly the surfaces that need them most.\n */\n operationFrontendConfig?: {\n surface?: ResourceOperationFrontendSurface;\n actionPresentation?: ResourceOperationActionPresentation;\n actionScope?: ResourceOperationActionScope;\n rowTargetRequestField?: string;\n };\n generatedOperation?: {\n kind?: unknown;\n fieldName?: unknown;\n };\n}\n\nexport const BULK_OPERATION_SELECTION_IDS_CONTEXT_KEY = 'bulkOperationSelectionIds';\n/**\n * The operation-context key carrying a CROSS-PAGE selection (\"select all N matching\") to whatever host\n * presents a bulk action's form — the sibling of {@link BULK_OPERATION_SELECTION_IDS_CONTEXT_KEY}.\n *\n * A form-bearing bulk action (one that asks for a value, like \"Change status\") is executed by the\n * form host, which adds the selection through {@link mergeBulkSelectionIntoRequestData}. That merge\n * read only the id key, so a cross-page selection never reached it and the request went out with no\n * selection but the form's own empty `_match` (#1461, #2035 run 2026-09-30).\n */\nexport const BULK_OPERATION_MATCH_SELECTION_CONTEXT_KEY = 'bulkOperationMatchSelection';\nexport const RESOURCE_OPERATION_EXECUTED_DISCRIMINATOR_CONTEXT_KEY = 'resourceOperationExecutedDiscriminator';\n\nexport type ResourceOperationLayoutKind =\n | 'create'\n | 'list'\n | 'read'\n | 'update'\n | 'search'\n | 'action';\n\nexport function isLiteralCoreResourceOperation(\n operationIdentifier: unknown,\n): operationIdentifier is CoreResourceOperation {\n return Object.values(CoreResourceOperation).includes(operationIdentifier as CoreResourceOperation);\n}\n\nexport function resolveEffectiveCoreOperation(\n operationIdentifier: unknown,\n resourceOperationLike?: unknown,\n): CoreResourceOperation | undefined {\n if (resourceOperationLike && Object.values(CoreResourceOperation).includes(resourceOperationLike as CoreResourceOperation)) {\n return resourceOperationLike as CoreResourceOperation;\n }\n\n if (Object.values(CoreResourceOperation).includes(operationIdentifier as CoreResourceOperation)) {\n return operationIdentifier as CoreResourceOperation;\n }\n\n return undefined;\n}\n\nexport function resolveEffectiveCoreOperationFromOperation(\n operation: ResourceOperationSemanticsLike,\n): CoreResourceOperation | undefined {\n return resolveEffectiveCoreOperation(\n operation.operationIdentifier,\n operation.resourceOperationLike,\n );\n}\n\nexport function matchesResourceOperationSemantic(\n operation: ResourceOperationSemanticsLike,\n coreOperation: CoreResourceOperation,\n): boolean {\n return resolveEffectiveCoreOperationFromOperation(operation) === coreOperation;\n}\n\n/**\n * The operation whose generated TITLE names a surface that shows `operationIdentifier` — the page header and\n * the overlay (dialog, sheet, tab) title alike, which must agree.\n *\n * The core EDIT surface is titled like the record's own page. UPDATE's title is generated as the name of an\n * ACTION, a button word (\"Update preferences\", \"Save changes\"), while READ's is generated as a HEADING naming\n * the surface (\"Preferences\"). An edit page headed by a verb names the button below it rather than the thing\n * being edited, and the form's own save button already says the verb. So when the resource has a READ, the\n * core UPDATE — including its polymorphic variants, which keep the `update` identifier — takes READ's title.\n *\n * Keyed on the literal identifier, NOT on the effective core semantics: a custom operation that BEHAVES like\n * an update (`claimDomain`, `reset_to_defaults`) is a named action, and its own title is the only word that\n * says which action the surface performs. A resource with no READ keeps UPDATE's title, the only word it has.\n */\nexport function resolveSurfaceTitleOperationIdentifier(\n operationIdentifier: unknown,\n resourceOperations: ReadonlyArray<{ operationIdentifier: unknown }> | undefined,\n): string {\n if (\n operationIdentifier === CoreResourceOperation.UPDATE\n && resourceOperations?.some((candidate) => candidate.operationIdentifier === CoreResourceOperation.READ)\n ) {\n return CoreResourceOperation.READ;\n }\n return String(operationIdentifier);\n}\n\nexport function isUpdateLikeCoreOperation(\n coreOperation: CoreResourceOperation | undefined,\n): boolean {\n return coreOperation === CoreResourceOperation.UPDATE\n || coreOperation === CoreResourceOperation.UPDATE_MANY;\n}\n\nexport function isSingleResourceUpdateLikeOperation(\n operation: ResourceOperationSemanticsLike,\n): boolean {\n return operation.isBulkOperation !== true\n && isUpdateLikeCoreOperation(resolveEffectiveCoreOperationFromOperation(operation));\n}\n\nexport function shouldEmitResourceRefreshAfterDirectOperation(\n operation: ResourceOperationSemanticsLike,\n): boolean {\n if (isGeneratedFileRegenerateOperation(operation)) {\n return true;\n }\n\n const effectiveOperation = resolveEffectiveCoreOperationFromOperation(operation);\n\n switch (effectiveOperation) {\n case CoreResourceOperation.CREATE:\n case CoreResourceOperation.CREATE_MANY:\n case CoreResourceOperation.UPDATE:\n case CoreResourceOperation.UPDATE_MANY:\n case CoreResourceOperation.DELETE:\n case CoreResourceOperation.DELETE_MANY:\n return true;\n default:\n return false;\n }\n}\n\nexport function readBulkOperationSelectionIds(\n additionalContext?: Record<string, unknown>,\n): string[] | undefined {\n const value = additionalContext?.[BULK_OPERATION_SELECTION_IDS_CONTEXT_KEY];\n\n if (!Array.isArray(value)) {\n return undefined;\n }\n\n const ids = value.filter((candidate): candidate is string => typeof candidate === 'string');\n return ids.length > 0 ? ids : undefined;\n}\n\n/** The cross-page selection an operation context carries, when \"select all N matching\" was chosen. */\nexport function readBulkOperationMatchSelection(\n additionalContext?: Record<string, unknown>,\n): { filters?: Record<string, unknown>; search?: string } | undefined {\n const value = additionalContext?.[BULK_OPERATION_MATCH_SELECTION_CONTEXT_KEY];\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n return undefined;\n }\n const candidate = value as { filters?: unknown; search?: unknown };\n return {\n ...(candidate.filters && typeof candidate.filters === 'object' && !Array.isArray(candidate.filters)\n ? { filters: candidate.filters as Record<string, unknown> }\n : {}),\n ...(typeof candidate.search === 'string' && candidate.search !== '' ? { search: candidate.search } : {}),\n };\n}\n\nexport function readResourceOperationExecutedDiscriminator(\n additionalContext?: Record<string, unknown>,\n): string | undefined {\n const value = additionalContext?.[RESOURCE_OPERATION_EXECUTED_DISCRIMINATOR_CONTEXT_KEY];\n return typeof value === 'string' && value.length > 0 ? value : undefined;\n}\n\n/**\n * Build the wire selector a bulk operation uses to name the rows it targets.\n *\n * The field name comes from {@link BULK_OPERATION_SELECTOR_FIELD} — the ONE named source both halves\n * of the contract read — because spelling it here is exactly how this broke. Every frontend bulk\n * surface emitted `ids`, which is not in the bulk request DTO\n * (`Resources_BulkOperationBaseSchema.extend(...)`), so the strict Zod parse stripped it and then\n * refused the request for the `_ids` it never received. It type-checked, it looked right, and the\n * generic bulk lane had never once worked from the UI.\n *\n * Every frontend producer of a bulk payload goes through this function, so there is one spelling to\n * get right rather than one per surface.\n */\nexport function buildBulkOperationSelectorPayload(ids: readonly string[]): Record<string, unknown> {\n return { [BULK_OPERATION_SELECTOR_FIELD]: [...ids] };\n}\n\n/**\n * The CROSS-PAGE selector payload: the query that produced the listing, not the rows it showed.\n *\n * Sibling of {@link buildBulkOperationSelectorPayload} and never sent beside it — the server refuses\n * a request naming both, because honouring one would make the other silently inert. The matched\n * count stays on the client: it is what the listing reported when the person chose, and the server\n * re-evaluates the query itself rather than trusting a number the client sent (#1461).\n */\nexport function buildBulkOperationMatchPayload(match: { filters?: Record<string, unknown>; search?: string }): Record<string, unknown> {\n const filters = match.filters && Object.keys(match.filters).length > 0 ? { filters: match.filters } : {};\n const search = match.search ? { search: match.search } : {};\n return { [BULK_OPERATION_MATCH_FIELD]: { ...filters, ...search } };\n}\n\n/**\n * The `resultSummary` an outcome event may carry: the operation's result when it is a PLAIN OBJECT,\n * and nothing otherwise.\n *\n * The event schema types it as a record, and every producer used to pass any non-null object —\n * which includes an array. A multi-row bulk update answers an array of rows, so its\n * RESOURCE_OPERATION_EXECUTED was refused by the event bus (\"Invalid payload\") and nobody heard that\n * the write succeeded: the listing kept its old values and the bulk bar kept the rows selected.\n * One definition, so the producers cannot disagree about it again.\n */\nexport function toOperationResultSummary(result: unknown): Record<string, unknown> | undefined {\n return typeof result === 'object' && result !== null && !Array.isArray(result)\n ? result as Record<string, unknown>\n : undefined;\n}\n\nexport function mergeBulkSelectionIntoRequestData(params: {\n operation: ResourceOperationSemanticsLike;\n requestData?: Record<string, unknown>;\n additionalContext?: Record<string, unknown>;\n}): Record<string, unknown> | undefined {\n if (params.operation.isBulkOperation !== true) {\n return params.requestData;\n }\n\n // The selector is the COLLECTION's to write, never the form's. Whatever the form's values carry\n // under a selector key is dropped first, so an empty `_match: {}` a form happened to hold can never\n // stand in for — or sit beside — the selection the person actually made.\n const formValues = params.requestData\n ? Object.fromEntries(Object.entries(params.requestData).filter(([key]) => !(BULK_OPERATION_HOST_SUPPLIED_FIELDS as readonly string[]).includes(key)))\n : undefined;\n\n const match = readBulkOperationMatchSelection(params.additionalContext);\n if (match) {\n return { ...(formValues ?? {}), ...buildBulkOperationMatchPayload(match) };\n }\n\n const ids = readBulkOperationSelectionIds(params.additionalContext);\n if (!ids || ids.length === 0) {\n return formValues;\n }\n\n return {\n ...(formValues ?? {}),\n ...buildBulkOperationSelectorPayload(ids),\n };\n}\n\nexport function isSemanticCustomResourceOperation(\n operation: ResourceOperationSemanticsLike,\n): boolean {\n return !isLiteralCoreResourceOperation(operation.operationIdentifier)\n && resolveEffectiveCoreOperationFromOperation(operation) !== undefined;\n}\n\nexport function isGeneratedFileRegenerateOperation(\n operation: ResourceOperationSemanticsLike,\n): boolean {\n return operation.generatedOperation?.kind === ResourceGeneratedOperationKind.GENERATED_FILE_REGENERATE\n || (\n typeof operation.operationIdentifier === 'string'\n && Resources_SharedUtils.parseGeneratedFileRegenerateOperationIdentifier(operation.operationIdentifier) !== undefined\n && resolveEffectiveCoreOperationFromOperation(operation) === CoreResourceOperation.UPDATE\n );\n}\n\n/**\n * Is this the file-export companion of a LIST/SEARCH operation?\n *\n * Identity comes from the generated-operation metadata, with the prefixed identifier as the fallback\n * for any surface that receives a thinned operation object — the same two-source shape\n * {@link isGeneratedFileRegenerateOperation} uses, and for the same reason: the frontend receives\n * operations through several projections and not all of them carry `generatedOperation`.\n */\nexport function isGeneratedCollectionExportOperation(\n operation: ResourceOperationSemanticsLike,\n): boolean {\n return operation.generatedOperation?.kind === ResourceGeneratedOperationKind.GENERATED_COLLECTION_EXPORT\n || (\n typeof operation.operationIdentifier === 'string'\n && Resources_SharedUtils.parseGeneratedCollectionExportOperationIdentifier(operation.operationIdentifier) !== undefined\n );\n}\n\n/**\n * A CUSTOM operation that borrows a COLLECTION verb, and therefore addresses no single row.\n *\n * `resourceOperationLike` answers a ROUTING question — which core verb's route shape and\n * collection-level authorization does this operation borrow. The frontend has been reading it as a\n * statement about what the operation MEANS to a user, and for the collection verbs those two\n * answers come apart: an operation borrowing one of `COLLECTION_OPERATIONS_WITHOUT_IDS` gets a\n * route with NO `:id` segment in it, so there is no row for a per-row button to act on. Clicking it\n * on the third row does exactly what clicking it on the first row does.\n *\n * `AuditLogs.EXPORT_AUDIT_LOGS` is the worked example and says so at its own declaration: it borrows\n * CREATE to get \"the collection POST route shape without … requiring a meaningless `auditLogId` path\n * value\". It then rendered a Download button on every row of the audit trail.\n *\n * DERIVED rather than declared, for the reason the generated collection-export exemption beside it\n * already gives: `actionScope: COLLECTION` is a per-app declaration, and asking every author to\n * stamp it puts the burden on them for something the framework already knows from the route it\n * built. Measured 2026-09-20 over `engine/` and `platform/`: five custom operations borrow a\n * collection verb — this export, both access-grant `REQUEST_ACCESS` verbs, SCIM `GENERATE_TOKEN` and\n * SSO `DISCOVER_ENDPOINTS` — and not one of the five is a per-row action. None had declared the\n * scope, so all five rendered per row.\n *\n * `rowTargetRequestField` is the declared ESCAPE, not an oversight: it is how an operation says \"I\n * address the clicked row through the request BODY rather than the URL\", which is precisely the\n * shape a per-row action borrowing a collection verb would take. One that declares it stays an item\n * action.\n */\nexport function isCollectionVerbBorrowingOperation(\n operation: ResourceOperationSemanticsLike,\n): boolean {\n // A LITERAL core verb is not borrowing anything — `CREATE` is the resource's create, and\n // `LIST`/`SEARCH`/`COUNT` are already handled as non-item operations below.\n if (isLiteralCoreResourceOperation(operation.operationIdentifier)) return false;\n if (operation.operationFrontendConfig?.rowTargetRequestField) return false;\n const effectiveCoreOperation = resolveEffectiveCoreOperationFromOperation(operation);\n return effectiveCoreOperation !== undefined\n && COLLECTION_OPERATIONS_WITHOUT_IDS.includes(effectiveCoreOperation);\n}\n\n/**\n * Does this operation act on the WHOLE COLLECTION rather than on one row?\n *\n * THE single answer to that question, because it is asked twice and the two askers do different\n * jobs: `useResourceOperationActions` decides which actions EXIST on a surface, and\n * `ResourceLayout_List` decides whether the collection-action surface is MOUNTED at all. An\n * exemption added to one alone produces actions rendered into a container that was never created —\n * which is exactly what happened on 2026-08-25, when three gate fixes in the hook changed nothing\n * visible because the mount check still said there were no collection-scoped operations here.\n *\n * That hazard used to be managed by a ⚠️ comment asking the next author to remember both sites.\n * Collapsing the predicate is the stronger form of the same instruction: there is now one site.\n *\n * Three ways to be collection-scoped, in descending order of how explicit they are:\n * 1. DECLARED — `actionScope: COLLECTION`, the per-app opt-in for a \"retry all\" / \"purge all\";\n * 2. DERIVED from the generated collection-export companion, which is collection-scoped by\n * construction and has no author to declare anything;\n * 3. DERIVED from a borrowed COLLECTION verb — see {@link isCollectionVerbBorrowingOperation}.\n */\nexport function isCollectionScopedResourceOperation(\n operation: ResourceOperationSemanticsLike,\n): boolean {\n return isCollectionScopedOperation(operation.operationFrontendConfig)\n || isGeneratedCollectionExportOperation(operation)\n || isCollectionVerbBorrowingOperation(operation);\n}\n\nexport const NON_ITEM_RESOURCE_OPERATIONS = new Set<CoreResourceOperation>([\n CoreResourceOperation.LIST,\n CoreResourceOperation.SEARCH,\n CoreResourceOperation.COUNT,\n CoreResourceOperation.CREATE,\n CoreResourceOperation.CREATE_MANY,\n CoreResourceOperation.READ,\n]);\n\n/**\n * Effective core semantics that are pure aggregate / collection READS — a data\n * provider the surface calls programmatically, never a per-item user action,\n * even when worn by a CUSTOM operation. A `get_state` op declaring\n * `resourceOperationLike: COUNT` (no `requestDto`) is the canonical example: it\n * fetches aggregate state for a panel to render, so as an action-bar button it is\n * a dead control that fetches and shows nothing.\n *\n * `READ` and `CREATE` are deliberately EXCLUDED: custom READ-like ops\n * (`open_portal`, `usage_stats`) and CREATE-like ops (a \"clone\" / \"duplicate\")\n * ARE real user actions and must keep their button.\n */\nexport const NON_ITEM_CUSTOM_CORE_SEMANTICS = new Set<CoreResourceOperation>([\n CoreResourceOperation.COUNT,\n CoreResourceOperation.LIST,\n CoreResourceOperation.SEARCH,\n]);\n\nexport const NAVIGABLE_RESOURCE_OPERATIONS = new Set<CoreResourceOperation>([\n CoreResourceOperation.CREATE,\n CoreResourceOperation.READ,\n CoreResourceOperation.UPDATE,\n]);\n\nexport function shouldTreatAsNonItemResourceOperation(\n operation: ResourceOperationSemanticsLike,\n): boolean {\n // The collection-export companion BORROWS `resourceOperationLike: LIST/SEARCH` so that routing,\n // collection-level authorization and URL building all treat it as a listing. That makes the\n // aggregate-read test below match it — and it is exactly wrong here: an export is an ACTION a user\n // clicks, not a data provider. Without this exemption the action is filtered out of every bar and\n // the feature has no surface at all, which is silent: nothing errors, the button simply never\n // renders.\n if (isGeneratedCollectionExportOperation(operation)) {\n return false;\n }\n\n if (\n isLiteralCoreResourceOperation(operation.operationIdentifier)\n && NON_ITEM_RESOURCE_OPERATIONS.has(operation.operationIdentifier)\n ) {\n return true;\n }\n\n // A CUSTOM operation whose effective core semantic is an aggregate/collection\n // read (COUNT/LIST/SEARCH) is a data provider, not a per-item action — keep it\n // out of the action bar so it does not render as a dead, do-nothing button.\n if (!isLiteralCoreResourceOperation(operation.operationIdentifier)) {\n const effectiveCoreOperation = resolveEffectiveCoreOperationFromOperation(operation);\n if (effectiveCoreOperation && NON_ITEM_CUSTOM_CORE_SEMANTICS.has(effectiveCoreOperation)) {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * The largest request-body field count the framework will present in an OVERLAY rather than a page.\n *\n * Six is a judgement, not a measurement, and it is written down here — in ONE place, named — so it\n * can be argued with instead of rediscovered. It is the point at which the industry guidance stops\n * saying \"keep the user in context\" and starts saying \"give the task the room a page has\": Carbon\n * routes complex data entry to a full page, Filament's `->form()` modal is described for collecting\n * *extra information*, not for authoring a record.\n *\n * An author who disagrees for a specific operation does not tune this number — they declare\n * `actionPresentation` and the derivation is not consulted at all. That is the escape hatch, and it\n * is why a single global constant is honest here.\n */\nexport const ACTION_MODAL_FIELD_CEILING = 6;\n\n/**\n * The largest request-body field count the framework will present in an ANCHORED PANEL rather than\n * an overlay.\n *\n * Two, and the reasoning is the one this axis's `POPOVER` member already states: the anchored panel\n * is the small-input idiom (\"snooze until…\", \"reject with a reason…\"), and it earns its\n * place by keeping the row the user is acting on visible. A third control starts wanting the room a\n * dialog has, and the panel stops being cheaper than one.\n *\n * Pairs with {@link ACTION_MODAL_FIELD_CEILING} as one ordered ladder — 1–2 anchored, 3–6 overlay,\n * beyond that a page — so the two numbers are argued with together instead of one of them silently\n * owning every case.\n */\nexport const ACTION_ANCHORED_FIELD_CEILING = 2;\n\n/**\n * Can the framework honestly present this request body inside an overlay?\n *\n * Three refusals, each for a different reason rather than by symmetry:\n * - **not an object schema** — nothing can be counted, so nothing can be promised;\n * - **a file field** — upload chrome (drag target, crop, progress, retry) needs room an overlay\n * does not have, and a half-visible upload is worse than a page;\n * - **a nested object / array-of-objects** — a nested write is a form inside a form, which is the\n * shape a page exists for.\n *\n * Anything else is judged on size alone. Note this reads the schema STRUCTURALLY and never a field\n * count carried alongside it: the operation object reaching the frontend is a projection, and a\n * count computed elsewhere would be a second source able to disagree with the schema it describes.\n */\nfunction requestBodyFitsAnOverlay(requestDto: unknown, suppliedKeys: ReadonlySet<string>): boolean {\n if (!(requestDto instanceof z.ZodObject)) {\n return false;\n }\n\n return countFieldsPresentableWithoutAPage(requestDto, ACTION_MODAL_FIELD_CEILING, suppliedKeys) !== undefined;\n}\n\n/**\n * Is this request body small and simple enough for an ANCHORED PANEL?\n *\n * The SHAPE test is identical to the overlay's — a file, a nested object or a repeating sub-form\n * belongs on a page whichever chrome is being considered — so only the ceiling differs. Sharing\n * `countFieldsPresentableWithoutAPage` is what keeps the two answers from disagreeing about what\n * \"simple\" means: two copies of that list would drift the first time a field kind is added.\n */\nfunction requestBodyFitsAnAnchoredPanel(requestDto: unknown, suppliedKeys: ReadonlySet<string>): boolean {\n return countFieldsPresentableWithoutAPage(requestDto, ACTION_ANCHORED_FIELD_CEILING, suppliedKeys) !== undefined;\n}\n\n/**\n * The request keys a BULK action's host fills itself, which are therefore not inputs a person fills.\n *\n * A bulk twin's request is the single-row request plus `_ids` — the selection — and the form hides\n * that key because the collection supplies it. Counting it anyway made every bulk action look one\n * field larger than it is: a two-field bulk action counted three and fell from the anchored panel\n * to a dialog, while the SAME action on one row got the panel. The ladder has to count what the\n * person will actually see.\n *\n * Named from `BULK_OPERATION_HOST_SUPPLIED_FIELDS` — both selectors, `_ids` and the cross-page\n * `_match` — the one list the form's omission and the execution merge also read, so the keys this\n * skips and the keys the request builder writes cannot drift apart.\n */\nfunction resolveHostSuppliedRequestKeys(operation: ResourceOperationSemanticsLike): ReadonlySet<string> {\n return operation.isBulkOperation === true ? new Set<string>(BULK_OPERATION_HOST_SUPPLIED_FIELDS) : new Set();\n}\n\n/**\n * The field count of a request body every one of whose fields can be drawn without a page, or\n * `undefined` when the body is empty, over `ceiling`, unintrospectable, or holds a field that\n * cannot.\n *\n * Reads the schema STRUCTURALLY and never a field count carried alongside it: the operation object\n * reaching the frontend is a projection, and a count computed elsewhere would be a second source\n * able to disagree with the schema it describes.\n */\nfunction countFieldsPresentableWithoutAPage(\n requestDto: unknown,\n ceiling: number,\n suppliedKeys: ReadonlySet<string>,\n): number | undefined {\n if (!(requestDto instanceof z.ZodObject)) {\n return undefined;\n }\n\n const shape = requestDto.shape as Record<string, z.ZodTypeAny>;\n // Keys the HOST supplies are not inputs anyone fills — see `resolveHostSuppliedRequestKeys`.\n const fieldNames = Object.keys(shape).filter((fieldName) => !suppliedKeys.has(fieldName));\n\n if (fieldNames.length === 0 || fieldNames.length > ceiling) {\n return undefined;\n }\n\n const everyFieldFits = fieldNames.every((fieldName) => {\n const unwrapped = unwrapSchema(shape[fieldName]!);\n\n if (isFileSchema(unwrapped)) {\n return false;\n }\n\n if (unwrapped instanceof z.ZodObject) {\n return false;\n }\n\n if (unwrapped instanceof z.ZodArray) {\n // An array of scalars (a list of ids, a set of tags) is one control and fits fine. An array of\n // OBJECTS is a repeating sub-form, which does not.\n return !(unwrapSchema(unwrapped.element as z.ZodTypeAny) instanceof z.ZodObject);\n }\n\n return true;\n });\n\n return everyFieldFits ? fieldNames.length : undefined;\n}\n\n/**\n * Does this operation declare a request body with NO fields — an explicit `z.object({})`?\n *\n * Such a zero-input operation has no form to collect, so it executes rather than opening one.\n * Mirrors the backend's `hasMeaningfulExplicitRequestDto` (inverted).\n */\nexport function hasEmptyResourceOperationRequestBody(requestDto: unknown): boolean {\n return requestDto instanceof z.ZodObject && Object.keys(requestDto.shape).length === 0;\n}\n\n/**\n * Does this operation collect NOTHING from a person? No `requestDto`, or one whose every field the\n * host supplies itself.\n *\n * A bulk twin's request is its row variant's body plus the `_ids` selector the collection fills. A\n * bulk action whose row variant takes no input therefore has a body of exactly `{ _ids }` — not\n * empty, and not something anyone types. Checking raw emptiness sent Wonder Todos' bulk \"Unassign\"\n * to a dialog holding an empty form and a Save button, where the same action on one row ran on\n * click. The action ladder and the operation host both ask this, so an action cannot run directly\n * from one surface and open an empty form on another.\n */\nexport function operationCollectsNoCallerInput(operation: ResourceOperationSemanticsLike): boolean {\n if (!operation.requestDto) {\n return true;\n }\n if (!(operation.requestDto instanceof z.ZodObject)) {\n return false;\n }\n const suppliedKeys = resolveHostSuppliedRequestKeys(operation);\n return Object.keys(operation.requestDto.shape).every((fieldName) => suppliedKeys.has(fieldName));\n}\n\n/**\n * Does this risk level ask for a confirmation before the operation runs?\n *\n * HIGH and CRITICAL do (a plain confirm, and a typed one); LOW and MEDIUM execute on click. The one\n * definition the action ladder's confirm dialog and the DROPDOWN rule both read, so \"risky enough to\n * confirm\" and \"too risky to execute on a pick\" cannot come to mean two different sets.\n */\nexport function isRiskyResourceOperation(riskLevel: unknown): boolean {\n return riskLevel === ResourceOperationRiskLevel.HIGH || riskLevel === ResourceOperationRiskLevel.CRITICAL;\n}\n\n/**\n * The kind of domain a DROPDOWN lists — the two a person can pick from without typing a value.\n *\n * Two members because the lists are genuinely different things: an enum's values are CLOSED and\n * known up front, so they are listed whole; a reference's candidates are records on the server, so\n * they are SEARCHED as you type and scoped like the form's picker. A boolean is deliberately absent —\n * a two-item menu for yes/no is a worse control than the toggle it would replace.\n */\nexport enum ResourceOperationChoiceDomain {\n /** A closed enum — every value listed, labelled as the form labels it. */\n ENUM = 'enum',\n /** A foreign key — the referenced records, searched server-side. */\n REFERENCE = 'reference',\n}\n\n/** The single field a DROPDOWN presents, and which kind of list it needs. */\nexport interface ResourceOperationDropdownChoice {\n /** The request field the pick is written to. */\n fieldName: string;\n /** That field's schema as the request DTO declares it (decorators intact). */\n fieldSchema: z.ZodTypeAny;\n domain: ResourceOperationChoiceDomain;\n}\n\n/**\n * The one choice field this operation's input consists of, or `undefined` when its input is\n * anything else.\n *\n * Qualifies only when, after the keys the host supplies itself (a bulk twin's `_ids`), EXACTLY ONE\n * field remains and it is a single enum or a single foreign key. An array is refused: picking one\n * item of a multi-pick and executing is not what the field asks for.\n *\n * Reads the schema structurally, like every other rule in this module, so the answer cannot\n * disagree with the form the same operation would otherwise render.\n */\nexport function resolveResourceOperationDropdownChoice(\n operation: ResourceOperationSemanticsLike,\n): ResourceOperationDropdownChoice | undefined {\n const requestDto = operation.requestDto;\n if (!(requestDto instanceof z.ZodObject)) {\n return undefined;\n }\n\n const suppliedKeys = resolveHostSuppliedRequestKeys(operation);\n const shape = requestDto.shape as Record<string, z.ZodTypeAny>;\n const fieldNames = Object.keys(shape).filter((fieldName) => !suppliedKeys.has(fieldName));\n if (fieldNames.length !== 1) {\n return undefined;\n }\n\n const fieldName = fieldNames[0]!;\n const fieldSchema = shape[fieldName]!;\n if (unwrapSchema(fieldSchema) instanceof z.ZodArray) {\n return undefined;\n }\n if (isForeignKeyField(fieldSchema)) {\n return { fieldName, fieldSchema, domain: ResourceOperationChoiceDomain.REFERENCE };\n }\n if (getSchemaType(fieldSchema) === FieldSchemaType.ENUM) {\n return { fieldName, fieldSchema, domain: ResourceOperationChoiceDomain.ENUM };\n }\n return undefined;\n}\n\n/**\n * Can this operation honestly present as a DROPDOWN — one choice field, one row, and no confirmation\n * owed?\n *\n * All three are correctness constraints, not taste. Without a single choice field there is no list to\n * show. A pick executes immediately, so an operation whose risk level asks for a confirmation would\n * lose it. And a BULK twin writes every selected row: one stray pick in a menu would rewrite them all\n * with no second step, which is the one place \"the pick is the submission\" is the wrong promise. Each\n * of those keeps the anchored FORM, which has an explicit Submit.\n */\nexport function operationCanPresentAsDropdown(operation: ResourceOperationSemanticsLike): boolean {\n return operation.isBulkOperation !== true\n && !isRiskyResourceOperation(operation.riskLevel)\n && resolveResourceOperationDropdownChoice(operation) !== undefined;\n}\n\n/**\n * HOW does this action collect its input?\n *\n * The single answer for every action surface. An explicitly authored\n * {@link ResourceOperationActionPresentation} is returned as authored — the author has answered the\n * question and the framework does not second-guess their TASTE — with ONE correctness exception: a\n * DROPDOWN the operation cannot honestly be resolves to POPOVER (see below). Everything else is the\n * DERIVATION for the (overwhelmingly common) case where nothing was authored.\n *\n * The derivation is ordered by how strong the evidence is, not by convenience:\n *\n * 1. **`ADDRESSABLE` ⇒ PAGE.** Declaring an operation deep-linkable IS declaring it a destination.\n * Nothing derived may take that away.\n * 2. **A literal core CREATE / READ / UPDATE ⇒ PAGE.** These are the framework's own page surfaces\n * and every app's navigation config is written against them; deriving an overlay here would\n * silently restyle every existing application.\n * 3. **Already-established in-place shapes ⇒ DIRECT.** A row-targeted action (its target rides the\n * body), a zero-input collection action, and a generated-file regenerate all executed on click\n * before this axis existed. They are stated here so the axis DESCRIBES the framework's behaviour\n * rather than sitting beside it — an axis that cannot express what the framework already does is\n * a second mechanism, not a vocabulary.\n * 4. **No caller input ⇒ DIRECT.** No `requestDto` at all, an explicit `z.object({})`, or a bulk\n * body holding only the selector the host fills ({@link operationCollectsNoCallerInput}).\n * 5. **One choice from an enum or a reference, and no confirmation owed ⇒ DROPDOWN.** The pick is\n * the submission, so the list of values IS the whole input ({@link operationCanPresentAsDropdown}).\n * 6. **One or two simple inputs ⇒ POPOVER.** An anchored panel beside the button that asked for\n * them, so the row being acted on stays visible.\n * 7. **Input that fits an overlay ⇒ MODAL.**\n * 8. **Everything else ⇒ PAGE.** Files, nested writes, large field sets — and the honest fallback\n * for a `requestDto` this code cannot introspect (a thinned projection), because refusing to\n * guess returns the behaviour the operation had before.\n *\n * ## An authored DROPDOWN that cannot be one resolves to POPOVER\n *\n * The only authored answer this function overrides, and for the same reason the click handler\n * refuses a non-navigating presentation on a zero-input update-like action: honouring it would be\n * wrong, not merely ugly. A DROPDOWN over two fields has no list to show, and one over a CRITICAL\n * operation would execute without the typed confirmation every other surface demands. POPOVER is the\n * nearest honest answer — the same anchored panel, holding the form with its Submit.\n *\n * ## Why step 6 is DERIVED, when it used to be authored-only\n *\n * This function returned `MODAL` for every small input and left `POPOVER` to authors, on the\n * reasoning that an anchored panel is a claim about the surrounding context — that the trigger is\n * anchored and visible — which the operation alone cannot support.\n *\n * The reasoning was sound and the conclusion did not follow, because nothing was ever asking this\n * function to be right about the host. **The bar already decides whether it can anchor**, and it\n * already degrades when it cannot: an item collapsed into the overflow menu or nested in a subgroup\n * takes its `onClick`, which `resolveActionPresentationTransition` maps to an OVERLAY — the same\n * chrome `MODAL` would have produced. So the cost of deriving the panel is zero where it cannot be\n * drawn, and the cost of NOT deriving it was that every small action in every application —\n * \"snooze until…\", \"reject with a reason…\" — covered the list it was acting on with a dialog, and the\n * only way out was to author the axis per operation. (The one-CHOICE actions — \"change status to…\",\n * \"assign to…\" — have since moved one step earlier, to DROPDOWN.)\n *\n * `INLINE` stays authored-only, and the asymmetry is the point: its claim is about the ELEMENT (the\n * thing being acted on is a row that can transform in place), and its degrade target is an overlay\n * over the list it was meant to keep visible — so guessing it wrong costs the user the very thing\n * the presentation exists for. A popover guessed wrong costs nothing.\n */\nexport function resolveResourceOperationActionPresentation(\n operation: ResourceOperationSemanticsLike,\n): ResourceOperationActionPresentation {\n const config = operation.operationFrontendConfig;\n\n if (config?.actionPresentation) {\n if (\n config.actionPresentation === ResourceOperationActionPresentation.DROPDOWN\n && !operationCanPresentAsDropdown(operation)\n ) {\n return ResourceOperationActionPresentation.POPOVER;\n }\n return config.actionPresentation;\n }\n\n if (config?.surface === ResourceOperationFrontendSurface.ADDRESSABLE) {\n return ResourceOperationActionPresentation.PAGE;\n }\n\n if (\n isLiteralCoreResourceOperation(operation.operationIdentifier)\n && NAVIGABLE_RESOURCE_OPERATIONS.has(operation.operationIdentifier)\n ) {\n return ResourceOperationActionPresentation.PAGE;\n }\n\n if (isGeneratedFileRegenerateOperation(operation)) {\n return ResourceOperationActionPresentation.DIRECT;\n }\n\n // A ZERO-INPUT single-resource UPDATE-like custom action keeps its host, even though it collects\n // nothing and would otherwise be DIRECT by the rule below.\n //\n // Its mutation must run under an explicit RMM-vs-weaker-guarantee contract, and only a host\n // provides one — `useResourceOperationSurface.executeCurrentOperation()` throws\n // `MissingRMMRuntimeError` rather than writing without it. Executing such an action straight from\n // the action bar would take the plain `doOperation` path and lose that guarantee SILENTLY, which\n // is why the click handler also refuses to honour an AUTHORED non-navigating presentation here:\n // this is a correctness constraint, not a styling default.\n if (!operation.requestDto && isSingleResourceUpdateLikeOperation(operation)) {\n return ResourceOperationActionPresentation.PAGE;\n }\n\n if (config?.rowTargetRequestField) {\n return ResourceOperationActionPresentation.DIRECT;\n }\n\n if (\n config?.actionScope === ResourceOperationActionScope.COLLECTION\n && hasEmptyResourceOperationRequestBody(operation.requestDto)\n ) {\n return ResourceOperationActionPresentation.DIRECT;\n }\n\n if (operationCollectsNoCallerInput(operation)) {\n return ResourceOperationActionPresentation.DIRECT;\n }\n\n if (operationCanPresentAsDropdown(operation)) {\n return ResourceOperationActionPresentation.DROPDOWN;\n }\n\n const suppliedKeys = resolveHostSuppliedRequestKeys(operation);\n\n if (requestBodyFitsAnAnchoredPanel(operation.requestDto, suppliedKeys)) {\n return ResourceOperationActionPresentation.POPOVER;\n }\n\n return requestBodyFitsAnOverlay(operation.requestDto, suppliedKeys)\n ? ResourceOperationActionPresentation.MODAL\n : ResourceOperationActionPresentation.PAGE;\n}\n\n/**\n * Does this presentation reach the NAVIGATION layer, or does the action layer own it end to end?\n *\n * `MODAL` and `PAGE` are destinations. `DIRECT`, `POPOVER`, `DROPDOWN` and `INLINE` are not: nothing is pushed,\n * no zone changes, and there is nothing for a back button to pop — routing them through navigation\n * would mint zone entries for chrome that does not live in a zone.\n *\n * `INLINE` is the one worth explaining, because `NavigationTransition.INPLACE` exists and looks like\n * its home. It is not: element-level hosting uses NONE of what navigation provides — no zone, no\n * stack entry, no appearance, no lifecycle modifier — and routing it there is exactly why that\n * transition has never done what its docstring promises (it falls through to a zone REPLACE). The\n * host lives with the elements instead; see `InPlaceOperationContext`.\n */\nexport function actionPresentationNavigates(\n presentation: ResourceOperationActionPresentation,\n): boolean {\n return presentation === ResourceOperationActionPresentation.MODAL\n || presentation === ResourceOperationActionPresentation.PAGE;\n}\n\n/**\n * The navigation transition an action presentation is an alias FOR.\n *\n * `PAGE` maps to `undefined` deliberately, and it is the most important row: a page is not a\n * transition, it is \"let the ordinary chain answer\". Returning `PUSH` here would flatten every\n * app's zone transitions, viewport overrides and relationship defaults into one verb — the axis\n * would stop being an alias and start being an override, which is the failure mode this design\n * exists to avoid.\n *\n * `POPOVER` maps to `OVERLAY` — its DEGRADE target, not its normal path. A popover normally never\n * reaches navigation ({@link actionPresentationNavigates} is false for it), but a host that cannot\n * ANCHOR one — an action collapsed into an overflow menu or nested in a subgroup — has to present\n * the same input somewhere, and the honest substitute for \"a small panel next to the button\" is an\n * overlay. Leaving it `undefined` would send that action to the ordinary chain and produce a full\n * PAGE for the presentation that asked for the least chrome of all.\n *\n * `DIRECT` maps to `undefined` because it collects nothing: there is no input to relocate.\n */\nexport function resolveActionPresentationTransition(\n presentation: ResourceOperationActionPresentation,\n): NavigationTransition | undefined {\n switch (presentation) {\n case ResourceOperationActionPresentation.MODAL:\n case ResourceOperationActionPresentation.POPOVER:\n // A DROPDOWN degrades exactly like the popover it shares a host with: where nothing can anchor\n // the list, the same single field is collected by the overlay form.\n case ResourceOperationActionPresentation.DROPDOWN:\n return NavigationTransition.OVERLAY;\n case ResourceOperationActionPresentation.INLINE:\n // The DEGRADE target, like `POPOVER`'s above. An in-place host only exists inside a collection;\n // the same action rendered on a detail page or in a danger zone has no row to transform, and\n // an overlay is the closest thing to \"collect this without leaving the page\". It is NOT\n // `NavigationTransition.INPLACE` — see `actionPresentationNavigates` for why that would be\n // rebuilding the defect.\n return NavigationTransition.OVERLAY;\n default:\n return undefined;\n }\n}\n\nexport function resolveResourceOperationLayoutKind(\n operation: ResourceOperationSemanticsLike,\n): ResourceOperationLayoutKind {\n const effectiveOperation = resolveEffectiveCoreOperationFromOperation(operation);\n\n if (!effectiveOperation) {\n return 'action';\n }\n\n switch (effectiveOperation) {\n case CoreResourceOperation.CREATE:\n case CoreResourceOperation.CREATE_MANY:\n return 'create';\n case CoreResourceOperation.LIST:\n return 'list';\n case CoreResourceOperation.READ:\n case CoreResourceOperation.DELETE:\n case CoreResourceOperation.DELETE_MANY:\n return 'read';\n case CoreResourceOperation.UPDATE:\n case CoreResourceOperation.UPDATE_MANY:\n return 'update';\n case CoreResourceOperation.SEARCH:\n return 'search';\n default:\n return 'action';\n }\n}\n\nexport function pickPreferredOperationForCoreSemantic<T extends ResourceOperationSemanticsLike>(\n operations: readonly T[],\n coreOperation: CoreResourceOperation,\n options?: {\n requireAddressable?: boolean;\n allowBulk?: boolean;\n /** See {@link getOperationsForCoreSemantic}. */\n requireLiteralIdentifier?: boolean;\n },\n): T | undefined {\n const filtered = getOperationsForCoreSemantic(operations, coreOperation, options);\n\n if (filtered.length === 0) {\n return undefined;\n }\n\n const preferredVariantTypes = [\n ResourceOperationVariantType.API_CALL,\n ResourceOperationVariantType.API_CALL_WITH_CALLBACK,\n ];\n\n return [...filtered].sort((left, right) => {\n const leftLiteral = left.operationIdentifier === coreOperation ? 1 : 0;\n const rightLiteral = right.operationIdentifier === coreOperation ? 1 : 0;\n if (leftLiteral !== rightLiteral) {\n return rightLiteral - leftLiteral;\n }\n\n const leftDefault = left.isOperationDefault ? 1 : 0;\n const rightDefault = right.isOperationDefault ? 1 : 0;\n if (leftDefault !== rightDefault) {\n return rightDefault - leftDefault;\n }\n\n const leftNonBulk = left.isBulkOperation === true ? 0 : 1;\n const rightNonBulk = right.isBulkOperation === true ? 0 : 1;\n if (leftNonBulk !== rightNonBulk) {\n return rightNonBulk - leftNonBulk;\n }\n\n const leftPreferredVariant = preferredVariantTypes.includes(left.variantType as ResourceOperationVariantType) ? 1 : 0;\n const rightPreferredVariant = preferredVariantTypes.includes(right.variantType as ResourceOperationVariantType) ? 1 : 0;\n if (leftPreferredVariant !== rightPreferredVariant) {\n return rightPreferredVariant - leftPreferredVariant;\n }\n\n const leftAddressable = left.operationFrontendConfig?.surface === ResourceOperationFrontendSurface.ADDRESSABLE ? 1 : 0;\n const rightAddressable = right.operationFrontendConfig?.surface === ResourceOperationFrontendSurface.ADDRESSABLE ? 1 : 0;\n if (leftAddressable !== rightAddressable) {\n return rightAddressable - leftAddressable;\n }\n\n return String(left.variantKey ?? '').localeCompare(String(right.variantKey ?? ''));\n })[0];\n}\n\nexport function getOperationsForCoreSemantic<T extends ResourceOperationSemanticsLike>(\n operations: readonly T[],\n coreOperation: CoreResourceOperation,\n options?: {\n requireAddressable?: boolean;\n allowBulk?: boolean;\n /**\n * Accept ONLY the literal core verb, never an operation that borrows it through\n * `resourceOperationLike`.\n *\n * Semantic matching is what lets a custom verb stand in for a core one, and that is right almost\n * everywhere. It is wrong wherever the CALLER, not the operation, supplies the words: the list's\n * create call-to-action labels itself `tResourceOperation(resourceType, CREATE, 'title')` — the\n * LITERAL create's title — so a borrowed create is mislabelled by construction rather than by\n * accident. On `AUDIT_LOGS`, whose literal CREATE is `REPOSITORY_ONLY` and therefore absent from\n * the frontend registry, that produced a primary \"Create Audit Log\" button wired to\n * `exportAuditLogs`.\n */\n requireLiteralIdentifier?: boolean;\n },\n): T[] {\n return operations.filter((operation) => {\n if (!matchesResourceOperationSemantic(operation, coreOperation)) {\n return false;\n }\n\n if (options?.requireLiteralIdentifier && operation.operationIdentifier !== coreOperation) {\n return false;\n }\n\n if (options?.requireAddressable && operation.operationFrontendConfig?.surface !== ResourceOperationFrontendSurface.ADDRESSABLE) {\n return false;\n }\n\n if (options?.allowBulk !== true && operation.isBulkOperation) {\n return false;\n }\n\n return true;\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"operation-semantics.frontend.utils.js","sourceRoot":"","sources":["../../../../../src/core/resources/operation-semantics.frontend.utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { FieldSchemaType, getSchemaType, isFileSchema, isForeignKeyField, unwrapSchema } from '@wildo-ai/zod-decorators';\nimport {\n ALL_COLLECTION_OPERATIONS,\n BULK_OPERATION_HOST_SUPPLIED_FIELDS,\n BULK_OPERATION_MATCH_FIELD,\n BULK_OPERATION_SELECTOR_FIELD,\n COLLECTION_OPERATIONS_WITHOUT_IDS,\n CoreResourceOperation,\n ResourceGeneratedOperationKind,\n ResourceOperationVariantType,\n ResourceOperationFrontendSurface,\n ResourceOperationRiskLevel,\n NavigationTransition,\n Resources_SharedUtils,\n Resources_BulkOperationMatchListingSchema,\n getContextAddressedCompositionSingletonRelationshipCandidates,\n type ResourceConfiguration_ResourceRelationships,\n type Resources_BulkOperationMatchListing,\n} from '@wildo-ai/saas-models';\nimport {\n isCollectionScopedOperation,\n ResourceOperationActionPresentation,\n ResourceOperationActionScope,\n} from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\n\nexport interface ResourceOperationSemanticsLike {\n operationIdentifier: unknown;\n resourceOperationLike?: unknown;\n requestDto?: unknown;\n variantType?: unknown;\n isOperationDefault?: boolean;\n isBulkOperation?: boolean;\n variantKey?: unknown;\n /** Read only by the DROPDOWN rule: a pick that executes cannot also be a deliberate, confirmed act. */\n riskLevel?: unknown;\n /**\n * Read only by the DROPDOWN rule (#2744 review N1): a dropdown lists its field's values and executes the pick, outside\n * the form that applies an operation's offers, so an operation that declares offers is not presented as one.\n */\n requestFieldOffers?: unknown;\n /**\n * The subset of `ResourceOperationFrontendConfig` this module's decisions read.\n *\n * Deliberately a structural subset rather than the full config type: these helpers run against\n * operation objects arriving through several projections (the frontend registry, a thinned\n * navigation payload, a test fixture), and requiring the whole config would make them unusable on\n * exactly the surfaces that need them most.\n */\n operationFrontendConfig?: {\n surface?: ResourceOperationFrontendSurface;\n actionPresentation?: ResourceOperationActionPresentation;\n actionScope?: ResourceOperationActionScope;\n rowTargetRequestField?: string;\n };\n generatedOperation?: {\n kind?: unknown;\n fieldName?: unknown;\n /** On a collection export: the LIST/SEARCH verb and the keyed VARIANT it re-runs (#2705). */\n sourceCoreOperation?: unknown;\n sourceVariantKey?: unknown;\n };\n}\n\nexport const BULK_OPERATION_SELECTION_IDS_CONTEXT_KEY = 'bulkOperationSelectionIds';\n/**\n * The operation-context key carrying a CROSS-PAGE selection (\"select all N matching\") to whatever host\n * presents a bulk action's form — the sibling of {@link BULK_OPERATION_SELECTION_IDS_CONTEXT_KEY}.\n *\n * A form-bearing bulk action (one that asks for a value, like \"Change status\") is executed by the\n * form host, which adds the selection through {@link mergeBulkSelectionIntoRequestData}. That merge\n * read only the id key, so a cross-page selection never reached it and the request went out with no\n * selection but the form's own empty `_match` (#1461, #2035 run 2026-09-30).\n */\nexport const BULK_OPERATION_MATCH_SELECTION_CONTEXT_KEY = 'bulkOperationMatchSelection';\nexport const RESOURCE_OPERATION_EXECUTED_DISCRIMINATOR_CONTEXT_KEY = 'resourceOperationExecutedDiscriminator';\n\nexport type ResourceOperationLayoutKind =\n | 'create'\n | 'list'\n | 'read'\n | 'update'\n | 'search'\n | 'action';\n\nexport function isLiteralCoreResourceOperation(\n operationIdentifier: unknown,\n): operationIdentifier is CoreResourceOperation {\n return Object.values(CoreResourceOperation).includes(operationIdentifier as CoreResourceOperation);\n}\n\nexport function resolveEffectiveCoreOperation(\n operationIdentifier: unknown,\n resourceOperationLike?: unknown,\n): CoreResourceOperation | undefined {\n if (resourceOperationLike && Object.values(CoreResourceOperation).includes(resourceOperationLike as CoreResourceOperation)) {\n return resourceOperationLike as CoreResourceOperation;\n }\n\n if (Object.values(CoreResourceOperation).includes(operationIdentifier as CoreResourceOperation)) {\n return operationIdentifier as CoreResourceOperation;\n }\n\n return undefined;\n}\n\nexport function resolveEffectiveCoreOperationFromOperation(\n operation: ResourceOperationSemanticsLike,\n): CoreResourceOperation | undefined {\n return resolveEffectiveCoreOperation(\n operation.operationIdentifier,\n operation.resourceOperationLike,\n );\n}\n\nexport function matchesResourceOperationSemantic(\n operation: ResourceOperationSemanticsLike,\n coreOperation: CoreResourceOperation,\n): boolean {\n return resolveEffectiveCoreOperationFromOperation(operation) === coreOperation;\n}\n\n/**\n * The operation whose generated TITLE names a surface that shows `operationIdentifier` — the page header and\n * the overlay (dialog, sheet, tab) title alike, which must agree.\n *\n * The core EDIT surface is titled like the record's own page. UPDATE's title is generated as the name of an\n * ACTION, a button word (\"Update preferences\", \"Save changes\"), while READ's is generated as a HEADING naming\n * the surface (\"Preferences\"). An edit page headed by a verb names the button below it rather than the thing\n * being edited, and the form's own save button already says the verb. So when the resource has a READ, the\n * core UPDATE — including its polymorphic variants, which keep the `update` identifier — takes READ's title.\n *\n * Keyed on the literal identifier, NOT on the effective core semantics: a custom operation that BEHAVES like\n * an update (`claimDomain`, `reset_to_defaults`) is a named action, and its own title is the only word that\n * says which action the surface performs. A resource with no READ keeps UPDATE's title, the only word it has.\n */\nexport function resolveSurfaceTitleOperationIdentifier(\n operationIdentifier: unknown,\n resourceOperations: ReadonlyArray<{ operationIdentifier: unknown }> | undefined,\n): string {\n if (\n operationIdentifier === CoreResourceOperation.UPDATE\n && resourceOperations?.some((candidate) => candidate.operationIdentifier === CoreResourceOperation.READ)\n ) {\n return CoreResourceOperation.READ;\n }\n return String(operationIdentifier);\n}\n\n/**\n * Is a surface showing this operation HEADED by the record's own name, rather than by the operation's title?\n *\n * Only for a CORE verb that addresses one record — READ (the record's page), UPDATE (its edit page, titled like the\n * page: see {@link resolveSurfaceTitleOperationIdentifier}) and DELETE (whose question is WHICH record). A NAMED\n * action on one record keeps its own title as the heading: `setRepresentativeAdmissionPolicy`'s title is what the page DOES, and the\n * record is the thing it does it to, so its name sits beneath the title instead of replacing it (#2058). Until\n * then a record label replaced every one-record surface's title, and every named action opened as a page headed\n * only \"E2E spfbb168\", which says nothing about which action the form below performs.\n *\n * Keyed on the literal identifier for the same reason the title rule is: a custom operation BORROWING update\n * semantics (`resourceOperationLike`) is still a named action.\n */\nexport function surfaceHeadingIsRecordName(operation: ResourceOperationSemanticsLike): boolean {\n return isLiteralCoreResourceOperation(operation.operationIdentifier) && operationAddressesOneRecord(operation);\n}\n\nexport function isUpdateLikeCoreOperation(\n coreOperation: CoreResourceOperation | undefined,\n): boolean {\n return coreOperation === CoreResourceOperation.UPDATE\n || coreOperation === CoreResourceOperation.UPDATE_MANY;\n}\n\nexport function isSingleResourceUpdateLikeOperation(\n operation: ResourceOperationSemanticsLike,\n): boolean {\n return operation.isBulkOperation !== true\n && isUpdateLikeCoreOperation(resolveEffectiveCoreOperationFromOperation(operation));\n}\n\nexport function shouldEmitResourceRefreshAfterDirectOperation(\n operation: ResourceOperationSemanticsLike,\n): boolean {\n if (isGeneratedFileRegenerateOperation(operation)) {\n return true;\n }\n\n const effectiveOperation = resolveEffectiveCoreOperationFromOperation(operation);\n\n switch (effectiveOperation) {\n case CoreResourceOperation.CREATE:\n case CoreResourceOperation.CREATE_MANY:\n case CoreResourceOperation.UPDATE:\n case CoreResourceOperation.UPDATE_MANY:\n case CoreResourceOperation.DELETE:\n case CoreResourceOperation.DELETE_MANY:\n return true;\n default:\n return false;\n }\n}\n\nexport function readBulkOperationSelectionIds(\n additionalContext?: Record<string, unknown>,\n): string[] | undefined {\n const value = additionalContext?.[BULK_OPERATION_SELECTION_IDS_CONTEXT_KEY];\n\n if (!Array.isArray(value)) {\n return undefined;\n }\n\n const ids = value.filter((candidate): candidate is string => typeof candidate === 'string');\n return ids.length > 0 ? ids : undefined;\n}\n\n/** The cross-page selection an operation context carries, when \"select all N matching\" was chosen. */\nexport function readBulkOperationMatchSelection(\n additionalContext?: Record<string, unknown>,\n): { filters?: Record<string, unknown>; search?: string; listing?: Resources_BulkOperationMatchListing } | undefined {\n const value = additionalContext?.[BULK_OPERATION_MATCH_SELECTION_CONTEXT_KEY];\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n return undefined;\n }\n const candidate = value as { filters?: unknown; search?: unknown; listing?: unknown };\n // The listing the rows came from (#2718), read through its own wire schema so a malformed one travels as none.\n const listing = Resources_BulkOperationMatchListingSchema.safeParse(candidate.listing);\n return {\n ...(candidate.filters && typeof candidate.filters === 'object' && !Array.isArray(candidate.filters)\n ? { filters: candidate.filters as Record<string, unknown> }\n : {}),\n ...(typeof candidate.search === 'string' && candidate.search !== '' ? { search: candidate.search } : {}),\n ...(candidate.listing !== undefined && listing.success ? { listing: listing.data } : {}),\n };\n}\n\n/**\n * How many records a bulk operation context names, for the words a bulk form shows (\"will be cleared on 40 records\",\n * #2620): the ids when rows were picked, else the count the LISTING reported for a cross-page selection\n * (`matchedCount`, a statement about the moment the person chose, as the bulk bar shows it). `undefined` when the context\n * names no selection, or a cross-page one without its count.\n *\n * Read only for display: the selection the server writes to is the one `mergeBulkSelectionIntoRequestData` sends, and the\n * count never travels with it.\n */\nexport function readBulkOperationSelectionCount(additionalContext?: Record<string, unknown>): number | undefined {\n const ids = readBulkOperationSelectionIds(additionalContext);\n if (ids) return ids.length;\n const match = additionalContext?.[BULK_OPERATION_MATCH_SELECTION_CONTEXT_KEY] as { matchedCount?: unknown } | undefined;\n const matchedCount = match && typeof match === 'object' ? match.matchedCount : undefined;\n return typeof matchedCount === 'number' && Number.isInteger(matchedCount) && matchedCount >= 0 ? matchedCount : undefined;\n}\n\nexport function readResourceOperationExecutedDiscriminator(\n additionalContext?: Record<string, unknown>,\n): string | undefined {\n const value = additionalContext?.[RESOURCE_OPERATION_EXECUTED_DISCRIMINATOR_CONTEXT_KEY];\n return typeof value === 'string' && value.length > 0 ? value : undefined;\n}\n\n/**\n * Build the wire selector a bulk operation uses to name the rows it targets.\n *\n * The field name comes from {@link BULK_OPERATION_SELECTOR_FIELD} — the ONE named source both halves\n * of the contract read — because spelling it here is exactly how this broke. Every frontend bulk\n * surface emitted `ids`, which is not in the bulk request DTO\n * (`Resources_BulkOperationBaseSchema.extend(...)`), so the strict Zod parse stripped it and then\n * refused the request for the `_ids` it never received. It type-checked, it looked right, and the\n * generic bulk lane had never once worked from the UI.\n *\n * Every frontend producer of a bulk payload goes through this function, so there is one spelling to\n * get right rather than one per surface.\n */\nexport function buildBulkOperationSelectorPayload(ids: readonly string[]): Record<string, unknown> {\n return { [BULK_OPERATION_SELECTOR_FIELD]: [...ids] };\n}\n\n/**\n * The CROSS-PAGE selector payload: the query that produced the listing, not the rows it showed.\n *\n * Sibling of {@link buildBulkOperationSelectorPayload} and never sent beside it — the server refuses\n * a request naming both, because honouring one would make the other silently inert. The matched\n * count stays on the client: it is what the listing reported when the person chose, and the server\n * re-evaluates the query itself rather than trusting a number the client sent (#1461).\n */\nexport function buildBulkOperationMatchPayload(match: {\n filters?: Record<string, unknown>;\n search?: string;\n listing?: Resources_BulkOperationMatchListing;\n}): Record<string, unknown> {\n const filters = match.filters && Object.keys(match.filters).length > 0 ? { filters: match.filters } : {};\n const search = match.search ? { search: match.search } : {};\n // The listing the rows came from, so the server re-runs exactly that operation and variant (#2718).\n const listing = match.listing ? { listing: match.listing } : {};\n return { [BULK_OPERATION_MATCH_FIELD]: { ...filters, ...search, ...listing } };\n}\n\n/**\n * The `resultSummary` an outcome event may carry: the operation's result when it is a PLAIN OBJECT,\n * and nothing otherwise.\n *\n * The event schema types it as a record, and every producer used to pass any non-null object —\n * which includes an array. A multi-row bulk update answers an array of rows, so its\n * RESOURCE_OPERATION_EXECUTED was refused by the event bus (\"Invalid payload\") and nobody heard that\n * the write succeeded: the listing kept its old values and the bulk bar kept the rows selected.\n * One definition, so the producers cannot disagree about it again.\n */\nexport function toOperationResultSummary(result: unknown): Record<string, unknown> | undefined {\n return typeof result === 'object' && result !== null && !Array.isArray(result)\n ? result as Record<string, unknown>\n : undefined;\n}\n\nexport function mergeBulkSelectionIntoRequestData(params: {\n operation: ResourceOperationSemanticsLike;\n requestData?: Record<string, unknown>;\n additionalContext?: Record<string, unknown>;\n}): Record<string, unknown> | undefined {\n if (params.operation.isBulkOperation !== true) {\n return params.requestData;\n }\n\n const match = readBulkOperationMatchSelection(params.additionalContext);\n const ids = readBulkOperationSelectionIds(params.additionalContext);\n // No selection in the context: the caller's request is left exactly as given — a programmatic\n // `execute({ _ids })` names its own rows, and dropping them would turn it into a no-target request.\n if (!match && (!ids || ids.length === 0)) {\n return params.requestData;\n }\n\n // The context supplies the selection, so it is the COLLECTION's to write, never the form's: whatever\n // the request carries under a selector key is dropped first, so an empty `_match: {}` can never stand\n // in for — or sit beside — the selection the person actually made.\n const formValues = params.requestData\n ? Object.fromEntries(Object.entries(params.requestData).filter(([key]) => !(BULK_OPERATION_HOST_SUPPLIED_FIELDS as readonly string[]).includes(key)))\n : undefined;\n\n if (match) {\n return { ...(formValues ?? {}), ...buildBulkOperationMatchPayload(match) };\n }\n\n return {\n ...(formValues ?? {}),\n ...buildBulkOperationSelectorPayload(ids!),\n };\n}\n\nexport function isSemanticCustomResourceOperation(\n operation: ResourceOperationSemanticsLike,\n): boolean {\n return !isLiteralCoreResourceOperation(operation.operationIdentifier)\n && resolveEffectiveCoreOperationFromOperation(operation) !== undefined;\n}\n\nexport function isGeneratedFileRegenerateOperation(\n operation: ResourceOperationSemanticsLike,\n): boolean {\n return operation.generatedOperation?.kind === ResourceGeneratedOperationKind.GENERATED_FILE_REGENERATE\n || (\n typeof operation.operationIdentifier === 'string'\n && Resources_SharedUtils.parseGeneratedFileRegenerateOperationIdentifier(operation.operationIdentifier) !== undefined\n && resolveEffectiveCoreOperationFromOperation(operation) === CoreResourceOperation.UPDATE\n );\n}\n\n/**\n * Is this the file-export companion of a LIST/SEARCH operation?\n *\n * Identity comes from the generated-operation metadata, with the prefixed identifier as the fallback\n * for any surface that receives a thinned operation object — the same two-source shape\n * {@link isGeneratedFileRegenerateOperation} uses, and for the same reason: the frontend receives\n * operations through several projections and not all of them carry `generatedOperation`.\n */\nexport function isGeneratedCollectionExportOperation(\n operation: ResourceOperationSemanticsLike,\n): boolean {\n return operation.generatedOperation?.kind === ResourceGeneratedOperationKind.GENERATED_COLLECTION_EXPORT\n || (\n typeof operation.operationIdentifier === 'string'\n && Resources_SharedUtils.parseGeneratedCollectionExportOperationIdentifier(operation.operationIdentifier) !== undefined\n );\n}\n\n/**\n * Does this collection export re-run the VARIANT the listing shows (#2705)?\n *\n * An export re-runs exactly the variant that declared it. A resource can show one operation's variants on different\n * screens: a member's own listing (unkeyed), and the governed `directory` (keyed) an administrator reads. An export of\n * one, offered on the other, downloads a set the person is not looking at: the directory's whole tenant list from a\n * member listing's toolbar, with that listing's filters. So it is offered only where its source variant is the one shown.\n *\n * `listingVariantKeys` is the variant the listing shows for each verb: a key, `null` for the unkeyed variant, or\n * `undefined` when the listing did not say (no constraint: a surface that supplies nothing sees no change).\n */\nexport function collectionExportReRunsListingVariant(\n operation: ResourceOperationSemanticsLike,\n listingVariantKeys: { list?: string | null; search?: string | null } | undefined,\n): boolean {\n if (!listingVariantKeys || operation.generatedOperation?.kind !== ResourceGeneratedOperationKind.GENERATED_COLLECTION_EXPORT) {\n return true;\n }\n const shown = operation.generatedOperation.sourceCoreOperation === CoreResourceOperation.SEARCH\n ? listingVariantKeys.search\n : listingVariantKeys.list;\n if (shown === undefined) return true;\n const sourceVariantKey = typeof operation.generatedOperation.sourceVariantKey === 'string' ? operation.generatedOperation.sourceVariantKey : null;\n return sourceVariantKey === shown;\n}\n\n/**\n * Does this operation address ONE persisted record, so that its context's own-type slot is that record's id?\n *\n * A non-bulk READ, UPDATE or DELETE does, and so does a custom operation borrowing one of them. Nothing else\n * does: every collection verb (`ALL_COLLECTION_OPERATIONS`: LIST, SEARCH, COUNT, CREATE, CREATE_MANY,\n * UPDATE_MANY, DELETE_MANY), a BULK variant of any verb (`haveBulkOperation` — an UPDATE or DELETE over a\n * selection; saas-models builds its route with no entity id for the same reason), and an operation whose\n * semantic cannot be resolved. On those an own-type id in the context is AMBIENT SCOPE — the quick-switcher's\n * selected record, for one — and never \"the current record\".\n *\n * The single answer to that question. The resource header asks it before letting a record's label replace\n * the operation title, the navigation layer before reading a context's type slot as an id\n * (`NavigationUtils.isScopeAddressedOperationContext`), and the app scope before treating a surface as one\n * that addresses a record of a scope field's type. They used to answer it separately, from a hand-closed list\n * each, and disagreed about CREATE_MANY and the bulk variants.\n */\nexport function operationAddressesOneRecord(operation: ResourceOperationSemanticsLike): boolean {\n if (operation.isBulkOperation === true) return false;\n const effectiveCoreOperation = resolveEffectiveCoreOperationFromOperation(operation);\n return effectiveCoreOperation !== undefined && !ALL_COLLECTION_OPERATIONS.includes(effectiveCoreOperation);\n}\n\n/**\n * A CUSTOM operation that borrows a COLLECTION verb, and therefore addresses no single row.\n *\n * `resourceOperationLike` answers a ROUTING question — which core verb's route shape and\n * collection-level authorization does this operation borrow. The frontend has been reading it as a\n * statement about what the operation MEANS to a user, and for the collection verbs those two\n * answers come apart: an operation borrowing one of `COLLECTION_OPERATIONS_WITHOUT_IDS` gets a\n * route with NO `:id` segment in it, so there is no row for a per-row button to act on. Clicking it\n * on the third row does exactly what clicking it on the first row does.\n *\n * `AuditLogs.EXPORT_AUDIT_LOGS` is the worked example and says so at its own declaration: it borrows\n * CREATE to get \"the collection POST route shape without … requiring a meaningless `auditLogId` path\n * value\". It then rendered a Download button on every row of the audit trail.\n *\n * DERIVED rather than declared, for the reason the generated collection-export exemption beside it\n * already gives: `actionScope: COLLECTION` is a per-app declaration, and asking every author to\n * stamp it puts the burden on them for something the framework already knows from the route it\n * built. Measured 2026-09-20 over `engine/` and `platform/`: five custom operations borrow a\n * collection verb — this export, both access-grant `REQUEST_ACCESS` verbs, SCIM `GENERATE_TOKEN` and\n * SSO `DISCOVER_ENDPOINTS` — and not one of the five is a per-row action. None had declared the\n * scope, so all five rendered per row.\n *\n * `rowTargetRequestField` is the declared ESCAPE, not an oversight: it is how an operation says \"I\n * address the clicked row through the request BODY rather than the URL\", which is precisely the\n * shape a per-row action borrowing a collection verb would take. One that declares it stays an item\n * action.\n */\nexport function isCollectionVerbBorrowingOperation(\n operation: ResourceOperationSemanticsLike,\n): boolean {\n // A LITERAL core verb is not borrowing anything — `CREATE` is the resource's create, and\n // `LIST`/`SEARCH`/`COUNT` are already handled as non-item operations below.\n if (isLiteralCoreResourceOperation(operation.operationIdentifier)) return false;\n if (operation.operationFrontendConfig?.rowTargetRequestField) return false;\n const effectiveCoreOperation = resolveEffectiveCoreOperationFromOperation(operation);\n return effectiveCoreOperation !== undefined\n && COLLECTION_OPERATIONS_WITHOUT_IDS.includes(effectiveCoreOperation);\n}\n\n/**\n * Does this operation act on the WHOLE COLLECTION rather than on one row?\n *\n * THE single answer to that question, because it is asked twice and the two askers do different\n * jobs: `useResourceOperationActions` decides which actions EXIST on a surface, and\n * `ResourceLayout_List` decides whether the collection-action surface is MOUNTED at all. An\n * exemption added to one alone produces actions rendered into a container that was never created —\n * which is exactly what happened on 2026-08-25, when three gate fixes in the hook changed nothing\n * visible because the mount check still said there were no collection-scoped operations here.\n *\n * That hazard used to be managed by a ⚠️ comment asking the next author to remember both sites.\n * Collapsing the predicate is the stronger form of the same instruction: there is now one site.\n *\n * Three ways to be collection-scoped, in descending order of how explicit they are:\n * 1. DECLARED — `actionScope: COLLECTION`, the per-app opt-in for a \"retry all\" / \"purge all\";\n * 2. DERIVED from the generated collection-export companion, which is collection-scoped by\n * construction and has no author to declare anything;\n * 3. DERIVED from a borrowed COLLECTION verb — see {@link isCollectionVerbBorrowingOperation}.\n *\n * The third follows what the verb ADDRESSES, not the verb it is like (#2326). A verb with no `:id` addresses the\n * collection its context selects, and for a context-addressed SINGLETON that collection is one record: the one a\n * detail page shows when its context is that record's owner. There the verb acts on the record on screen, so it is\n * an item action (`addressesTheContextSingletonRecord`, decided by {@link recordIsItsContextSingleton}). A settings\n * singleton whose ENABLE and DISABLE borrow CREATE for the id-less route is the case that found it (a representing\n * organization's activity-feed settings, since retired, #2592): they appeared on no surface at all, since a singleton\n * has no list to carry collection actions. The\n * two DECLARED kinds are untouched: a \"retry all\" means all, wherever it renders.\n */\nexport function isCollectionScopedResourceOperation(\n operation: ResourceOperationSemanticsLike,\n options?: { addressesTheContextSingletonRecord?: boolean },\n): boolean {\n return isCollectionScopedOperation(operation.operationFrontendConfig)\n || isGeneratedCollectionExportOperation(operation)\n || (!options?.addressesTheContextSingletonRecord && isCollectionVerbBorrowingOperation(operation));\n}\n\n/**\n * Is the record on screen the one its context selects (#2326)? True when the resource is a context-addressed\n * composition singleton under some parent, the record names that parent, and the surface's context IS that parent.\n *\n * The last condition is what keeps the rule to the record a person opened in its own context. The same singleton can\n * also be a row of somebody's administrative list, reached from another context; an id-less verb there would address\n * the context's record, not that row's, so it must not become a row action.\n */\nexport function recordIsItsContextSingleton(input: {\n resourceRelationships: ResourceConfiguration_ResourceRelationships | undefined;\n currentObject: Record<string, unknown> | undefined;\n contextResourceIdentifiers: Record<string, string | { fieldIdentifier: string; resourceId: string }>;\n}): boolean {\n if (!input.resourceRelationships || !input.currentObject) return false;\n return getContextAddressedCompositionSingletonRelationshipCandidates(input.resourceRelationships).some((candidate) => {\n const owner = input.currentObject![candidate.foreignKeyField];\n const context = input.contextResourceIdentifiers[candidate.parentResourceType];\n const contextId = typeof context === 'string' ? context : context?.resourceId;\n return typeof owner === 'string' && owner.length > 0 && owner === contextId;\n });\n}\n\nexport const NON_ITEM_RESOURCE_OPERATIONS = new Set<CoreResourceOperation>([\n CoreResourceOperation.LIST,\n CoreResourceOperation.SEARCH,\n CoreResourceOperation.COUNT,\n CoreResourceOperation.CREATE,\n CoreResourceOperation.CREATE_MANY,\n CoreResourceOperation.READ,\n]);\n\n/**\n * Effective core semantics that are pure aggregate / collection READS — a data\n * provider the surface calls programmatically, never a per-item user action,\n * even when worn by a CUSTOM operation. A `get_state` op declaring\n * `resourceOperationLike: COUNT` (no `requestDto`) is the canonical example: it\n * fetches aggregate state for a panel to render, so as an action-bar button it is\n * a dead control that fetches and shows nothing.\n *\n * `READ` and `CREATE` are deliberately EXCLUDED: custom READ-like ops\n * (`open_portal`, `usage_stats`) and CREATE-like ops (a \"clone\" / \"duplicate\")\n * ARE real user actions and must keep their button.\n */\nexport const NON_ITEM_CUSTOM_CORE_SEMANTICS = new Set<CoreResourceOperation>([\n CoreResourceOperation.COUNT,\n CoreResourceOperation.LIST,\n CoreResourceOperation.SEARCH,\n]);\n\nexport const NAVIGABLE_RESOURCE_OPERATIONS = new Set<CoreResourceOperation>([\n CoreResourceOperation.CREATE,\n CoreResourceOperation.READ,\n CoreResourceOperation.UPDATE,\n]);\n\nexport function shouldTreatAsNonItemResourceOperation(\n operation: ResourceOperationSemanticsLike,\n): boolean {\n // The collection-export companion BORROWS `resourceOperationLike: LIST/SEARCH` so that routing,\n // collection-level authorization and URL building all treat it as a listing. That makes the\n // aggregate-read test below match it — and it is exactly wrong here: an export is an ACTION a user\n // clicks, not a data provider. Without this exemption the action is filtered out of every bar and\n // the feature has no surface at all, which is silent: nothing errors, the button simply never\n // renders.\n if (isGeneratedCollectionExportOperation(operation)) {\n return false;\n }\n\n if (\n isLiteralCoreResourceOperation(operation.operationIdentifier)\n && NON_ITEM_RESOURCE_OPERATIONS.has(operation.operationIdentifier)\n ) {\n return true;\n }\n\n // A CUSTOM operation whose effective core semantic is an aggregate/collection\n // read (COUNT/LIST/SEARCH) is a data provider, not a per-item action — keep it\n // out of the action bar so it does not render as a dead, do-nothing button.\n if (!isLiteralCoreResourceOperation(operation.operationIdentifier)) {\n const effectiveCoreOperation = resolveEffectiveCoreOperationFromOperation(operation);\n if (effectiveCoreOperation && NON_ITEM_CUSTOM_CORE_SEMANTICS.has(effectiveCoreOperation)) {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * The largest request-body field count the framework will present in an OVERLAY rather than a page.\n *\n * Six is a judgement, not a measurement, and it is written down here — in ONE place, named — so it\n * can be argued with instead of rediscovered. It is the point at which the industry guidance stops\n * saying \"keep the user in context\" and starts saying \"give the task the room a page has\": Carbon\n * routes complex data entry to a full page, Filament's `->form()` modal is described for collecting\n * *extra information*, not for authoring a record.\n *\n * An author who disagrees for a specific operation does not tune this number — they declare\n * `actionPresentation` and the derivation is not consulted at all. That is the escape hatch, and it\n * is why a single global constant is honest here.\n */\nexport const ACTION_MODAL_FIELD_CEILING = 6;\n\n/**\n * The largest request-body field count the framework will present in an ANCHORED PANEL rather than\n * an overlay.\n *\n * Two, and the reasoning is the one this axis's `POPOVER` member already states: the anchored panel\n * is the small-input idiom (\"snooze until…\", \"reject with a reason…\"), and it earns its\n * place by keeping the row the user is acting on visible. A third control starts wanting the room a\n * dialog has, and the panel stops being cheaper than one.\n *\n * Pairs with {@link ACTION_MODAL_FIELD_CEILING} as one ordered ladder — 1–2 anchored, 3–6 overlay,\n * beyond that a page — so the two numbers are argued with together instead of one of them silently\n * owning every case.\n */\nexport const ACTION_ANCHORED_FIELD_CEILING = 2;\n\n/**\n * Can the framework honestly present this request body inside an overlay?\n *\n * Three refusals, each for a different reason rather than by symmetry:\n * - **not an object schema** — nothing can be counted, so nothing can be promised;\n * - **a file field** — upload chrome (drag target, crop, progress, retry) needs room an overlay\n * does not have, and a half-visible upload is worse than a page;\n * - **a nested object / array-of-objects** — a nested write is a form inside a form, which is the\n * shape a page exists for.\n *\n * Anything else is judged on size alone. Note this reads the schema STRUCTURALLY and never a field\n * count carried alongside it: the operation object reaching the frontend is a projection, and a\n * count computed elsewhere would be a second source able to disagree with the schema it describes.\n */\nfunction requestBodyFitsAnOverlay(requestDto: unknown, suppliedKeys: ReadonlySet<string>): boolean {\n if (!(requestDto instanceof z.ZodObject)) {\n return false;\n }\n\n return countFieldsPresentableWithoutAPage(requestDto, ACTION_MODAL_FIELD_CEILING, suppliedKeys) !== undefined;\n}\n\n/**\n * Is this request body small and simple enough for an ANCHORED PANEL?\n *\n * The SHAPE test is identical to the overlay's — a file, a nested object or a repeating sub-form\n * belongs on a page whichever chrome is being considered — so only the ceiling differs. Sharing\n * `countFieldsPresentableWithoutAPage` is what keeps the two answers from disagreeing about what\n * \"simple\" means: two copies of that list would drift the first time a field kind is added.\n */\nfunction requestBodyFitsAnAnchoredPanel(requestDto: unknown, suppliedKeys: ReadonlySet<string>): boolean {\n return countFieldsPresentableWithoutAPage(requestDto, ACTION_ANCHORED_FIELD_CEILING, suppliedKeys) !== undefined;\n}\n\n/**\n * The request keys a BULK action's host fills itself, which are therefore not inputs a person fills.\n *\n * A bulk twin's request is the single-row request plus `_ids` — the selection — and the form hides\n * that key because the collection supplies it. Counting it anyway made every bulk action look one\n * field larger than it is: a two-field bulk action counted three and fell from the anchored panel\n * to a dialog, while the SAME action on one row got the panel. The ladder has to count what the\n * person will actually see.\n *\n * Named from `BULK_OPERATION_HOST_SUPPLIED_FIELDS` — both selectors, `_ids` and the cross-page\n * `_match` — the one list the form's omission and the execution merge also read, so the keys this\n * skips and the keys the request builder writes cannot drift apart.\n */\nfunction resolveHostSuppliedRequestKeys(operation: ResourceOperationSemanticsLike): ReadonlySet<string> {\n return operation.isBulkOperation === true ? new Set<string>(BULK_OPERATION_HOST_SUPPLIED_FIELDS) : new Set();\n}\n\n/**\n * The field count of a request body every one of whose fields can be drawn without a page, or\n * `undefined` when the body is empty, over `ceiling`, unintrospectable, or holds a field that\n * cannot.\n *\n * Reads the schema STRUCTURALLY and never a field count carried alongside it: the operation object\n * reaching the frontend is a projection, and a count computed elsewhere would be a second source\n * able to disagree with the schema it describes.\n */\nfunction countFieldsPresentableWithoutAPage(\n requestDto: unknown,\n ceiling: number,\n suppliedKeys: ReadonlySet<string>,\n): number | undefined {\n if (!(requestDto instanceof z.ZodObject)) {\n return undefined;\n }\n\n const shape = requestDto.shape as Record<string, z.ZodTypeAny>;\n // Keys the HOST supplies are not inputs anyone fills — see `resolveHostSuppliedRequestKeys`.\n const fieldNames = Object.keys(shape).filter((fieldName) => !suppliedKeys.has(fieldName));\n\n if (fieldNames.length === 0 || fieldNames.length > ceiling) {\n return undefined;\n }\n\n const everyFieldFits = fieldNames.every((fieldName) => {\n const unwrapped = unwrapSchema(shape[fieldName]!);\n\n if (isFileSchema(unwrapped)) {\n return false;\n }\n\n if (unwrapped instanceof z.ZodObject) {\n return false;\n }\n\n if (unwrapped instanceof z.ZodArray) {\n // An array of scalars (a list of ids, a set of tags) is one control and fits fine. An array of\n // OBJECTS is a repeating sub-form, which does not.\n return !(unwrapSchema(unwrapped.element as z.ZodTypeAny) instanceof z.ZodObject);\n }\n\n return true;\n });\n\n return everyFieldFits ? fieldNames.length : undefined;\n}\n\n/**\n * Does this operation declare a request body with NO fields — an explicit `z.object({})`?\n *\n * Such a zero-input operation has no form to collect, so it executes rather than opening one.\n * Mirrors the backend's `hasMeaningfulExplicitRequestDto` (inverted).\n */\nexport function hasEmptyResourceOperationRequestBody(requestDto: unknown): boolean {\n return requestDto instanceof z.ZodObject && Object.keys(requestDto.shape).length === 0;\n}\n\n/**\n * Does this operation collect NOTHING from a person? No `requestDto`, or one whose every field the\n * host supplies itself.\n *\n * A bulk twin's request is its row variant's body plus the `_ids` selector the collection fills. A\n * bulk action whose row variant takes no input therefore has a body of exactly `{ _ids }` — not\n * empty, and not something anyone types. Checking raw emptiness sent Wonder Todos' bulk \"Unassign\"\n * to a dialog holding an empty form and a Save button, where the same action on one row ran on\n * click. The action ladder and the operation host both ask this, so an action cannot run directly\n * from one surface and open an empty form on another.\n */\nexport function operationCollectsNoCallerInput(operation: ResourceOperationSemanticsLike): boolean {\n if (!operation.requestDto) {\n return true;\n }\n if (!(operation.requestDto instanceof z.ZodObject)) {\n return false;\n }\n const suppliedKeys = resolveHostSuppliedRequestKeys(operation);\n return Object.keys(operation.requestDto.shape).every((fieldName) => suppliedKeys.has(fieldName));\n}\n\n/**\n * Does this risk level ask for a confirmation before the operation runs?\n *\n * HIGH and CRITICAL do (a plain confirm, and a typed one); LOW and MEDIUM execute on click. The one\n * definition the action ladder's confirm dialog and the DROPDOWN rule both read, so \"risky enough to\n * confirm\" and \"too risky to execute on a pick\" cannot come to mean two different sets.\n */\nexport function isRiskyResourceOperation(riskLevel: unknown): boolean {\n return riskLevel === ResourceOperationRiskLevel.HIGH || riskLevel === ResourceOperationRiskLevel.CRITICAL;\n}\n\n/**\n * The kind of domain a DROPDOWN lists — the two a person can pick from without typing a value.\n *\n * Two members because the lists are genuinely different things: an enum's values are CLOSED and\n * known up front, so they are listed whole; a reference's candidates are records on the server, so\n * they are SEARCHED as you type and scoped like the form's picker. A boolean is deliberately absent —\n * a two-item menu for yes/no is a worse control than the toggle it would replace.\n */\nexport enum ResourceOperationChoiceDomain {\n /** A closed enum — every value listed, labelled as the form labels it. */\n ENUM = 'enum',\n /** A foreign key — the referenced records, searched server-side. */\n REFERENCE = 'reference',\n}\n\n/** The single field a DROPDOWN presents, and which kind of list it needs. */\nexport interface ResourceOperationDropdownChoice {\n /** The request field the pick is written to. */\n fieldName: string;\n /** That field's schema as the request DTO declares it (decorators intact). */\n fieldSchema: z.ZodTypeAny;\n domain: ResourceOperationChoiceDomain;\n}\n\n/**\n * The one choice field this operation's input consists of, or `undefined` when its input is\n * anything else.\n *\n * Qualifies only when, after the keys the host supplies itself (a bulk twin's `_ids`), EXACTLY ONE\n * field remains and it is a single enum or a single foreign key. An array is refused: picking one\n * item of a multi-pick and executing is not what the field asks for.\n *\n * Reads the schema structurally, like every other rule in this module, so the answer cannot\n * disagree with the form the same operation would otherwise render.\n */\nexport function resolveResourceOperationDropdownChoice(\n operation: ResourceOperationSemanticsLike,\n): ResourceOperationDropdownChoice | undefined {\n const requestDto = operation.requestDto;\n if (!(requestDto instanceof z.ZodObject)) {\n return undefined;\n }\n\n const suppliedKeys = resolveHostSuppliedRequestKeys(operation);\n const shape = requestDto.shape as Record<string, z.ZodTypeAny>;\n const fieldNames = Object.keys(shape).filter((fieldName) => !suppliedKeys.has(fieldName));\n if (fieldNames.length !== 1) {\n return undefined;\n }\n\n const fieldName = fieldNames[0]!;\n const fieldSchema = shape[fieldName]!;\n if (unwrapSchema(fieldSchema) instanceof z.ZodArray) {\n return undefined;\n }\n if (isForeignKeyField(fieldSchema)) {\n return { fieldName, fieldSchema, domain: ResourceOperationChoiceDomain.REFERENCE };\n }\n if (getSchemaType(fieldSchema) === FieldSchemaType.ENUM) {\n return { fieldName, fieldSchema, domain: ResourceOperationChoiceDomain.ENUM };\n }\n return undefined;\n}\n\n/**\n * Can this operation honestly present as a DROPDOWN — one choice field, one row, and no confirmation\n * owed?\n *\n * All three are correctness constraints, not taste. Without a single choice field there is no list to\n * show. A pick executes immediately, so an operation whose risk level asks for a confirmation would\n * lose it. And a BULK twin writes every selected row: one stray pick in a menu would rewrite them all\n * with no second step, which is the one place \"the pick is the submission\" is the wrong promise. Each\n * of those keeps the anchored FORM, which has an explicit Submit.\n */\nexport function operationCanPresentAsDropdown(operation: ResourceOperationSemanticsLike): boolean {\n return operation.isBulkOperation !== true\n && !isRiskyResourceOperation(operation.riskLevel)\n // Its choices depend on the row and the application (#2744): the form that applies the offer collects it instead.\n && !operation.requestFieldOffers\n && resolveResourceOperationDropdownChoice(operation) !== undefined;\n}\n\n/**\n * HOW does this action collect its input?\n *\n * The single answer for every action surface. An explicitly authored\n * {@link ResourceOperationActionPresentation} is returned as authored — the author has answered the\n * question and the framework does not second-guess their TASTE — with ONE correctness exception: a\n * DROPDOWN the operation cannot honestly be resolves to POPOVER (see below). Everything else is the\n * DERIVATION for the (overwhelmingly common) case where nothing was authored.\n *\n * The derivation is ordered by how strong the evidence is, not by convenience:\n *\n * 1. **`ADDRESSABLE` ⇒ PAGE.** Declaring an operation deep-linkable IS declaring it a destination.\n * Nothing derived may take that away.\n * 2. **A literal core CREATE / READ / UPDATE ⇒ PAGE.** These are the framework's own page surfaces\n * and every app's navigation config is written against them; deriving an overlay here would\n * silently restyle every existing application.\n * 3. **Already-established in-place shapes ⇒ DIRECT.** A row-targeted action (its target rides the\n * body), a zero-input collection action, and a generated-file regenerate all executed on click\n * before this axis existed. They are stated here so the axis DESCRIBES the framework's behaviour\n * rather than sitting beside it — an axis that cannot express what the framework already does is\n * a second mechanism, not a vocabulary.\n * 4. **No caller input ⇒ DIRECT.** No `requestDto` at all, an explicit `z.object({})`, or a bulk\n * body holding only the selector the host fills ({@link operationCollectsNoCallerInput}).\n * 5. **One choice from an enum or a reference, and no confirmation owed ⇒ DROPDOWN.** The pick is\n * the submission, so the list of values IS the whole input ({@link operationCanPresentAsDropdown}).\n * 6. **One or two simple inputs ⇒ POPOVER.** An anchored panel beside the button that asked for\n * them, so the row being acted on stays visible.\n * 7. **Input that fits an overlay ⇒ MODAL.**\n * 8. **Everything else ⇒ PAGE.** Files, nested writes, large field sets — and the honest fallback\n * for a `requestDto` this code cannot introspect (a thinned projection), because refusing to\n * guess returns the behaviour the operation had before.\n *\n * ## An authored DROPDOWN that cannot be one resolves to POPOVER\n *\n * The only authored answer this function overrides, and for the same reason the click handler\n * refuses a non-navigating presentation on a zero-input update-like action: honouring it would be\n * wrong, not merely ugly. A DROPDOWN over two fields has no list to show, and one over a CRITICAL\n * operation would execute without the typed confirmation every other surface demands. POPOVER is the\n * nearest honest answer — the same anchored panel, holding the form with its Submit.\n *\n * ## Why step 6 is DERIVED, when it used to be authored-only\n *\n * This function returned `MODAL` for every small input and left `POPOVER` to authors, on the\n * reasoning that an anchored panel is a claim about the surrounding context — that the trigger is\n * anchored and visible — which the operation alone cannot support.\n *\n * The reasoning was sound and the conclusion did not follow, because nothing was ever asking this\n * function to be right about the host. **The bar already decides whether it can anchor**, and it\n * already degrades when it cannot: an item collapsed into the overflow menu or nested in a subgroup\n * takes its `onClick`, which `resolveActionPresentationTransition` maps to an OVERLAY — the same\n * chrome `MODAL` would have produced. So the cost of deriving the panel is zero where it cannot be\n * drawn, and the cost of NOT deriving it was that every small action in every application —\n * \"snooze until…\", \"reject with a reason…\" — covered the list it was acting on with a dialog, and the\n * only way out was to author the axis per operation. (The one-CHOICE actions — \"change status to…\",\n * \"assign to…\" — have since moved one step earlier, to DROPDOWN.)\n *\n * `INLINE` stays authored-only, and the asymmetry is the point: its claim is about the ELEMENT (the\n * thing being acted on is a row that can transform in place), and its degrade target is an overlay\n * over the list it was meant to keep visible — so guessing it wrong costs the user the very thing\n * the presentation exists for. A popover guessed wrong costs nothing.\n */\nexport function resolveResourceOperationActionPresentation(\n operation: ResourceOperationSemanticsLike,\n): ResourceOperationActionPresentation {\n const config = operation.operationFrontendConfig;\n\n if (config?.actionPresentation) {\n if (\n config.actionPresentation === ResourceOperationActionPresentation.DROPDOWN\n && !operationCanPresentAsDropdown(operation)\n ) {\n return ResourceOperationActionPresentation.POPOVER;\n }\n return config.actionPresentation;\n }\n\n if (config?.surface === ResourceOperationFrontendSurface.ADDRESSABLE) {\n return ResourceOperationActionPresentation.PAGE;\n }\n\n if (\n isLiteralCoreResourceOperation(operation.operationIdentifier)\n && NAVIGABLE_RESOURCE_OPERATIONS.has(operation.operationIdentifier)\n ) {\n return ResourceOperationActionPresentation.PAGE;\n }\n\n if (isGeneratedFileRegenerateOperation(operation)) {\n return ResourceOperationActionPresentation.DIRECT;\n }\n\n // A ZERO-INPUT single-resource UPDATE-like custom action keeps its host, even though it collects\n // nothing and would otherwise be DIRECT by the rule below.\n //\n // Its mutation must run under an explicit RMM-vs-weaker-guarantee contract, and only a host\n // provides one — `useResourceOperationSurface.executeCurrentOperation()` throws\n // `MissingRMMRuntimeError` rather than writing without it. Executing such an action straight from\n // the action bar would take the plain `doOperation` path and lose that guarantee SILENTLY, which\n // is why the click handler also refuses to honour an AUTHORED non-navigating presentation here:\n // this is a correctness constraint, not a styling default.\n if (!operation.requestDto && isSingleResourceUpdateLikeOperation(operation)) {\n return ResourceOperationActionPresentation.PAGE;\n }\n\n if (config?.rowTargetRequestField) {\n return ResourceOperationActionPresentation.DIRECT;\n }\n\n if (\n config?.actionScope === ResourceOperationActionScope.COLLECTION\n && hasEmptyResourceOperationRequestBody(operation.requestDto)\n ) {\n return ResourceOperationActionPresentation.DIRECT;\n }\n\n if (operationCollectsNoCallerInput(operation)) {\n return ResourceOperationActionPresentation.DIRECT;\n }\n\n if (operationCanPresentAsDropdown(operation)) {\n return ResourceOperationActionPresentation.DROPDOWN;\n }\n\n const suppliedKeys = resolveHostSuppliedRequestKeys(operation);\n\n if (requestBodyFitsAnAnchoredPanel(operation.requestDto, suppliedKeys)) {\n return ResourceOperationActionPresentation.POPOVER;\n }\n\n return requestBodyFitsAnOverlay(operation.requestDto, suppliedKeys)\n ? ResourceOperationActionPresentation.MODAL\n : ResourceOperationActionPresentation.PAGE;\n}\n\n/**\n * Does this presentation reach the NAVIGATION layer, or does the action layer own it end to end?\n *\n * `MODAL` and `PAGE` are destinations. `DIRECT`, `POPOVER`, `DROPDOWN` and `INLINE` are not: nothing is pushed,\n * no zone changes, and there is nothing for a back button to pop — routing them through navigation\n * would mint zone entries for chrome that does not live in a zone.\n *\n * `INLINE` is the one worth explaining, because `NavigationTransition.INPLACE` exists and looks like\n * its home. It is not: element-level hosting uses NONE of what navigation provides — no zone, no\n * stack entry, no appearance, no lifecycle modifier — and routing it there is exactly why that\n * transition has never done what its docstring promises (it falls through to a zone REPLACE). The\n * host lives with the elements instead; see `InPlaceOperationContext`.\n */\nexport function actionPresentationNavigates(\n presentation: ResourceOperationActionPresentation,\n): boolean {\n return presentation === ResourceOperationActionPresentation.MODAL\n || presentation === ResourceOperationActionPresentation.PAGE;\n}\n\n/**\n * The navigation transition an action presentation is an alias FOR.\n *\n * `PAGE` maps to `undefined` deliberately, and it is the most important row: a page is not a\n * transition, it is \"let the ordinary chain answer\". Returning `PUSH` here would flatten every\n * app's zone transitions, viewport overrides and relationship defaults into one verb — the axis\n * would stop being an alias and start being an override, which is the failure mode this design\n * exists to avoid.\n *\n * `POPOVER` maps to `OVERLAY` — its DEGRADE target, not its normal path. A popover normally never\n * reaches navigation ({@link actionPresentationNavigates} is false for it), but a host that cannot\n * ANCHOR one — an action collapsed into an overflow menu or nested in a subgroup — has to present\n * the same input somewhere, and the honest substitute for \"a small panel next to the button\" is an\n * overlay. Leaving it `undefined` would send that action to the ordinary chain and produce a full\n * PAGE for the presentation that asked for the least chrome of all.\n *\n * `DIRECT` maps to `undefined` because it collects nothing: there is no input to relocate.\n */\nexport function resolveActionPresentationTransition(\n presentation: ResourceOperationActionPresentation,\n): NavigationTransition | undefined {\n switch (presentation) {\n case ResourceOperationActionPresentation.MODAL:\n case ResourceOperationActionPresentation.POPOVER:\n // A DROPDOWN degrades exactly like the popover it shares a host with: where nothing can anchor\n // the list, the same single field is collected by the overlay form.\n case ResourceOperationActionPresentation.DROPDOWN:\n return NavigationTransition.OVERLAY;\n case ResourceOperationActionPresentation.INLINE:\n // The DEGRADE target, like `POPOVER`'s above. An in-place host only exists inside a collection;\n // the same action rendered on a detail page or in a danger zone has no row to transform, and\n // an overlay is the closest thing to \"collect this without leaving the page\". It is NOT\n // `NavigationTransition.INPLACE` — see `actionPresentationNavigates` for why that would be\n // rebuilding the defect.\n return NavigationTransition.OVERLAY;\n default:\n return undefined;\n }\n}\n\nexport function resolveResourceOperationLayoutKind(\n operation: ResourceOperationSemanticsLike,\n): ResourceOperationLayoutKind {\n const effectiveOperation = resolveEffectiveCoreOperationFromOperation(operation);\n\n if (!effectiveOperation) {\n return 'action';\n }\n\n switch (effectiveOperation) {\n case CoreResourceOperation.CREATE:\n case CoreResourceOperation.CREATE_MANY:\n return 'create';\n case CoreResourceOperation.LIST:\n return 'list';\n case CoreResourceOperation.READ:\n case CoreResourceOperation.DELETE:\n case CoreResourceOperation.DELETE_MANY:\n return 'read';\n case CoreResourceOperation.UPDATE:\n case CoreResourceOperation.UPDATE_MANY:\n return 'update';\n case CoreResourceOperation.SEARCH:\n return 'search';\n default:\n return 'action';\n }\n}\n\nexport function pickPreferredOperationForCoreSemantic<T extends ResourceOperationSemanticsLike>(\n operations: readonly T[],\n coreOperation: CoreResourceOperation,\n options?: {\n requireAddressable?: boolean;\n allowBulk?: boolean;\n /** See {@link getOperationsForCoreSemantic}. */\n requireLiteralIdentifier?: boolean;\n },\n): T | undefined {\n const filtered = getOperationsForCoreSemantic(operations, coreOperation, options);\n\n if (filtered.length === 0) {\n return undefined;\n }\n\n const preferredVariantTypes = [\n ResourceOperationVariantType.API_CALL,\n ];\n\n return [...filtered].sort((left, right) => {\n const leftLiteral = left.operationIdentifier === coreOperation ? 1 : 0;\n const rightLiteral = right.operationIdentifier === coreOperation ? 1 : 0;\n if (leftLiteral !== rightLiteral) {\n return rightLiteral - leftLiteral;\n }\n\n const leftDefault = left.isOperationDefault ? 1 : 0;\n const rightDefault = right.isOperationDefault ? 1 : 0;\n if (leftDefault !== rightDefault) {\n return rightDefault - leftDefault;\n }\n\n const leftNonBulk = left.isBulkOperation === true ? 0 : 1;\n const rightNonBulk = right.isBulkOperation === true ? 0 : 1;\n if (leftNonBulk !== rightNonBulk) {\n return rightNonBulk - leftNonBulk;\n }\n\n const leftPreferredVariant = preferredVariantTypes.includes(left.variantType as ResourceOperationVariantType) ? 1 : 0;\n const rightPreferredVariant = preferredVariantTypes.includes(right.variantType as ResourceOperationVariantType) ? 1 : 0;\n if (leftPreferredVariant !== rightPreferredVariant) {\n return rightPreferredVariant - leftPreferredVariant;\n }\n\n const leftAddressable = left.operationFrontendConfig?.surface === ResourceOperationFrontendSurface.ADDRESSABLE ? 1 : 0;\n const rightAddressable = right.operationFrontendConfig?.surface === ResourceOperationFrontendSurface.ADDRESSABLE ? 1 : 0;\n if (leftAddressable !== rightAddressable) {\n return rightAddressable - leftAddressable;\n }\n\n return String(left.variantKey ?? '').localeCompare(String(right.variantKey ?? ''));\n })[0];\n}\n\nexport function getOperationsForCoreSemantic<T extends ResourceOperationSemanticsLike>(\n operations: readonly T[],\n coreOperation: CoreResourceOperation,\n options?: {\n requireAddressable?: boolean;\n allowBulk?: boolean;\n /**\n * Accept ONLY the literal core verb, never an operation that borrows it through\n * `resourceOperationLike`.\n *\n * Semantic matching is what lets a custom verb stand in for a core one, and that is right almost\n * everywhere. It is wrong wherever the CALLER, not the operation, supplies the words: the list's\n * create call-to-action labels itself `tResourceOperation(resourceType, CREATE, 'title')` — the\n * LITERAL create's title — so a borrowed create is mislabelled by construction rather than by\n * accident. On `AUDIT_LOGS`, whose literal CREATE is `REPOSITORY_ONLY` and therefore absent from\n * the frontend registry, that produced a primary \"Create Audit Log\" button wired to\n * `exportAuditLogs`.\n */\n requireLiteralIdentifier?: boolean;\n },\n): T[] {\n return operations.filter((operation) => {\n if (!matchesResourceOperationSemantic(operation, coreOperation)) {\n return false;\n }\n\n if (options?.requireLiteralIdentifier && operation.operationIdentifier !== coreOperation) {\n return false;\n }\n\n if (options?.requireAddressable && operation.operationFrontendConfig?.surface !== ResourceOperationFrontendSurface.ADDRESSABLE) {\n return false;\n }\n\n if (options?.allowBulk !== true && operation.isBulkOperation) {\n return false;\n }\n\n return true;\n });\n}\n"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether a read-through resource's form asks for an organization unit that this deployment ignores (#2939).
|
|
3
|
+
*
|
|
4
|
+
* The shared resource factory injects `organizationUnitId` into EVERY read-through (`HTTP_API`) resource and admits it
|
|
5
|
+
* on a create, because a create on a PARTITIONED system of record must name the unit whose partition the new row goes
|
|
6
|
+
* to. Whether the bound system is partitioned is a property of the deployment's system-of-record instance, which the
|
|
7
|
+
* shared configuration cannot know: the backend decides it at boot and narrows exactly those resources on this field
|
|
8
|
+
* (`derivePartitionedResourceNarrowing`). The session's access profile serves that decision as
|
|
9
|
+
* `organizationUnitNarrowing`. A read-through resource it does not narrow on this field is not partitioned here, the
|
|
10
|
+
* backend ignores the unit on its create, and a form asking for it would show a control that does nothing.
|
|
11
|
+
*
|
|
12
|
+
* Answers `false` — keep the field — while the narrowing is unknown (no session yet, or its access profile failed to
|
|
13
|
+
* load): hiding it then would make a create on a partitioned system fail with `WRITE_PARTITION_UNIT_REQUIRED`, while
|
|
14
|
+
* showing it on an unpartitioned one costs only an ignored optional field.
|
|
15
|
+
*/
|
|
16
|
+
export declare function isReadThroughOrganizationUnitFieldInert(input: {
|
|
17
|
+
readonly resourceType: string;
|
|
18
|
+
readonly resourceConfiguration: {
|
|
19
|
+
readonly persistenceAdapter?: unknown;
|
|
20
|
+
} | undefined;
|
|
21
|
+
readonly formFieldShape: Readonly<Record<string, unknown>> | undefined;
|
|
22
|
+
readonly organizationUnitNarrowing: Readonly<Record<string, {
|
|
23
|
+
readonly unitFieldName: string;
|
|
24
|
+
} | undefined>> | null | undefined;
|
|
25
|
+
}): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* The organization units a read-through resource's CREATE form may offer in `organizationUnitId` (#2943): the units
|
|
28
|
+
* the session's access profile says this caller may name (`readThroughCreateOrganizationUnits`, the backend's create
|
|
29
|
+
* placement asked in advance), or `undefined` when the form should keep offering every unit as a reference — the field
|
|
30
|
+
* is not on this form, the resource is not read-through, or the answer was not computed.
|
|
31
|
+
*
|
|
32
|
+
* An EMPTY answer is kept: the caller can create into no unit, so the form offers none rather than units every create
|
|
33
|
+
* would be refused in, and the create's refusal says why (`UNIT_HAS_NO_PARTITION` / `UNIT_HAS_SEVERAL_PARTITIONS`).
|
|
34
|
+
* The answer is the session's: a unit assigned a partition, or granted to the caller, after the access profile loaded
|
|
35
|
+
* is offered only once it reloads.
|
|
36
|
+
*/
|
|
37
|
+
export declare function readThroughCreateOrganizationUnitCandidates(input: {
|
|
38
|
+
readonly resourceType: string;
|
|
39
|
+
readonly resourceConfiguration: {
|
|
40
|
+
readonly persistenceAdapter?: unknown;
|
|
41
|
+
} | undefined;
|
|
42
|
+
readonly formFieldShape: Readonly<Record<string, unknown>> | undefined;
|
|
43
|
+
readonly readThroughCreateOrganizationUnits: Readonly<Record<string, readonly string[] | undefined>> | null | undefined;
|
|
44
|
+
}): readonly string[] | undefined;
|
|
45
|
+
//# sourceMappingURL=read-through-organization-unit.frontend.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-through-organization-unit.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../../src/core/resources/read-through-organization-unit.frontend.utils.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uCAAuC,CAAC,KAAK,EAAE;IAC7D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,qBAAqB,EAAE;QAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IACtF,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IACvE,QAAQ,CAAC,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;CACjI,GAAG,OAAO,CAMV;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2CAA2C,CAAC,KAAK,EAAE;IACjE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,qBAAqB,EAAE;QAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IACtF,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IACvE,QAAQ,CAAC,kCAAkC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;CACzH,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAKhC"}
|