@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
|
@@ -16,12 +16,21 @@ import { useOptionalDisplayTemplateContext } from './DisplayTemplateContext.js';
|
|
|
16
16
|
import { DisplayContextKind, useDisplayContextKind } from './DisplayContextKindContext.js';
|
|
17
17
|
import { useFieldScope } from '../../components/resources/skeleton/FieldScopeContext.js';
|
|
18
18
|
import { useDisplayChromeContext } from './chromes/DisplayChromeContext.js';
|
|
19
|
+
import { isEmptyDisplayValue } from './display-value-emptiness.utils.js';
|
|
20
|
+
import { InFieldTilesRow } from './chromes/field-tile-boundaries.js';
|
|
21
|
+
import { resolveDeclaredDisplayChromeMode } from './chromes/display-chrome-mode-resolution.js';
|
|
22
|
+
import { useSummaryValueNaming } from './summary-value-naming.context.js';
|
|
23
|
+
import { keepsItsNameAlone } from '../../core/automated-layout/summary-value-naming.utils.js';
|
|
19
24
|
import { DisplayFieldChrome } from './chromes/DisplayFieldChrome.js';
|
|
25
|
+
import { isWideDisplayValue, useInFieldTiles } from './chromes/field-tiles.utils.js';
|
|
20
26
|
import { Skeleton } from '../../components/feedback/skeleton.js';
|
|
21
27
|
import { useSurfacePolicy } from '../../core/ui/SurfacePolicyContext.js';
|
|
22
28
|
import { getFieldSchema, getNestedValue, getParentData, resolveResponsiveValue } from './display-field-resolution.utils.js';
|
|
23
|
-
import { DisplayChromeMode, getSchemaType, getFieldUIDisplayConfig, getFieldUISummaryDisplayConfig, getShowWhenParams, hasDescriptionForDisplay,
|
|
24
|
-
import { useResourceDisplayContext } from './automatic-displayer.utils.js';
|
|
29
|
+
import { DisplayChromeMode, getSchemaType, getFieldUIDisplayConfig, getFieldUISummaryDisplayConfig, getShowWhenParams, hasDescriptionForDisplay, isEligibleForLayoutDefaultInlineEdit, isInlineEditableByDeclaration, isHiddenForDisplay, FieldSchemaType, getForeignKeyUIDisplay, ViewportBreakpoint, } from '@wildo-ai/zod-decorators';
|
|
30
|
+
import { useResourceDisplayContext, withoutHiddenParentReference } from './automatic-displayer.utils.js';
|
|
31
|
+
import { resolveReferenceDisplayTarget } from './reference-display-target.js';
|
|
32
|
+
import { ParentDisplay } from '@wildo-ai/saas-models';
|
|
33
|
+
import { useResourceRegistrySafe } from '../../core/resources/useResourceRegistry.js';
|
|
25
34
|
import { ResourceLayoutInlineEditDefault } from '../../core/resources/resources.frontend.schemas.js';
|
|
26
35
|
import { AutomatedLayoutFrontendUtils } from '../../core/automated-layout/automated-layout.frontend.utils.js';
|
|
27
36
|
import { LoggerFrontendService } from '../../core/monitoring/logger.frontend.service.js';
|
|
@@ -65,60 +74,6 @@ function resolveSurfaceAutoLabelPlacement(value) {
|
|
|
65
74
|
return undefined;
|
|
66
75
|
}
|
|
67
76
|
}
|
|
68
|
-
/**
|
|
69
|
-
* Emptiness test for the field-level `display.hideWhenEmpty` mechanism.
|
|
70
|
-
*
|
|
71
|
-
* A value counts as empty when it is null / undefined, an empty (or
|
|
72
|
-
* whitespace-only) string, an empty array, or a PLAIN OBJECT with no own
|
|
73
|
-
* enumerable keys. Every other value — including `false` and `0`, which are
|
|
74
|
-
* answers rather than absences — is present. This mirrors what every display
|
|
75
|
-
* formatter treats as the "—" em-dash case, centralized here so a
|
|
76
|
-
* `hideWhenEmpty` field drops out of the read surface entirely instead of
|
|
77
|
-
* rendering the placeholder.
|
|
78
|
-
*
|
|
79
|
-
* ## Why `{}` counts, added 2026-09-18
|
|
80
|
-
*
|
|
81
|
-
* It did not until this change, and the omission made `hideWhenEmpty`
|
|
82
|
-
* unable to express the one thing an object field needs it for. An object
|
|
83
|
-
* whose members are all optional — a context bag, a set of locators — is
|
|
84
|
-
* `{}` whenever none of them applies, and the row then rendered a label
|
|
85
|
-
* with a void under it. There was no other mechanism: `showWhen` compares a
|
|
86
|
-
* value, and `{}` satisfies `EXISTS`.
|
|
87
|
-
*
|
|
88
|
-
* It is consistent rather than special: an empty array was already empty,
|
|
89
|
-
* and an empty object is the same absence in the other container. And the
|
|
90
|
-
* decoration is OPT-IN, so a field reaching this line has already asked to
|
|
91
|
-
* disappear rather than render the placeholder — there is no field for which
|
|
92
|
-
* showing an empty labelled block is the better answer.
|
|
93
|
-
*
|
|
94
|
-
* ## The guard is the whole of the risk
|
|
95
|
-
*
|
|
96
|
-
* `Object.keys()` is empty for far more than a plain object: a `Date`, a
|
|
97
|
-
* `Map`, a `Set`, a `File`, and every class instance whose state lives on its
|
|
98
|
-
* prototype or in private fields. Counting keys without checking the
|
|
99
|
-
* prototype would make every date field on every read surface vanish. So the
|
|
100
|
-
* test is PROTOTYPE-first — `Object.prototype` or a null prototype, nothing
|
|
101
|
-
* else — and `display-field-empty-value.test.tsx` pins each of those shapes
|
|
102
|
-
* as present.
|
|
103
|
-
*/
|
|
104
|
-
function isEmptyDisplayValue(value) {
|
|
105
|
-
if (value === null || value === undefined) {
|
|
106
|
-
return true;
|
|
107
|
-
}
|
|
108
|
-
if (typeof value === 'string') {
|
|
109
|
-
return value.trim() === '';
|
|
110
|
-
}
|
|
111
|
-
if (Array.isArray(value)) {
|
|
112
|
-
return value.length === 0;
|
|
113
|
-
}
|
|
114
|
-
if (typeof value === 'object') {
|
|
115
|
-
const prototype = Object.getPrototypeOf(value);
|
|
116
|
-
if (prototype === Object.prototype || prototype === null) {
|
|
117
|
-
return Object.keys(value).length === 0;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
return false;
|
|
121
|
-
}
|
|
122
77
|
function fieldMatchesDisplayShapingRule(fieldName, rules) {
|
|
123
78
|
if (!fieldName || !rules || rules.length === 0) {
|
|
124
79
|
return false;
|
|
@@ -157,8 +112,8 @@ function DisplayFieldComponent(props) {
|
|
|
157
112
|
* other direction: they map VALUES, and an enum-array's items are exactly the values the map
|
|
158
113
|
* exists for.
|
|
159
114
|
*/
|
|
160
|
-
const indexFreeName = resolvedName
|
|
161
|
-
const isArrayItemPath = resolvedName ?
|
|
115
|
+
const indexFreeName = resolvedName === undefined ? undefined : AutomatedLayoutFrontendUtils.labelDictionaryPath(resolvedName);
|
|
116
|
+
const isArrayItemPath = resolvedName ? AutomatedLayoutFrontendUtils.isArrayItemPath(resolvedName) : false;
|
|
162
117
|
const fieldMetaKey = isArrayItemPath ? undefined : indexFreeName;
|
|
163
118
|
/*
|
|
164
119
|
* Final fallback: the LEAF key, unchanged. The context map already answers for every path it
|
|
@@ -208,8 +163,20 @@ function DisplayFieldComponent(props) {
|
|
|
208
163
|
const isInlineEditDisabledByDisplayShaping = fieldMatchesDisplayShapingRule(resolvedName, ctx?.inlineEditDisabledFieldNames);
|
|
209
164
|
// ── Chrome mode resolution ──
|
|
210
165
|
const { displayChromeMode, sectionChromeMode } = useDisplayChromeContext();
|
|
166
|
+
const inFieldTiles = useInFieldTiles();
|
|
167
|
+
const summaryValueNaming = useSummaryValueNaming();
|
|
211
168
|
const surfaceChromeMode = resolveSurfaceDisplayChromeMode(surfacePolicy.autoRender?.autoFieldChrome);
|
|
212
|
-
|
|
169
|
+
// On a summary whose layout declares no chrome, a value that cannot speak for itself keeps its name
|
|
170
|
+
// (`SummaryValueNamingContext`); a field's or a section's own chrome still outranks the rule.
|
|
171
|
+
const namedBySummaryRule = displayContextKind === DisplayContextKind.SUMMARY
|
|
172
|
+
&& summaryValueNaming
|
|
173
|
+
&& displayConfig?.chromeMode === undefined
|
|
174
|
+
&& sectionChromeMode === undefined
|
|
175
|
+
&& keepsItsNameAlone(schemaType);
|
|
176
|
+
const explicitChromeMode = displayConfig?.chromeMode
|
|
177
|
+
?? sectionChromeMode
|
|
178
|
+
?? (namedBySummaryRule ? DisplayChromeMode.INLINE : undefined)
|
|
179
|
+
?? displayChromeMode;
|
|
213
180
|
const resolvedChromeMode = explicitChromeMode ?? surfaceChromeMode;
|
|
214
181
|
/*
|
|
215
182
|
* The surface's auto label placement is a DEFAULT for undecorated fields — a field whose
|
|
@@ -224,6 +191,8 @@ function DisplayFieldComponent(props) {
|
|
|
224
191
|
? undefined
|
|
225
192
|
: resolveSurfaceAutoLabelPlacement(surfacePolicy.autoRender?.autoLabelPlacement));
|
|
226
193
|
const resolvedLabelStyle = props.labelStyle ?? displayConfig?.labelStyle;
|
|
194
|
+
// Whether this value takes a whole row when it renders as a fact tile — from its shape, never authored.
|
|
195
|
+
const wideValue = isWideDisplayValue(schemaType, displayConfig?.displayMode, schema ? getForeignKeyUIDisplay(schema)?.mode : undefined);
|
|
227
196
|
// forceHide → hideLabel/hideDescription (resolves responsive breakpoint-aware values)
|
|
228
197
|
const breakpoint = ctx?.breakpoint;
|
|
229
198
|
const resolvedForceHide = breakpoint
|
|
@@ -232,9 +201,12 @@ function DisplayFieldComponent(props) {
|
|
|
232
201
|
const forceHideLabel = resolvedForceHide?.label === true;
|
|
233
202
|
const forceHideDescription = resolvedForceHide?.description === true;
|
|
234
203
|
const hideLabel = (props.hideLabel === true) || forceHideLabel;
|
|
235
|
-
|
|
204
|
+
// A summary value the naming rule gave INLINE chrome to is one short fact on a card line: a description it
|
|
205
|
+
// declares for the record page has no place there (the author chose no summary chrome to show it in).
|
|
206
|
+
const hideDescription = (props.hideDescription === true) || forceHideDescription || namedBySummaryRule;
|
|
236
207
|
// ── Resource display context (lightweight read for routing + fileUploadContext) ──
|
|
237
|
-
const { canInlineEdit: contextCanInlineEdit, doInlineUpdate, fileUploadContext, rmm, defaultInlineEdit, defaultEmptyValue, } = useResourceDisplayContext();
|
|
208
|
+
const { canInlineEdit: contextCanInlineEdit, doInlineUpdate, fileUploadContext, rmm, defaultInlineEdit, defaultEmptyValue, parentReferenceConfig, resourceType: displayRootResourceType, } = useResourceDisplayContext();
|
|
209
|
+
const registry = useResourceRegistrySafe()?.registry;
|
|
238
210
|
/*
|
|
239
211
|
* The LAYOUT outranks the surface policy here, and only here.
|
|
240
212
|
*
|
|
@@ -268,7 +240,7 @@ function DisplayFieldComponent(props) {
|
|
|
268
240
|
// fields and this field qualifies. The two are ORed on purpose and the precedence is deliberate:
|
|
269
241
|
// the decorator decides HOW (mode, saveOn, which buttons), the layout default decides only
|
|
270
242
|
// WHETHER — so a field carrying params keeps them under a layout that turns the default on, and a
|
|
271
|
-
// field carrying `inlineEditable: false` is refused by BOTH (`
|
|
243
|
+
// field carrying `inlineEditable: false` is refused by BOTH (`isInlineEditableByDeclaration` is false
|
|
272
244
|
// for it, and `isEligibleForLayoutDefaultInlineEdit` declines it explicitly).
|
|
273
245
|
//
|
|
274
246
|
// Everything else in this conjunction still holds, and that is what keeps the default safe: a
|
|
@@ -276,7 +248,11 @@ function DisplayFieldComponent(props) {
|
|
|
276
248
|
// `onInlineEdit`, or a real UPDATE operation; `isInlineEditDisabledByDisplayShaping` keeps
|
|
277
249
|
// relationship object/array slots fail-closed. See `ResourceLayoutInlineEditDefault` for why a
|
|
278
250
|
// settings layout needs the default at all.
|
|
279
|
-
|
|
251
|
+
// A field the UPDATE excludes is never editable in place, whatever it declares (#2322): the write would strip it
|
|
252
|
+
// and persist nothing while the control reported success. The layout default already declines it
|
|
253
|
+
// (`isEligibleForLayoutDefaultInlineEdit`); this closes the decorator path, so the rule is the engine's rather than
|
|
254
|
+
// each author's.
|
|
255
|
+
const hasDecorator = resolvedName && schema && isInlineEditableByDeclaration(schema);
|
|
280
256
|
const isOfferedByLayoutDefault = (!!resolvedName
|
|
281
257
|
&& !!schema
|
|
282
258
|
&& defaultInlineEdit === ResourceLayoutInlineEditDefault.WRITABLE_FIELDS
|
|
@@ -299,10 +275,28 @@ function DisplayFieldComponent(props) {
|
|
|
299
275
|
if (schema && isHiddenForDisplay(schema)) {
|
|
300
276
|
return _jsx(_Fragment, {});
|
|
301
277
|
}
|
|
278
|
+
// Inside a `<FieldTiles>` host every child of its `<dl>` must be a term/description group. A field whose
|
|
279
|
+
// chrome at this breakpoint is not TILE — one that declares STACKED, INLINE or HIDDEN, an object scope's
|
|
280
|
+
// member that asks for its own chrome — rendered a bare element there, invalid in the list and squeezed
|
|
281
|
+
// into one column (audit B-4). It takes a whole row instead, as the inline-editable array does.
|
|
282
|
+
// The resolver answers `undefined` for a responsive declaration naming no chrome at this breakpoint,
|
|
283
|
+
// which the chrome then draws STACKED — also not a tile.
|
|
284
|
+
const declaredChromeHere = resolveDeclaredDisplayChromeMode(resolvedChromeMode, breakpoint ?? ViewportBreakpoint.DESKTOP);
|
|
285
|
+
const rowInFieldTiles = inFieldTiles && declaredChromeHere !== DisplayChromeMode.TILE;
|
|
286
|
+
// The row's term is announced only when nothing inside the row names the value: the chrome shows no
|
|
287
|
+
// name (HIDDEN, COMPACT, or the label hidden) AND does not give it one for assistive technology itself
|
|
288
|
+
// (a `hidden` label placement, or a summary's `announceName`, renders its own sr-only name).
|
|
289
|
+
const chromeShowsName = !hideLabel
|
|
290
|
+
&& resolvedLabelPlacement !== 'hidden'
|
|
291
|
+
&& declaredChromeHere !== DisplayChromeMode.HIDDEN
|
|
292
|
+
&& declaredChromeHere !== DisplayChromeMode.COMPACT;
|
|
293
|
+
const chromeAnnouncesName = !hideLabel
|
|
294
|
+
&& (resolvedLabelPlacement === 'hidden' || displayContextKind === DisplayContextKind.SUMMARY);
|
|
295
|
+
const rowTermAnnounced = !chromeShowsName && !chromeAnnouncesName;
|
|
302
296
|
// DD-9: Template-as-skeleton — render Skeleton when loading
|
|
303
297
|
const isLoading = ctx?.isLoading ?? false;
|
|
304
298
|
if (isLoading) {
|
|
305
|
-
return (_jsx(DisplayFieldChrome, { mode: resolvedChromeMode, label: label, labelStyle: resolvedLabelStyle, name: resolvedName, labelPlacement: resolvedLabelPlacement, hideLabel: hideLabel, hideDescription: true, tooltip: tooltipProp, children: _jsx(Skeleton, { className: "h-5 w-full" }) }));
|
|
299
|
+
return (_jsx(InFieldTilesRow, { active: rowInFieldTiles, name: resolvedName, label: label, termAnnounced: rowTermAnnounced, children: _jsx(DisplayFieldChrome, { mode: resolvedChromeMode, label: label, labelStyle: resolvedLabelStyle, name: resolvedName, labelPlacement: resolvedLabelPlacement, hideLabel: hideLabel, hideDescription: true, tooltip: tooltipProp, wide: wideValue, announceName: displayContextKind === DisplayContextKind.SUMMARY, children: _jsx(Skeleton, { className: "h-5 w-full" }) }) }));
|
|
306
300
|
}
|
|
307
301
|
// DD-10: Per-field showWhen — hidden by condition.
|
|
308
302
|
// When inside an ObjectScope (pathPrefix set), evaluate showWhen against the scoped
|
|
@@ -314,11 +308,38 @@ function DisplayFieldComponent(props) {
|
|
|
314
308
|
if (showWhenParams && showWhenData && !AutomatedLayoutFrontendUtils.evaluateShowWhen(showWhenParams, showWhenData)) {
|
|
315
309
|
return _jsx(_Fragment, {});
|
|
316
310
|
}
|
|
311
|
+
// A parent reference the surface declared hidden (`ParentDisplay.NONE`) is ABSENT: no value, no empty mark, no
|
|
312
|
+
// field box taking a gap (#2195). Asked only under NONE, and of the reference exactly as the dispatcher will route
|
|
313
|
+
// it to the reference preset (`resolveReferenceDisplayTarget`) — so the field is omitted only when the preset would
|
|
314
|
+
// draw nothing, and a reference to ANOTHER record of the parent's type keeps its box and its value. Checked before
|
|
315
|
+
// any `displayComponent` override on purpose: a parent reference rendered through an override is still the parent.
|
|
316
|
+
if (parentReferenceConfig?.displayMode === ParentDisplay.NONE && resolvedName) {
|
|
317
|
+
const referenceTarget = resolveReferenceDisplayTarget({
|
|
318
|
+
schema,
|
|
319
|
+
value,
|
|
320
|
+
fieldName: resolvedName,
|
|
321
|
+
parentData,
|
|
322
|
+
resourceLinkTrail: props.resourceLinkTrail,
|
|
323
|
+
currentResourceType: displayRootResourceType,
|
|
324
|
+
registry,
|
|
325
|
+
});
|
|
326
|
+
if (referenceTarget && withoutHiddenParentReference({ parentReferenceConfig, ...referenceTarget }).hidesWholeReference) {
|
|
327
|
+
return _jsx(_Fragment, {});
|
|
328
|
+
}
|
|
329
|
+
}
|
|
317
330
|
// Field-level hide-when-empty — a field decorated with
|
|
318
331
|
// `{primitive}UI({ display: { hideWhenEmpty: true } })` is omitted from the
|
|
319
332
|
// DISPLAY surface entirely when its value is empty (no label, no em-dash).
|
|
320
333
|
// Display-only: the edit form still renders the field so it can be filled.
|
|
321
|
-
|
|
334
|
+
//
|
|
335
|
+
// Inside `<FieldTiles>` an empty fact drops out by DEFAULT — a tile that says "—" is clutter on a
|
|
336
|
+
// record, and the form is where an empty field is filled. A field that must show its emptiness there
|
|
337
|
+
// declares `hideWhenEmpty: false`; elsewhere the decorator's own value decides, as before.
|
|
338
|
+
//
|
|
339
|
+
// Except a fact that can be edited IN PLACE: hiding it there removed the only way to fill it on the record
|
|
340
|
+
// (audit B-6), so it keeps its empty tile. An explicit `hideWhenEmpty: true` still hides it.
|
|
341
|
+
const hidesWhenEmpty = displayConfig?.hideWhenEmpty ?? (inFieldTiles && !isInlineEditable);
|
|
342
|
+
if (hidesWhenEmpty && isEmptyDisplayValue(value)) {
|
|
322
343
|
return _jsx(_Fragment, {});
|
|
323
344
|
}
|
|
324
345
|
// No schema — cannot render
|
|
@@ -355,21 +376,28 @@ function DisplayFieldComponent(props) {
|
|
|
355
376
|
resolvedLabelStyle,
|
|
356
377
|
resolvedEmptyValue,
|
|
357
378
|
fileUploadContext,
|
|
379
|
+
wideValue,
|
|
380
|
+
// A summary shows bare values; its chrome still names each one for assistive technology (audit B-10).
|
|
381
|
+
announceName: displayContextKind === DisplayContextKind.SUMMARY,
|
|
358
382
|
};
|
|
359
383
|
return (_jsx(DisplayFieldErrorBoundary, { name: resolvedName, children: isInlineEditable && schemaType === FieldSchemaType.ARRAY ? (
|
|
360
384
|
// Inline-editable ARRAY → a PERSISTENT inline editor (add / edit / remove /
|
|
361
385
|
// reorder, whole-array autosave) instead of the scalar click-to-edit overlay.
|
|
362
386
|
// `isInlineEditable` already guarantees `resolvedName` is a non-empty string.
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
387
|
+
//
|
|
388
|
+
// Inside `<FieldTiles>` the editor takes a whole row as a term/description group of the host's
|
|
389
|
+
// `<dl>`: its own legend names it, so the term is visually hidden. Without this it sat in the
|
|
390
|
+
// `<dl>` as a bare div, with no span, sharing a column with one-line facts.
|
|
391
|
+
_jsx(InFieldTilesRow, { active: inFieldTiles, name: resolvedName, label: label, children: _jsx(DisplayFieldEditableArray, { name: resolvedName, schema: schema, value: value, label: label, description: description, doInlineUpdate: doInlineUpdate, renderField: props.renderField, sectionAppearance: props.sectionAppearance, objectItemLayout: props.objectItemLayout, enumLabels: enumLabels, hideLabel: hideLabel, displayChromeMode: breakpoint
|
|
392
|
+
? resolveResponsiveValue(resolvedChromeMode, breakpoint)
|
|
393
|
+
: (typeof resolvedChromeMode === 'string' ? resolvedChromeMode : undefined) }) })) : isInlineEditable ? (_jsx(InFieldTilesRow, { active: rowInFieldTiles, name: resolvedName, label: label, termAnnounced: rowTermAnnounced, children: _jsx(DisplayFieldEditable, { ...resolvedProps, doInlineUpdate: doInlineUpdate, rmm: rmm }) })) : schemaType === FieldSchemaType.ARRAY && props.sectionAppearance ? (
|
|
366
394
|
// Read-only ARRAY authored via DisplayFieldArray (which sets
|
|
367
395
|
// `sectionAppearance`, GHOST by default) → render it in a controllable
|
|
368
396
|
// SECTION container (legend + appearance), matching the editable path,
|
|
369
397
|
// instead of the default chrome + bare list. Only wrapper-authored
|
|
370
398
|
// arrays pass `sectionAppearance`, so direct DisplayField usages are
|
|
371
|
-
// untouched.
|
|
372
|
-
_jsx(DisplayFieldReadOnlyArraySection, { ...resolvedProps, sectionAppearance: props.sectionAppearance })) : (_jsx(DisplayFieldReadOnly, { ...resolvedProps })) }));
|
|
399
|
+
// untouched. In a tile host it brings its own frame, so it takes a whole row.
|
|
400
|
+
_jsx(InFieldTilesRow, { active: inFieldTiles, name: resolvedName, label: label, children: _jsx(DisplayFieldReadOnlyArraySection, { ...resolvedProps, sectionAppearance: props.sectionAppearance }) })) : (_jsx(InFieldTilesRow, { active: rowInFieldTiles, name: resolvedName, label: label, termAnnounced: rowTermAnnounced, children: _jsx(DisplayFieldReadOnly, { ...resolvedProps }) })) }));
|
|
373
401
|
}
|
|
374
402
|
DisplayFieldComponent.displayName = 'DisplayField';
|
|
375
403
|
export const DisplayField = DisplayFieldComponent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplayField.js","sourceRoot":"","sources":["../../../../../src/components/data-display/DisplayField.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * DisplayField — thin gate component for display fields.\n *\n * Resolves field props from DisplayTemplateContext, evaluates early-return\n * conditions (skeleton, showWhen, missing schema), then routes to:\n * - DisplayFieldEditable (inline editing available)\n * - DisplayFieldReadOnly (pure display)\n *\n * Wraps the routed component in DisplayFieldErrorBoundary for crash isolation.\n *\n * Pattern: Gate → Resolution → Early Returns → Route → ErrorBoundary → Child\n */\n\nimport React from 'react';\nimport { z } from 'zod';\n\nimport { useOptionalDisplayTemplateContext } from './DisplayTemplateContext';\nimport { DisplayContextKind, useDisplayContextKind } from './DisplayContextKindContext';\nimport { useFieldScope } from '~wildo-frontend-lib/components/resources/skeleton/FieldScopeContext';\nimport { useDisplayChromeContext } from './chromes/DisplayChromeContext';\nimport { DisplayFieldChrome } from './chromes/DisplayFieldChrome';\nimport { Skeleton } from '~wildo-frontend-lib/components/feedback/skeleton';\nimport { useSurfacePolicy } from '~wildo-frontend-lib/core/ui/SurfacePolicyContext';\nimport { getFieldSchema, getNestedValue, getParentData, resolveResponsiveValue } from './display-field-resolution.utils';\nimport {\n type DisplayLabelStyle,\n DisplayChromeMode,\n getSchemaType,\n getFieldUIDisplayConfig,\n getFieldUISummaryDisplayConfig,\n getShowWhenParams,\n hasDescriptionForDisplay,\n hasInlineEditableDecorator,\n isEligibleForLayoutDefaultInlineEdit,\n isHiddenForDisplay,\n type DisplayFieldComponent as DisplayFieldComponentEnum,\n FieldSchemaType,\n type ForceHideDisplayConfig,\n ArrayObjectItemLayout,\n type SoloSectionMode,\n} from '@wildo-ai/zod-decorators';\nimport type { AutoEmptyValue, AutoLabelPlacement } from '@wildo-ai/presets-components-models';\n\nimport { useResourceDisplayContext } from './automatic-displayer.utils';\nimport { ResourceLayoutInlineEditDefault } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { AutomatedLayoutFrontendUtils } from '~wildo-frontend-lib/core/automated-layout/automated-layout.frontend.utils';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\n\nimport { DisplayFieldReadOnly } from './DisplayFieldReadOnly';\nimport { DisplayFieldReadOnlyArraySection } from './DisplayFieldReadOnlyArraySection';\nimport { DisplayFieldEditable } from './DisplayFieldEditable';\nimport { DisplayFieldEditableArray } from './DisplayFieldEditableArray';\nimport type { DisplayResourceLinkTrail } from './display-resource-link-trail';\nimport { useExternalDataFieldProvenance } from './external-data-provenance/useExternalDataFieldProvenance';\n\nconst logger = LoggerFrontendService.getLogger();\n\nfunction resolveSurfaceDisplayChromeMode(value: string | undefined): DisplayChromeMode | undefined {\n switch (value) {\n case 'stacked':\n return DisplayChromeMode.STACKED;\n case 'inline':\n return DisplayChromeMode.INLINE;\n case 'compact':\n return DisplayChromeMode.COMPACT;\n default:\n return undefined;\n }\n}\n\nfunction resolveSurfaceAutoEmptyValue(value: string | undefined): AutoEmptyValue | undefined {\n switch (value) {\n case 'em-dash':\n case 'placeholder':\n case 'hidden':\n case 'skeleton':\n return value;\n default:\n return undefined;\n }\n}\n\nfunction resolveSurfaceAutoLabelPlacement(value: string | undefined): AutoLabelPlacement | undefined {\n switch (value) {\n case 'top':\n case 'start':\n case 'inline':\n case 'hidden':\n return value;\n default:\n return undefined;\n }\n}\n\n/**\n * Emptiness test for the field-level `display.hideWhenEmpty` mechanism.\n *\n * A value counts as empty when it is null / undefined, an empty (or\n * whitespace-only) string, an empty array, or a PLAIN OBJECT with no own\n * enumerable keys. Every other value — including `false` and `0`, which are\n * answers rather than absences — is present. This mirrors what every display\n * formatter treats as the \"—\" em-dash case, centralized here so a\n * `hideWhenEmpty` field drops out of the read surface entirely instead of\n * rendering the placeholder.\n *\n * ## Why `{}` counts, added 2026-09-18\n *\n * It did not until this change, and the omission made `hideWhenEmpty`\n * unable to express the one thing an object field needs it for. An object\n * whose members are all optional — a context bag, a set of locators — is\n * `{}` whenever none of them applies, and the row then rendered a label\n * with a void under it. There was no other mechanism: `showWhen` compares a\n * value, and `{}` satisfies `EXISTS`.\n *\n * It is consistent rather than special: an empty array was already empty,\n * and an empty object is the same absence in the other container. And the\n * decoration is OPT-IN, so a field reaching this line has already asked to\n * disappear rather than render the placeholder — there is no field for which\n * showing an empty labelled block is the better answer.\n *\n * ## The guard is the whole of the risk\n *\n * `Object.keys()` is empty for far more than a plain object: a `Date`, a\n * `Map`, a `Set`, a `File`, and every class instance whose state lives on its\n * prototype or in private fields. Counting keys without checking the\n * prototype would make every date field on every read surface vanish. So the\n * test is PROTOTYPE-first — `Object.prototype` or a null prototype, nothing\n * else — and `display-field-empty-value.test.tsx` pins each of those shapes\n * as present.\n */\nfunction isEmptyDisplayValue(value: unknown): boolean {\n if (value === null || value === undefined) {\n return true;\n }\n if (typeof value === 'string') {\n return value.trim() === '';\n }\n if (Array.isArray(value)) {\n return value.length === 0;\n }\n if (typeof value === 'object') {\n const prototype = Object.getPrototypeOf(value);\n if (prototype === Object.prototype || prototype === null) {\n return Object.keys(value).length === 0;\n }\n }\n return false;\n}\n\nfunction fieldMatchesDisplayShapingRule(fieldName: string | undefined, rules?: string[]): boolean {\n if (!fieldName || !rules || rules.length === 0) {\n return false;\n }\n\n return rules.some((rule) => (\n fieldName === rule ||\n fieldName.startsWith(`${rule}.`) ||\n fieldName.startsWith(`${rule}[`)\n ));\n}\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\nexport interface DisplayFieldProps {\n /**\n * Field name — the primary identifier. All other props are resolved from\n * DisplayTemplateContext when absent.\n */\n name?: string;\n\n /** Field schema — resolved from context via `getFieldSchema(ctx.schema, resolvedName)` when absent. */\n schema?: z.ZodTypeAny;\n /** Field schema type — resolved via `getSchemaType(resolvedSchema)` when absent. */\n schemaType?: FieldSchemaType;\n /** Display component override — when set, overrides the schemaType-based component dispatch. */\n displayComponent?: DisplayFieldComponentEnum;\n /** Field value — resolved from context via `getNestedValue(ctx.data, resolvedName)` when absent. */\n value?: unknown;\n /** Enum labels — resolved from context via `ctx.enumLabels[resolvedName]` when absent. */\n enumLabels?: Record<string, string>;\n /** Field label — resolved from context via `ctx.fieldLabels[resolvedName]` when absent. */\n label?: string;\n /** Field description — resolved from context via `ctx.fieldDescriptions[resolvedName]` when absent. */\n description?: string;\n /**\n * Tooltip text to display next to the field label.\n * Resolved from i18n via `ctx.fieldTooltips[resolvedName]` when absent.\n */\n tooltip?: string;\n /** When true, label is hidden regardless of chrome mode. */\n hideLabel?: boolean;\n /** When true, description is hidden regardless of chrome mode. */\n hideDescription?: boolean;\n /** Explicit label placement; falls back to surface policy when absent. */\n labelPlacement?: AutoLabelPlacement;\n /** Label styling override (small-title labels etc.); falls back to the field's decorator `display.labelStyle`. */\n labelStyle?: DisplayLabelStyle;\n className?: string;\n\n /** Force disable inline editing for this specific field. */\n disableInlineEdit?: boolean;\n\n /**\n * @internal Recursion plumbing — set by the display pipeline, not by a caller.\n *\n * Where this subtree sits in RESOURCE terms: which resource its fields belong to, and how many\n * relationship objects were expanded in place to reach it. Absent at the display root.\n *\n * This replaced a bare `depth: number` that every nested object and array item incremented. That\n * number counted a record's own structure — which is finite by construction — and never counted\n * the traversal that can actually run away, so it truncated real data while guarding nothing.\n * See `display-resource-link-trail.ts`.\n */\n resourceLinkTrail?: DisplayResourceLinkTrail;\n\n /**\n * The parent data object containing this field (REL-02).\n * Resolved from context via `getParentData(ctx.data, pathPrefix)` when absent.\n */\n parentData?: Record<string, unknown>;\n\n /**\n * @internal Array plumbing — set via `DisplayFieldArray`, not directly.\n * Per-array-item TEMPLATE, forwarded to `AutomatedArrayField.renderField`\n * for INLINE-EDITABLE arrays. Receives `(itemPath, itemSchema)` scoped to the\n * array's local edit form (e.g. `checklist.0`).\n */\n renderField?: (name: string, schema: z.ZodTypeAny) => React.ReactNode;\n /** @internal Array plumbing — set via `DisplayFieldArray`. Array section-frame appearance. */\n sectionAppearance?: SoloSectionMode;\n /** @internal Array plumbing — set via `DisplayFieldArray`. Per-placement item-layout override. */\n objectItemLayout?: ArrayObjectItemLayout;\n}\n\n// =============================================================================\n// GATE COMPONENT\n// =============================================================================\n\nfunction DisplayFieldComponent(props: DisplayFieldProps): React.JSX.Element {\n // ── Context resolution ──\n const ctx = useOptionalDisplayTemplateContext();\n const { pathPrefix } = useFieldScope();\n const surfacePolicy = useSurfacePolicy();\n const displayContextKind = useDisplayContextKind();\n\n const effectiveName = props.name;\n const resolvedName = effectiveName\n ? (pathPrefix ? `${pathPrefix}.${effectiveName}` : effectiveName)\n : undefined;\n\n const schema = props.schema ?? (resolvedName ? getFieldSchema(ctx?.schema, resolvedName) : undefined);\n const schemaType = props.schemaType ?? (schema ? getSchemaType(schema) : undefined);\n const value = props.value ?? (resolvedName ? getNestedValue(ctx?.data, resolvedName) : undefined);\n /*\n * Context lookups are INDEX-FREE: an array item's field resolves as `constraints[0].kind`, but\n * the label maps are keyed by the schema path (`constraints.kind`) — one label set per FIELD,\n * not per row. Stripping the indices is what lets an authored label or enum label inside an\n * entry collection resolve at all; before this each silently fell back (the enum to its raw\n * wire value, the label to the formatted field name — the second was invisible wherever the\n * fallback happened to read well, which is how it outlived the enum fix).\n *\n * With one carve-out: a path ENDING in an index is an array ITEM, not a field. An item must\n * never inherit its array's label/description — stripping there put the array's label on every\n * row (\"Accepted when · Accepted when · Accepted when\"). Enum labels are the exception in the\n * other direction: they map VALUES, and an enum-array's items are exactly the values the map\n * exists for.\n */\n const indexFreeName = resolvedName?.replace(/\\[\\d+\\]/g, '');\n const isArrayItemPath = resolvedName ? /\\[\\d+\\]$/.test(resolvedName) : false;\n const fieldMetaKey = isArrayItemPath ? undefined : indexFreeName;\n /*\n * Final fallback: the LEAF key, unchanged. The context map already answers for every path it\n * registered, so this only fires for paths the label walk cannot reach (union-variant members,\n * depths past the walk) — where the object dispatcher used to force-feed the same leaf as an\n * explicit prop, winning over authored labels.\n *\n * It is a KEY, not words derived from one (#420): a leaf that shows up as `streetName` is\n * visibly unlabelled and gets authored, where \"Street Name\" reads as finished and never does.\n */\n const leafFallbackLabel = fieldMetaKey\n ? AutomatedLayoutFrontendUtils.unresolvedFieldLabel(fieldMetaKey.split('.').pop() ?? fieldMetaKey)\n : undefined;\n const label = props.label ?? (fieldMetaKey ? ctx?.fieldLabels?.[fieldMetaKey] : undefined) ?? leafFallbackLabel;\n /*\n * The DECLARATION decides whether a description renders, not the presence of a resolved string.\n *\n * `{primitive}UI.display.showDescription` is documented as an \"opt-in for description text below\n * the field value\" — and it was only ever an i18n GENERATION flag: it tells the companion to\n * produce the key, and nothing read it at render time. So a field resolved whatever description\n * its label bundle happened to contain, and turning the flag OFF changed nothing until somebody\n * regenerated labels — which needs a running companion, and until then the surface keeps showing\n * a sentence its schema no longer asks for. That is a generated artifact outranking the source\n * it was generated from.\n *\n * An explicitly passed `description` prop still wins: a template author writing one is making the\n * declaration at the call site.\n */\n const declaresDisplayDescription = schema ? hasDescriptionForDisplay(schema) : false;\n const description = props.description\n ?? (fieldMetaKey && declaresDisplayDescription ? ctx?.fieldDescriptions?.[fieldMetaKey] : undefined);\n const tooltipProp = props.tooltip ?? (fieldMetaKey ? ctx?.fieldTooltips?.[fieldMetaKey] : undefined);\n const enumLabels = props.enumLabels\n ?? (indexFreeName ? ctx?.enumLabels?.[indexFreeName] : undefined);\n // SUMMARY surfaces resolve base display params with `summaryOverride` merged\n // over `display` (the {primitive}UI decorator contract for cards/FK previews).\n const displayConfig = schema\n ? (displayContextKind === DisplayContextKind.SUMMARY\n ? getFieldUISummaryDisplayConfig(schema)\n : getFieldUIDisplayConfig(schema))\n : undefined;\n const displayComponent = props.displayComponent ?? displayConfig?.component;\n const parentData = props.parentData ?? getParentData(ctx?.data, pathPrefix || undefined);\n const disableInlineEdit = props.disableInlineEdit ?? false;\n const className = props.className;\n const isHiddenByDisplayShaping = fieldMatchesDisplayShapingRule(resolvedName, ctx?.hiddenFieldNames);\n const isInlineEditDisabledByDisplayShaping = fieldMatchesDisplayShapingRule(\n resolvedName,\n ctx?.inlineEditDisabledFieldNames,\n );\n\n // ── Chrome mode resolution ──\n const { displayChromeMode, sectionChromeMode } = useDisplayChromeContext();\n const surfaceChromeMode = resolveSurfaceDisplayChromeMode(surfacePolicy.autoRender?.autoFieldChrome);\n const explicitChromeMode = displayConfig?.chromeMode ?? sectionChromeMode ?? displayChromeMode;\n const resolvedChromeMode = explicitChromeMode ?? surfaceChromeMode;\n /*\n * The surface's auto label placement is a DEFAULT for undecorated fields — a field whose\n * decorator declares its own chromeMode has chosen its presentation, and the chrome derives\n * placement from that mode. Before this guard, a surface-level `autoLabelPlacement: 'top'`\n * silently outranked every `chromeMode: INLINE` decoration: the chrome received mode INLINE\n * plus placement 'top' and rendered the STACKED branch, so INLINE was unreachable on any\n * surface that states a default — which is every resource READ page.\n */\n const resolvedLabelPlacement = props.labelPlacement\n ?? (displayConfig?.chromeMode !== undefined\n ? undefined\n : resolveSurfaceAutoLabelPlacement(surfacePolicy.autoRender?.autoLabelPlacement));\n const resolvedLabelStyle = props.labelStyle ?? displayConfig?.labelStyle;\n\n // forceHide → hideLabel/hideDescription (resolves responsive breakpoint-aware values)\n const breakpoint = ctx?.breakpoint;\n const resolvedForceHide = breakpoint\n ? resolveResponsiveValue<ForceHideDisplayConfig>(displayConfig?.forceHide, breakpoint)\n : (displayConfig?.forceHide as ForceHideDisplayConfig | undefined);\n const forceHideLabel = resolvedForceHide?.label === true;\n const forceHideDescription = resolvedForceHide?.description === true;\n\n const hideLabel = (props.hideLabel === true) || forceHideLabel;\n const hideDescription = (props.hideDescription === true) || forceHideDescription;\n\n // ── Resource display context (lightweight read for routing + fileUploadContext) ──\n const {\n canInlineEdit: contextCanInlineEdit,\n doInlineUpdate,\n fileUploadContext,\n rmm,\n defaultInlineEdit,\n defaultEmptyValue,\n } = useResourceDisplayContext();\n\n /*\n * The LAYOUT outranks the surface policy here, and only here.\n *\n * `AutoEmptyValue` is declared per surface variant — BASE, RAISED, OVERLAY and INSET all say\n * `em-dash` — which is right for a surface, because a surface knows nothing about the fields it\n * happens to hold. In a dense table or a summary card a dash IS correct: the reader is scanning\n * and meaning comes from the neighbours.\n *\n * A settings layout knows something the surface cannot: its rows are the content, read one at a\n * time to decide something, and there an em dash refuses to say which of four things it means.\n * That layout says so once (`defaultEmptyValue`) rather than every field saying it.\n *\n * A layout with no opinion omits it and the surface policy decides exactly as before — which is\n * every layout in the product except the settings ones that opt in.\n */\n const resolvedEmptyValue = defaultEmptyValue\n ?? resolveSurfaceAutoEmptyValue(surfacePolicy.autoRender?.autoEmptyValue);\n\n // ── Provenance (#1997) ──\n //\n // A field an external-data pipeline writes says where its value came from and how current it is. Only a TOP-LEVEL\n // field of the displayed record can be pipeline-written, so a field inside an object scope (a `pathPrefix`) or an\n // array item never asks. SUMMARY surfaces (cards, FK previews) never show the cue, so they never cause the read.\n // The chrome suppresses it in COMPACT and HIDDEN on its own.\n const provenance = useExternalDataFieldProvenance({\n fieldName: !pathPrefix && !isArrayItemPath ? resolvedName : undefined,\n enabled: displayContextKind !== DisplayContextKind.SUMMARY && !props.resourceLinkTrail,\n });\n\n // ── Inline edit gate ──\n //\n // A field is offered in place when it ASKS (the decorator) or when its LAYOUT offers its writable\n // fields and this field qualifies. The two are ORed on purpose and the precedence is deliberate:\n // the decorator decides HOW (mode, saveOn, which buttons), the layout default decides only\n // WHETHER — so a field carrying params keeps them under a layout that turns the default on, and a\n // field carrying `inlineEditable: false` is refused by BOTH (`hasInlineEditableDecorator` is false\n // for it, and `isEligibleForLayoutDefaultInlineEdit` declines it explicitly).\n //\n // Everything else in this conjunction still holds, and that is what keeps the default safe: a\n // layout cannot manufacture a write path. `contextCanInlineEdit` requires an RMM, an\n // `onInlineEdit`, or a real UPDATE operation; `isInlineEditDisabledByDisplayShaping` keeps\n // relationship object/array slots fail-closed. See `ResourceLayoutInlineEditDefault` for why a\n // settings layout needs the default at all.\n const hasDecorator = resolvedName && schema && hasInlineEditableDecorator(schema);\n const isOfferedByLayoutDefault = (\n !!resolvedName\n && !!schema\n && defaultInlineEdit === ResourceLayoutInlineEditDefault.WRITABLE_FIELDS\n && isEligibleForLayoutDefaultInlineEdit(schema)\n );\n const isInlineEditable = (\n !disableInlineEdit &&\n !isInlineEditDisabledByDisplayShaping &&\n contextCanInlineEdit &&\n (!!hasDecorator || isOfferedByLayoutDefault)\n );\n\n // ── Early returns (after all hooks) ──\n\n if (isHiddenByDisplayShaping) {\n return <></>;\n }\n\n // Decorator-level hidden — a field marked `.isHidden()` (display variant) must\n // never render in ANY display surface. This covers both the explicit-layout path\n // (a `<DisplayField name=\"x\" />` whose schema is `.isHidden()`) and the recursive\n // object-render path (DisplayValueDispatcher renders each nested field through this\n // gate), so hidden audit/internal sub-fields stay out of whole-object renders too.\n // (`isHiddenByDisplayShaping` above handles runtime/relationship shaping via the\n // `hiddenFieldNames` context; this handles the static schema decorator.)\n if (schema && isHiddenForDisplay(schema)) {\n return <></>;\n }\n\n // DD-9: Template-as-skeleton — render Skeleton when loading\n const isLoading = ctx?.isLoading ?? false;\n if (isLoading) {\n return (\n <DisplayFieldChrome\n mode={resolvedChromeMode}\n label={label}\n labelStyle={resolvedLabelStyle}\n name={resolvedName}\n labelPlacement={resolvedLabelPlacement}\n hideLabel={hideLabel}\n hideDescription={true}\n tooltip={tooltipProp}\n >\n <Skeleton className=\"h-5 w-full\" />\n </DisplayFieldChrome>\n );\n }\n\n // DD-10: Per-field showWhen — hidden by condition.\n // When inside an ObjectScope (pathPrefix set), evaluate showWhen against the scoped\n // parent data so sibling references resolve correctly (e.g., showWhen({ field: 'country' })\n // on address.city checks address.country, not root.country).\n // Falls back to root data when no pathPrefix or parent data is unavailable.\n const showWhenParams = schema ? getShowWhenParams(schema) : undefined;\n const showWhenData = (pathPrefix && parentData) ? parentData : ctx?.data;\n if (showWhenParams && showWhenData && !AutomatedLayoutFrontendUtils.evaluateShowWhen(showWhenParams, showWhenData)) {\n return <></>;\n }\n\n // Field-level hide-when-empty — a field decorated with\n // `{primitive}UI({ display: { hideWhenEmpty: true } })` is omitted from the\n // DISPLAY surface entirely when its value is empty (no label, no em-dash).\n // Display-only: the edit form still renders the field so it can be filled.\n if (displayConfig?.hideWhenEmpty && isEmptyDisplayValue(value)) {\n return <></>;\n }\n\n // No schema — cannot render\n if (!schema || !schemaType) {\n logger.error('[DisplayField] Cannot resolve schema for field', { name: resolvedName });\n return <></>;\n }\n\n // ── Resolved props for child components ──\n const resolvedProps = {\n schema,\n schemaType,\n value,\n fieldName: resolvedName,\n label,\n description,\n tooltip: tooltipProp,\n provenance,\n enumLabels,\n displayComponent,\n parentData,\n resourceLinkTrail: props.resourceLinkTrail,\n /*\n * The per-item template now reaches the READ path too. It used to be forwarded only on the\n * inline-editable ARRAY branch below, so `DisplayFieldArray.renderItem` was accepted and\n * silently ignored on every display template — measured: the rendered page was byte-identical\n * with and without it.\n */\n renderItem: props.renderField,\n className,\n hideLabel,\n hideDescription,\n resolvedChromeMode,\n resolvedLabelPlacement,\n resolvedLabelStyle,\n resolvedEmptyValue,\n fileUploadContext,\n };\n\n return (\n <DisplayFieldErrorBoundary name={resolvedName}>\n {isInlineEditable && schemaType === FieldSchemaType.ARRAY ? (\n // Inline-editable ARRAY → a PERSISTENT inline editor (add / edit / remove /\n // reorder, whole-array autosave) instead of the scalar click-to-edit overlay.\n // `isInlineEditable` already guarantees `resolvedName` is a non-empty string.\n <DisplayFieldEditableArray\n name={resolvedName as string}\n schema={schema}\n value={value}\n label={label}\n description={description}\n doInlineUpdate={doInlineUpdate}\n renderField={props.renderField}\n sectionAppearance={props.sectionAppearance}\n objectItemLayout={props.objectItemLayout}\n enumLabels={enumLabels}\n displayChromeMode={breakpoint\n ? resolveResponsiveValue<DisplayChromeMode>(resolvedChromeMode, breakpoint)\n : (typeof resolvedChromeMode === 'string' ? resolvedChromeMode : undefined)}\n />\n ) : isInlineEditable ? (\n <DisplayFieldEditable\n {...resolvedProps}\n doInlineUpdate={doInlineUpdate}\n rmm={rmm}\n />\n ) : schemaType === FieldSchemaType.ARRAY && props.sectionAppearance ? (\n // Read-only ARRAY authored via DisplayFieldArray (which sets\n // `sectionAppearance`, GHOST by default) → render it in a controllable\n // SECTION container (legend + appearance), matching the editable path,\n // instead of the default chrome + bare list. Only wrapper-authored\n // arrays pass `sectionAppearance`, so direct DisplayField usages are\n // untouched.\n <DisplayFieldReadOnlyArraySection {...resolvedProps} sectionAppearance={props.sectionAppearance} />\n ) : (\n <DisplayFieldReadOnly {...resolvedProps} />\n )}\n </DisplayFieldErrorBoundary>\n );\n}\n\nDisplayFieldComponent.displayName = 'DisplayField';\n\nexport const DisplayField: typeof DisplayFieldComponent & { displayName: string } = DisplayFieldComponent;\n\n// =============================================================================\n// ERROR BOUNDARY (ROBUST-01)\n// =============================================================================\n\ninterface DisplayFieldErrorBoundaryProps {\n name?: string;\n children: React.ReactNode;\n}\n\ninterface DisplayFieldErrorBoundaryState {\n hasError: boolean;\n}\n\n/**\n * Lightweight error boundary wrapping individual DisplayField instances.\n * Prevents a single malformed field value from crashing the entire page.\n *\n * Uses hardcoded English for the fallback message because class components\n * cannot call hooks (useI18n). Error boundaries are a last resort — the\n * message is developer-facing, not user-facing in normal operation.\n */\nexport class DisplayFieldErrorBoundary extends React.Component<\n DisplayFieldErrorBoundaryProps,\n DisplayFieldErrorBoundaryState\n> {\n state: DisplayFieldErrorBoundaryState = { hasError: false };\n\n static getDerivedStateFromError(): DisplayFieldErrorBoundaryState {\n return { hasError: true };\n }\n\n componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void {\n const fieldId = this.props.name;\n logger.error('[DisplayField] Error boundary caught error', {\n name: fieldId,\n error: error.message,\n componentStack: errorInfo.componentStack,\n });\n }\n\n render(): React.ReactNode {\n const fieldId = this.props.name;\n if (this.state.hasError) {\n return (\n <div className=\"flex items-center gap-element px-card-sm py-item-xs rounded-md bg-destructive/10 border border-destructive/20\">\n <span className=\"text-destructive text-sm\">Error rendering field</span>\n {fieldId && (\n <code className=\"text-xs text-destructive/70 px-item-xs rounded bg-destructive/5\">{fieldId}</code>\n )}\n </div>\n );\n }\n return this.props.children;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"DisplayField.js","sourceRoot":"","sources":["../../../../../src/components/data-display/DisplayField.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * DisplayField — thin gate component for display fields.\n *\n * Resolves field props from DisplayTemplateContext, evaluates early-return\n * conditions (skeleton, showWhen, missing schema), then routes to:\n * - DisplayFieldEditable (inline editing available)\n * - DisplayFieldReadOnly (pure display)\n *\n * Wraps the routed component in DisplayFieldErrorBoundary for crash isolation.\n *\n * Pattern: Gate → Resolution → Early Returns → Route → ErrorBoundary → Child\n */\n\nimport React from 'react';\nimport { z } from 'zod';\n\nimport { useOptionalDisplayTemplateContext } from './DisplayTemplateContext';\nimport { DisplayContextKind, useDisplayContextKind } from './DisplayContextKindContext';\nimport { useFieldScope } from '~wildo-frontend-lib/components/resources/skeleton/FieldScopeContext';\nimport { useDisplayChromeContext } from './chromes/DisplayChromeContext';\nimport { isEmptyDisplayValue } from './display-value-emptiness.utils';\nimport { InFieldTilesRow } from './chromes/field-tile-boundaries';\nimport { resolveDeclaredDisplayChromeMode } from './chromes/display-chrome-mode-resolution';\nimport { useSummaryValueNaming } from './summary-value-naming.context';\nimport { keepsItsNameAlone } from '~wildo-frontend-lib/core/automated-layout/summary-value-naming.utils';\nimport { DisplayFieldChrome } from './chromes/DisplayFieldChrome';\nimport { isWideDisplayValue, useInFieldTiles } from './chromes/field-tiles.utils';\nimport { Skeleton } from '~wildo-frontend-lib/components/feedback/skeleton';\nimport { useSurfacePolicy } from '~wildo-frontend-lib/core/ui/SurfacePolicyContext';\nimport { getFieldSchema, getNestedValue, getParentData, resolveResponsiveValue } from './display-field-resolution.utils';\nimport {\n type DisplayLabelStyle,\n DisplayChromeMode,\n getSchemaType,\n getFieldUIDisplayConfig,\n getFieldUISummaryDisplayConfig,\n getShowWhenParams,\n hasDescriptionForDisplay,\n isEligibleForLayoutDefaultInlineEdit,\n isInlineEditableByDeclaration,\n isHiddenForDisplay,\n type DisplayFieldComponent as DisplayFieldComponentEnum,\n FieldSchemaType,\n type ForceHideDisplayConfig,\n ArrayObjectItemLayout,\n type SoloSectionMode,\n getForeignKeyUIDisplay,\n ViewportBreakpoint,\n} from '@wildo-ai/zod-decorators';\nimport type { AutoEmptyValue, AutoLabelPlacement } from '@wildo-ai/presets-components-models';\n\nimport { useResourceDisplayContext, withoutHiddenParentReference } from './automatic-displayer.utils';\nimport { resolveReferenceDisplayTarget } from './reference-display-target';\nimport { ParentDisplay, type ResourceType } from '@wildo-ai/saas-models';\nimport { useResourceRegistrySafe } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { ResourceLayoutInlineEditDefault } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { AutomatedLayoutFrontendUtils } from '~wildo-frontend-lib/core/automated-layout/automated-layout.frontend.utils';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\n\nimport { DisplayFieldReadOnly } from './DisplayFieldReadOnly';\nimport { DisplayFieldReadOnlyArraySection } from './DisplayFieldReadOnlyArraySection';\nimport { DisplayFieldEditable } from './DisplayFieldEditable';\nimport { DisplayFieldEditableArray } from './DisplayFieldEditableArray';\nimport type { DisplayResourceLinkTrail } from './display-resource-link-trail';\nimport { useExternalDataFieldProvenance } from './external-data-provenance/useExternalDataFieldProvenance';\n\nconst logger = LoggerFrontendService.getLogger();\n\nfunction resolveSurfaceDisplayChromeMode(value: string | undefined): DisplayChromeMode | undefined {\n switch (value) {\n case 'stacked':\n return DisplayChromeMode.STACKED;\n case 'inline':\n return DisplayChromeMode.INLINE;\n case 'compact':\n return DisplayChromeMode.COMPACT;\n default:\n return undefined;\n }\n}\n\nfunction resolveSurfaceAutoEmptyValue(value: string | undefined): AutoEmptyValue | undefined {\n switch (value) {\n case 'em-dash':\n case 'placeholder':\n case 'hidden':\n case 'skeleton':\n return value;\n default:\n return undefined;\n }\n}\n\nfunction resolveSurfaceAutoLabelPlacement(value: string | undefined): AutoLabelPlacement | undefined {\n switch (value) {\n case 'top':\n case 'start':\n case 'inline':\n case 'hidden':\n return value;\n default:\n return undefined;\n }\n}\n\nfunction fieldMatchesDisplayShapingRule(fieldName: string | undefined, rules?: string[]): boolean {\n if (!fieldName || !rules || rules.length === 0) {\n return false;\n }\n\n return rules.some((rule) => (\n fieldName === rule ||\n fieldName.startsWith(`${rule}.`) ||\n fieldName.startsWith(`${rule}[`)\n ));\n}\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\nexport interface DisplayFieldProps {\n /**\n * Field name — the primary identifier. All other props are resolved from\n * DisplayTemplateContext when absent.\n */\n name?: string;\n\n /** Field schema — resolved from context via `getFieldSchema(ctx.schema, resolvedName)` when absent. */\n schema?: z.ZodTypeAny;\n /** Field schema type — resolved via `getSchemaType(resolvedSchema)` when absent. */\n schemaType?: FieldSchemaType;\n /** Display component override — when set, overrides the schemaType-based component dispatch. */\n displayComponent?: DisplayFieldComponentEnum;\n /** Field value — resolved from context via `getNestedValue(ctx.data, resolvedName)` when absent. */\n value?: unknown;\n /** Enum labels — resolved from context via `ctx.enumLabels[resolvedName]` when absent. */\n enumLabels?: Record<string, string>;\n /** Field label — resolved from context via `ctx.fieldLabels[resolvedName]` when absent. */\n label?: string;\n /** Field description — resolved from context via `ctx.fieldDescriptions[resolvedName]` when absent. */\n description?: string;\n /**\n * Tooltip text to display next to the field label.\n * Resolved from i18n via `ctx.fieldTooltips[resolvedName]` when absent.\n */\n tooltip?: string;\n /** When true, label is hidden regardless of chrome mode. */\n hideLabel?: boolean;\n /** When true, description is hidden regardless of chrome mode. */\n hideDescription?: boolean;\n /** Explicit label placement; falls back to surface policy when absent. */\n labelPlacement?: AutoLabelPlacement;\n /** Label styling override (small-title labels etc.); falls back to the field's decorator `display.labelStyle`. */\n labelStyle?: DisplayLabelStyle;\n className?: string;\n\n /** Force disable inline editing for this specific field. */\n disableInlineEdit?: boolean;\n\n /**\n * @internal Recursion plumbing — set by the display pipeline, not by a caller.\n *\n * Where this subtree sits in RESOURCE terms: which resource its fields belong to, and how many\n * relationship objects were expanded in place to reach it. Absent at the display root.\n *\n * This replaced a bare `depth: number` that every nested object and array item incremented. That\n * number counted a record's own structure — which is finite by construction — and never counted\n * the traversal that can actually run away, so it truncated real data while guarding nothing.\n * See `display-resource-link-trail.ts`.\n */\n resourceLinkTrail?: DisplayResourceLinkTrail;\n\n /**\n * The parent data object containing this field (REL-02).\n * Resolved from context via `getParentData(ctx.data, pathPrefix)` when absent.\n */\n parentData?: Record<string, unknown>;\n\n /**\n * @internal Array plumbing — set via `DisplayFieldArray`, not directly.\n * Per-array-item TEMPLATE, forwarded to `AutomatedArrayField.renderField`\n * for INLINE-EDITABLE arrays. Receives `(itemPath, itemSchema)` scoped to the\n * array's local edit form (e.g. `checklist.0`).\n */\n renderField?: (name: string, schema: z.ZodTypeAny) => React.ReactNode;\n /** @internal Array plumbing — set via `DisplayFieldArray`. Array section-frame appearance. */\n sectionAppearance?: SoloSectionMode;\n /** @internal Array plumbing — set via `DisplayFieldArray`. Per-placement item-layout override. */\n objectItemLayout?: ArrayObjectItemLayout;\n}\n\n// =============================================================================\n// GATE COMPONENT\n// =============================================================================\n\nfunction DisplayFieldComponent(props: DisplayFieldProps): React.JSX.Element {\n // ── Context resolution ──\n const ctx = useOptionalDisplayTemplateContext();\n const { pathPrefix } = useFieldScope();\n const surfacePolicy = useSurfacePolicy();\n const displayContextKind = useDisplayContextKind();\n\n const effectiveName = props.name;\n const resolvedName = effectiveName\n ? (pathPrefix ? `${pathPrefix}.${effectiveName}` : effectiveName)\n : undefined;\n\n const schema = props.schema ?? (resolvedName ? getFieldSchema(ctx?.schema, resolvedName) : undefined);\n const schemaType = props.schemaType ?? (schema ? getSchemaType(schema) : undefined);\n const value = props.value ?? (resolvedName ? getNestedValue(ctx?.data, resolvedName) : undefined);\n /*\n * Context lookups are INDEX-FREE: an array item's field resolves as `constraints[0].kind`, but\n * the label maps are keyed by the schema path (`constraints.kind`) — one label set per FIELD,\n * not per row. Stripping the indices is what lets an authored label or enum label inside an\n * entry collection resolve at all; before this each silently fell back (the enum to its raw\n * wire value, the label to the formatted field name — the second was invisible wherever the\n * fallback happened to read well, which is how it outlived the enum fix).\n *\n * With one carve-out: a path ENDING in an index is an array ITEM, not a field. An item must\n * never inherit its array's label/description — stripping there put the array's label on every\n * row (\"Accepted when · Accepted when · Accepted when\"). Enum labels are the exception in the\n * other direction: they map VALUES, and an enum-array's items are exactly the values the map\n * exists for.\n */\n const indexFreeName = resolvedName === undefined ? undefined : AutomatedLayoutFrontendUtils.labelDictionaryPath(resolvedName);\n const isArrayItemPath = resolvedName ? AutomatedLayoutFrontendUtils.isArrayItemPath(resolvedName) : false;\n const fieldMetaKey = isArrayItemPath ? undefined : indexFreeName;\n /*\n * Final fallback: the LEAF key, unchanged. The context map already answers for every path it\n * registered, so this only fires for paths the label walk cannot reach (union-variant members,\n * depths past the walk) — where the object dispatcher used to force-feed the same leaf as an\n * explicit prop, winning over authored labels.\n *\n * It is a KEY, not words derived from one (#420): a leaf that shows up as `streetName` is\n * visibly unlabelled and gets authored, where \"Street Name\" reads as finished and never does.\n */\n const leafFallbackLabel = fieldMetaKey\n ? AutomatedLayoutFrontendUtils.unresolvedFieldLabel(fieldMetaKey.split('.').pop() ?? fieldMetaKey)\n : undefined;\n const label = props.label ?? (fieldMetaKey ? ctx?.fieldLabels?.[fieldMetaKey] : undefined) ?? leafFallbackLabel;\n /*\n * The DECLARATION decides whether a description renders, not the presence of a resolved string.\n *\n * `{primitive}UI.display.showDescription` is documented as an \"opt-in for description text below\n * the field value\" — and it was only ever an i18n GENERATION flag: it tells the companion to\n * produce the key, and nothing read it at render time. So a field resolved whatever description\n * its label bundle happened to contain, and turning the flag OFF changed nothing until somebody\n * regenerated labels — which needs a running companion, and until then the surface keeps showing\n * a sentence its schema no longer asks for. That is a generated artifact outranking the source\n * it was generated from.\n *\n * An explicitly passed `description` prop still wins: a template author writing one is making the\n * declaration at the call site.\n */\n const declaresDisplayDescription = schema ? hasDescriptionForDisplay(schema) : false;\n const description = props.description\n ?? (fieldMetaKey && declaresDisplayDescription ? ctx?.fieldDescriptions?.[fieldMetaKey] : undefined);\n const tooltipProp = props.tooltip ?? (fieldMetaKey ? ctx?.fieldTooltips?.[fieldMetaKey] : undefined);\n const enumLabels = props.enumLabels\n ?? (indexFreeName ? ctx?.enumLabels?.[indexFreeName] : undefined);\n // SUMMARY surfaces resolve base display params with `summaryOverride` merged\n // over `display` (the {primitive}UI decorator contract for cards/FK previews).\n const displayConfig = schema\n ? (displayContextKind === DisplayContextKind.SUMMARY\n ? getFieldUISummaryDisplayConfig(schema)\n : getFieldUIDisplayConfig(schema))\n : undefined;\n const displayComponent = props.displayComponent ?? displayConfig?.component;\n const parentData = props.parentData ?? getParentData(ctx?.data, pathPrefix || undefined);\n const disableInlineEdit = props.disableInlineEdit ?? false;\n const className = props.className;\n const isHiddenByDisplayShaping = fieldMatchesDisplayShapingRule(resolvedName, ctx?.hiddenFieldNames);\n const isInlineEditDisabledByDisplayShaping = fieldMatchesDisplayShapingRule(\n resolvedName,\n ctx?.inlineEditDisabledFieldNames,\n );\n\n // ── Chrome mode resolution ──\n const { displayChromeMode, sectionChromeMode } = useDisplayChromeContext();\n const inFieldTiles = useInFieldTiles();\n const summaryValueNaming = useSummaryValueNaming();\n const surfaceChromeMode = resolveSurfaceDisplayChromeMode(surfacePolicy.autoRender?.autoFieldChrome);\n // On a summary whose layout declares no chrome, a value that cannot speak for itself keeps its name\n // (`SummaryValueNamingContext`); a field's or a section's own chrome still outranks the rule.\n const namedBySummaryRule = displayContextKind === DisplayContextKind.SUMMARY\n && summaryValueNaming\n && displayConfig?.chromeMode === undefined\n && sectionChromeMode === undefined\n && keepsItsNameAlone(schemaType);\n const explicitChromeMode = displayConfig?.chromeMode\n ?? sectionChromeMode\n ?? (namedBySummaryRule ? DisplayChromeMode.INLINE : undefined)\n ?? displayChromeMode;\n const resolvedChromeMode = explicitChromeMode ?? surfaceChromeMode;\n /*\n * The surface's auto label placement is a DEFAULT for undecorated fields — a field whose\n * decorator declares its own chromeMode has chosen its presentation, and the chrome derives\n * placement from that mode. Before this guard, a surface-level `autoLabelPlacement: 'top'`\n * silently outranked every `chromeMode: INLINE` decoration: the chrome received mode INLINE\n * plus placement 'top' and rendered the STACKED branch, so INLINE was unreachable on any\n * surface that states a default — which is every resource READ page.\n */\n const resolvedLabelPlacement = props.labelPlacement\n ?? (displayConfig?.chromeMode !== undefined\n ? undefined\n : resolveSurfaceAutoLabelPlacement(surfacePolicy.autoRender?.autoLabelPlacement));\n const resolvedLabelStyle = props.labelStyle ?? displayConfig?.labelStyle;\n // Whether this value takes a whole row when it renders as a fact tile — from its shape, never authored.\n const wideValue = isWideDisplayValue(\n schemaType,\n (displayConfig as { displayMode?: string } | undefined)?.displayMode,\n schema ? getForeignKeyUIDisplay(schema)?.mode : undefined,\n );\n\n // forceHide → hideLabel/hideDescription (resolves responsive breakpoint-aware values)\n const breakpoint = ctx?.breakpoint;\n const resolvedForceHide = breakpoint\n ? resolveResponsiveValue<ForceHideDisplayConfig>(displayConfig?.forceHide, breakpoint)\n : (displayConfig?.forceHide as ForceHideDisplayConfig | undefined);\n const forceHideLabel = resolvedForceHide?.label === true;\n const forceHideDescription = resolvedForceHide?.description === true;\n\n const hideLabel = (props.hideLabel === true) || forceHideLabel;\n // A summary value the naming rule gave INLINE chrome to is one short fact on a card line: a description it\n // declares for the record page has no place there (the author chose no summary chrome to show it in).\n const hideDescription = (props.hideDescription === true) || forceHideDescription || namedBySummaryRule;\n\n // ── Resource display context (lightweight read for routing + fileUploadContext) ──\n const {\n canInlineEdit: contextCanInlineEdit,\n doInlineUpdate,\n fileUploadContext,\n rmm,\n defaultInlineEdit,\n defaultEmptyValue,\n parentReferenceConfig,\n resourceType: displayRootResourceType,\n } = useResourceDisplayContext();\n const registry = useResourceRegistrySafe()?.registry;\n\n /*\n * The LAYOUT outranks the surface policy here, and only here.\n *\n * `AutoEmptyValue` is declared per surface variant — BASE, RAISED, OVERLAY and INSET all say\n * `em-dash` — which is right for a surface, because a surface knows nothing about the fields it\n * happens to hold. In a dense table or a summary card a dash IS correct: the reader is scanning\n * and meaning comes from the neighbours.\n *\n * A settings layout knows something the surface cannot: its rows are the content, read one at a\n * time to decide something, and there an em dash refuses to say which of four things it means.\n * That layout says so once (`defaultEmptyValue`) rather than every field saying it.\n *\n * A layout with no opinion omits it and the surface policy decides exactly as before — which is\n * every layout in the product except the settings ones that opt in.\n */\n const resolvedEmptyValue = defaultEmptyValue\n ?? resolveSurfaceAutoEmptyValue(surfacePolicy.autoRender?.autoEmptyValue);\n\n // ── Provenance (#1997) ──\n //\n // A field an external-data pipeline writes says where its value came from and how current it is. Only a TOP-LEVEL\n // field of the displayed record can be pipeline-written, so a field inside an object scope (a `pathPrefix`) or an\n // array item never asks. SUMMARY surfaces (cards, FK previews) never show the cue, so they never cause the read.\n // The chrome suppresses it in COMPACT and HIDDEN on its own.\n const provenance = useExternalDataFieldProvenance({\n fieldName: !pathPrefix && !isArrayItemPath ? resolvedName : undefined,\n enabled: displayContextKind !== DisplayContextKind.SUMMARY && !props.resourceLinkTrail,\n });\n\n // ── Inline edit gate ──\n //\n // A field is offered in place when it ASKS (the decorator) or when its LAYOUT offers its writable\n // fields and this field qualifies. The two are ORed on purpose and the precedence is deliberate:\n // the decorator decides HOW (mode, saveOn, which buttons), the layout default decides only\n // WHETHER — so a field carrying params keeps them under a layout that turns the default on, and a\n // field carrying `inlineEditable: false` is refused by BOTH (`isInlineEditableByDeclaration` is false\n // for it, and `isEligibleForLayoutDefaultInlineEdit` declines it explicitly).\n //\n // Everything else in this conjunction still holds, and that is what keeps the default safe: a\n // layout cannot manufacture a write path. `contextCanInlineEdit` requires an RMM, an\n // `onInlineEdit`, or a real UPDATE operation; `isInlineEditDisabledByDisplayShaping` keeps\n // relationship object/array slots fail-closed. See `ResourceLayoutInlineEditDefault` for why a\n // settings layout needs the default at all.\n // A field the UPDATE excludes is never editable in place, whatever it declares (#2322): the write would strip it\n // and persist nothing while the control reported success. The layout default already declines it\n // (`isEligibleForLayoutDefaultInlineEdit`); this closes the decorator path, so the rule is the engine's rather than\n // each author's.\n const hasDecorator = resolvedName && schema && isInlineEditableByDeclaration(schema);\n const isOfferedByLayoutDefault = (\n !!resolvedName\n && !!schema\n && defaultInlineEdit === ResourceLayoutInlineEditDefault.WRITABLE_FIELDS\n && isEligibleForLayoutDefaultInlineEdit(schema)\n );\n const isInlineEditable = (\n !disableInlineEdit &&\n !isInlineEditDisabledByDisplayShaping &&\n contextCanInlineEdit &&\n (!!hasDecorator || isOfferedByLayoutDefault)\n );\n\n // ── Early returns (after all hooks) ──\n\n if (isHiddenByDisplayShaping) {\n return <></>;\n }\n\n // Decorator-level hidden — a field marked `.isHidden()` (display variant) must\n // never render in ANY display surface. This covers both the explicit-layout path\n // (a `<DisplayField name=\"x\" />` whose schema is `.isHidden()`) and the recursive\n // object-render path (DisplayValueDispatcher renders each nested field through this\n // gate), so hidden audit/internal sub-fields stay out of whole-object renders too.\n // (`isHiddenByDisplayShaping` above handles runtime/relationship shaping via the\n // `hiddenFieldNames` context; this handles the static schema decorator.)\n if (schema && isHiddenForDisplay(schema)) {\n return <></>;\n }\n\n // Inside a `<FieldTiles>` host every child of its `<dl>` must be a term/description group. A field whose\n // chrome at this breakpoint is not TILE — one that declares STACKED, INLINE or HIDDEN, an object scope's\n // member that asks for its own chrome — rendered a bare element there, invalid in the list and squeezed\n // into one column (audit B-4). It takes a whole row instead, as the inline-editable array does.\n // The resolver answers `undefined` for a responsive declaration naming no chrome at this breakpoint,\n // which the chrome then draws STACKED — also not a tile.\n const declaredChromeHere = resolveDeclaredDisplayChromeMode(resolvedChromeMode, breakpoint ?? ViewportBreakpoint.DESKTOP);\n const rowInFieldTiles = inFieldTiles && declaredChromeHere !== DisplayChromeMode.TILE;\n // The row's term is announced only when nothing inside the row names the value: the chrome shows no\n // name (HIDDEN, COMPACT, or the label hidden) AND does not give it one for assistive technology itself\n // (a `hidden` label placement, or a summary's `announceName`, renders its own sr-only name).\n const chromeShowsName = !hideLabel\n && resolvedLabelPlacement !== 'hidden'\n && declaredChromeHere !== DisplayChromeMode.HIDDEN\n && declaredChromeHere !== DisplayChromeMode.COMPACT;\n const chromeAnnouncesName = !hideLabel\n && (resolvedLabelPlacement === 'hidden' || displayContextKind === DisplayContextKind.SUMMARY);\n const rowTermAnnounced = !chromeShowsName && !chromeAnnouncesName;\n\n // DD-9: Template-as-skeleton — render Skeleton when loading\n const isLoading = ctx?.isLoading ?? false;\n if (isLoading) {\n return (\n <InFieldTilesRow active={rowInFieldTiles} name={resolvedName} label={label} termAnnounced={rowTermAnnounced}>\n <DisplayFieldChrome\n mode={resolvedChromeMode}\n label={label}\n labelStyle={resolvedLabelStyle}\n name={resolvedName}\n labelPlacement={resolvedLabelPlacement}\n hideLabel={hideLabel}\n hideDescription={true}\n tooltip={tooltipProp}\n wide={wideValue}\n announceName={displayContextKind === DisplayContextKind.SUMMARY}\n >\n <Skeleton className=\"h-5 w-full\" />\n </DisplayFieldChrome>\n </InFieldTilesRow>\n );\n }\n\n // DD-10: Per-field showWhen — hidden by condition.\n // When inside an ObjectScope (pathPrefix set), evaluate showWhen against the scoped\n // parent data so sibling references resolve correctly (e.g., showWhen({ field: 'country' })\n // on address.city checks address.country, not root.country).\n // Falls back to root data when no pathPrefix or parent data is unavailable.\n const showWhenParams = schema ? getShowWhenParams(schema) : undefined;\n const showWhenData = (pathPrefix && parentData) ? parentData : ctx?.data;\n if (showWhenParams && showWhenData && !AutomatedLayoutFrontendUtils.evaluateShowWhen(showWhenParams, showWhenData)) {\n return <></>;\n }\n\n // A parent reference the surface declared hidden (`ParentDisplay.NONE`) is ABSENT: no value, no empty mark, no\n // field box taking a gap (#2195). Asked only under NONE, and of the reference exactly as the dispatcher will route\n // it to the reference preset (`resolveReferenceDisplayTarget`) — so the field is omitted only when the preset would\n // draw nothing, and a reference to ANOTHER record of the parent's type keeps its box and its value. Checked before\n // any `displayComponent` override on purpose: a parent reference rendered through an override is still the parent.\n if (parentReferenceConfig?.displayMode === ParentDisplay.NONE && resolvedName) {\n const referenceTarget = resolveReferenceDisplayTarget({\n schema,\n value,\n fieldName: resolvedName,\n parentData,\n resourceLinkTrail: props.resourceLinkTrail,\n currentResourceType: displayRootResourceType as ResourceType | undefined,\n registry,\n });\n if (referenceTarget && withoutHiddenParentReference({ parentReferenceConfig, ...referenceTarget }).hidesWholeReference) {\n return <></>;\n }\n }\n\n // Field-level hide-when-empty — a field decorated with\n // `{primitive}UI({ display: { hideWhenEmpty: true } })` is omitted from the\n // DISPLAY surface entirely when its value is empty (no label, no em-dash).\n // Display-only: the edit form still renders the field so it can be filled.\n //\n // Inside `<FieldTiles>` an empty fact drops out by DEFAULT — a tile that says \"—\" is clutter on a\n // record, and the form is where an empty field is filled. A field that must show its emptiness there\n // declares `hideWhenEmpty: false`; elsewhere the decorator's own value decides, as before.\n //\n // Except a fact that can be edited IN PLACE: hiding it there removed the only way to fill it on the record\n // (audit B-6), so it keeps its empty tile. An explicit `hideWhenEmpty: true` still hides it.\n const hidesWhenEmpty = displayConfig?.hideWhenEmpty ?? (inFieldTiles && !isInlineEditable);\n if (hidesWhenEmpty && isEmptyDisplayValue(value)) {\n return <></>;\n }\n\n // No schema — cannot render\n if (!schema || !schemaType) {\n logger.error('[DisplayField] Cannot resolve schema for field', { name: resolvedName });\n return <></>;\n }\n\n // ── Resolved props for child components ──\n const resolvedProps = {\n schema,\n schemaType,\n value,\n fieldName: resolvedName,\n label,\n description,\n tooltip: tooltipProp,\n provenance,\n enumLabels,\n displayComponent,\n parentData,\n resourceLinkTrail: props.resourceLinkTrail,\n /*\n * The per-item template now reaches the READ path too. It used to be forwarded only on the\n * inline-editable ARRAY branch below, so `DisplayFieldArray.renderItem` was accepted and\n * silently ignored on every display template — measured: the rendered page was byte-identical\n * with and without it.\n */\n renderItem: props.renderField,\n className,\n hideLabel,\n hideDescription,\n resolvedChromeMode,\n resolvedLabelPlacement,\n resolvedLabelStyle,\n resolvedEmptyValue,\n fileUploadContext,\n wideValue,\n // A summary shows bare values; its chrome still names each one for assistive technology (audit B-10).\n announceName: displayContextKind === DisplayContextKind.SUMMARY,\n };\n\n return (\n <DisplayFieldErrorBoundary name={resolvedName}>\n {isInlineEditable && schemaType === FieldSchemaType.ARRAY ? (\n // Inline-editable ARRAY → a PERSISTENT inline editor (add / edit / remove /\n // reorder, whole-array autosave) instead of the scalar click-to-edit overlay.\n // `isInlineEditable` already guarantees `resolvedName` is a non-empty string.\n //\n // Inside `<FieldTiles>` the editor takes a whole row as a term/description group of the host's\n // `<dl>`: its own legend names it, so the term is visually hidden. Without this it sat in the\n // `<dl>` as a bare div, with no span, sharing a column with one-line facts.\n <InFieldTilesRow active={inFieldTiles} name={resolvedName} label={label}>\n <DisplayFieldEditableArray\n name={resolvedName as string}\n schema={schema}\n value={value}\n label={label}\n description={description}\n doInlineUpdate={doInlineUpdate}\n renderField={props.renderField}\n sectionAppearance={props.sectionAppearance}\n objectItemLayout={props.objectItemLayout}\n enumLabels={enumLabels}\n hideLabel={hideLabel}\n displayChromeMode={breakpoint\n ? resolveResponsiveValue<DisplayChromeMode>(resolvedChromeMode, breakpoint)\n : (typeof resolvedChromeMode === 'string' ? resolvedChromeMode : undefined)}\n />\n </InFieldTilesRow>\n ) : isInlineEditable ? (\n <InFieldTilesRow active={rowInFieldTiles} name={resolvedName} label={label} termAnnounced={rowTermAnnounced}>\n <DisplayFieldEditable\n {...resolvedProps}\n doInlineUpdate={doInlineUpdate}\n rmm={rmm}\n />\n </InFieldTilesRow>\n ) : schemaType === FieldSchemaType.ARRAY && props.sectionAppearance ? (\n // Read-only ARRAY authored via DisplayFieldArray (which sets\n // `sectionAppearance`, GHOST by default) → render it in a controllable\n // SECTION container (legend + appearance), matching the editable path,\n // instead of the default chrome + bare list. Only wrapper-authored\n // arrays pass `sectionAppearance`, so direct DisplayField usages are\n // untouched. In a tile host it brings its own frame, so it takes a whole row.\n <InFieldTilesRow active={inFieldTiles} name={resolvedName} label={label}>\n <DisplayFieldReadOnlyArraySection {...resolvedProps} sectionAppearance={props.sectionAppearance} />\n </InFieldTilesRow>\n ) : (\n <InFieldTilesRow active={rowInFieldTiles} name={resolvedName} label={label} termAnnounced={rowTermAnnounced}>\n <DisplayFieldReadOnly {...resolvedProps} />\n </InFieldTilesRow>\n )}\n </DisplayFieldErrorBoundary>\n );\n}\n\nDisplayFieldComponent.displayName = 'DisplayField';\n\nexport const DisplayField: typeof DisplayFieldComponent & { displayName: string } = DisplayFieldComponent;\n\n// =============================================================================\n// ERROR BOUNDARY (ROBUST-01)\n// =============================================================================\n\ninterface DisplayFieldErrorBoundaryProps {\n name?: string;\n children: React.ReactNode;\n}\n\ninterface DisplayFieldErrorBoundaryState {\n hasError: boolean;\n}\n\n/**\n * Lightweight error boundary wrapping individual DisplayField instances.\n * Prevents a single malformed field value from crashing the entire page.\n *\n * Uses hardcoded English for the fallback message because class components\n * cannot call hooks (useI18n). Error boundaries are a last resort — the\n * message is developer-facing, not user-facing in normal operation.\n */\nexport class DisplayFieldErrorBoundary extends React.Component<\n DisplayFieldErrorBoundaryProps,\n DisplayFieldErrorBoundaryState\n> {\n state: DisplayFieldErrorBoundaryState = { hasError: false };\n\n static getDerivedStateFromError(): DisplayFieldErrorBoundaryState {\n return { hasError: true };\n }\n\n componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void {\n const fieldId = this.props.name;\n logger.error('[DisplayField] Error boundary caught error', {\n name: fieldId,\n error: error.message,\n componentStack: errorInfo.componentStack,\n });\n }\n\n render(): React.ReactNode {\n const fieldId = this.props.name;\n if (this.state.hasError) {\n return (\n <div className=\"flex items-center gap-element px-card-sm py-item-xs rounded-md bg-destructive/10 border border-destructive/20\">\n <span className=\"text-destructive text-sm\">Error rendering field</span>\n {fieldId && (\n <code className=\"text-xs text-destructive/70 px-item-xs rounded bg-destructive/5\">{fieldId}</code>\n )}\n </div>\n );\n }\n return this.props.children;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplayFieldEditable.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DisplayFieldEditable.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAkF,MAAM,OAAO,CAAC;AA0BvG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gEAAgE,CAAC;
|
|
1
|
+
{"version":3,"file":"DisplayFieldEditable.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DisplayFieldEditable.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAkF,MAAM,OAAO,CAAC;AA0BvG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gEAAgE,CAAC;AAU9G,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAyDhF,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;IAC1E,oEAAoE;IACpE,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,uDAAuD;IACvD,GAAG,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;CACtC;AAMD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA0jB/F;yBA1jBe,oBAAoB"}
|
|
@@ -23,12 +23,13 @@ import { ButtonSize } from '@wildo-ai/presets-components-models';
|
|
|
23
23
|
import { Alert, AlertDescription } from '../../components/overlays/containers/alert.js';
|
|
24
24
|
import { FrontendComponentType, UIBehavior, IndicatorVariant } from '@wildo-ai/presets-components-models';
|
|
25
25
|
import { cn } from '../../core/ui/cn.js';
|
|
26
|
-
import { CoreResourceOperation } from '@wildo-ai/saas-models';
|
|
26
|
+
import { CoreResourceOperation, isValidationErrorEntry } from '@wildo-ai/saas-models';
|
|
27
27
|
import { FieldSchemaType, getInlineEditableParams, isMultilineEditField, isTemplatableFileField, } from '@wildo-ai/zod-decorators';
|
|
28
28
|
import { rmmFieldPathIsDescendant, rmmReadPathValue } from '../../core/resources/rmm/field-path.utils.js';
|
|
29
29
|
import { NOOP_GET_SNAPSHOT, NOOP_SUBSCRIBE } from '../../core/resources/rmm/rmm-noop-snapshot.js';
|
|
30
30
|
import { RMMEventType, MutationErrorType, MutationSourceType } from '../../core/resources/rmm/types.js';
|
|
31
|
-
import { FormSchemaProvider } from '../../components/form/form-context.js';
|
|
31
|
+
import { FormSchemaProvider, SERVER_ERROR_TYPE } from '../../components/form/form-context.js';
|
|
32
|
+
import { extractServerValidationErrors } from '../../components/form/validation-errors/form-error-extraction.utils.js';
|
|
32
33
|
import { FormSchemaKind } from '../../components/form/form-field-types.js';
|
|
33
34
|
import { FormField } from '../../components/form/automated/FormField.js';
|
|
34
35
|
import { SwitchRoot } from '../../components/form/controls/boolean/switch.js';
|
|
@@ -41,6 +42,21 @@ import { InlineEditMutationError, useResourceDisplayContext } from './automatic-
|
|
|
41
42
|
import { useResourceRegistry } from '../../core/resources/useResourceRegistry.js';
|
|
42
43
|
import { resolveRelationshipInlineEditSurface } from '../../core/resources/relationship-surface-runtime.frontend.utils.js';
|
|
43
44
|
const logger = LoggerFrontendService.getLogger();
|
|
45
|
+
/**
|
|
46
|
+
* The server's refusal of one field, from an inline save's failure: through the RMM (an `InlineEditMutationError`
|
|
47
|
+
* carrying the mutation's validation errors) or sent directly (the HTTP client's error). A refusal of the field itself
|
|
48
|
+
* or of one of its parts (`price.amount` for `price`) counts; one that names another field, or none, does not.
|
|
49
|
+
*/
|
|
50
|
+
function serverRefusalOfField(error, fieldName) {
|
|
51
|
+
const mutationError = error instanceof InlineEditMutationError ? error.mutationError : undefined;
|
|
52
|
+
const extracted = mutationError
|
|
53
|
+
? (mutationError.validationErrors ? extractServerValidationErrors({ httpStatus: mutationError.status ?? 400, validationErrors: mutationError.validationErrors }) : null)
|
|
54
|
+
: extractServerValidationErrors(error);
|
|
55
|
+
if (!extracted)
|
|
56
|
+
return undefined;
|
|
57
|
+
const key = Object.keys(extracted.validationErrors).find((path) => path === fieldName || path.startsWith(`${fieldName}.`));
|
|
58
|
+
return key === undefined ? undefined : extracted.validationErrors[key];
|
|
59
|
+
}
|
|
44
60
|
const logDebug = logger.debugByType('DisplayFieldEditable');
|
|
45
61
|
logger.setDebugTypeLogging('DisplayFieldEditable', false);
|
|
46
62
|
// =============================================================================
|
|
@@ -66,8 +82,8 @@ const DEFAULT_INLINE_EDIT_PARAMS = {
|
|
|
66
82
|
// COMPONENT
|
|
67
83
|
// =============================================================================
|
|
68
84
|
export function DisplayFieldEditable(props) {
|
|
69
|
-
const { schema, schemaType, value, fieldName, label, description, tooltip, provenance, enumLabels, displayComponent, parentData, resourceLinkTrail, className, hideLabel, hideDescription, resolvedChromeMode, resolvedLabelPlacement, resolvedEmptyValue, fileUploadContext, doInlineUpdate, rmm, } = props;
|
|
70
|
-
const { tComponent, isReady } = useI18n({
|
|
85
|
+
const { schema, schemaType, value, fieldName, label, description, tooltip, provenance, enumLabels, displayComponent, parentData, resourceLinkTrail, className, hideLabel, hideDescription, resolvedChromeMode, resolvedLabelPlacement, resolvedEmptyValue, fileUploadContext, wideValue, announceName, doInlineUpdate, rmm, } = props;
|
|
86
|
+
const { tComponent, tErrorValidation, isReady } = useI18n({
|
|
71
87
|
component: [FrontendComponentType.LOW_LEVEL_FORM_FIELD, FrontendComponentType.LOW_LEVEL_BUTTON],
|
|
72
88
|
});
|
|
73
89
|
const { getRecipe } = useUI();
|
|
@@ -185,6 +201,9 @@ export function DisplayFieldEditable(props) {
|
|
|
185
201
|
return;
|
|
186
202
|
const isValid = await form.trigger(fieldKey);
|
|
187
203
|
if (!isValid) {
|
|
204
|
+
// Show it. A field shows a client error once it is touched (`getFieldError`), and saving with Enter never blurs
|
|
205
|
+
// the input, so the save was refused with nothing on screen. The value is written back unchanged.
|
|
206
|
+
form.setValue(fieldKey, form.getValues(fieldKey), { shouldTouch: true, shouldDirty: false, shouldValidate: false });
|
|
188
207
|
setEditState(InlineEditState.EDITING);
|
|
189
208
|
return;
|
|
190
209
|
}
|
|
@@ -204,10 +223,27 @@ export function DisplayFieldEditable(props) {
|
|
|
204
223
|
if (err instanceof InlineEditMutationError && err.mutationError?.type === MutationErrorType.CONFLICT) {
|
|
205
224
|
return;
|
|
206
225
|
}
|
|
226
|
+
// The server refused THIS value: say why, at the field, and keep the person editing, as a form does. It used to
|
|
227
|
+
// read "save failed" with a Retry, which sent the same value to the same refusal.
|
|
228
|
+
const refusal = serverRefusalOfField(err, fieldName);
|
|
229
|
+
if (refusal !== undefined) {
|
|
230
|
+
const message = isValidationErrorEntry(refusal) ? tErrorValidation(refusal.code, 'msg', refusal.params) : refusal;
|
|
231
|
+
form.setError(fieldKey, { type: SERVER_ERROR_TYPE, message });
|
|
232
|
+
setEditState(InlineEditState.EDITING);
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
207
235
|
setSaveErrorMessage(tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD, 'save_failed'));
|
|
208
236
|
setEditState(InlineEditState.ERROR);
|
|
209
237
|
}
|
|
210
|
-
}, [form, fieldKey, fieldName, doInlineUpdate, tComponent]);
|
|
238
|
+
}, [form, fieldKey, fieldName, doInlineUpdate, tComponent, tErrorValidation]);
|
|
239
|
+
// A refusal stands for the value the server saw: once the person changes it, it no longer applies.
|
|
240
|
+
useEffect(() => {
|
|
241
|
+
const subscription = form.watch((_values, { name }) => {
|
|
242
|
+
if (name === fieldKey && form.getFieldState(fieldKey).error?.type === SERVER_ERROR_TYPE)
|
|
243
|
+
form.clearErrors(fieldKey);
|
|
244
|
+
});
|
|
245
|
+
return () => subscription.unsubscribe();
|
|
246
|
+
}, [form, fieldKey]);
|
|
211
247
|
const handleCancel = useCallback(() => {
|
|
212
248
|
if (fieldName) {
|
|
213
249
|
logDebug('inline edit cancel', { fieldName });
|
|
@@ -234,13 +270,17 @@ export function DisplayFieldEditable(props) {
|
|
|
234
270
|
catch (err) {
|
|
235
271
|
setOptimisticBool(null);
|
|
236
272
|
if (!(err instanceof InlineEditMutationError && err.mutationError?.type === MutationErrorType.CONFLICT)) {
|
|
237
|
-
|
|
273
|
+
// A refusal of this field says why (a rule the server holds), not merely that the save failed.
|
|
274
|
+
const refusal = serverRefusalOfField(err, fieldName);
|
|
275
|
+
setSaveErrorMessage(refusal === undefined
|
|
276
|
+
? tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD, 'save_failed')
|
|
277
|
+
: isValidationErrorEntry(refusal) ? tErrorValidation(refusal.code, 'msg', refusal.params) : refusal);
|
|
238
278
|
}
|
|
239
279
|
}
|
|
240
280
|
finally {
|
|
241
281
|
setBooleanSaving(false);
|
|
242
282
|
}
|
|
243
|
-
}, [fieldName, doInlineUpdate, tComponent]);
|
|
283
|
+
}, [fieldName, doInlineUpdate, tComponent, tErrorValidation]);
|
|
244
284
|
// ── RMM event handler ──
|
|
245
285
|
// Read the translator through a ref: listing it in the effect below would re-run its CONFLICT_RESET branch
|
|
246
286
|
// (`form.reset`) on every provider render, while omitting it would keep a stale translator after a locale change.
|
|
@@ -389,7 +429,7 @@ export function DisplayFieldEditable(props) {
|
|
|
389
429
|
else {
|
|
390
430
|
content = renderInlineEditTrigger();
|
|
391
431
|
}
|
|
392
|
-
return (_jsx(DisplayFieldChrome, { mode: resolvedChromeMode, label: label, description: description, tooltip: tooltip, provenance: provenance, name: fieldName, labelPlacement: resolvedLabelPlacement, hideLabel: hideLabel, hideDescription: hideDescription, className: className, children: content }));
|
|
432
|
+
return (_jsx(DisplayFieldChrome, { mode: resolvedChromeMode, label: label, description: description, tooltip: tooltip, provenance: provenance, name: fieldName, labelPlacement: resolvedLabelPlacement, hideLabel: hideLabel, hideDescription: hideDescription, wide: wideValue, announceName: announceName, className: className, children: content }));
|
|
393
433
|
}
|
|
394
434
|
DisplayFieldEditable.displayName = 'DisplayFieldEditable';
|
|
395
435
|
//# sourceMappingURL=DisplayFieldEditable.js.map
|