@wildo-ai/saas-frontend-lib 1.1.9 → 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/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/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/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/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/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/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/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_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_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/PublicLayout_LegalNotice.d.ts +18 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.d.ts.map +1 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.js +8 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.js.map +1 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.labels.d.ts +3 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.labels.d.ts.map +1 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.labels.js +38 -0
- package/dist/esm/components/app/PublicLayout_LegalNotice.labels.js.map +1 -0
- 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_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.js +2 -2
- package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
- package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.js +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_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_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.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.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/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/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/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/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/PasswordStrengthIndicator.js +1 -1
- package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.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/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/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/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/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/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-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/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.js +2 -2
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js.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/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/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/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/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/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.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.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-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/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/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/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/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/generated-relationship-field.hooks.d.ts +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/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/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-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/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/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/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/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.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.js +2 -2
- package/dist/esm/components/form/fields/form-field-bigdecimal.js.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-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-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-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-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.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.js +2 -2
- package/dist/esm/components/form/fields/form-field-number.js.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-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-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-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.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-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-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-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/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/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-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/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/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/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-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/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_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/SidebarResourceBrowser.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js +11 -28
- 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/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/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/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/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/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/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/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 -13
- 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/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_CollectionActions.d.ts +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_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_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_FilterChips.d.ts +8 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_FilterChips.js +83 -11
- package/dist/esm/components/resources/ResourceLayout_FilterChips.js.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_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 +68 -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_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.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_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_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_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_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_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/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/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/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/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/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/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/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/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/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/SummaryLayout.d.ts +3 -3
- 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/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.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/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/content-section.d.ts +2 -2
- package/dist/esm/components/sections/content-section.js.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/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/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.js +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js.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_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_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/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/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/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/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.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.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/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/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/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/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/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/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/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/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/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.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/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/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/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-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/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/config/app-configuration-frontend.schemas.d.ts +36 -0
- 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 +12 -8
- 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/config-merge-utilities.d.ts +31 -3
- package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
- package/dist/esm/core/config/config-merge-utilities.js +61 -7
- 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 +588 -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/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/launcher-items.frontend.schemas.d.ts +77 -27
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.js +18 -13
- package/dist/esm/core/config/launcher-items.frontend.schemas.js.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/settings-hub-gating.frontend.utils.d.ts +19 -7
- 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 +45 -10
- 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 +94 -10
- 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-launcher-content.d.ts +16 -2
- package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.js +64 -4
- 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/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/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/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.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/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/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/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/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/useExecution.js +1 -1
- package/dist/esm/core/execution/useExecution.js.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/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/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-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-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/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/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/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/renderers/GuidanceChecklist.labels.js +2 -2
- package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.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/merge-hotkey-emit-shortcuts.d.ts +2 -2
- 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/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/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.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/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/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 +102 -2
- package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js +194 -9
- package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.d.ts +35 -5
- package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-runtime-availability.js +147 -18
- 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-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.js +3 -3
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js.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/sidebar-resource-browser-operation.d.ts +8 -0
- package/dist/esm/core/navigation/sidebar-resource-browser-operation.d.ts.map +1 -0
- package/dist/esm/core/navigation/sidebar-resource-browser-operation.js +27 -0
- package/dist/esm/core/navigation/sidebar-resource-browser-operation.js.map +1 -0
- 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 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/useLauncherResolutionContext.js +17 -2
- 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/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/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-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/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/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/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/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/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 +1 -1
- package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/collection-export-url.frontend.utils.js +34 -16
- 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 +54 -11
- 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 +131 -63
- package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js.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/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/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/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/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 +175 -65
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.js +245 -75
- 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/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/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/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/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/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 +23 -4
- 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/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 +5 -2
- package/dist/esm/core/runtime/AppRouter.js.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/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/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/start-application.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.js +3 -1
- package/dist/esm/core/runtime/start-application.frontend.service.js.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/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.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/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/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/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/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/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/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 -0
- 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/index.d.ts +34 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +45 -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/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
|
@@ -11,11 +11,16 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
11
11
|
* - Handles success notifications based on operation configuration
|
|
12
12
|
* - Determines wizard mode from frontEndApplication configuration
|
|
13
13
|
*/
|
|
14
|
-
import
|
|
14
|
+
import isEqual from 'lodash/isEqual.js';
|
|
15
|
+
import React, { useContext, useEffect, useLayoutEffect, useMemo, useState, useCallback, useRef } from 'react';
|
|
16
|
+
import { NotificationContext } from '../../../core/events/NotificationContext.js';
|
|
15
17
|
import { useFormContext } from 'react-hook-form';
|
|
16
18
|
import { z } from 'zod';
|
|
17
|
-
import { CoreResourceOperation, CoreUserNotificationChannel, CoreUserNotificationTarget, RelationshipNature, ResourceRelationshipBulkAction, ResourcesConfig_OperationPathUtils, ResourceOperationVariantType, ErrorCustomMessageReference, ErrorType, UserNotificationLevel, ResourcesConfigOperationsUrlsBuilderUtils, Resources_SharedUtils, ResourceOperationRiskLevel, MAIN_API_BASE_PATH, BULK_OPERATION_HOST_SUPPLIED_FIELDS, } from '@wildo-ai/saas-models';
|
|
19
|
+
import { CoreResourceOperation, CoreUserNotificationChannel, CoreUserNotificationTarget, RelationshipNature, ResourceRelationshipBulkAction, ResourcesConfig_OperationPathUtils, ResourceOperationVariantType, ErrorCustomMessageReference, ErrorType, UserNotificationLevel, ResourcesConfigOperationsUrlsBuilderUtils, Resources_SharedUtils, ResourceOperationRiskLevel, isIrreversibleOperation, MAIN_API_BASE_PATH, BULK_OPERATION_HOST_SUPPLIED_FIELDS, resourceInheritanceVariantSchemas, readOperationApprovalPending, READ_THROUGH_ORGANIZATION_UNIT_FIELD_NAME, CoreResourceType, } from '@wildo-ai/saas-models';
|
|
18
20
|
import { OperationsConfirmCritical } from '../../../components/feedback/operations-confirm-critical.js';
|
|
21
|
+
import { isReadThroughOrganizationUnitFieldInert, readThroughCreateOrganizationUnitCandidates } from '../../../core/resources/read-through-organization-unit.frontend.utils.js';
|
|
22
|
+
import { useReferenceRecordLabels } from '../../../components/form/automated/useReferenceRecordLabels.js';
|
|
23
|
+
import { UserOrgsContext } from '../../../core/security/UserOrgsContext.js';
|
|
19
24
|
import { Button, ButtonVariants_Variant } from '../../../components/actions/button.js';
|
|
20
25
|
import { AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogCancel, AlertDialogAction, } from '../../../components/overlays/containers/alert-dialog.js';
|
|
21
26
|
import { prepareFormSchema, AutosaveTrigger } from '@wildo-ai/zod-decorators';
|
|
@@ -23,7 +28,10 @@ import { FrontendComponentType, } from '@wildo-ai/presets-components-models';
|
|
|
23
28
|
import { AutomatedForm } from './AutomatedForm.js';
|
|
24
29
|
import { useOptionalFormTemplateContext } from './FormTemplateContext.js';
|
|
25
30
|
import { ResourceFormActionsProvider, HostFormActionsFooter, } from './ResourceFormActionsContext.js';
|
|
26
|
-
import {
|
|
31
|
+
import { FORM_LEVEL_ERROR_PATH } from '../form-context.js';
|
|
32
|
+
import { bulkClearsWithin, bulkUpdatePatch, bulkWriteUnits, carryStoredSiblingsIntoPartialWrites, formOffersSectionSave, pickSubmissionDataPaths, resolveBulkFieldClear, sanitizeAutomatedFormSubmissionData, shouldOmitClearedFieldsForOperation, withPathValue, BulkFieldClearKind } from './automated-form-submit.utils.js';
|
|
33
|
+
import { BulkFieldClearContext } from './bulk-field-clear-context.js';
|
|
34
|
+
import { carryStoredDiscriminators, resolveDiscriminatorFieldNames } from '../../../core/resources/resource-discriminators.frontend.utils.js';
|
|
27
35
|
import { resolveCreateFormInitialValues } from './create-form-default-values.utils.js';
|
|
28
36
|
import { AutomatedLayoutFrontendUtils } from '../../../core/automated-layout/automated-layout.frontend.utils.js';
|
|
29
37
|
import { extractSchemaFieldList, generateDefaultFormTemplate } from '../../../core/automated-layout/default-layout-generator.frontend.utils.js';
|
|
@@ -36,23 +44,26 @@ import { useOptionalAutosave } from '../../../components/form/automated/Autosave
|
|
|
36
44
|
import { mutationErrorForReport } from '../../../core/resources/rmm/mutation-error-report.utils.js';
|
|
37
45
|
import { extractServerValidationErrors } from '../../../components/form/validation-errors/form-error-extraction.utils.js';
|
|
38
46
|
import { collectErroredFieldPaths, scrollAndFocusFirstErroredField } from '../../../components/form/validation-errors/scroll-to-first-error.utils.js';
|
|
47
|
+
import { zodIssuesToFieldErrors } from '../../../components/form/validation-errors/zod-issue-resolver.js';
|
|
48
|
+
import { UnplacedRequestFieldsContext } from './unplaced-request-fields.context.js';
|
|
39
49
|
import { extractErrorInfo } from '../../../core/errors/errors.frontend.schemas.js';
|
|
40
50
|
import { useUserFacingErrorMessage } from '../../../core/errors/useUserFacingErrorMessage.js';
|
|
41
51
|
import { useServerErrorInjection } from '../../../components/form/validation-errors/useServerErrorInjection.js';
|
|
42
52
|
import { LoggerFrontendService } from '../../../core/monitoring/logger.frontend.service.js';
|
|
43
53
|
import { useResourceRegistry } from '../../../core/resources/useResourceRegistry.js';
|
|
44
|
-
import { isLiteralCoreResourceOperation, isSingleResourceUpdateLikeOperation, isUpdateLikeCoreOperation, mergeBulkSelectionIntoRequestData, pickPreferredOperationForCoreSemantic, resolveEffectiveCoreOperation, toOperationResultSummary, } from '../../../core/resources/operation-semantics.frontend.utils.js';
|
|
54
|
+
import { isLiteralCoreResourceOperation, isRiskyResourceOperation, isSingleResourceUpdateLikeOperation, isUpdateLikeCoreOperation, mergeBulkSelectionIntoRequestData, pickPreferredOperationForCoreSemantic, readBulkOperationSelectionCount, resolveEffectiveCoreOperation, toOperationResultSummary, } from '../../../core/resources/operation-semantics.frontend.utils.js';
|
|
45
55
|
import { pickPreferredOperationForCoreSemanticAddressability } from '../../../core/resources/resource-addressability.frontend.utils.js';
|
|
46
56
|
import { useOperationEnabled } from '../../../core/resources/hooks/useOperationEnabled.js';
|
|
47
57
|
import { frontendResourceUtils, FrontendResourceUtils } from '../../../core/resources/frontend-resource.utils.js';
|
|
48
58
|
import { resolveRelationshipWriteSurface, } from '../../../core/resources/relationship-surface-runtime.frontend.utils.js';
|
|
49
59
|
import { useEventBus } from '../../../core/events/useEventBus.js';
|
|
60
|
+
import { useResourceOperationOutcomeEmitter } from '../../../core/resources/useResourceOperationOutcomeEmitter.js';
|
|
50
61
|
import { useI18n } from '../../../core/i18n/useI18n.js';
|
|
51
62
|
import { resolveOperationDisplayTitle } from '../../../core/i18n/operation-title-resolution.utils.js';
|
|
52
63
|
import { LoadingGate } from '../../../core/loading/LoadingGate.js';
|
|
53
64
|
import { ErrorBuilderFrontend } from '../../../core/errors/errors-builder.frontend.services.js';
|
|
54
65
|
import { FrontendEvents } from '../../../core/events/events.frontend.schemas.js';
|
|
55
|
-
import { isForeignKey, isUnique,
|
|
66
|
+
import { isForeignKey, isUnique, lastActionRecordFieldNames, withOptionalNestedChildren } from '@wildo-ai/zod-decorators';
|
|
56
67
|
import { envLoader } from '../../../core/runtime/env-variable-loader.frontend.service.js';
|
|
57
68
|
import { NavigationUtils } from '../../../core/navigation/navigation.utils.js';
|
|
58
69
|
import { buildValidateFieldUrl } from '../../../components/form/validation-errors/validate-field-url.frontend.js';
|
|
@@ -60,7 +71,7 @@ import { MutationPriority, MutationType, MutationSourceType, MutationErrorType,
|
|
|
60
71
|
import { useResourceRMM } from '../../../core/resources/rmm/useResourceRMM.js';
|
|
61
72
|
import { useExecutionDirtyBridge } from '../../../core/execution/useExecutionDirtyBridge.js';
|
|
62
73
|
import { performCanonicalRMMRead, resolveCanonicalRMMReadOperation, resolveCanonicalRMMReadOperationPathKey, } from '../../../core/resources/rmm/canonical-read.frontend.utils.js';
|
|
63
|
-
import { allowsDirectOperationFallback, MissingRMMRuntimeError,
|
|
74
|
+
import { allowsDirectOperationFallback, MissingRMMRuntimeError, resolveUpdateLikeMutationFallbackMode, } from '../../../core/resources/rmm/update-like-mutation-fallback.frontend.js';
|
|
64
75
|
import { RemoteChangeNotification } from '../../../components/form/feedback/RemoteChangeNotification.js';
|
|
65
76
|
import { emitQuickCreateCompleted, resolveQuickCreateCreatedResourceId, } from '../../../core/resources/relationship-quick-create.frontend.utils.js';
|
|
66
77
|
import { normalizeContextResourceIdentifiersForOutcome, normalizeContextResourceIdentifiersForTransport, } from '../../../core/resources/context-resource-identifiers.frontend.utils.js';
|
|
@@ -83,6 +94,43 @@ function readPathValue(value, path) {
|
|
|
83
94
|
return currentValue[segment];
|
|
84
95
|
}, value);
|
|
85
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* A section's values keyed by FIELD PATH (`address.city`), the shape the RMM queues a partial write in: it builds the
|
|
99
|
+
* request body from these when the mutation is sent, and reports exactly these paths as saved. A field the payload
|
|
100
|
+
* boundary removed (hidden, owned by the context) has no value here and is not sent.
|
|
101
|
+
*/
|
|
102
|
+
function sectionFieldsByPath(data, fieldNames) {
|
|
103
|
+
const normalize = (path) => path.replace(/\[(\d+)\]/g, '.$1');
|
|
104
|
+
const normalizedNames = fieldNames.map(normalize);
|
|
105
|
+
const fields = {};
|
|
106
|
+
for (const name of fieldNames) {
|
|
107
|
+
// A path under another registered path (an array's item leaf, when the array itself is registered) is already
|
|
108
|
+
// carried whole by its ancestor; writing it again would be a second, redundant write of the same value.
|
|
109
|
+
const normalized = normalize(name);
|
|
110
|
+
if (normalizedNames.some((other) => other !== normalized && normalized.startsWith(`${other}.`)))
|
|
111
|
+
continue;
|
|
112
|
+
const value = readPathValue(data, name);
|
|
113
|
+
if (value !== undefined)
|
|
114
|
+
fields[name] = value;
|
|
115
|
+
}
|
|
116
|
+
return fields;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Whether a field still holds the value a save sent. An emptied field may have been sent as `null` (the cleared
|
|
120
|
+
* sentinel) while the form holds `''` or nothing, so the three empties are one value here.
|
|
121
|
+
*/
|
|
122
|
+
function isSameFormValue(current, sent) {
|
|
123
|
+
const isEmpty = (value) => value === undefined || value === null || value === '';
|
|
124
|
+
if (isEmpty(current) || isEmpty(sent))
|
|
125
|
+
return isEmpty(current) && isEmpty(sent);
|
|
126
|
+
return isEqual(current, sent);
|
|
127
|
+
}
|
|
128
|
+
/** Whether a failed mutation's validation error names fields, so it can be shown at them rather than in a toast. */
|
|
129
|
+
function mutationErrorNamesFields(error) {
|
|
130
|
+
if (!error.validationErrors)
|
|
131
|
+
return false;
|
|
132
|
+
return extractServerValidationErrors({ httpStatus: error.status ?? 400, validationErrors: error.validationErrors }) !== null;
|
|
133
|
+
}
|
|
86
134
|
// =============================================================================
|
|
87
135
|
// VALIDATION HELPERS
|
|
88
136
|
// =============================================================================
|
|
@@ -199,6 +247,9 @@ function resolveAuthoredEditTemplateForOperation(template, operationIdentifier,
|
|
|
199
247
|
* a render-prop function, when it is not mounted as the form opens. Everything a `FormField`,
|
|
200
248
|
* `FormFieldArray` or `ArrayField` names in the template's JSX under its `FormLayout` or a `Section` is
|
|
201
249
|
* seen, mounted or not (`collectPlacedFieldPaths`). Placement is per top-level field.
|
|
250
|
+
*
|
|
251
|
+
* A layout inside the template may claim the fields and show them itself (`UnplacedRequestFieldsContext`): a wizard
|
|
252
|
+
* renders them in its last step, where appending them after it put them below its navigation, outside every step.
|
|
202
253
|
*/
|
|
203
254
|
function AuthoredTemplateWithUnplacedRequestFields({ Template, requestFieldNames, }) {
|
|
204
255
|
const registry = useTemplatePlacedFieldsRegistry();
|
|
@@ -214,7 +265,19 @@ function AuthoredTemplateWithUnplacedRequestFields({ Template, requestFieldNames
|
|
|
214
265
|
setUnplacedFieldNames(requestFieldNames.filter((name) => !placed.has(name) && !leftOut.has(name)));
|
|
215
266
|
// Read ONCE, deliberately: see the component's JSDoc.
|
|
216
267
|
}, []);
|
|
217
|
-
|
|
268
|
+
const [claims, setClaims] = useState(0);
|
|
269
|
+
const claim = useCallback(() => {
|
|
270
|
+
setClaims((count) => count + 1);
|
|
271
|
+
return () => setClaims((count) => count - 1);
|
|
272
|
+
}, []);
|
|
273
|
+
const hasUnplaced = !!unplacedFieldNames && unplacedFieldNames.length > 0;
|
|
274
|
+
const unplacedContext = useMemo(() => ({
|
|
275
|
+
content: hasUnplaced
|
|
276
|
+
? (_jsx("div", { className: "flex flex-col gap-field", "data-guidance-unplaced-request-fields": "", children: unplacedFieldNames.map((name) => _jsx(FormField, { name: name }, name)) }))
|
|
277
|
+
: null,
|
|
278
|
+
claim,
|
|
279
|
+
}), [claim, hasUnplaced, unplacedFieldNames]);
|
|
280
|
+
return (_jsxs(_Fragment, { children: [_jsx(TemplatePlacedFieldsContext.Provider, { value: registry, children: _jsx(UnplacedRequestFieldsContext.Provider, { value: unplacedContext, children: _jsx(Template, {}) }) }), hasUnplaced && claims === 0 && (_jsx("div", {
|
|
218
281
|
// A section's seam above it (the template's own layout stacks sections at `space-y-section`, and
|
|
219
282
|
// this block sits outside it), capped at the reading measure like a template's default FormLayout.
|
|
220
283
|
className: "mr-auto mt-section w-full space-y-field", style: { maxInlineSize: responsiveMaxWidthToCssValue('measure') }, "data-guidance-unplaced-request-fields": "", children: unplacedFieldNames.map((name) => _jsx(FormField, { name: name }, name)) }))] }));
|
|
@@ -251,7 +314,24 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
251
314
|
const errorBuilder = useMemo(() => new ErrorBuilderFrontend(), []);
|
|
252
315
|
// Extract from resource context
|
|
253
316
|
const { resourceType, operation, contextResourceIdentifiers } = resourceContext;
|
|
254
|
-
|
|
317
|
+
// A section's own Save announces its write here, since it calls no host `onSuccess` (which would navigate or close).
|
|
318
|
+
const announceOutcome = useResourceOperationOutcomeEmitter(resourceContext, operation);
|
|
319
|
+
/*
|
|
320
|
+
* #2288: a write held for another person's approval changed nothing. Told as WAITING, never as saved: no success
|
|
321
|
+
* notice, no field marked saved, no outcome announced (the emitter refuses a held answer too). Read from the context so
|
|
322
|
+
* the form never hard-requires a NotificationProvider. Answers whether the write was held, so each save path stops.
|
|
323
|
+
*/
|
|
324
|
+
const notification = useContext(NotificationContext);
|
|
325
|
+
const notificationRef = useRef(notification);
|
|
326
|
+
notificationRef.current = notification;
|
|
327
|
+
const tellHeldForApproval = useCallback((result) => {
|
|
328
|
+
if (!readOperationApprovalPending(result))
|
|
329
|
+
return false;
|
|
330
|
+
notificationRef.current?.notifyInfo(tComponent(FrontendComponentType.RESOURCES_LAYOUTS_CREATE, 'operationSentForApproval'));
|
|
331
|
+
return true;
|
|
332
|
+
}, [tComponent]);
|
|
333
|
+
const updateLikeMutationFallbackMode = callerUpdateLikeMutationFallbackMode
|
|
334
|
+
?? resolveUpdateLikeMutationFallbackMode(operation, registry.resourceConfigurations[resourceType]?.operations);
|
|
255
335
|
const operationIdentifier = String(operation.operationIdentifier);
|
|
256
336
|
const effectiveCoreOperation = resolveEffectiveCoreOperation(operationIdentifier, operation.resourceOperationLike ? String(operation.resourceOperationLike) : undefined);
|
|
257
337
|
// Derive operationType and operationLike for decorator-based field filtering
|
|
@@ -295,8 +375,8 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
295
375
|
const { initAutoClearing, injectServerErrors, clearServerErrors } = useServerErrorInjection(formMethodsRef);
|
|
296
376
|
// State for pending publish data (waiting for confirmation dialog)
|
|
297
377
|
const [pendingPublish, setPendingPublish] = useState(null);
|
|
298
|
-
// Holds the validated form data of a CRITICAL submit awaiting typed
|
|
299
|
-
const [
|
|
378
|
+
// Holds the validated form data of a HIGH/CRITICAL submit awaiting its confirmation (typed, for CRITICAL).
|
|
379
|
+
const [pendingRiskySubmit, setPendingRiskySubmit] = useState(null);
|
|
300
380
|
// Track current draft status
|
|
301
381
|
const [isDraft, setIsDraft] = useState(draftConfig?.isDraft ?? false);
|
|
302
382
|
// Conflict banner (persists until user acknowledges)
|
|
@@ -334,16 +414,60 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
334
414
|
// (Match / Filters / Search) whose empty value was submitted as the selection (#2035 run).
|
|
335
415
|
const hostSuppliedKeys = BULK_OPERATION_HOST_SUPPLIED_FIELDS
|
|
336
416
|
.filter((field) => field in schema.shape);
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
417
|
+
const withoutSelectors = hostSuppliedKeys.length > 0
|
|
418
|
+
? schema.omit(Object.fromEntries(hostSuppliedKeys.map((field) => [field, true])))
|
|
419
|
+
: schema;
|
|
420
|
+
/*
|
|
421
|
+
* A BULK UPDATE writes a nested object child by child, only the children the person changed (#2581), so a child
|
|
422
|
+
* its object requires is not required of the form: requiring it made the person fill every required sibling to
|
|
423
|
+
* change one, and those were then written to every selected row. The server validates each child written, and
|
|
424
|
+
* builds a whole object only for a row that has none.
|
|
425
|
+
*/
|
|
426
|
+
return isUpdateLikeCoreOperation(effectiveCoreOperation) ? withOptionalNestedChildren(withoutSelectors) : withoutSelectors;
|
|
340
427
|
}
|
|
341
428
|
return schema;
|
|
342
|
-
}, [operation, operationIdentifier, resourceType]);
|
|
429
|
+
}, [effectiveCoreOperation, operation, operationIdentifier, resourceType]);
|
|
343
430
|
// Get resource configuration for frontendConfiguration
|
|
344
431
|
const resourceConfig = useMemo(() => {
|
|
345
432
|
return registry.resourceConfigurations[resourceType];
|
|
346
433
|
}, [registry, resourceType]);
|
|
434
|
+
// The fields that select a polymorphic record's variant, read from the RESOURCE schema as inline edit does, so a
|
|
435
|
+
// request DTO that omits them still gets them in a partial write (`carryStoredDiscriminators`).
|
|
436
|
+
const discriminatorFieldNames = useMemo(() => resolveDiscriminatorFieldNames(resourceConfig?.mainSchema), [resourceConfig]);
|
|
437
|
+
/*
|
|
438
|
+
* What an ACTION's form starts from when it acts on an existing record (#2192).
|
|
439
|
+
*
|
|
440
|
+
* An update-like form starts from the record it acts on, and that is right: "Set disclosure" opens on the current
|
|
441
|
+
* disclosure, "Set agents" on the agents admitted now, so a person who submits without reading changes nothing they
|
|
442
|
+
* did not touch. It is wrong for a row field that holds what the LAST action said about itself
|
|
443
|
+
* (`.isLastActionRecord()` — the reason given for a decision). A verb whose request names that field opened with the
|
|
444
|
+
* previous decision's words already typed in: "Suspend" prefilled with the reason an acceptance was given, which a
|
|
445
|
+
* person who submits without reading records as the reason for the suspension. So those fields are left out of
|
|
446
|
+
* EVERY seed taken from a record — the mount, the override resets and the version-conflict reset — unless the host
|
|
447
|
+
* supplied them itself (`defaultValuesOverride` is the host's explicit choice).
|
|
448
|
+
*
|
|
449
|
+
* Only custom verbs are filtered. A READ shows the record as it is, and the literal `update` edits the row's own
|
|
450
|
+
* fields, so a marked field it exposes is edited from its current value. The loaded record (`defaultValues`) still
|
|
451
|
+
* feeds the availability guard and the stored-state comparison, which ask about the record, not about what the
|
|
452
|
+
* person is about to type.
|
|
453
|
+
*/
|
|
454
|
+
const lastActionRecordFields = useMemo(() => {
|
|
455
|
+
if (effectiveCoreOperation === CoreResourceOperation.READ || operationIdentifier === CoreResourceOperation.UPDATE) {
|
|
456
|
+
return new Set();
|
|
457
|
+
}
|
|
458
|
+
// Every schema a row can have (#2455): a variant's last-action field is not seeded from the record either.
|
|
459
|
+
return new Set([resourceConfig?.mainSchema, ...resourceInheritanceVariantSchemas(resourceConfig?.inheritenceSchemaDefinition)]
|
|
460
|
+
.flatMap((rowSchema) => [...lastActionRecordFieldNames(rowSchema)]));
|
|
461
|
+
}, [effectiveCoreOperation, operationIdentifier, resourceConfig]);
|
|
462
|
+
const seedFromRecord = useCallback((record, applyHostOverride = true) => {
|
|
463
|
+
const override = (defaultValuesOverride ?? {});
|
|
464
|
+
const seed = applyHostOverride ? { ...record, ...override } : { ...record };
|
|
465
|
+
for (const fieldName of lastActionRecordFields) {
|
|
466
|
+
if (!Object.prototype.hasOwnProperty.call(override, fieldName))
|
|
467
|
+
delete seed[fieldName];
|
|
468
|
+
}
|
|
469
|
+
return seed;
|
|
470
|
+
}, [defaultValuesOverride, lastActionRecordFields]);
|
|
347
471
|
// Get frontEndApplication config for current app type
|
|
348
472
|
const feAppConfig = useMemo(() => {
|
|
349
473
|
return operation.operationFrontendConfig;
|
|
@@ -387,7 +511,11 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
387
511
|
}, [formSchema]);
|
|
388
512
|
// Resolve explicit edit template from layout config — for the operations it can serve
|
|
389
513
|
// (`resolveAuthoredEditTemplateForOperation`).
|
|
390
|
-
const explicitEditTemplate = useMemo(() => resolveAuthoredEditTemplateForOperation(resourceConfig?.frontendConfiguration?.layout?.edit, operation.operationIdentifier, formFieldShape,
|
|
514
|
+
const explicitEditTemplate = useMemo(() => resolveAuthoredEditTemplateForOperation(resourceConfig?.frontendConfiguration?.layout?.edit, operation.operationIdentifier, formFieldShape,
|
|
515
|
+
// Every field some row can hold (#2455), so a custom operation writing a variant field keeps the template.
|
|
516
|
+
resourceConfig?.inheritenceSchemaDefinition
|
|
517
|
+
? z.object(FrontendResourceUtils.resolveFieldShapeOfAnyVariant(resourceConfig) ?? {})
|
|
518
|
+
: resourceConfig?.mainSchema), [resourceConfig, operation.operationIdentifier, formFieldShape]);
|
|
391
519
|
// Extract draft config from resource-level configuration
|
|
392
520
|
const resourceDraftConfig = resourceConfig?.frontendConfiguration?.draftableConfig;
|
|
393
521
|
// Merge resource-level draft config with prop-provided config (props take precedence)
|
|
@@ -472,6 +600,28 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
472
600
|
return writeSurfaces;
|
|
473
601
|
}, [effectiveFormOperationType, formFieldShape, registry, resourceType]);
|
|
474
602
|
const resourceOperations = resourceConfig?.operations ?? [];
|
|
603
|
+
// The backend's organization-unit narrowing, as the session's access profile serves it (#2939). Read tolerantly: a form
|
|
604
|
+
// rendered outside a session provider has none, and keeps every field.
|
|
605
|
+
const accessProfile = useContext(UserOrgsContext)?.permissions?.accessProfile;
|
|
606
|
+
const organizationUnitNarrowing = accessProfile?.organizationUnitNarrowing;
|
|
607
|
+
// #2943: on a create, the organization units this caller may name, as the backend's placement answered in advance —
|
|
608
|
+
// offered as a choice of those units instead of a picker over every unit. `undefined` keeps the picker.
|
|
609
|
+
const createOrganizationUnitCandidates = useMemo(() => (effectiveCoreOperation === CoreResourceOperation.CREATE
|
|
610
|
+
? readThroughCreateOrganizationUnitCandidates({
|
|
611
|
+
resourceType,
|
|
612
|
+
resourceConfiguration: resourceConfig,
|
|
613
|
+
formFieldShape,
|
|
614
|
+
readThroughCreateOrganizationUnits: accessProfile?.readThroughCreateOrganizationUnits,
|
|
615
|
+
})
|
|
616
|
+
: undefined), [accessProfile?.readThroughCreateOrganizationUnits, effectiveCoreOperation, formFieldShape, resourceConfig, resourceType]);
|
|
617
|
+
const createOrganizationUnitLabels = useReferenceRecordLabels({
|
|
618
|
+
resourceType: CoreResourceType.ORGANIZATION_UNITS,
|
|
619
|
+
ids: createOrganizationUnitCandidates,
|
|
620
|
+
hostContextualParameters: contextualParameters,
|
|
621
|
+
});
|
|
622
|
+
const allowedValuesByField = useMemo(() => (createOrganizationUnitCandidates
|
|
623
|
+
? { [READ_THROUGH_ORGANIZATION_UNIT_FIELD_NAME]: { values: createOrganizationUnitCandidates, labels: createOrganizationUnitLabels } }
|
|
624
|
+
: undefined), [createOrganizationUnitCandidates, createOrganizationUnitLabels]);
|
|
475
625
|
// Resource-aware hidden-field derivation stays here on purpose.
|
|
476
626
|
// `AutomatedForm` only consumes these names as opaque infrastructure input.
|
|
477
627
|
const hiddenFieldNames = useMemo(() => {
|
|
@@ -515,12 +665,18 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
515
665
|
}
|
|
516
666
|
hiddenNames.push(relationshipField);
|
|
517
667
|
}
|
|
668
|
+
// A read-through resource's organization unit, where this deployment's system of record is not partitioned (#2939).
|
|
669
|
+
if (isReadThroughOrganizationUnitFieldInert({ resourceType, resourceConfiguration: resourceConfig, formFieldShape, organizationUnitNarrowing })) {
|
|
670
|
+
hiddenNames.push(READ_THROUGH_ORGANIZATION_UNIT_FIELD_NAME);
|
|
671
|
+
}
|
|
518
672
|
return hiddenNames;
|
|
519
673
|
}, [
|
|
520
674
|
contextFieldValues,
|
|
521
675
|
effectiveFormOperationType,
|
|
522
676
|
formFieldShape,
|
|
677
|
+
organizationUnitNarrowing,
|
|
523
678
|
relationshipWriteSurfacesByFieldName,
|
|
679
|
+
resourceConfig,
|
|
524
680
|
resourceOperations,
|
|
525
681
|
resourceType,
|
|
526
682
|
]);
|
|
@@ -535,16 +691,18 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
535
691
|
return isSingleResourceUpdateLikeOperation(operation);
|
|
536
692
|
}, [operation]);
|
|
537
693
|
const resourceId = useMemo(() => {
|
|
538
|
-
|
|
694
|
+
// Only an operation that addresses ONE record has an id in its context; on a CREATE (or a collection or bulk
|
|
695
|
+
// operation) the own-type slot holds at most ambient scope and must not become this form's record id.
|
|
696
|
+
const contextId = frontendResourceUtils.getAddressedRecordId({ resourceType, operation, contextResourceIdentifiers });
|
|
539
697
|
if (contextId) {
|
|
540
|
-
return
|
|
698
|
+
return contextId;
|
|
541
699
|
}
|
|
542
700
|
const loadedId = defaultValues && typeof defaultValues === 'object'
|
|
543
701
|
? defaultValues._id
|
|
544
702
|
: undefined;
|
|
545
703
|
return typeof loadedId === 'string' && loadedId.length > 0 ? loadedId : null;
|
|
546
704
|
// eslint-disable-next-line react-hooks/exhaustive-deps -- using stable key instead of object reference
|
|
547
|
-
}, [contextResourceIdentifiersKey, defaultValues, resourceType]);
|
|
705
|
+
}, [contextResourceIdentifiersKey, defaultValues, resourceType, operation]);
|
|
548
706
|
const parentResourcesRequirementsKey = useMemo(() => {
|
|
549
707
|
return JSON.stringify(resourceContext.parentResourcesRequirements ?? []);
|
|
550
708
|
}, [resourceContext.parentResourcesRequirements]);
|
|
@@ -637,6 +795,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
637
795
|
parentResourcesRequirements: resourceContext.parentResourcesRequirements,
|
|
638
796
|
contextResourceIdentifiers: contextResourceIdentifiersWithResourceId,
|
|
639
797
|
resourceSchema: resourceConfig?.mainSchema,
|
|
798
|
+
resourceInheritance: resourceConfig?.inheritenceSchemaDefinition,
|
|
640
799
|
enabled: isUpdateLikeOperation && !!resourceId,
|
|
641
800
|
conflictPolicy: { strategy: ConflictStrategy.ACCEPT_REMOTE },
|
|
642
801
|
directFallbackAccepted: allowsDirectOperationFallback(updateLikeMutationFallbackMode),
|
|
@@ -773,6 +932,36 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
773
932
|
rmm,
|
|
774
933
|
allowsDirectUpdateLikeMutationFallback,
|
|
775
934
|
]);
|
|
935
|
+
/**
|
|
936
|
+
* Marks saved fields SAVED: each takes the stored value, and stops being dirty.
|
|
937
|
+
*
|
|
938
|
+
* The write-back used `setValue(…, { shouldDirty: false })`, which writes the value but leaves a field that was
|
|
939
|
+
* already dirty dirty, so after a section save or an autosave the form still reported unsaved changes for fields
|
|
940
|
+
* the server had just stored. `resetField` with the stored value as the field's new default is how React Hook Form
|
|
941
|
+
* says "this is the saved value". It also clears the field's error, which the save has made obsolete, and keeps it
|
|
942
|
+
* touched. A field that is not registered (a conditional field hidden right now) has no state to reset, so its value
|
|
943
|
+
* is written with `setValue` first.
|
|
944
|
+
*
|
|
945
|
+
* A field the person changed while the save was on its way is left alone: it holds a newer value than the one saved,
|
|
946
|
+
* and writing the stored value back erased what they had typed since (an autosave of "abc" landing while the field
|
|
947
|
+
* read "abcd" turned it back into "abc"). It stays unsaved, so its own save marks it.
|
|
948
|
+
*
|
|
949
|
+
* @param storedRecord the record as stored after the save; a field it does not carry keeps the value the form holds.
|
|
950
|
+
* @param sentValues the values the save sent, by field path, when known.
|
|
951
|
+
*/
|
|
952
|
+
const markFieldsSaved = useCallback((fieldNames, storedRecord, sentValues) => {
|
|
953
|
+
const form = formMethodsRef.current;
|
|
954
|
+
if (!form)
|
|
955
|
+
return;
|
|
956
|
+
for (const field of fieldNames) {
|
|
957
|
+
if (sentValues && Object.prototype.hasOwnProperty.call(sentValues, field) && !isSameFormValue(form.getValues(field), sentValues[field]))
|
|
958
|
+
continue;
|
|
959
|
+
const stored = readPathValue(storedRecord, field);
|
|
960
|
+
const value = stored !== undefined ? stored : form.getValues(field);
|
|
961
|
+
form.setValue(field, value, { shouldDirty: false, shouldValidate: false });
|
|
962
|
+
form.resetField(field, { defaultValue: value, keepTouched: true });
|
|
963
|
+
}
|
|
964
|
+
}, []);
|
|
776
965
|
// This is the wrapper's single RMM subscription seam. All authoritative
|
|
777
966
|
// mutation/read-back/remote-reset outcomes are translated here into form
|
|
778
967
|
// state updates, server validation injection, transient remote-update UI, and
|
|
@@ -785,14 +974,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
785
974
|
case RMMEventType.MUTATION_RESULT: {
|
|
786
975
|
const { result } = event;
|
|
787
976
|
if (result.success && result.savedFields) {
|
|
788
|
-
|
|
789
|
-
for (const field of result.savedFields) {
|
|
790
|
-
formMethodsRef.current.setValue(field, readPathValue(rmmSnapshot.confirmedData, field), {
|
|
791
|
-
shouldDirty: false,
|
|
792
|
-
shouldValidate: false,
|
|
793
|
-
});
|
|
794
|
-
}
|
|
795
|
-
}
|
|
977
|
+
markFieldsSaved(result.savedFields, rmmSnapshot.confirmedData, result.savedValues);
|
|
796
978
|
}
|
|
797
979
|
if (!result.success && result.error?.type === MutationErrorType.VALIDATION) {
|
|
798
980
|
if (result.error.validationErrors) {
|
|
@@ -834,7 +1016,9 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
834
1016
|
}
|
|
835
1017
|
case RMMEventType.CONFLICT_RESET: {
|
|
836
1018
|
if (formMethodsRef.current) {
|
|
837
|
-
|
|
1019
|
+
// The server's record after a conflict: still a record, so the same seed rule applies (#2192). The host's
|
|
1020
|
+
// prefill is NOT re-applied: after a conflict the server's values are the ones the person must see.
|
|
1021
|
+
formMethodsRef.current.reset(seedFromRecord(event.currentData, false));
|
|
838
1022
|
}
|
|
839
1023
|
clearServerErrors();
|
|
840
1024
|
setConflictBanner({
|
|
@@ -899,20 +1083,19 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
899
1083
|
return null;
|
|
900
1084
|
}
|
|
901
1085
|
try {
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
1086
|
+
// An UPDATE's own route segment is the record it edits — the addressed record (`resourceId`), never a
|
|
1087
|
+
// second read of the own-type slot. A CREATE has none: its slot holds at most ambient scope (#2143 review).
|
|
1088
|
+
const updatedRecordId = isUpdateOperation ? resourceId : null;
|
|
905
1089
|
const apiBaseUrl = envLoader.getApiUrl();
|
|
906
1090
|
if (!resourceConfig?.resourceFieldIdentifier) {
|
|
907
1091
|
throw FrontendResourceUtils.buildConfigurationError(ErrorCustomMessageReference.FRONTEND_RESOURCE_FIELD_IDENTIFIER_NOT_FOUND, { resourceType: resourceContext.resourceType, component: 'ResourceAutomatedForm' });
|
|
908
1092
|
}
|
|
909
1093
|
const resourceFieldIdentifier = resourceConfig.resourceFieldIdentifier;
|
|
910
1094
|
const contextualParameters = { ...contextualParametersWithResourceId };
|
|
911
|
-
if (
|
|
912
|
-
contextualParameters[resourceFieldIdentifier] =
|
|
1095
|
+
if (updatedRecordId) {
|
|
1096
|
+
contextualParameters[resourceFieldIdentifier] = updatedRecordId;
|
|
913
1097
|
}
|
|
914
|
-
const routeBearingMutationOperation = (operation.variantType === ResourceOperationVariantType.API_CALL
|
|
915
|
-
|| operation.variantType === ResourceOperationVariantType.API_CALL_WITH_CALLBACK)
|
|
1098
|
+
const routeBearingMutationOperation = (operation.variantType === ResourceOperationVariantType.API_CALL)
|
|
916
1099
|
? operation
|
|
917
1100
|
: resourceConfig && isUpdateOperation
|
|
918
1101
|
? pickPreferredOperationForCoreSemanticAddressability({
|
|
@@ -955,7 +1138,6 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
955
1138
|
apiBaseUrl,
|
|
956
1139
|
basePath,
|
|
957
1140
|
contextualParameters,
|
|
958
|
-
primaryResourceId,
|
|
959
1141
|
resourceFieldIdentifier,
|
|
960
1142
|
};
|
|
961
1143
|
}
|
|
@@ -984,8 +1166,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
984
1166
|
const isUpdateOperation = isSingleResourceUpdateLikeOperation(operation);
|
|
985
1167
|
const { apiBaseUrl, contextualParameters } = resourceApiBase;
|
|
986
1168
|
try {
|
|
987
|
-
const uploadOperation = (operation.variantType === ResourceOperationVariantType.API_CALL
|
|
988
|
-
|| operation.variantType === ResourceOperationVariantType.API_CALL_WITH_CALLBACK)
|
|
1169
|
+
const uploadOperation = (operation.variantType === ResourceOperationVariantType.API_CALL)
|
|
989
1170
|
? operation
|
|
990
1171
|
: isUpdateOperation
|
|
991
1172
|
? pickPreferredOperationForCoreSemanticAddressability({
|
|
@@ -1079,10 +1260,11 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1079
1260
|
// Currently checks: isUnique()
|
|
1080
1261
|
// When new server-validated decorators are added (e.g., isExternallyValidated),
|
|
1081
1262
|
// add them to this check to enable the validate-field URL for those resources.
|
|
1082
|
-
|
|
1083
|
-
|
|
1263
|
+
// Every field some row can hold (#2455): a unique field only a variant declares warns early too (its backend route
|
|
1264
|
+
// exists since #2434).
|
|
1265
|
+
const shape = FrontendResourceUtils.resolveFieldShapeOfAnyVariant(resourceConfig);
|
|
1266
|
+
if (!shape)
|
|
1084
1267
|
return undefined;
|
|
1085
|
-
const shape = getZodObjectShape(mainSchema);
|
|
1086
1268
|
const hasServerValidatedFields = Object.values(shape).some(fieldSchema => isUnique(fieldSchema)
|
|
1087
1269
|
// Future: || isExternallyValidated(fieldSchema)
|
|
1088
1270
|
// Future: || isServerValidated(fieldSchema)
|
|
@@ -1136,14 +1318,16 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1136
1318
|
return composed;
|
|
1137
1319
|
}, [resourceApiBase, resourceConfig, resourceContext.parentResourcesRequirements, resourceType]);
|
|
1138
1320
|
/**
|
|
1139
|
-
*
|
|
1140
|
-
*
|
|
1141
|
-
*
|
|
1142
|
-
*
|
|
1321
|
+
* The form's record id, as the form PUBLISHES it to its fields (the form context's `resourceId`): the
|
|
1322
|
+
* uniqueness check's `excludeId`, a reference field's host record, quick-create's source record.
|
|
1323
|
+
*
|
|
1324
|
+
* It is the addressed record (`resourceId` above, through `getAddressedRecordId`) and nothing else. It used to
|
|
1325
|
+
* fall back to `getPrimaryResourceIdentifier`, which reads the own-type slot whatever the operation: on a
|
|
1326
|
+
* CREATE that slot holds at most ambient scope — the quick-switcher's selection, or the host record a
|
|
1327
|
+
* same-type quick-create was opened from — and every field saw it as the record being created (#2143 review).
|
|
1328
|
+
* For a record operation the fallback read the same slot `resourceId` already read, so it added nothing.
|
|
1143
1329
|
*/
|
|
1144
|
-
const primaryResourceId = useMemo(() =>
|
|
1145
|
-
return resourceId ?? frontendResourceUtils.getPrimaryResourceIdentifier(resourceContext) ?? undefined;
|
|
1146
|
-
}, [resourceContext, resourceId]);
|
|
1330
|
+
const primaryResourceId = useMemo(() => resourceId ?? undefined, [resourceId]);
|
|
1147
1331
|
const canonicalReadOperation = useMemo(() => {
|
|
1148
1332
|
if (rmm) {
|
|
1149
1333
|
return undefined;
|
|
@@ -1187,6 +1371,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1187
1371
|
resourceType,
|
|
1188
1372
|
enabled: needsFetch && hasLoadedOnce && !fetchError,
|
|
1189
1373
|
});
|
|
1374
|
+
const recordSeededDefaultValues = useMemo(() => (defaultValues ? seedFromRecord(defaultValues) : defaultValues), [defaultValues, seedFromRecord]);
|
|
1190
1375
|
// CREATE-only synchronous default-value seed.
|
|
1191
1376
|
//
|
|
1192
1377
|
// Two jobs (see `resolveCreateFormInitialValues` for the full rationale):
|
|
@@ -1204,15 +1389,128 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1204
1389
|
// first mount and never reach RHF.
|
|
1205
1390
|
// Computed only for CREATE; UPDATE-like operations take their defaults from the
|
|
1206
1391
|
// fetched record. Default-free non-discriminated resources resolve to `undefined`.
|
|
1392
|
+
/*
|
|
1393
|
+
* A BULK update form writes what the person SETS, each nested child by its dotted path (`bulkUpdatePatch`, #2581). It
|
|
1394
|
+
* starts EMPTY, as bulk editors do (Jira's bulk edit, Salesforce's mass update): no selected row's value can be shown
|
|
1395
|
+
* (each has its own), and a schema default shown in its place could then never be written, since a field still
|
|
1396
|
+
* holding what the form showed is not a change. A host's own prefill (`defaultValuesOverride`) is its explicit
|
|
1397
|
+
* choice, so it is shown AND counts as set.
|
|
1398
|
+
*/
|
|
1399
|
+
const writesBulkPatch = operation.isBulkOperation === true && isUpdateLikeCoreOperation(effectiveCoreOperation);
|
|
1207
1400
|
const createSeededDefaultValues = useMemo(() => {
|
|
1208
1401
|
if (needsFetch)
|
|
1209
1402
|
return undefined;
|
|
1403
|
+
if (writesBulkPatch)
|
|
1404
|
+
return defaultValuesOverride;
|
|
1210
1405
|
return resolveCreateFormInitialValues({
|
|
1211
1406
|
formFieldShape,
|
|
1212
1407
|
inheritanceConfig,
|
|
1213
1408
|
defaultValuesOverride: defaultValuesOverride,
|
|
1214
1409
|
});
|
|
1215
|
-
}, [needsFetch, formFieldShape, inheritanceConfig, defaultValuesOverride]);
|
|
1410
|
+
}, [needsFetch, formFieldShape, inheritanceConfig, defaultValuesOverride, writesBulkPatch]);
|
|
1411
|
+
// Compared against NOTHING: the form starts empty, so every value it holds was set (by the person, or by the host's
|
|
1412
|
+
// prefill), and a field holding only what an untouched control holds is not written (`bulkUpdatePatch`).
|
|
1413
|
+
const toBulkPatch = useCallback((values, writtenAsHeld, clears = {}) => bulkUpdatePatch({
|
|
1414
|
+
values,
|
|
1415
|
+
seed: undefined,
|
|
1416
|
+
schema: formSchema,
|
|
1417
|
+
writtenAsHeld,
|
|
1418
|
+
variantFields: discriminatorFieldNames,
|
|
1419
|
+
clears,
|
|
1420
|
+
}), [discriminatorFieldNames, formSchema]);
|
|
1421
|
+
/*
|
|
1422
|
+
* The person's explicit "clear on every selected record" choices (#2620), by field path, each the value
|
|
1423
|
+
* `resolveBulkFieldClear` chose. A ref beside the state: each write reads the clears it carries when it builds its body,
|
|
1424
|
+
* and the autosave a choosing click triggers runs before React re-renders. A clear leaves once a write carried it
|
|
1425
|
+
* (`consumeBulkClears`), so a value the person sets afterwards is never cleared again by a later write.
|
|
1426
|
+
*/
|
|
1427
|
+
const [bulkClears, setBulkClears] = useState({});
|
|
1428
|
+
const bulkClearsRef = useRef(bulkClears);
|
|
1429
|
+
const bulkSelectionCount = readBulkOperationSelectionCount(resourceContext.additionalContext);
|
|
1430
|
+
const bulkClearFor = useMemo(() => {
|
|
1431
|
+
const decided = new Map();
|
|
1432
|
+
return (fieldName) => {
|
|
1433
|
+
if (!writesBulkPatch)
|
|
1434
|
+
return undefined;
|
|
1435
|
+
if (!decided.has(fieldName)) {
|
|
1436
|
+
decided.set(fieldName, resolveBulkFieldClear(fieldName, operation.requestDto, formSchema, discriminatorFieldNames));
|
|
1437
|
+
}
|
|
1438
|
+
return decided.get(fieldName);
|
|
1439
|
+
};
|
|
1440
|
+
}, [discriminatorFieldNames, formSchema, operation.requestDto, writesBulkPatch]);
|
|
1441
|
+
const setBulkFieldCleared = useCallback((fieldName, cleared) => {
|
|
1442
|
+
const clear = cleared ? bulkClearFor(fieldName) : undefined;
|
|
1443
|
+
if (cleared && !clear)
|
|
1444
|
+
return;
|
|
1445
|
+
const next = { ...bulkClearsRef.current };
|
|
1446
|
+
if (clear)
|
|
1447
|
+
next[fieldName] = clear.value;
|
|
1448
|
+
else
|
|
1449
|
+
delete next[fieldName];
|
|
1450
|
+
bulkClearsRef.current = next;
|
|
1451
|
+
setBulkClears(next);
|
|
1452
|
+
if (!clear)
|
|
1453
|
+
return;
|
|
1454
|
+
/*
|
|
1455
|
+
* The control then holds what the clear writes, never what the person typed and chose to drop (an autosave validates
|
|
1456
|
+
* it). A list holds `[]`: a field array resyncs only from an array, so `undefined` left its rows on screen after an
|
|
1457
|
+
* undo while the form held none. A switch holds `false`. A value holds nothing, which every scalar control renders
|
|
1458
|
+
* empty and the bulk form's schema accepts on a relaxed child, where `null` would not parse.
|
|
1459
|
+
*/
|
|
1460
|
+
const held = clear.kind === BulkFieldClearKind.EMPTY ? [] : clear.kind === BulkFieldClearKind.TURN_OFF ? false : undefined;
|
|
1461
|
+
formMethodsRef.current?.setValue(fieldName, held, { shouldDirty: true });
|
|
1462
|
+
// An error raised by the dropped value no longer describes the field.
|
|
1463
|
+
formMethodsRef.current?.clearErrors(fieldName);
|
|
1464
|
+
}, [bulkClearFor]);
|
|
1465
|
+
/*
|
|
1466
|
+
* The fields whose clear affordance is on screen, counted (a remount of the same field mounts before it unmounts). A
|
|
1467
|
+
* write carries only their clears (`liveBulkClears`): a field hidden after its clear was chosen leaves the form's values,
|
|
1468
|
+
* as the form does not submit an unmounted field, so its clear leaves the write too.
|
|
1469
|
+
*/
|
|
1470
|
+
const mountedBulkClearFieldsRef = useRef(new Map());
|
|
1471
|
+
const registerBulkClearField = useCallback((fieldName) => {
|
|
1472
|
+
const mounted = mountedBulkClearFieldsRef.current;
|
|
1473
|
+
mounted.set(fieldName, (mounted.get(fieldName) ?? 0) + 1);
|
|
1474
|
+
return () => {
|
|
1475
|
+
const remaining = (mounted.get(fieldName) ?? 1) - 1;
|
|
1476
|
+
if (remaining > 0)
|
|
1477
|
+
mounted.set(fieldName, remaining);
|
|
1478
|
+
else
|
|
1479
|
+
mounted.delete(fieldName);
|
|
1480
|
+
};
|
|
1481
|
+
}, []);
|
|
1482
|
+
// The choices belong to ONE operation's form: a host that hands this instance another operation (hosts do not key it)
|
|
1483
|
+
// must not carry a clear chosen for the first into the second's write.
|
|
1484
|
+
const bulkClearsOperationKeyRef = useRef(currentOperationPathKey);
|
|
1485
|
+
useEffect(() => {
|
|
1486
|
+
if (bulkClearsOperationKeyRef.current === currentOperationPathKey)
|
|
1487
|
+
return;
|
|
1488
|
+
bulkClearsOperationKeyRef.current = currentOperationPathKey;
|
|
1489
|
+
if (Object.keys(bulkClearsRef.current).length === 0)
|
|
1490
|
+
return;
|
|
1491
|
+
bulkClearsRef.current = {};
|
|
1492
|
+
setBulkClears({});
|
|
1493
|
+
}, [currentOperationPathKey]);
|
|
1494
|
+
const liveBulkClears = useCallback(() => Object.fromEntries(Object.entries(bulkClearsRef.current).filter(([fieldName]) => mountedBulkClearFieldsRef.current.has(fieldName))), []);
|
|
1495
|
+
const consumeBulkClears = useCallback((written) => {
|
|
1496
|
+
const paths = Object.keys(written);
|
|
1497
|
+
if (paths.length === 0)
|
|
1498
|
+
return;
|
|
1499
|
+
const next = { ...bulkClearsRef.current };
|
|
1500
|
+
for (const path of paths)
|
|
1501
|
+
delete next[path];
|
|
1502
|
+
bulkClearsRef.current = next;
|
|
1503
|
+
setBulkClears(next);
|
|
1504
|
+
}, []);
|
|
1505
|
+
const bulkFieldClearing = useMemo(() => (writesBulkPatch
|
|
1506
|
+
? {
|
|
1507
|
+
selectionCount: bulkSelectionCount,
|
|
1508
|
+
clearFor: bulkClearFor,
|
|
1509
|
+
isCleared: (fieldName) => Object.hasOwn(bulkClears, fieldName),
|
|
1510
|
+
setCleared: setBulkFieldCleared,
|
|
1511
|
+
registerField: registerBulkClearField,
|
|
1512
|
+
}
|
|
1513
|
+
: null), [bulkClearFor, bulkClears, bulkSelectionCount, registerBulkClearField, setBulkFieldCleared, writesBulkPatch]);
|
|
1216
1514
|
// Fetch existing data for UPDATE-like operations
|
|
1217
1515
|
// Use refs to avoid infinite loops from unstable function references
|
|
1218
1516
|
useEffect(() => {
|
|
@@ -1339,13 +1637,28 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1339
1637
|
}
|
|
1340
1638
|
throw mutationErrorForReport(mutationResult.error, 'Submit failed');
|
|
1341
1639
|
}
|
|
1342
|
-
result = mutationResult.responseData;
|
|
1640
|
+
result = mutationResult.heldForApproval ?? mutationResult.responseData;
|
|
1343
1641
|
}
|
|
1344
1642
|
else {
|
|
1345
1643
|
assertRMMAvailableForDefaultUpdateLikeMutation('ResourceAutomatedForm submit');
|
|
1644
|
+
const contextFieldNames = Object.keys(contextFieldValues);
|
|
1645
|
+
// Every explicit clear: the main submit writes the whole form (#2620).
|
|
1646
|
+
const sentBulkClears = writesBulkPatch ? liveBulkClears() : {};
|
|
1647
|
+
const requestBody = writesBulkPatch ? toBulkPatch(data, contextFieldNames, sentBulkClears) : data;
|
|
1648
|
+
/*
|
|
1649
|
+
* A literal bulk UPDATE that sets nothing would write nothing but a new version and `updatedAt` on every selected
|
|
1650
|
+
* row (and a stale-version refusal for anyone editing one) while reporting success. Its meaning IS its patch, so
|
|
1651
|
+
* an empty one is said, not sent. A VERB (an update-like custom operation) still runs on an empty patch: the verb
|
|
1652
|
+
* itself is what the person asked for, and its own logic may be all it writes.
|
|
1653
|
+
*/
|
|
1654
|
+
const isLiteralUpdate = operationIdentifier === CoreResourceOperation.UPDATE || operationIdentifier === CoreResourceOperation.UPDATE_MANY;
|
|
1655
|
+
if (writesBulkPatch && isLiteralUpdate && Object.keys(requestBody).every((key) => contextFieldNames.includes(key))) {
|
|
1656
|
+
injectServerErrors({ [FORM_LEVEL_ERROR_PATH]: tComponent(FrontendComponentType.RESOURCES_LAYOUTS_CREATE, 'bulkNothingToChange') });
|
|
1657
|
+
return;
|
|
1658
|
+
}
|
|
1346
1659
|
result = await doOperationRef.current(currentOperationTransportOverride.operationPathKey, {
|
|
1347
1660
|
contextualParameters: currentOperationTransportOverride.contextualParameters,
|
|
1348
|
-
requestData: mergeRequestDataWithBulkSelection(
|
|
1661
|
+
requestData: mergeRequestDataWithBulkSelection(requestBody),
|
|
1349
1662
|
parentResourcesRequirements: currentOperationTransportOverride.parentResourcesRequirements,
|
|
1350
1663
|
},
|
|
1351
1664
|
// `silent`: this form owns the user-facing failure UX (the catch below
|
|
@@ -1355,8 +1668,14 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1355
1668
|
// Side-effects (auth-logout on 401, redirect, dedup) still run — `silent`
|
|
1356
1669
|
// now suppresses only the global display, not the ERROR_OCCURED event.
|
|
1357
1670
|
{ silent: true });
|
|
1671
|
+
consumeBulkClears(sentBulkClears);
|
|
1358
1672
|
}
|
|
1359
1673
|
logDebug('handleSubmit: success', { operationPathKey });
|
|
1674
|
+
if (tellHeldForApproval(result)) {
|
|
1675
|
+
// The request was made: the host moves on (a create goes back, as it does for an answer naming no record).
|
|
1676
|
+
onSuccessRef.current?.(result);
|
|
1677
|
+
return;
|
|
1678
|
+
}
|
|
1360
1679
|
// Emit success notification event if configured
|
|
1361
1680
|
const frontendNotification = getFrontendNotification(operation);
|
|
1362
1681
|
if (frontendNotification) {
|
|
@@ -1444,13 +1763,21 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1444
1763
|
}
|
|
1445
1764
|
}, [
|
|
1446
1765
|
assertRMMAvailableForDefaultUpdateLikeMutation,
|
|
1766
|
+
contextFieldValues,
|
|
1447
1767
|
currentOperationTransportOverride,
|
|
1768
|
+
injectServerErrors,
|
|
1448
1769
|
mergeRequestDataWithBulkSelection,
|
|
1770
|
+
operationIdentifier,
|
|
1449
1771
|
operationPathKey,
|
|
1450
1772
|
contextualParameters,
|
|
1451
1773
|
operation,
|
|
1452
1774
|
resourceContext,
|
|
1453
1775
|
rmm,
|
|
1776
|
+
tComponent,
|
|
1777
|
+
toBulkPatch,
|
|
1778
|
+
consumeBulkClears,
|
|
1779
|
+
liveBulkClears,
|
|
1780
|
+
writesBulkPatch,
|
|
1454
1781
|
]);
|
|
1455
1782
|
// Handle validation errors (client-side, from RHF)
|
|
1456
1783
|
const handleError = (errors) => {
|
|
@@ -1470,7 +1797,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1470
1797
|
if (!defaultValuesOverride || !formMethodsRef.current)
|
|
1471
1798
|
return;
|
|
1472
1799
|
const merged = defaultValues
|
|
1473
|
-
?
|
|
1800
|
+
? seedFromRecord(defaultValues)
|
|
1474
1801
|
: defaultValuesOverride;
|
|
1475
1802
|
formMethodsRef.current.reset(merged);
|
|
1476
1803
|
// eslint-disable-next-line react-hooks/exhaustive-deps -- only run when override changes
|
|
@@ -1482,7 +1809,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1482
1809
|
// When defaultValuesOverride is set (e.g. from DISCOVER), reset form with merged values
|
|
1483
1810
|
if (defaultValuesOverride) {
|
|
1484
1811
|
const merged = defaultValues
|
|
1485
|
-
?
|
|
1812
|
+
? seedFromRecord(defaultValues)
|
|
1486
1813
|
: defaultValuesOverride;
|
|
1487
1814
|
formMethods.reset(merged);
|
|
1488
1815
|
}
|
|
@@ -1506,24 +1833,40 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1506
1833
|
};
|
|
1507
1834
|
// Check if already aborted before starting
|
|
1508
1835
|
checkAborted();
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1836
|
+
/*
|
|
1837
|
+
* A composite child autosaves under its dotted path (`address.city`), and the body must be in the resource's own
|
|
1838
|
+
* shape: the WHOLE top-level field with the edit written into it. A flat dotted key is dropped by the strict
|
|
1839
|
+
* UPDATE parse with a 200, and a bare nested fragment would erase the siblings, because an UPDATE replaces a
|
|
1840
|
+
* nested object (#1395).
|
|
1841
|
+
*
|
|
1842
|
+
* On the RMM lane the RMM builds that body itself when it SENDS the mutation (`buildWireRequestData`), onto the
|
|
1843
|
+
* record as confirmed at that moment. This handler used to build it here, at QUEUE time, and hand it over as
|
|
1844
|
+
* `transportOverride.requestData`, which the RMM sends as given: an autosave queued behind an in-flight save of a
|
|
1845
|
+
* sibling (`address.street`) then re-sent the sibling's old value, and passed the version check. Only the direct
|
|
1846
|
+
* lane, which sends at once, builds the body here, from the record the form loaded.
|
|
1847
|
+
*
|
|
1848
|
+
* Both send the record's stored discriminator, which a polymorphic resource's partial UPDATE needs: the RMM adds the
|
|
1849
|
+
* one it has confirmed when it sends, and the direct lane adds the one the form loaded.
|
|
1850
|
+
*
|
|
1851
|
+
* A BULK update has no record to build onto (each selected row has its own): it writes the field by its path, a
|
|
1852
|
+
* nested child as `contact.city` (#2581), and nothing when the field holds what the form was seeded with.
|
|
1853
|
+
*/
|
|
1854
|
+
// The explicit clears this field's write covers (#2620): a clear chosen on the field autosaves as its other changes do.
|
|
1855
|
+
const sentBulkClears = !rmm && writesBulkPatch ? bulkClearsWithin(liveBulkClears(), bulkWriteUnits([fieldName], formSchema)) : {};
|
|
1856
|
+
const bulkAutosavePatch = !rmm && writesBulkPatch
|
|
1857
|
+
? toBulkPatch(pickSubmissionDataPaths(
|
|
1858
|
+
// The value this autosave validated, over the form's full values (a path into an array writes the array).
|
|
1859
|
+
withPathValue((formMethodsRef.current?.getValues() ?? {}), fieldName, value), bulkWriteUnits([fieldName], formSchema)), [], sentBulkClears)
|
|
1860
|
+
: undefined;
|
|
1861
|
+
if (bulkAutosavePatch && Object.keys(bulkAutosavePatch).length === 0)
|
|
1862
|
+
return;
|
|
1519
1863
|
const operationPromise = rmm
|
|
1520
|
-
? rmm.queueMutation(
|
|
1864
|
+
? rmm.queueMutation(
|
|
1865
|
+
// The RMM adds the stored discriminator when it sends (`resource-discriminators.frontend.utils.ts`).
|
|
1866
|
+
{ [fieldName]: value }, {
|
|
1521
1867
|
type: MutationType.AUTOSAVE,
|
|
1522
1868
|
priority: MutationPriority.LOW,
|
|
1523
|
-
transportOverride:
|
|
1524
|
-
...currentOperationTransportOverride,
|
|
1525
|
-
requestData,
|
|
1526
|
-
},
|
|
1869
|
+
transportOverride: currentOperationTransportOverride,
|
|
1527
1870
|
}).then((mutationResult) => {
|
|
1528
1871
|
if (!mutationResult.success) {
|
|
1529
1872
|
throw mutationResult.error ?? new Error('Autosave failed');
|
|
@@ -1531,7 +1874,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1531
1874
|
})
|
|
1532
1875
|
: doOperationRef.current(currentOperationTransportOverride.operationPathKey, {
|
|
1533
1876
|
contextualParameters: currentOperationTransportOverride.contextualParameters,
|
|
1534
|
-
requestData,
|
|
1877
|
+
requestData: mergeRequestDataWithBulkSelection(bulkAutosavePatch ?? carryStoredDiscriminators(buildInlineUpdateRequestData((formMethodsRef.current?.getValues() ?? null), fieldName, value), discriminatorFieldNames, defaultValues)),
|
|
1535
1878
|
parentResourcesRequirements: currentOperationTransportOverride.parentResourcesRequirements,
|
|
1536
1879
|
}, {
|
|
1537
1880
|
signal: abortSignal,
|
|
@@ -1559,13 +1902,47 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1559
1902
|
await Promise.race([operationPromise, abortPromise]);
|
|
1560
1903
|
// Final abort check after operation completes
|
|
1561
1904
|
checkAborted();
|
|
1905
|
+
consumeBulkClears(sentBulkClears);
|
|
1562
1906
|
}, [
|
|
1563
1907
|
assertRMMAvailableForDefaultUpdateLikeMutation,
|
|
1564
1908
|
currentOperationTransportOverride,
|
|
1909
|
+
defaultValues,
|
|
1910
|
+
discriminatorFieldNames,
|
|
1911
|
+
formSchema,
|
|
1565
1912
|
mergeRequestDataWithBulkSelection,
|
|
1566
1913
|
rmm,
|
|
1914
|
+
toBulkPatch,
|
|
1915
|
+
consumeBulkClears,
|
|
1916
|
+
liveBulkClears,
|
|
1917
|
+
writesBulkPatch,
|
|
1567
1918
|
]);
|
|
1568
|
-
|
|
1919
|
+
/**
|
|
1920
|
+
* Saves the fields ONE section registered, and owns the whole outcome of that save.
|
|
1921
|
+
*
|
|
1922
|
+
* ## It is not the operation completing
|
|
1923
|
+
*
|
|
1924
|
+
* A host's `onSuccess` / `onError` mean "the record is saved (or refused): announce it and move on", and
|
|
1925
|
+
* `ResourceLayout_Update` navigates to the record. A section save called them too, so saving one section of a
|
|
1926
|
+
* multi-section form took the person off the page with the other sections unsaved, and announced the save twice.
|
|
1927
|
+
* Neither is called here: the form announces the section's outcome itself, once, and stays.
|
|
1928
|
+
*
|
|
1929
|
+
* ## Queued by field path, built when sent
|
|
1930
|
+
*
|
|
1931
|
+
* The RMM queues a partial write by FIELD PATH (`address.city`), as autosave does, and builds the request body when
|
|
1932
|
+
* it SENDS the mutation (`buildWireRequestData`), onto the record as it is confirmed at that moment. The section
|
|
1933
|
+
* used to queue a nested object with a body frozen at queue time, which went wrong twice: the body carried the
|
|
1934
|
+
* stored siblings of every nested parent as they were when the save was QUEUED, so a mutation confirmed in between
|
|
1935
|
+
* (an autosave of `address.street`) was overwritten by the older value and still passed the version check; and the
|
|
1936
|
+
* RMM reported the top-level key (`address`) as saved, so the write-back replaced the whole object from the server
|
|
1937
|
+
* and erased unsaved edits to its other children in another section.
|
|
1938
|
+
*
|
|
1939
|
+
* ## Failures
|
|
1940
|
+
*
|
|
1941
|
+
* A field-level refusal is shown at its fields (`injectServerErrors`, through the RMM event seam or directly on the
|
|
1942
|
+
* direct lane), with no toast. A refusal that names no field, and any other failure, raise ONE resource error
|
|
1943
|
+
* toast. A save cancelled on purpose (the main submit superseded it) says nothing. A caller-supplied handler that
|
|
1944
|
+
* throws is reported the same way instead of escaping as an unhandled rejection.
|
|
1945
|
+
*/
|
|
1569
1946
|
const handleSectionSave = useCallback(async (sectionRef, fieldNames, data) => {
|
|
1570
1947
|
if (fieldNames.length === 0) {
|
|
1571
1948
|
if (envLoader.isDevelopment()) {
|
|
@@ -1576,61 +1953,96 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1576
1953
|
}
|
|
1577
1954
|
return;
|
|
1578
1955
|
}
|
|
1579
|
-
const
|
|
1580
|
-
? pickSubmissionDataPaths(data, fieldNames)
|
|
1581
|
-
: data;
|
|
1582
|
-
const sanitizedData = sanitizeAutomatedFormSubmissionData(sectionScopedData, {
|
|
1956
|
+
const sanitizedData = sanitizeAutomatedFormSubmissionData(pickSubmissionDataPaths(data, fieldNames), {
|
|
1583
1957
|
hiddenFieldNames,
|
|
1584
1958
|
contextFieldValues,
|
|
1585
1959
|
omitClearedFields: omitClearedFieldsForSubmission,
|
|
1586
1960
|
schema: formSchema,
|
|
1587
1961
|
});
|
|
1588
|
-
// If a custom callback is provided, use it
|
|
1589
|
-
if (onSectionSaveRef.current) {
|
|
1590
|
-
await onSectionSaveRef.current(sectionRef, fieldNames, sanitizedData);
|
|
1591
|
-
return;
|
|
1592
|
-
}
|
|
1593
1962
|
try {
|
|
1963
|
+
// A caller-supplied handler owns the save (P9), but not an escaping rejection.
|
|
1964
|
+
if (onSectionSaveRef.current) {
|
|
1965
|
+
await onSectionSaveRef.current(sectionRef, fieldNames, sanitizedData);
|
|
1966
|
+
return;
|
|
1967
|
+
}
|
|
1594
1968
|
let result;
|
|
1595
|
-
// A section may hold only SOME of a composite's children, and an UPDATE replaces the nested
|
|
1596
|
-
// object whole — so the body carries the stored siblings of every partially-written parent
|
|
1597
|
-
// (#1410). Stored = the RMM's confirmed state, or on the direct lane the record the form loaded.
|
|
1598
|
-
const storedRecord = (rmm ? rmm.getSnapshot().confirmedData : defaultValues);
|
|
1599
|
-
const requestData = mergeRequestDataWithBulkSelection(carryStoredSiblingsIntoPartialWrites(sanitizedData, fieldNames, storedRecord));
|
|
1600
1969
|
if (rmm) {
|
|
1601
|
-
|
|
1970
|
+
// The RMM lane is single-record (`useResourceRMM` is enabled only with a `resourceId`), so there is no bulk
|
|
1971
|
+
// selection to merge into the body here; a bulk update takes the direct lane below.
|
|
1972
|
+
// The RMM adds the stored discriminator when it sends (`resource-discriminators.frontend.utils.ts`).
|
|
1973
|
+
const mutationResult = await rmm.queueMutation(sectionFieldsByPath(sanitizedData, fieldNames), {
|
|
1602
1974
|
type: MutationType.SECTION,
|
|
1603
1975
|
priority: MutationPriority.NORMAL,
|
|
1604
1976
|
source: { type: MutationSourceType.FORM, subscriberId: `section:${sectionRef}` },
|
|
1605
|
-
transportOverride:
|
|
1606
|
-
...currentOperationTransportOverride,
|
|
1607
|
-
requestData,
|
|
1608
|
-
},
|
|
1977
|
+
transportOverride: currentOperationTransportOverride,
|
|
1609
1978
|
});
|
|
1610
1979
|
if (!mutationResult.success) {
|
|
1611
1980
|
if (isConflictMutationFailure(mutationResult)) {
|
|
1612
1981
|
return;
|
|
1613
1982
|
}
|
|
1614
|
-
if (mutationResult.error?.type === MutationErrorType.VALIDATION) {
|
|
1615
|
-
|
|
1983
|
+
if (mutationResult.error?.type === MutationErrorType.VALIDATION && mutationErrorNamesFields(mutationResult.error)) {
|
|
1984
|
+
// Shown at the fields by the RMM event seam below.
|
|
1616
1985
|
return;
|
|
1617
1986
|
}
|
|
1618
1987
|
throw mutationErrorForReport(mutationResult.error, 'Section save failed');
|
|
1619
1988
|
}
|
|
1620
|
-
result = mutationResult.responseData;
|
|
1989
|
+
result = mutationResult.heldForApproval ?? mutationResult.responseData;
|
|
1621
1990
|
}
|
|
1622
1991
|
else {
|
|
1623
1992
|
assertRMMAvailableForDefaultUpdateLikeMutation('ResourceAutomatedForm section save');
|
|
1993
|
+
let requestData;
|
|
1994
|
+
let sentBulkClears = {};
|
|
1995
|
+
if (writesBulkPatch) {
|
|
1996
|
+
// A BULK update has no stored siblings to carry (each selected row has its own): it writes each nested child
|
|
1997
|
+
// by its path, and only what the person changed (#2581). A path into an array or a value type is written as
|
|
1998
|
+
// that whole value, read from the form's full values (`bulkWriteUnits`).
|
|
1999
|
+
const contextFieldNames = Object.keys(contextFieldValues);
|
|
2000
|
+
// The explicit clears this section's fields carry (#2620); a clear on another section waits for its own save.
|
|
2001
|
+
sentBulkClears = bulkClearsWithin(liveBulkClears(), bulkWriteUnits(fieldNames, formSchema));
|
|
2002
|
+
// The full values carry each path whole, except a request field the operation offers (#2744 review N3): that one
|
|
2003
|
+
// takes what the form's offer filter let through (`data`), so a value the operation does not offer is not sent.
|
|
2004
|
+
const fullValues = { ...(formMethodsRef.current?.getValues() ?? data) };
|
|
2005
|
+
for (const offeredField of Object.keys(operation.requestFieldOffers ?? {})) {
|
|
2006
|
+
if (offeredField in data)
|
|
2007
|
+
fullValues[offeredField] = data[offeredField];
|
|
2008
|
+
else
|
|
2009
|
+
delete fullValues[offeredField];
|
|
2010
|
+
}
|
|
2011
|
+
const patch = toBulkPatch(sanitizeAutomatedFormSubmissionData(pickSubmissionDataPaths(fullValues, bulkWriteUnits(fieldNames, formSchema)), { hiddenFieldNames, contextFieldValues, omitClearedFields: omitClearedFieldsForSubmission, schema: formSchema }), contextFieldNames, sentBulkClears);
|
|
2012
|
+
// Nothing set in the section: as for the main submit, a literal update says so instead of sending a write that
|
|
2013
|
+
// would only bump every row, while a VERB still runs (the verb is what was asked).
|
|
2014
|
+
const isLiteralUpdate = operationIdentifier === CoreResourceOperation.UPDATE || operationIdentifier === CoreResourceOperation.UPDATE_MANY;
|
|
2015
|
+
if (isLiteralUpdate && Object.keys(patch).every((key) => contextFieldNames.includes(key))) {
|
|
2016
|
+
injectServerErrors({ [FORM_LEVEL_ERROR_PATH]: tComponent(FrontendComponentType.RESOURCES_LAYOUTS_CREATE, 'bulkNothingToChange') });
|
|
2017
|
+
return;
|
|
2018
|
+
}
|
|
2019
|
+
requestData = mergeRequestDataWithBulkSelection(patch);
|
|
2020
|
+
}
|
|
2021
|
+
else {
|
|
2022
|
+
// A section may hold only SOME of a composite's children, and an UPDATE replaces the nested object whole, so
|
|
2023
|
+
// the body carries the stored siblings of every partially-written parent (#1410): here, the record the form
|
|
2024
|
+
// loaded. Sent at once, so it cannot go stale in a queue.
|
|
2025
|
+
const storedRecord = defaultValues;
|
|
2026
|
+
requestData = mergeRequestDataWithBulkSelection(carryStoredDiscriminators(carryStoredSiblingsIntoPartialWrites(sanitizedData, fieldNames, storedRecord), discriminatorFieldNames, storedRecord));
|
|
2027
|
+
}
|
|
1624
2028
|
result = await doOperationRef.current(currentOperationTransportOverride.operationPathKey, {
|
|
1625
2029
|
contextualParameters: currentOperationTransportOverride.contextualParameters,
|
|
1626
2030
|
requestData,
|
|
1627
2031
|
parentResourcesRequirements: currentOperationTransportOverride.parentResourcesRequirements,
|
|
1628
2032
|
},
|
|
1629
|
-
// silent: form owns the failure UX (catch
|
|
1630
|
-
// suppress the duplicate global toast. See handleSubmit for rationale.
|
|
2033
|
+
// silent: the form owns the failure UX (the catch below), so the global toast is suppressed.
|
|
1631
2034
|
{ silent: true });
|
|
2035
|
+
// No RMM event will write the saved values back, so the form marks them saved itself — unless nothing was saved.
|
|
2036
|
+
if (!readOperationApprovalPending(result))
|
|
2037
|
+
markFieldsSaved(fieldNames, result, Object.fromEntries(fieldNames.map((field) => [field, readPathValue(sanitizedData, field)])));
|
|
2038
|
+
consumeBulkClears(sentBulkClears);
|
|
1632
2039
|
}
|
|
1633
|
-
|
|
2040
|
+
if (tellHeldForApproval(result))
|
|
2041
|
+
return;
|
|
2042
|
+
// The rest of the screen hears about the write (a display of the row re-reads it, a listing refreshes, a
|
|
2043
|
+
// background run is recorded), as after the main submit. Announced as PARTIAL: the form stays open over the same
|
|
2044
|
+
// records, so nothing reads it as the operation being done.
|
|
2045
|
+
announceOutcome(result, { partialWrite: true });
|
|
1634
2046
|
emitRef.current(FrontendEvents.NOTIFY_RESOURCE_SUCCESS, {
|
|
1635
2047
|
...resourceContext,
|
|
1636
2048
|
contextResourceIdentifiers: normalizeContextResourceIdentifiersForOutcome({
|
|
@@ -1649,17 +2061,17 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1649
2061
|
notificationLevel: UserNotificationLevel.SUCCESS,
|
|
1650
2062
|
},
|
|
1651
2063
|
});
|
|
1652
|
-
onSuccessRef.current?.(result);
|
|
1653
2064
|
}
|
|
1654
2065
|
catch (error) {
|
|
2066
|
+
if (error instanceof MutationCancelledError) {
|
|
2067
|
+
return;
|
|
2068
|
+
}
|
|
2069
|
+
const serverValidation = extractServerValidationErrors(error);
|
|
2070
|
+
if (serverValidation) {
|
|
2071
|
+
injectServerErrors(serverValidation.validationErrors);
|
|
2072
|
+
return;
|
|
2073
|
+
}
|
|
1655
2074
|
const err = error instanceof Error ? error : new Error(String(error));
|
|
1656
|
-
onErrorRef.current?.(err);
|
|
1657
|
-
// Resource layer owns the failure UX: emit ONE resource error toast (the
|
|
1658
|
-
// doOperation above is `silent`, so the global toast is suppressed). We do
|
|
1659
|
-
// NOT re-throw: the sole consumer (`Section.tsx` save button) has no catch and
|
|
1660
|
-
// no success/failure branching, so a throw would surface ONLY as an unhandled
|
|
1661
|
-
// promise rejection → a generic global toast. This keeps section-save aligned
|
|
1662
|
-
// with handleSubmit/draft/publish (single, resource-aware toast).
|
|
1663
2075
|
emitRef.current(FrontendEvents.NOTIFY_RESOURCE_ERROR, {
|
|
1664
2076
|
...resourceContext,
|
|
1665
2077
|
contextResourceIdentifiers: normalizeContextResourceIdentifiersForTransport(resourceContext.contextResourceIdentifiers),
|
|
@@ -1673,16 +2085,27 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1673
2085
|
});
|
|
1674
2086
|
}
|
|
1675
2087
|
}, [
|
|
2088
|
+
announceOutcome,
|
|
1676
2089
|
assertRMMAvailableForDefaultUpdateLikeMutation,
|
|
1677
2090
|
currentOperationTransportOverride,
|
|
1678
2091
|
contextFieldValues,
|
|
1679
|
-
contextualParameters,
|
|
1680
2092
|
defaultValues,
|
|
2093
|
+
discriminatorFieldNames,
|
|
2094
|
+
formSchema,
|
|
1681
2095
|
hiddenFieldNames,
|
|
2096
|
+
injectServerErrors,
|
|
2097
|
+
markFieldsSaved,
|
|
1682
2098
|
mergeRequestDataWithBulkSelection,
|
|
2099
|
+
omitClearedFieldsForSubmission,
|
|
2100
|
+
operationIdentifier,
|
|
1683
2101
|
resourceContext,
|
|
1684
2102
|
resourceType,
|
|
1685
2103
|
rmm,
|
|
2104
|
+
tComponent,
|
|
2105
|
+
toBulkPatch,
|
|
2106
|
+
consumeBulkClears,
|
|
2107
|
+
liveBulkClears,
|
|
2108
|
+
writesBulkPatch,
|
|
1686
2109
|
]);
|
|
1687
2110
|
// Autosave config for the provider
|
|
1688
2111
|
/**
|
|
@@ -1711,19 +2134,34 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1711
2134
|
* per-field save before the record exists is a different feature (drafts) with its own surface.
|
|
1712
2135
|
*
|
|
1713
2136
|
* An explicit caller-supplied `autosaveConfig` still wins, unchanged — including its own
|
|
1714
|
-
* `defaultTrigger`, so a caller that genuinely wants form-wide autosave can still ask for it
|
|
2137
|
+
* `defaultTrigger`, so a caller that genuinely wants form-wide autosave can still ask for it — but only where the
|
|
2138
|
+
* form writes fields of records that EXIST (the same rule as a section's Save). Elsewhere it is dropped: with no
|
|
2139
|
+
* record, autosave's direct lane sent the form's own operation, so on a create form every autosaved field CREATED a
|
|
2140
|
+
* record, and on a verb that is not update-like it ran the action once per field.
|
|
1715
2141
|
*/
|
|
1716
2142
|
const derivedAutosaveEnabled = useMemo(
|
|
1717
2143
|
// `effectiveFormOperationType`, not `operationType`: a CUSTOM operation declaring
|
|
1718
2144
|
// `resourceOperationLike: UPDATE` (a `rotate`, say) edits an existing row and autosaves on the
|
|
1719
2145
|
// same terms. That variable is the one the rest of the form filters fields by.
|
|
1720
2146
|
() => autosaveConfig === undefined && deriveAutosaveEnabledFromFields(formFieldShape, effectiveFormOperationType), [autosaveConfig, effectiveFormOperationType, formFieldShape]);
|
|
2147
|
+
// #2288: an operation held for approval never autosaves: each debounced field would file its own request for an
|
|
2148
|
+
// approver to answer. The person saves deliberately, and the whole change is one request.
|
|
2149
|
+
const autosaveWritesRecordFields = isUpdateLikeCoreOperation(effectiveCoreOperation) && operation.requiresApproval === undefined;
|
|
2150
|
+
const autosaveRequestedHere = autosaveConfig?.enabled === true;
|
|
2151
|
+
useEffect(() => {
|
|
2152
|
+
if (!autosaveRequestedHere || autosaveWritesRecordFields || !envLoader.isDevelopment())
|
|
2153
|
+
return;
|
|
2154
|
+
logger.warn('[ResourceAutomatedForm] autosaveConfig is ignored: autosave saves fields of records that exist, and this form creates one or runs an action.', {
|
|
2155
|
+
resourceType,
|
|
2156
|
+
operationIdentifier,
|
|
2157
|
+
});
|
|
2158
|
+
}, [autosaveWritesRecordFields, autosaveRequestedHere, operationIdentifier, resourceType]);
|
|
1721
2159
|
const autosaveProviderConfig = useMemo(() => ({
|
|
1722
|
-
enabled: autosaveConfig?.enabled ?? derivedAutosaveEnabled,
|
|
2160
|
+
enabled: autosaveWritesRecordFields && (autosaveConfig?.enabled ?? derivedAutosaveEnabled),
|
|
1723
2161
|
defaultTrigger: autosaveConfig?.defaultTrigger ?? (derivedAutosaveEnabled ? AutosaveTrigger.NONE : AutosaveTrigger.DEBOUNCE),
|
|
1724
2162
|
debounceMs: autosaveConfig?.debounceMs ?? 500,
|
|
1725
2163
|
savedStateDurationMs: 2000,
|
|
1726
|
-
}), [autosaveConfig, derivedAutosaveEnabled]);
|
|
2164
|
+
}), [autosaveConfig, autosaveWritesRecordFields, derivedAutosaveEnabled]);
|
|
1727
2165
|
// Draft-relaxed schema for draft saves (makes isDraftRelaxed fields optional)
|
|
1728
2166
|
const draftSchema = useMemo(() => {
|
|
1729
2167
|
if (!formSchema || !effectiveDraftConfig?.enabled)
|
|
@@ -1780,7 +2218,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1780
2218
|
}
|
|
1781
2219
|
throw mutationErrorForReport(mutationResult.error, 'Draft save failed');
|
|
1782
2220
|
}
|
|
1783
|
-
result = mutationResult.responseData;
|
|
2221
|
+
result = mutationResult.heldForApproval ?? mutationResult.responseData;
|
|
1784
2222
|
}
|
|
1785
2223
|
else {
|
|
1786
2224
|
assertRMMAvailableForDefaultUpdateLikeMutation('ResourceAutomatedForm draft save');
|
|
@@ -1793,6 +2231,10 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1793
2231
|
{ silent: true });
|
|
1794
2232
|
}
|
|
1795
2233
|
}
|
|
2234
|
+
if (tellHeldForApproval(result)) {
|
|
2235
|
+
onSuccessRef.current?.(result);
|
|
2236
|
+
return;
|
|
2237
|
+
}
|
|
1796
2238
|
setIsDraft(true);
|
|
1797
2239
|
if (shouldEmitFrameworkSuccess) {
|
|
1798
2240
|
emitRef.current(FrontendEvents.NOTIFY_RESOURCE_SUCCESS, {
|
|
@@ -1884,7 +2326,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1884
2326
|
}
|
|
1885
2327
|
throw mutationErrorForReport(mutationResult.error, 'Publish failed');
|
|
1886
2328
|
}
|
|
1887
|
-
result = mutationResult.responseData;
|
|
2329
|
+
result = mutationResult.heldForApproval ?? mutationResult.responseData;
|
|
1888
2330
|
}
|
|
1889
2331
|
else {
|
|
1890
2332
|
assertRMMAvailableForDefaultUpdateLikeMutation('ResourceAutomatedForm publish');
|
|
@@ -1897,6 +2339,10 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1897
2339
|
{ silent: true });
|
|
1898
2340
|
}
|
|
1899
2341
|
}
|
|
2342
|
+
if (tellHeldForApproval(result)) {
|
|
2343
|
+
onSuccessRef.current?.(result);
|
|
2344
|
+
return;
|
|
2345
|
+
}
|
|
1900
2346
|
setIsDraft(false);
|
|
1901
2347
|
if (shouldEmitFrameworkSuccess) {
|
|
1902
2348
|
const frontendNotification = getFrontendNotification(operation);
|
|
@@ -1983,31 +2429,51 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
1983
2429
|
const handleCancelPublish = useCallback(() => {
|
|
1984
2430
|
setPendingPublish(null);
|
|
1985
2431
|
}, []);
|
|
1986
|
-
// ──
|
|
1987
|
-
//
|
|
1988
|
-
//
|
|
1989
|
-
//
|
|
1990
|
-
//
|
|
1991
|
-
//
|
|
1992
|
-
|
|
2432
|
+
// ── Risk confirmation on form submit (#2261) ─────────────────────────────
|
|
2433
|
+
// An operation whose risk level asks for a confirmation (`isRiskyResourceOperation`: HIGH and
|
|
2434
|
+
// CRITICAL) asks for it whether it executes from the action ladder or from this form. The action
|
|
2435
|
+
// ladder confirms only the operations it executes DIRECTLY; one that collects input is handed to
|
|
2436
|
+
// this form instead, so this is where its confirmation must live. It used to gate CRITICAL alone, so
|
|
2437
|
+
// every HIGH verb with a request form — revoking an invitation, with its optional reason — was sent
|
|
2438
|
+
// the moment Submit was pressed. HIGH gets the plain confirm the ladder gives it, CRITICAL the typed
|
|
2439
|
+
// double-validation. Both submit lanes go through it: the ordinary submit and a draft's publish.
|
|
2440
|
+
const requiresSubmitConfirmation = isRiskyResourceOperation(operation.riskLevel);
|
|
2441
|
+
const requiresTypedSubmitConfirmation = operation.riskLevel === ResourceOperationRiskLevel.CRITICAL;
|
|
2442
|
+
// The consequence line, as the action ladder states it: "cannot be undone" only when that is true
|
|
2443
|
+
// (the confirm's generic line says exactly that), and no line at all for an action that can be undone.
|
|
2444
|
+
const riskySubmitConsequence = isIrreversibleOperation(operation) ? undefined : null;
|
|
2445
|
+
// The operation's own words, when it authors them (`resources.<r>.operations.<op>.description`, declared by
|
|
2446
|
+
// `hasDescription`): the same words the danger zone shows beside the action, stated BEFORE the consequence
|
|
2447
|
+
// line rather than instead of it. Deactivating your own account is reversible, but not by you, and only that
|
|
2448
|
+
// sentence says so. `tResourceOperation` answers '' for a description nobody authored.
|
|
2449
|
+
const operationOwnDescription = tResourceOperation(resourceType, String(operation.operationIdentifier), 'description') || undefined;
|
|
1993
2450
|
// The operation's own name, resolved exactly as the action bar names it — so the phrase to type, and a
|
|
1994
2451
|
// named action's submit button, are the label the person clicked.
|
|
1995
2452
|
const operationDisplayTitle = useMemo(() => resolveOperationDisplayTitle(tResourceOperation, resourceType, String(operation.operationIdentifier)), [tResourceOperation, resourceType, operation.operationIdentifier]);
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
2453
|
+
// The submit this form performs once any confirmation is given: a draft-enabled form publishes, every
|
|
2454
|
+
// other form submits.
|
|
2455
|
+
const isDraftPublishLane = Boolean(effectiveDraftConfig?.enabled && draftSchema);
|
|
2456
|
+
const performConfirmedSubmit = useCallback((data) => {
|
|
2457
|
+
if (isDraftPublishLane)
|
|
2458
|
+
void handlePublish(data);
|
|
2459
|
+
else
|
|
2460
|
+
void handleSubmit(data);
|
|
2461
|
+
}, [isDraftPublishLane, handlePublish, handleSubmit]);
|
|
2462
|
+
const handleSubmitWithRiskConfirmation = useCallback((data) => {
|
|
2463
|
+
if (requiresSubmitConfirmation) {
|
|
2464
|
+
setPendingRiskySubmit(data);
|
|
1999
2465
|
return;
|
|
2000
2466
|
}
|
|
2001
|
-
|
|
2002
|
-
}, [
|
|
2003
|
-
const
|
|
2004
|
-
const data =
|
|
2005
|
-
|
|
2467
|
+
performConfirmedSubmit(data);
|
|
2468
|
+
}, [requiresSubmitConfirmation, performConfirmedSubmit]);
|
|
2469
|
+
const handleConfirmRiskySubmit = useCallback(() => {
|
|
2470
|
+
const data = pendingRiskySubmit;
|
|
2471
|
+
setPendingRiskySubmit(null);
|
|
2006
2472
|
if (data !== null)
|
|
2007
|
-
|
|
2008
|
-
}, [
|
|
2009
|
-
const
|
|
2010
|
-
|
|
2473
|
+
performConfirmedSubmit(data);
|
|
2474
|
+
}, [pendingRiskySubmit, performConfirmedSubmit]);
|
|
2475
|
+
const handleCancelRiskySubmit = useCallback(() => {
|
|
2476
|
+
setPendingRiskySubmit(null);
|
|
2011
2477
|
}, []);
|
|
2012
2478
|
// Build default submit button if not provided
|
|
2013
2479
|
// When draft mode is enabled, show "Save as Draft" and "Publish" buttons
|
|
@@ -2173,7 +2639,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
2173
2639
|
// synchronous discriminator seed so RHF initializes with it on the very
|
|
2174
2640
|
// first render (see createSeededDefaultValues).
|
|
2175
2641
|
const effectiveDefaultValues = needsFetch
|
|
2176
|
-
? (
|
|
2642
|
+
? (recordSeededDefaultValues ?? defaultValuesOverride)
|
|
2177
2643
|
: (createSeededDefaultValues ?? defaultValuesOverride);
|
|
2178
2644
|
// Guard against missing schema
|
|
2179
2645
|
if (!formSchema) {
|
|
@@ -2195,15 +2661,20 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
|
|
|
2195
2661
|
dismissAriaLabel: tComponent(FrontendComponentType.RESOURCES_LAYOUTS_CREATE, 'dismiss'),
|
|
2196
2662
|
} : undefined;
|
|
2197
2663
|
// Form content that may or may not be wrapped with AutosaveProvider
|
|
2198
|
-
const formContent = (_jsx(LoadingGate, { i18nKeys: i18nKeys, loadingScopes: loadingScopes, readiness: readiness, children: _jsxs("div", { className: className, children: [_jsx(AlertDialog, { open: !!pendingPublish, onOpenChange: (open) => !open && handleCancelPublish(), children: _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: confirmPublishTitle }), _jsx(AlertDialogDescription, { children: confirmPublishMessage })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { onClick: handleCancelPublish, children: confirmPublishCancel }), _jsx(AlertDialogAction, { onClick: handleConfirmPublish, children: confirmPublishConfirm })] })] }) }),
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2664
|
+
const formContent = (_jsx(LoadingGate, { i18nKeys: i18nKeys, loadingScopes: loadingScopes, readiness: readiness, children: _jsxs("div", { className: className, children: [_jsx(AlertDialog, { open: !!pendingPublish, onOpenChange: (open) => !open && handleCancelPublish(), children: _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: confirmPublishTitle }), _jsx(AlertDialogDescription, { children: confirmPublishMessage })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { onClick: handleCancelPublish, children: confirmPublishCancel }), _jsx(AlertDialogAction, { onClick: handleConfirmPublish, children: confirmPublishConfirm })] })] }) }), pendingRiskySubmit !== null && (_jsx(OperationsConfirmCritical, { open: true, onOpenChange: (open) => { if (!open)
|
|
2665
|
+
handleCancelRiskySubmit(); }, cancelCallback: handleCancelRiskySubmit, validationCallback: handleConfirmRiskySubmit, label: operationDisplayTitle, confirmLabel: operationDisplayTitle, description: riskySubmitConsequence, detail: operationOwnDescription, requireTypedConfirmation: requiresTypedSubmitConfirmation, confirmationPhrase: requiresTypedSubmitConfirmation ? operationDisplayTitle : '' })), remoteUpdateIndicator && remoteUpdateLabels && (_jsx(RemoteChangeNotification, { type: "remote-update", changedFields: remoteUpdateIndicator.changedFields, labels: remoteUpdateLabels, onDismiss: () => setRemoteUpdateIndicator(null) })), _jsx(BulkFieldClearContext.Provider, { value: bulkFieldClearing, children: _jsx(ResourceFormActionsProvider, { value: formActionsValue, children: _jsx(AutomatedForm, { schema: formSchema, defaultValues: effectiveDefaultValues, onSubmit: handleSubmitWithRiskConfirmation, onError: handleError, validationMode: validationMode, disabled: disabled || isSubmitting, labels: labels, layoutRefs: layoutRefs, operationRef: operationIdentifier, operationType: operationType, operationLike: operationLike, coreOperation: effectiveCoreOperation, fileUploadContext: fileUploadContext, contextFieldValues: contextFieldValues, hiddenFieldNames: hiddenFieldNames, generatedFieldOverrides: generatedFieldOverrides, allowedValuesByField: allowedValuesByField,
|
|
2666
|
+
// #2744: what each request field offers, judged against the row an operation on a record acts on.
|
|
2667
|
+
requestFieldOffers: operation.requestFieldOffers, requestFieldOfferRecord: needsFetch ? defaultValues : undefined, inheritanceConfig: inheritanceConfig,
|
|
2668
|
+
// A section Save only where the form writes fields of records that exist (see `formOffersSectionSave`).
|
|
2669
|
+
onSectionSave: formOffersSectionSave({
|
|
2670
|
+
writesRecordFields: isUpdateLikeCoreOperation(effectiveCoreOperation),
|
|
2671
|
+
hasCallerSectionHandler: onSectionSaveProp !== undefined,
|
|
2672
|
+
})
|
|
2673
|
+
? handleSectionSave
|
|
2674
|
+
: undefined, onFormReady: handleFormReady,
|
|
2675
|
+
// Closing the tab or reloading with unsaved edits asks first: a form that edits or creates a record holds
|
|
2676
|
+
// work only the page has. Saved fields stop being dirty (`markFieldsSaved`), so a saved form does not ask.
|
|
2677
|
+
warnOnUnsavedChanges: true, validateFieldUrl: validateFieldUrl, resourceId: primaryResourceId, contextResourceIdentifiers: contextResourceIdentifiersWithResourceId, parentResourcesRequirements: resourceContext.parentResourcesRequirements, navigationZone: navigationZone, chromeMode: defaultEditChromeMode, layoutTemplate: layoutTemplate }, defaultValuesSource) }) })] }) }));
|
|
2207
2678
|
// Wrap with AutosaveProvider if autosave is enabled
|
|
2208
2679
|
if (autosaveProviderConfig.enabled) {
|
|
2209
2680
|
return (_jsxs(AutosaveProvider, { labels: autosaveLabels, validateField: validateAutosaveField, onSave: handleAutosave, rmm: rmm ?? undefined, config: autosaveProviderConfig, children: [_jsx(AutosaveCancelBridge, { cancelRef: cancelPendingAutosavesRef }), formContent] }));
|
|
@@ -2249,18 +2720,14 @@ function DraftSaveButton({ draftSchema, onSaveDraft, disabled, isSavingDraft, la
|
|
|
2249
2720
|
await onSaveDraft(sanitizedValues);
|
|
2250
2721
|
}
|
|
2251
2722
|
else {
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
});
|
|
2261
|
-
erroredPaths.push(fieldPath);
|
|
2262
|
-
}
|
|
2263
|
-
});
|
|
2723
|
+
// Reported exactly as the submit's resolver reports them: with the issue's parameters (so the message translates
|
|
2724
|
+
// with its numbers), and with a rule on the whole object under the form-level key instead of being dropped, which
|
|
2725
|
+
// left a draft that failed only on such a rule with no error anywhere and no save.
|
|
2726
|
+
const fieldErrors = zodIssuesToFieldErrors(result.error.issues);
|
|
2727
|
+
const erroredPaths = Object.keys(fieldErrors);
|
|
2728
|
+
for (const [fieldPath, fieldError] of Object.entries(fieldErrors)) {
|
|
2729
|
+
formContext.setError(fieldPath, fieldError);
|
|
2730
|
+
}
|
|
2264
2731
|
// Audit D4 — same treatment as every other submit-like failure: this
|
|
2265
2732
|
// draft-validation path sets field errors DIRECTLY (not through
|
|
2266
2733
|
// `injectServerErrors`), so it carries its own scroll-to-first-error.
|