@wildo-ai/saas-frontend-lib 1.1.5 → 1.1.6
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/components/actions/action-bar.d.ts +15 -0
- package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
- package/dist/esm/components/actions/action-bar.js +15 -0
- package/dist/esm/components/actions/action-bar.js.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.d.ts +97 -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/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js +8 -3
- package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.js +5 -1
- package/dist/esm/components/auth/Auth_EnrollmentRequired.js.map +1 -1
- package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Main.js +1 -4
- package/dist/esm/components/auth/Auth_Main.js.map +1 -1
- package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
- package/dist/esm/components/auth/Auth_Register.js +1 -3
- package/dist/esm/components/auth/Auth_Register.js.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.d.ts +7 -0
- package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
- package/dist/esm/components/auth/StepUpAuthDialog.js +13 -7
- 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 +32 -33
- 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 +18 -20
- package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js +2 -3
- package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js.map +1 -1
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts +13 -16
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts.map +1 -1
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js +18 -15
- package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.js +2 -2
- package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.js +2 -2
- package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts +33 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.js +34 -5
- package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.js +2 -2
- package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts +2 -0
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.js +1 -0
- package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
- package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayField.js +15 -1
- package/dist/esm/components/data-display/DisplayField.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldArray.js +11 -0
- package/dist/esm/components/data-display/DisplayFieldArray.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditable.js +2 -2
- package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts +12 -2
- package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldEditableArray.js +3 -2
- package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnly.js +2 -2
- package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js +8 -2
- package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
- package/dist/esm/components/data-display/DisplayValueDispatcher.js +18 -4
- 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 +61 -3
- package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts +7 -5
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
- package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts +11 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js +36 -11
- package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
- package/dist/esm/components/data-display/display-field-resolved-props.d.ts +6 -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/external-data-provenance/DisplayFieldProvenanceNote.d.ts +23 -0
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts.map +1 -0
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js +35 -0
- package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js.map +1 -0
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts +47 -0
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts.map +1 -0
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js +124 -0
- package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js.map +1 -0
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.d.ts +8 -0
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.d.ts.map +1 -0
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js +46 -0
- package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js.map +1 -0
- package/dist/esm/components/feedback/resource-empty-state.d.ts +21 -8
- package/dist/esm/components/feedback/resource-empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/resource-empty-state.js +56 -26
- package/dist/esm/components/feedback/resource-empty-state.js.map +1 -1
- package/dist/esm/components/flows-actors/approval.d.ts +29 -7
- package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/approval.js +231 -101
- 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 +57 -0
- package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
- package/dist/esm/components/flows-actors/system-catalog.js +4 -4
- 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 +0 -5
- package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
- package/dist/esm/components/form/Form.d.ts +2 -2
- package/dist/esm/components/form/Form.js +2 -2
- package/dist/esm/components/form/Form.js.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.d.ts +28 -3
- package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/AutomatedArrayField.js +43 -14
- package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
- package/dist/esm/components/form/automated/FormField.d.ts +3 -0
- package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormField.js +60 -21
- package/dist/esm/components/form/automated/FormField.js.map +1 -1
- package/dist/esm/components/form/automated/FormFieldArray.d.ts +6 -3
- package/dist/esm/components/form/automated/FormFieldArray.d.ts.map +1 -1
- package/dist/esm/components/form/automated/FormFieldArray.js +3 -2
- package/dist/esm/components/form/automated/FormFieldArray.js.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts +5 -4
- package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js +148 -55
- package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts +30 -0
- package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts.map +1 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.js +30 -1
- package/dist/esm/components/form/automated/ResourceFormActionsContext.js.map +1 -1
- package/dist/esm/components/form/automated/TemplatePlacedFieldsContext.d.ts +79 -0
- package/dist/esm/components/form/automated/TemplatePlacedFieldsContext.d.ts.map +1 -0
- package/dist/esm/components/form/automated/TemplatePlacedFieldsContext.js +203 -0
- package/dist/esm/components/form/automated/TemplatePlacedFieldsContext.js.map +1 -0
- package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts +12 -0
- 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 +11 -0
- package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/FormFieldChrome.js +2 -2
- package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
- package/dist/esm/components/form/combobox.d.ts +7 -0
- package/dist/esm/components/form/combobox.d.ts.map +1 -1
- package/dist/esm/components/form/combobox.js.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.js +13 -0
- package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.d.ts +58 -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 +34 -6
- package/dist/esm/components/form/fields/form-field-address.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-address.labels.js +60 -1
- package/dist/esm/components/form/fields/form-field-address.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.d.ts +0 -12
- package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.js +34 -13
- package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-file.labels.js +46 -0
- package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts +73 -0
- package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts.map +1 -0
- package/dist/esm/components/form/fields/form-field-string-organization-role.js +64 -0
- package/dist/esm/components/form/fields/form-field-string-organization-role.js.map +1 -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 +8 -1
- package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.labels.d.ts.map +1 -1
- package/dist/esm/components/form/fields/form-field-string.labels.js +4 -0
- package/dist/esm/components/form/fields/form-field-string.labels.js.map +1 -1
- package/dist/esm/components/form/validation-errors/FormErrorSummary.js +1 -1
- package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
- package/dist/esm/components/form/validation-errors/resolver-error-nesting.d.ts +31 -0
- package/dist/esm/components/form/validation-errors/resolver-error-nesting.d.ts.map +1 -0
- package/dist/esm/components/form/validation-errors/resolver-error-nesting.js +81 -0
- package/dist/esm/components/form/validation-errors/resolver-error-nesting.js.map +1 -0
- package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.d.ts +14 -1
- package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.d.ts.map +1 -1
- package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.js +14 -0
- package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.js.map +1 -1
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts +22 -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 +1 -22
- package/dist/esm/components/form/validation-errors/zod-issue-resolver.js.map +1 -1
- package/dist/esm/components/layout/resizable.d.ts +11 -0
- package/dist/esm/components/layout/resizable.d.ts.map +1 -1
- package/dist/esm/components/layout/resizable.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts +11 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js +15 -3
- package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts +2 -2
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.d.ts +2 -2
- package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js +2 -2
- package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js.map +1 -1
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js +18 -20
- package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js +7 -1
- package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js +4 -1
- package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js +18 -2
- package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +82 -10
- package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts +2 -2
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js +8 -1
- package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts +8 -2
- package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceCollectionToolbar.js +6 -2
- package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js +31 -16
- package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js +23 -8
- package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +2 -2
- package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.d.ts +13 -0
- package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Header.js +55 -28
- package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_List.js +41 -20
- 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 +1 -2
- package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.d.ts +9 -4
- package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Read.js +30 -11
- 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 +4 -2
- 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 +6 -2
- package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Search.js +30 -14
- package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js +14 -198
- package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
- package/dist/esm/components/resources/ResourceLayout_Update.d.ts +2 -2
- package/dist/esm/components/resources/ResourceLayout_Update.js +2 -2
- package/dist/esm/components/resources/ResourceLayout_Update.js.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
- package/dist/esm/components/resources/ResourceListItemRenderer.js +69 -39
- package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
- package/dist/esm/components/resources/ResourceOperationActionDropdown.d.ts +32 -0
- package/dist/esm/components/resources/ResourceOperationActionDropdown.d.ts.map +1 -0
- package/dist/esm/components/resources/ResourceOperationActionDropdown.js +130 -0
- package/dist/esm/components/resources/ResourceOperationActionDropdown.js.map +1 -0
- package/dist/esm/components/resources/collection-create-placement.utils.d.ts +32 -0
- package/dist/esm/components/resources/collection-create-placement.utils.d.ts.map +1 -0
- package/dist/esm/components/resources/collection-create-placement.utils.js +37 -0
- package/dist/esm/components/resources/collection-create-placement.utils.js.map +1 -0
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.js +5 -1
- package/dist/esm/components/resources/embeds/RelatedResourcePreview.js.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts +8 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/RelatedResourceSections.js +49 -2
- package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts +22 -0
- package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
- package/dist/esm/components/resources/embeds/ResourceEmbeds.js +85 -2
- package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.d.ts +14 -0
- package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
- package/dist/esm/components/resources/resourceLayout.utils.js +22 -0
- 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 +3 -0
- package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/FormLayout.js +33 -1
- package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/ObjectScope.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/ObjectScope.js +3 -0
- package/dist/esm/components/resources/skeleton/ObjectScope.js.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.d.ts +12 -0
- package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/Section.js +28 -2
- package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts +70 -0
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.js +157 -1
- package/dist/esm/components/resources/skeleton/SectionFieldsContext.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.d.ts +6 -0
- package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardLayout.js +13 -2
- package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
- package/dist/esm/components/resources/skeleton/WizardStep.js +2 -1
- package/dist/esm/components/resources/skeleton/WizardStep.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 +61 -15
- package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts +24 -2
- 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 +69 -1
- package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
- package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js +18 -19
- 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 +5 -4
- package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
- package/dist/esm/components/sections/stepper.d.ts +5 -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 +12 -3
- package/dist/esm/components/sections/surface.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.d.ts +43 -0
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js +129 -0
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js.map +1 -0
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.d.ts +3 -0
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.d.ts.map +1 -0
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js +34 -0
- package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js.map +1 -0
- package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.js +9 -11
- package/dist/esm/components/settings/AppPage_AppearanceSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js +3 -2
- package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.d.ts +4 -2
- package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.js +21 -3
- package/dist/esm/components/settings/AppPage_BillingSettings.js.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.js +5 -10
- package/dist/esm/components/settings/AppPage_BillingSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +58 -0
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +243 -40
- 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 +67 -6
- package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
- package/dist/esm/components/settings/AppPage_InvitationsSettings.js +19 -11
- 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 +4 -2
- package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
- package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsHub.js +3 -0
- package/dist/esm/components/settings/SettingsHub.js.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.js +16 -1
- package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
- package/dist/esm/components/settings/useOwnerProviderConnections.d.ts +59 -0
- package/dist/esm/components/settings/useOwnerProviderConnections.d.ts.map +1 -0
- package/dist/esm/components/settings/useOwnerProviderConnections.js +136 -0
- package/dist/esm/components/settings/useOwnerProviderConnections.js.map +1 -0
- package/dist/esm/components/views/chart-view/chart-view.utils.d.ts +5 -0
- package/dist/esm/components/views/chart-view/chart-view.utils.d.ts.map +1 -1
- package/dist/esm/components/views/chart-view/chart-view.utils.js +5 -0
- package/dist/esm/components/views/chart-view/chart-view.utils.js.map +1 -1
- package/dist/esm/components/views/chart-view/useResourceChartData.d.ts +50 -0
- package/dist/esm/components/views/chart-view/useResourceChartData.d.ts.map +1 -0
- package/dist/esm/components/views/chart-view/useResourceChartData.js +72 -0
- package/dist/esm/components/views/chart-view/useResourceChartData.js.map +1 -0
- package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.js +2 -1
- package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
- package/dist/esm/core/app-shell/AppShellBuildingBlocks.d.ts +86 -0
- package/dist/esm/core/app-shell/AppShellBuildingBlocks.d.ts.map +1 -0
- package/dist/esm/core/app-shell/AppShellBuildingBlocks.js +187 -0
- package/dist/esm/core/app-shell/AppShellBuildingBlocks.js.map +1 -0
- package/dist/esm/core/app-shell/PortalContainerContext.d.ts +5 -2
- package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
- package/dist/esm/core/app-shell/PortalContainerContext.js +5 -2
- package/dist/esm/core/app-shell/PortalContainerContext.js.map +1 -1
- package/dist/esm/core/app-shell/app-shell.schemas.d.ts +18 -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 +1 -0
- package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.d.ts +10 -0
- package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
- package/dist/esm/core/app-shell/useAppShellLayout.js +28 -5
- 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 +38 -0
- package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +15 -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 +47 -13
- package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
- package/dist/esm/core/billing/BillingContext.d.ts +25 -2
- package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
- package/dist/esm/core/billing/BillingContext.js +16 -25
- package/dist/esm/core/billing/BillingContext.js.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts +11 -3
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.js +14 -8
- package/dist/esm/core/billing/billing-provider-display.frontend.utils.js.map +1 -1
- package/dist/esm/core/billing/useBillingPlanChange.d.ts.map +1 -1
- package/dist/esm/core/billing/useBillingPlanChange.js +2 -0
- package/dist/esm/core/billing/useBillingPlanChange.js.map +1 -1
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +1 -0
- package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts +29 -229
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js +29 -327
- package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts +17 -27
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -1
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js +28 -48
- package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -1
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +21 -11
- package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/app-configuration-frontend.schemas.js +4 -4
- 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 +17 -0
- 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 +17 -0
- package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +10 -10
- package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
- package/dist/esm/core/config/engine-settings-destinations.js +221 -6
- package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +8 -0
- package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/launcher-items.frontend.schemas.js +1 -0
- package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +10 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/config/settings-hub.frontend.schemas.js +9 -0
- package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
- package/dist/esm/core/config/verify-launcher-content.js +30 -19
- package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
- package/dist/esm/core/errors/ErrorContext.d.ts.map +1 -1
- package/dist/esm/core/errors/ErrorContext.js +9 -1
- package/dist/esm/core/errors/ErrorContext.js.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
- package/dist/esm/core/errors/GlobalErrorHandler.js +5 -4
- package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
- package/dist/esm/core/errors/RouterErrorBoundary.js +1 -1
- package/dist/esm/core/errors/RouterErrorBoundary.js.map +1 -1
- package/dist/esm/core/errors/errors-builder.frontend.services.d.ts +2 -2
- package/dist/esm/core/errors/errors-builder.frontend.services.d.ts.map +1 -1
- package/dist/esm/core/errors/errors-builder.frontend.services.js +4 -4
- package/dist/esm/core/errors/errors-builder.frontend.services.js.map +1 -1
- package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js +1 -1
- package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js.map +1 -1
- package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
- package/dist/esm/core/events/NotificationContext.js +23 -5
- package/dist/esm/core/events/NotificationContext.js.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.d.ts +110 -43
- package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/events/events.frontend.schemas.js +89 -15
- package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts +2 -0
- package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.js +2 -1
- package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.js +5 -2
- package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/external-providers/ConsentBasedProviderSdks.d.ts +63 -0
- package/dist/esm/core/external-providers/ConsentBasedProviderSdks.d.ts.map +1 -0
- package/dist/esm/core/external-providers/ConsentBasedProviderSdks.js +131 -0
- package/dist/esm/core/external-providers/ConsentBasedProviderSdks.js.map +1 -0
- package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.d.ts +61 -0
- package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.d.ts.map +1 -0
- package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.js +178 -0
- package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.js.map +1 -0
- package/dist/esm/core/external-providers/ProviderAddressLookupHost.d.ts +52 -0
- package/dist/esm/core/external-providers/ProviderAddressLookupHost.d.ts.map +1 -0
- package/dist/esm/core/external-providers/ProviderAddressLookupHost.js +144 -0
- package/dist/esm/core/external-providers/ProviderAddressLookupHost.js.map +1 -0
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts +22 -1
- package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -1
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js +23 -3
- package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -1
- package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.d.ts +55 -0
- package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.d.ts.map +1 -0
- package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.js +65 -0
- package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.js.map +1 -0
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts +63 -0
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts.map +1 -0
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js +100 -0
- package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js.map +1 -0
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +45 -7
- package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
- package/dist/esm/core/flows-actors/FlowsActorsContext.js +112 -28
- package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
- package/dist/esm/core/flows-actors/usePendingDecisions.d.ts +32 -0
- package/dist/esm/core/flows-actors/usePendingDecisions.d.ts.map +1 -0
- package/dist/esm/core/flows-actors/usePendingDecisions.js +91 -0
- package/dist/esm/core/flows-actors/usePendingDecisions.js.map +1 -0
- package/dist/esm/core/guidance/GuidanceRenderer.d.ts.map +1 -1
- package/dist/esm/core/guidance/GuidanceRenderer.js +3 -2
- package/dist/esm/core/guidance/GuidanceRenderer.js.map +1 -1
- package/dist/esm/core/i18n/I18nContext.d.ts +22 -8
- package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
- package/dist/esm/core/i18n/I18nContext.js +21 -9
- package/dist/esm/core/i18n/I18nContext.js.map +1 -1
- package/dist/esm/core/i18n/component-label-resolution.utils.d.ts +5 -3
- package/dist/esm/core/i18n/component-label-resolution.utils.d.ts.map +1 -1
- package/dist/esm/core/i18n/component-label-resolution.utils.js +5 -3
- package/dist/esm/core/i18n/component-label-resolution.utils.js.map +1 -1
- package/dist/esm/core/i18n/useI18n.d.ts +2 -1
- package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
- package/dist/esm/core/i18n/useI18n.js +2 -1
- package/dist/esm/core/i18n/useI18n.js.map +1 -1
- package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingContext.js +7 -1
- package/dist/esm/core/loading/LoadingContext.js.map +1 -1
- package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
- package/dist/esm/core/loading/LoadingGate.js +19 -1
- package/dist/esm/core/loading/LoadingGate.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts +15 -2
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.js +183 -20
- package/dist/esm/core/monitoring/analytics/AnalyticsContext.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js +2 -2
- package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts +7 -15
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js +8 -26
- package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts +12 -3
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js +3 -2
- package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts +42 -0
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js +89 -5
- package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts +2 -0
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts.map +1 -1
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js +2 -0
- package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.d.ts +78 -0
- package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContentAreas.js +264 -16
- package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.d.ts +8 -0
- package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
- package/dist/esm/core/navigation/NavigationContext.js +137 -30
- package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.d.ts +2 -0
- package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
- package/dist/esm/core/navigation/launcher-resolution.js +1 -0
- package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
- package/dist/esm/core/navigation/navigation-cascade.d.ts +46 -0
- package/dist/esm/core/navigation/navigation-cascade.d.ts.map +1 -0
- package/dist/esm/core/navigation/navigation-cascade.js +222 -0
- package/dist/esm/core/navigation/navigation-cascade.js.map +1 -0
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js +21 -2
- package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js.map +1 -1
- package/dist/esm/core/navigation/navigation-controller-internals.d.ts +71 -0
- package/dist/esm/core/navigation/navigation-controller-internals.d.ts.map +1 -0
- package/dist/esm/core/navigation/navigation-controller-internals.js +84 -0
- package/dist/esm/core/navigation/navigation-controller-internals.js.map +1 -0
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +86 -2
- package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js +242 -124
- package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.d.ts +170 -8
- package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.schemas.js +121 -2
- package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.d.ts +102 -6
- package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
- package/dist/esm/core/navigation/navigation.utils.js +283 -34
- package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
- package/dist/esm/core/navigation/useIsStackEntryActive.d.ts +0 -10
- package/dist/esm/core/navigation/useIsStackEntryActive.d.ts.map +0 -1
- package/dist/esm/core/navigation/useIsStackEntryActive.js.map +0 -1
- package/dist/esm/core/navigation/useNavigationController.d.ts +28 -157
- package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
- package/dist/esm/core/navigation/useNavigationController.js +211 -1189
- package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
- package/dist/esm/core/navigation/useNavigationRouterSync.d.ts +174 -0
- package/dist/esm/core/navigation/useNavigationRouterSync.d.ts.map +1 -0
- package/dist/esm/core/navigation/useNavigationRouterSync.js +977 -0
- package/dist/esm/core/navigation/useNavigationRouterSync.js.map +1 -0
- package/dist/esm/core/navigation/useOverlayTitle.d.ts +13 -1
- package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
- package/dist/esm/core/navigation/useOverlayTitle.js +15 -10
- package/dist/esm/core/navigation/useOverlayTitle.js.map +1 -1
- package/dist/esm/core/navigation/useResponsiveZoneMigration.d.ts +43 -0
- package/dist/esm/core/navigation/useResponsiveZoneMigration.d.ts.map +1 -0
- package/dist/esm/core/navigation/useResponsiveZoneMigration.js +44 -0
- package/dist/esm/core/navigation/useResponsiveZoneMigration.js.map +1 -0
- package/dist/esm/core/navigation/zone-collapse-migration.d.ts +83 -0
- package/dist/esm/core/navigation/zone-collapse-migration.d.ts.map +1 -0
- package/dist/esm/core/navigation/zone-collapse-migration.js +116 -0
- package/dist/esm/core/navigation/zone-collapse-migration.js.map +1 -0
- package/dist/esm/core/navigation/zone-collapse.d.ts +51 -0
- package/dist/esm/core/navigation/zone-collapse.d.ts.map +1 -0
- package/dist/esm/core/navigation/zone-collapse.js +59 -0
- package/dist/esm/core/navigation/zone-collapse.js.map +1 -0
- package/dist/esm/core/navigation/zone-emphasis.d.ts +3 -0
- package/dist/esm/core/navigation/zone-emphasis.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-emphasis.js +26 -4
- package/dist/esm/core/navigation/zone-emphasis.js.map +1 -1
- package/dist/esm/core/navigation/zone-visible-entry.d.ts +22 -0
- package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -1
- package/dist/esm/core/navigation/zone-visible-entry.js +25 -0
- package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/WebSocketContext.js +53 -18
- 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 +3 -1
- package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
- package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts +22 -0
- package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts.map +1 -1
- package/dist/esm/core/requests/websockets/useNotificationBadges.js +72 -3
- package/dist/esm/core/requests/websockets/useNotificationBadges.js.map +1 -1
- package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.d.ts +28 -0
- package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.d.ts.map +1 -0
- package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.js +86 -0
- package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.js.map +1 -0
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +38 -3
- 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 +57 -2
- package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js +4 -2
- 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 +30 -1
- package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/requests/wildo-http-client.frontend.service.js +47 -4
- package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
- package/dist/esm/core/resources/ResourceRegistryContext.js +22 -1
- package/dist/esm/core/resources/ResourceRegistryContext.js.map +1 -1
- package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js +1 -1
- package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.d.ts +22 -1
- package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/frontend-resource.utils.js +25 -2
- package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts +113 -13
- package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/operation-semantics.frontend.utils.js +173 -20
- package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts +11 -0
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js +7 -0
- package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.d.ts +3 -2
- package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.d.ts.map +1 -1
- package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.js +13 -5
- package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.js.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.d.ts +6 -0
- package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.js +90 -1
- package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts +139 -16
- package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resources.frontend.schemas.js +110 -11
- package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.js +3 -1
- package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts +10 -0
- 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 +8 -0
- package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.d.ts +7 -0
- package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
- package/dist/esm/core/resources/rmm/useResourceRMM.js +9 -2
- package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
- package/dist/esm/core/resources/useOperationDirectExecution.d.ts +59 -0
- package/dist/esm/core/resources/useOperationDirectExecution.d.ts.map +1 -0
- package/dist/esm/core/resources/useOperationDirectExecution.js +278 -0
- package/dist/esm/core/resources/useOperationDirectExecution.js.map +1 -0
- package/dist/esm/core/resources/useResourceOperationActions.d.ts +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationActions.js +69 -22
- package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.d.ts +8 -6
- package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
- package/dist/esm/core/resources/useResourceOperationSurface.js +3 -2
- package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
- package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
- package/dist/esm/core/runtime/AppRouter.js +23 -2
- package/dist/esm/core/runtime/AppRouter.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts +4 -2
- package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationContext.shared.js.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.d.ts +12 -2
- package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
- package/dist/esm/core/runtime/ApplicationMainContext.js +5 -2
- package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts +25 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.js +37 -1
- package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.d.ts +21 -2
- package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
- package/dist/esm/core/runtime/start-application.frontend.service.js +51 -4
- package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.d.ts +11 -0
- package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
- package/dist/esm/core/security/AuthSessionContext.js +70 -22
- package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
- package/dist/esm/core/security/StepUpAuthContext.js +10 -2
- package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
- package/dist/esm/core/security/UserOrgsContext.js +72 -8
- package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
- package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts +7 -0
- 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 +8 -2
- package/dist/esm/core/security/route-organization-access.frontend.utils.js.map +1 -1
- package/dist/esm/core/security/useGrantedConsentPurposes.d.ts +30 -0
- package/dist/esm/core/security/useGrantedConsentPurposes.d.ts.map +1 -0
- package/dist/esm/core/security/useGrantedConsentPurposes.js +38 -0
- package/dist/esm/core/security/useGrantedConsentPurposes.js.map +1 -0
- package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
- package/dist/esm/core/ui/UIContext.js +10 -6
- package/dist/esm/core/ui/UIContext.js.map +1 -1
- package/dist/esm/core/ui/color-conversion.utils.d.ts +20 -0
- package/dist/esm/core/ui/color-conversion.utils.d.ts.map +1 -1
- package/dist/esm/core/ui/color-conversion.utils.js +39 -5
- package/dist/esm/core/ui/color-conversion.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 +22 -2
- package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts +6 -6
- package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
- package/dist/esm/core/ui/ui.frontend.schemas.js +3 -3
- package/dist/esm/core/ui/ui.frontend.schemas.js.map +1 -1
- package/dist/esm/index.d.ts +10 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +19 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/testing/app-shell-placement-coverage.d.ts +43 -0
- package/dist/esm/testing/app-shell-placement-coverage.d.ts.map +1 -0
- package/dist/esm/testing/app-shell-placement-coverage.js +114 -0
- package/dist/esm/testing/app-shell-placement-coverage.js.map +1 -0
- package/dist/esm/testing/mock-builders.d.ts.map +1 -1
- package/dist/esm/testing/mock-builders.js +5 -0
- package/dist/esm/testing/mock-builders.js.map +1 -1
- package/dist/esm/testing.d.ts +1 -0
- package/dist/esm/testing.d.ts.map +1 -1
- package/dist/esm/testing.js +1 -0
- package/dist/esm/testing.js.map +1 -1
- package/package.json +9 -7
- package/dist/esm/core/navigation/useIsStackEntryActive.js +0 -15
- package/dist/tsconfig.build.tsbuildinfo +0 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
1
2
|
import { CoreResourceOperation, ResourceOperationFrontendSurface, NavigationTransition } from '@wildo-ai/saas-models';
|
|
2
3
|
import { ResourceOperationActionPresentation, ResourceOperationActionScope } from '../../core/resources/resources.frontend.schemas';
|
|
3
4
|
export interface ResourceOperationSemanticsLike {
|
|
@@ -8,6 +9,8 @@ export interface ResourceOperationSemanticsLike {
|
|
|
8
9
|
isOperationDefault?: boolean;
|
|
9
10
|
isBulkOperation?: boolean;
|
|
10
11
|
variantKey?: unknown;
|
|
12
|
+
/** Read only by the DROPDOWN rule: a pick that executes cannot also be a deliberate, confirmed act. */
|
|
13
|
+
riskLevel?: unknown;
|
|
11
14
|
/**
|
|
12
15
|
* The subset of `ResourceOperationFrontendConfig` this module's decisions read.
|
|
13
16
|
*
|
|
@@ -28,16 +31,48 @@ export interface ResourceOperationSemanticsLike {
|
|
|
28
31
|
};
|
|
29
32
|
}
|
|
30
33
|
export declare const BULK_OPERATION_SELECTION_IDS_CONTEXT_KEY = "bulkOperationSelectionIds";
|
|
34
|
+
/**
|
|
35
|
+
* The operation-context key carrying a CROSS-PAGE selection ("select all N matching") to whatever host
|
|
36
|
+
* presents a bulk action's form — the sibling of {@link BULK_OPERATION_SELECTION_IDS_CONTEXT_KEY}.
|
|
37
|
+
*
|
|
38
|
+
* A form-bearing bulk action (one that asks for a value, like "Change status") is executed by the
|
|
39
|
+
* form host, which adds the selection through {@link mergeBulkSelectionIntoRequestData}. That merge
|
|
40
|
+
* read only the id key, so a cross-page selection never reached it and the request went out with no
|
|
41
|
+
* selection but the form's own empty `_match` (#1461, #2035 run 2026-09-30).
|
|
42
|
+
*/
|
|
43
|
+
export declare const BULK_OPERATION_MATCH_SELECTION_CONTEXT_KEY = "bulkOperationMatchSelection";
|
|
31
44
|
export declare const RESOURCE_OPERATION_EXECUTED_DISCRIMINATOR_CONTEXT_KEY = "resourceOperationExecutedDiscriminator";
|
|
32
45
|
export type ResourceOperationLayoutKind = 'create' | 'list' | 'read' | 'update' | 'search' | 'action';
|
|
33
46
|
export declare function isLiteralCoreResourceOperation(operationIdentifier: unknown): operationIdentifier is CoreResourceOperation;
|
|
34
47
|
export declare function resolveEffectiveCoreOperation(operationIdentifier: unknown, resourceOperationLike?: unknown): CoreResourceOperation | undefined;
|
|
35
48
|
export declare function resolveEffectiveCoreOperationFromOperation(operation: ResourceOperationSemanticsLike): CoreResourceOperation | undefined;
|
|
36
49
|
export declare function matchesResourceOperationSemantic(operation: ResourceOperationSemanticsLike, coreOperation: CoreResourceOperation): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* The operation whose generated TITLE names a surface that shows `operationIdentifier` — the page header and
|
|
52
|
+
* the overlay (dialog, sheet, tab) title alike, which must agree.
|
|
53
|
+
*
|
|
54
|
+
* The core EDIT surface is titled like the record's own page. UPDATE's title is generated as the name of an
|
|
55
|
+
* ACTION, a button word ("Update preferences", "Save changes"), while READ's is generated as a HEADING naming
|
|
56
|
+
* the surface ("Preferences"). An edit page headed by a verb names the button below it rather than the thing
|
|
57
|
+
* being edited, and the form's own save button already says the verb. So when the resource has a READ, the
|
|
58
|
+
* core UPDATE — including its polymorphic variants, which keep the `update` identifier — takes READ's title.
|
|
59
|
+
*
|
|
60
|
+
* Keyed on the literal identifier, NOT on the effective core semantics: a custom operation that BEHAVES like
|
|
61
|
+
* an update (`claimDomain`, `reset_to_defaults`) is a named action, and its own title is the only word that
|
|
62
|
+
* says which action the surface performs. A resource with no READ keeps UPDATE's title, the only word it has.
|
|
63
|
+
*/
|
|
64
|
+
export declare function resolveSurfaceTitleOperationIdentifier(operationIdentifier: unknown, resourceOperations: ReadonlyArray<{
|
|
65
|
+
operationIdentifier: unknown;
|
|
66
|
+
}> | undefined): string;
|
|
37
67
|
export declare function isUpdateLikeCoreOperation(coreOperation: CoreResourceOperation | undefined): boolean;
|
|
38
68
|
export declare function isSingleResourceUpdateLikeOperation(operation: ResourceOperationSemanticsLike): boolean;
|
|
39
69
|
export declare function shouldEmitResourceRefreshAfterDirectOperation(operation: ResourceOperationSemanticsLike): boolean;
|
|
40
70
|
export declare function readBulkOperationSelectionIds(additionalContext?: Record<string, unknown>): string[] | undefined;
|
|
71
|
+
/** The cross-page selection an operation context carries, when "select all N matching" was chosen. */
|
|
72
|
+
export declare function readBulkOperationMatchSelection(additionalContext?: Record<string, unknown>): {
|
|
73
|
+
filters?: Record<string, unknown>;
|
|
74
|
+
search?: string;
|
|
75
|
+
} | undefined;
|
|
41
76
|
export declare function readResourceOperationExecutedDiscriminator(additionalContext?: Record<string, unknown>): string | undefined;
|
|
42
77
|
/**
|
|
43
78
|
* Build the wire selector a bulk operation uses to name the rows it targets.
|
|
@@ -84,7 +119,7 @@ export declare function mergeBulkSelectionIntoRequestData(params: {
|
|
|
84
119
|
export declare function isSemanticCustomResourceOperation(operation: ResourceOperationSemanticsLike): boolean;
|
|
85
120
|
export declare function isGeneratedFileRegenerateOperation(operation: ResourceOperationSemanticsLike): boolean;
|
|
86
121
|
/**
|
|
87
|
-
* Is this the
|
|
122
|
+
* Is this the file-export companion of a LIST/SEARCH operation?
|
|
88
123
|
*
|
|
89
124
|
* Identity comes from the generated-operation metadata, with the prefixed identifier as the fallback
|
|
90
125
|
* for any surface that receives a thinned operation object — the same two-source shape
|
|
@@ -175,7 +210,7 @@ export declare const ACTION_MODAL_FIELD_CEILING = 6;
|
|
|
175
210
|
* an overlay.
|
|
176
211
|
*
|
|
177
212
|
* Two, and the reasoning is the one this axis's `POPOVER` member already states: the anchored panel
|
|
178
|
-
* is the
|
|
213
|
+
* is the small-input idiom ("snooze until…", "reject with a reason…"), and it earns its
|
|
179
214
|
* place by keeping the row the user is acting on visible. A third control starts wanting the room a
|
|
180
215
|
* dialog has, and the panel stops being cheaper than one.
|
|
181
216
|
*
|
|
@@ -203,13 +238,67 @@ export declare function hasEmptyResourceOperationRequestBody(requestDto: unknown
|
|
|
203
238
|
* from one surface and open an empty form on another.
|
|
204
239
|
*/
|
|
205
240
|
export declare function operationCollectsNoCallerInput(operation: ResourceOperationSemanticsLike): boolean;
|
|
241
|
+
/**
|
|
242
|
+
* Does this risk level ask for a confirmation before the operation runs?
|
|
243
|
+
*
|
|
244
|
+
* HIGH and CRITICAL do (a plain confirm, and a typed one); LOW and MEDIUM execute on click. The one
|
|
245
|
+
* definition the action ladder's confirm dialog and the DROPDOWN rule both read, so "risky enough to
|
|
246
|
+
* confirm" and "too risky to execute on a pick" cannot come to mean two different sets.
|
|
247
|
+
*/
|
|
248
|
+
export declare function isRiskyResourceOperation(riskLevel: unknown): boolean;
|
|
249
|
+
/**
|
|
250
|
+
* The kind of domain a DROPDOWN lists — the two a person can pick from without typing a value.
|
|
251
|
+
*
|
|
252
|
+
* Two members because the lists are genuinely different things: an enum's values are CLOSED and
|
|
253
|
+
* known up front, so they are listed whole; a reference's candidates are records on the server, so
|
|
254
|
+
* they are SEARCHED as you type and scoped like the form's picker. A boolean is deliberately absent —
|
|
255
|
+
* a two-item menu for yes/no is a worse control than the toggle it would replace.
|
|
256
|
+
*/
|
|
257
|
+
export declare enum ResourceOperationChoiceDomain {
|
|
258
|
+
/** A closed enum — every value listed, labelled as the form labels it. */
|
|
259
|
+
ENUM = "enum",
|
|
260
|
+
/** A foreign key — the referenced records, searched server-side. */
|
|
261
|
+
REFERENCE = "reference"
|
|
262
|
+
}
|
|
263
|
+
/** The single field a DROPDOWN presents, and which kind of list it needs. */
|
|
264
|
+
export interface ResourceOperationDropdownChoice {
|
|
265
|
+
/** The request field the pick is written to. */
|
|
266
|
+
fieldName: string;
|
|
267
|
+
/** That field's schema as the request DTO declares it (decorators intact). */
|
|
268
|
+
fieldSchema: z.ZodTypeAny;
|
|
269
|
+
domain: ResourceOperationChoiceDomain;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* The one choice field this operation's input consists of, or `undefined` when its input is
|
|
273
|
+
* anything else.
|
|
274
|
+
*
|
|
275
|
+
* Qualifies only when, after the keys the host supplies itself (a bulk twin's `_ids`), EXACTLY ONE
|
|
276
|
+
* field remains and it is a single enum or a single foreign key. An array is refused: picking one
|
|
277
|
+
* item of a multi-pick and executing is not what the field asks for.
|
|
278
|
+
*
|
|
279
|
+
* Reads the schema structurally, like every other rule in this module, so the answer cannot
|
|
280
|
+
* disagree with the form the same operation would otherwise render.
|
|
281
|
+
*/
|
|
282
|
+
export declare function resolveResourceOperationDropdownChoice(operation: ResourceOperationSemanticsLike): ResourceOperationDropdownChoice | undefined;
|
|
283
|
+
/**
|
|
284
|
+
* Can this operation honestly present as a DROPDOWN — one choice field, one row, and no confirmation
|
|
285
|
+
* owed?
|
|
286
|
+
*
|
|
287
|
+
* All three are correctness constraints, not taste. Without a single choice field there is no list to
|
|
288
|
+
* show. A pick executes immediately, so an operation whose risk level asks for a confirmation would
|
|
289
|
+
* lose it. And a BULK twin writes every selected row: one stray pick in a menu would rewrite them all
|
|
290
|
+
* with no second step, which is the one place "the pick is the submission" is the wrong promise. Each
|
|
291
|
+
* of those keeps the anchored FORM, which has an explicit Submit.
|
|
292
|
+
*/
|
|
293
|
+
export declare function operationCanPresentAsDropdown(operation: ResourceOperationSemanticsLike): boolean;
|
|
206
294
|
/**
|
|
207
295
|
* HOW does this action collect its input?
|
|
208
296
|
*
|
|
209
297
|
* The single answer for every action surface. An explicitly authored
|
|
210
|
-
* {@link ResourceOperationActionPresentation} is returned
|
|
211
|
-
* question and the framework does not second-guess
|
|
212
|
-
* (
|
|
298
|
+
* {@link ResourceOperationActionPresentation} is returned as authored — the author has answered the
|
|
299
|
+
* question and the framework does not second-guess their TASTE — with ONE correctness exception: a
|
|
300
|
+
* DROPDOWN the operation cannot honestly be resolves to POPOVER (see below). Everything else is the
|
|
301
|
+
* DERIVATION for the (overwhelmingly common) case where nothing was authored.
|
|
213
302
|
*
|
|
214
303
|
* The derivation is ordered by how strong the evidence is, not by convenience:
|
|
215
304
|
*
|
|
@@ -225,14 +314,24 @@ export declare function operationCollectsNoCallerInput(operation: ResourceOperat
|
|
|
225
314
|
* a second mechanism, not a vocabulary.
|
|
226
315
|
* 4. **No caller input ⇒ DIRECT.** No `requestDto` at all, an explicit `z.object({})`, or a bulk
|
|
227
316
|
* body holding only the selector the host fills ({@link operationCollectsNoCallerInput}).
|
|
228
|
-
* 5. **One
|
|
317
|
+
* 5. **One choice from an enum or a reference, and no confirmation owed ⇒ DROPDOWN.** The pick is
|
|
318
|
+
* the submission, so the list of values IS the whole input ({@link operationCanPresentAsDropdown}).
|
|
319
|
+
* 6. **One or two simple inputs ⇒ POPOVER.** An anchored panel beside the button that asked for
|
|
229
320
|
* them, so the row being acted on stays visible.
|
|
230
|
-
*
|
|
231
|
-
*
|
|
321
|
+
* 7. **Input that fits an overlay ⇒ MODAL.**
|
|
322
|
+
* 8. **Everything else ⇒ PAGE.** Files, nested writes, large field sets — and the honest fallback
|
|
232
323
|
* for a `requestDto` this code cannot introspect (a thinned projection), because refusing to
|
|
233
324
|
* guess returns the behaviour the operation had before.
|
|
234
325
|
*
|
|
235
|
-
* ##
|
|
326
|
+
* ## An authored DROPDOWN that cannot be one resolves to POPOVER
|
|
327
|
+
*
|
|
328
|
+
* The only authored answer this function overrides, and for the same reason the click handler
|
|
329
|
+
* refuses a non-navigating presentation on a zero-input update-like action: honouring it would be
|
|
330
|
+
* wrong, not merely ugly. A DROPDOWN over two fields has no list to show, and one over a CRITICAL
|
|
331
|
+
* operation would execute without the typed confirmation every other surface demands. POPOVER is the
|
|
332
|
+
* nearest honest answer — the same anchored panel, holding the form with its Submit.
|
|
333
|
+
*
|
|
334
|
+
* ## Why step 6 is DERIVED, when it used to be authored-only
|
|
236
335
|
*
|
|
237
336
|
* This function returned `MODAL` for every small input and left `POPOVER` to authors, on the
|
|
238
337
|
* reasoning that an anchored panel is a claim about the surrounding context — that the trigger is
|
|
@@ -243,9 +342,10 @@ export declare function operationCollectsNoCallerInput(operation: ResourceOperat
|
|
|
243
342
|
* already degrades when it cannot: an item collapsed into the overflow menu or nested in a subgroup
|
|
244
343
|
* takes its `onClick`, which `resolveActionPresentationTransition` maps to an OVERLAY — the same
|
|
245
344
|
* chrome `MODAL` would have produced. So the cost of deriving the panel is zero where it cannot be
|
|
246
|
-
* drawn, and the cost of NOT deriving it was that every
|
|
247
|
-
* "
|
|
248
|
-
* way out was to author the axis per operation.
|
|
345
|
+
* drawn, and the cost of NOT deriving it was that every small action in every application —
|
|
346
|
+
* "snooze until…", "reject with a reason…" — covered the list it was acting on with a dialog, and the
|
|
347
|
+
* only way out was to author the axis per operation. (The one-CHOICE actions — "change status to…",
|
|
348
|
+
* "assign to…" — have since moved one step earlier, to DROPDOWN.)
|
|
249
349
|
*
|
|
250
350
|
* `INLINE` stays authored-only, and the asymmetry is the point: its claim is about the ELEMENT (the
|
|
251
351
|
* thing being acted on is a row that can transform in place), and its degrade target is an overlay
|
|
@@ -256,7 +356,7 @@ export declare function resolveResourceOperationActionPresentation(operation: Re
|
|
|
256
356
|
/**
|
|
257
357
|
* Does this presentation reach the NAVIGATION layer, or does the action layer own it end to end?
|
|
258
358
|
*
|
|
259
|
-
* `MODAL` and `PAGE` are destinations. `DIRECT`, `POPOVER` and `INLINE` are not: nothing is pushed,
|
|
359
|
+
* `MODAL` and `PAGE` are destinations. `DIRECT`, `POPOVER`, `DROPDOWN` and `INLINE` are not: nothing is pushed,
|
|
260
360
|
* no zone changes, and there is nothing for a back button to pop — routing them through navigation
|
|
261
361
|
* would mint zone entries for chrome that does not live in a zone.
|
|
262
362
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-semantics.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../../src/core/resources/operation-semantics.frontend.utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"operation-semantics.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../../src/core/resources/operation-semantics.frontend.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,18 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { isFileSchema, unwrapSchema } from '@wildo-ai/zod-decorators';
|
|
3
|
-
import { BULK_OPERATION_MATCH_FIELD, BULK_OPERATION_SELECTOR_FIELD, COLLECTION_OPERATIONS_WITHOUT_IDS, CoreResourceOperation, ResourceGeneratedOperationKind, ResourceOperationVariantType, ResourceOperationFrontendSurface, NavigationTransition, Resources_SharedUtils, } from '@wildo-ai/saas-models';
|
|
2
|
+
import { FieldSchemaType, getSchemaType, isFileSchema, isForeignKeyField, unwrapSchema } from '@wildo-ai/zod-decorators';
|
|
3
|
+
import { BULK_OPERATION_HOST_SUPPLIED_FIELDS, BULK_OPERATION_MATCH_FIELD, BULK_OPERATION_SELECTOR_FIELD, COLLECTION_OPERATIONS_WITHOUT_IDS, CoreResourceOperation, ResourceGeneratedOperationKind, ResourceOperationVariantType, ResourceOperationFrontendSurface, ResourceOperationRiskLevel, NavigationTransition, Resources_SharedUtils, } from '@wildo-ai/saas-models';
|
|
4
4
|
import { isCollectionScopedOperation, ResourceOperationActionPresentation, ResourceOperationActionScope, } from '../../core/resources/resources.frontend.schemas.js';
|
|
5
5
|
export const BULK_OPERATION_SELECTION_IDS_CONTEXT_KEY = 'bulkOperationSelectionIds';
|
|
6
|
+
/**
|
|
7
|
+
* The operation-context key carrying a CROSS-PAGE selection ("select all N matching") to whatever host
|
|
8
|
+
* presents a bulk action's form — the sibling of {@link BULK_OPERATION_SELECTION_IDS_CONTEXT_KEY}.
|
|
9
|
+
*
|
|
10
|
+
* A form-bearing bulk action (one that asks for a value, like "Change status") is executed by the
|
|
11
|
+
* form host, which adds the selection through {@link mergeBulkSelectionIntoRequestData}. That merge
|
|
12
|
+
* read only the id key, so a cross-page selection never reached it and the request went out with no
|
|
13
|
+
* selection but the form's own empty `_match` (#1461, #2035 run 2026-09-30).
|
|
14
|
+
*/
|
|
15
|
+
export const BULK_OPERATION_MATCH_SELECTION_CONTEXT_KEY = 'bulkOperationMatchSelection';
|
|
6
16
|
export const RESOURCE_OPERATION_EXECUTED_DISCRIMINATOR_CONTEXT_KEY = 'resourceOperationExecutedDiscriminator';
|
|
7
17
|
export function isLiteralCoreResourceOperation(operationIdentifier) {
|
|
8
18
|
return Object.values(CoreResourceOperation).includes(operationIdentifier);
|
|
@@ -22,6 +32,27 @@ export function resolveEffectiveCoreOperationFromOperation(operation) {
|
|
|
22
32
|
export function matchesResourceOperationSemantic(operation, coreOperation) {
|
|
23
33
|
return resolveEffectiveCoreOperationFromOperation(operation) === coreOperation;
|
|
24
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* The operation whose generated TITLE names a surface that shows `operationIdentifier` — the page header and
|
|
37
|
+
* the overlay (dialog, sheet, tab) title alike, which must agree.
|
|
38
|
+
*
|
|
39
|
+
* The core EDIT surface is titled like the record's own page. UPDATE's title is generated as the name of an
|
|
40
|
+
* ACTION, a button word ("Update preferences", "Save changes"), while READ's is generated as a HEADING naming
|
|
41
|
+
* the surface ("Preferences"). An edit page headed by a verb names the button below it rather than the thing
|
|
42
|
+
* being edited, and the form's own save button already says the verb. So when the resource has a READ, the
|
|
43
|
+
* core UPDATE — including its polymorphic variants, which keep the `update` identifier — takes READ's title.
|
|
44
|
+
*
|
|
45
|
+
* Keyed on the literal identifier, NOT on the effective core semantics: a custom operation that BEHAVES like
|
|
46
|
+
* an update (`claimDomain`, `reset_to_defaults`) is a named action, and its own title is the only word that
|
|
47
|
+
* says which action the surface performs. A resource with no READ keeps UPDATE's title, the only word it has.
|
|
48
|
+
*/
|
|
49
|
+
export function resolveSurfaceTitleOperationIdentifier(operationIdentifier, resourceOperations) {
|
|
50
|
+
if (operationIdentifier === CoreResourceOperation.UPDATE
|
|
51
|
+
&& resourceOperations?.some((candidate) => candidate.operationIdentifier === CoreResourceOperation.READ)) {
|
|
52
|
+
return CoreResourceOperation.READ;
|
|
53
|
+
}
|
|
54
|
+
return String(operationIdentifier);
|
|
55
|
+
}
|
|
25
56
|
export function isUpdateLikeCoreOperation(coreOperation) {
|
|
26
57
|
return coreOperation === CoreResourceOperation.UPDATE
|
|
27
58
|
|| coreOperation === CoreResourceOperation.UPDATE_MANY;
|
|
@@ -55,6 +86,20 @@ export function readBulkOperationSelectionIds(additionalContext) {
|
|
|
55
86
|
const ids = value.filter((candidate) => typeof candidate === 'string');
|
|
56
87
|
return ids.length > 0 ? ids : undefined;
|
|
57
88
|
}
|
|
89
|
+
/** The cross-page selection an operation context carries, when "select all N matching" was chosen. */
|
|
90
|
+
export function readBulkOperationMatchSelection(additionalContext) {
|
|
91
|
+
const value = additionalContext?.[BULK_OPERATION_MATCH_SELECTION_CONTEXT_KEY];
|
|
92
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
const candidate = value;
|
|
96
|
+
return {
|
|
97
|
+
...(candidate.filters && typeof candidate.filters === 'object' && !Array.isArray(candidate.filters)
|
|
98
|
+
? { filters: candidate.filters }
|
|
99
|
+
: {}),
|
|
100
|
+
...(typeof candidate.search === 'string' && candidate.search !== '' ? { search: candidate.search } : {}),
|
|
101
|
+
};
|
|
102
|
+
}
|
|
58
103
|
export function readResourceOperationExecutedDiscriminator(additionalContext) {
|
|
59
104
|
const value = additionalContext?.[RESOURCE_OPERATION_EXECUTED_DISCRIMINATOR_CONTEXT_KEY];
|
|
60
105
|
return typeof value === 'string' && value.length > 0 ? value : undefined;
|
|
@@ -107,12 +152,22 @@ export function mergeBulkSelectionIntoRequestData(params) {
|
|
|
107
152
|
if (params.operation.isBulkOperation !== true) {
|
|
108
153
|
return params.requestData;
|
|
109
154
|
}
|
|
155
|
+
// The selector is the COLLECTION's to write, never the form's. Whatever the form's values carry
|
|
156
|
+
// under a selector key is dropped first, so an empty `_match: {}` a form happened to hold can never
|
|
157
|
+
// stand in for — or sit beside — the selection the person actually made.
|
|
158
|
+
const formValues = params.requestData
|
|
159
|
+
? Object.fromEntries(Object.entries(params.requestData).filter(([key]) => !BULK_OPERATION_HOST_SUPPLIED_FIELDS.includes(key)))
|
|
160
|
+
: undefined;
|
|
161
|
+
const match = readBulkOperationMatchSelection(params.additionalContext);
|
|
162
|
+
if (match) {
|
|
163
|
+
return { ...(formValues ?? {}), ...buildBulkOperationMatchPayload(match) };
|
|
164
|
+
}
|
|
110
165
|
const ids = readBulkOperationSelectionIds(params.additionalContext);
|
|
111
166
|
if (!ids || ids.length === 0) {
|
|
112
|
-
return
|
|
167
|
+
return formValues;
|
|
113
168
|
}
|
|
114
169
|
return {
|
|
115
|
-
...(
|
|
170
|
+
...(formValues ?? {}),
|
|
116
171
|
...buildBulkOperationSelectorPayload(ids),
|
|
117
172
|
};
|
|
118
173
|
}
|
|
@@ -127,7 +182,7 @@ export function isGeneratedFileRegenerateOperation(operation) {
|
|
|
127
182
|
&& resolveEffectiveCoreOperationFromOperation(operation) === CoreResourceOperation.UPDATE);
|
|
128
183
|
}
|
|
129
184
|
/**
|
|
130
|
-
* Is this the
|
|
185
|
+
* Is this the file-export companion of a LIST/SEARCH operation?
|
|
131
186
|
*
|
|
132
187
|
* Identity comes from the generated-operation metadata, with the prefixed identifier as the fallback
|
|
133
188
|
* for any surface that receives a thinned operation object — the same two-source shape
|
|
@@ -275,7 +330,7 @@ export const ACTION_MODAL_FIELD_CEILING = 6;
|
|
|
275
330
|
* an overlay.
|
|
276
331
|
*
|
|
277
332
|
* Two, and the reasoning is the one this axis's `POPOVER` member already states: the anchored panel
|
|
278
|
-
* is the
|
|
333
|
+
* is the small-input idiom ("snooze until…", "reject with a reason…"), and it earns its
|
|
279
334
|
* place by keeping the row the user is acting on visible. A third control starts wanting the room a
|
|
280
335
|
* dialog has, and the panel stops being cheaper than one.
|
|
281
336
|
*
|
|
@@ -324,11 +379,12 @@ function requestBodyFitsAnAnchoredPanel(requestDto, suppliedKeys) {
|
|
|
324
379
|
* to a dialog, while the SAME action on one row got the panel. The ladder has to count what the
|
|
325
380
|
* person will actually see.
|
|
326
381
|
*
|
|
327
|
-
* Named from `
|
|
328
|
-
*
|
|
382
|
+
* Named from `BULK_OPERATION_HOST_SUPPLIED_FIELDS` — both selectors, `_ids` and the cross-page
|
|
383
|
+
* `_match` — the one list the form's omission and the execution merge also read, so the keys this
|
|
384
|
+
* skips and the keys the request builder writes cannot drift apart.
|
|
329
385
|
*/
|
|
330
386
|
function resolveHostSuppliedRequestKeys(operation) {
|
|
331
|
-
return operation.isBulkOperation === true ? new Set(
|
|
387
|
+
return operation.isBulkOperation === true ? new Set(BULK_OPERATION_HOST_SUPPLIED_FIELDS) : new Set();
|
|
332
388
|
}
|
|
333
389
|
/**
|
|
334
390
|
* The field count of a request body every one of whose fields can be drawn without a page, or
|
|
@@ -396,13 +452,89 @@ export function operationCollectsNoCallerInput(operation) {
|
|
|
396
452
|
const suppliedKeys = resolveHostSuppliedRequestKeys(operation);
|
|
397
453
|
return Object.keys(operation.requestDto.shape).every((fieldName) => suppliedKeys.has(fieldName));
|
|
398
454
|
}
|
|
455
|
+
/**
|
|
456
|
+
* Does this risk level ask for a confirmation before the operation runs?
|
|
457
|
+
*
|
|
458
|
+
* HIGH and CRITICAL do (a plain confirm, and a typed one); LOW and MEDIUM execute on click. The one
|
|
459
|
+
* definition the action ladder's confirm dialog and the DROPDOWN rule both read, so "risky enough to
|
|
460
|
+
* confirm" and "too risky to execute on a pick" cannot come to mean two different sets.
|
|
461
|
+
*/
|
|
462
|
+
export function isRiskyResourceOperation(riskLevel) {
|
|
463
|
+
return riskLevel === ResourceOperationRiskLevel.HIGH || riskLevel === ResourceOperationRiskLevel.CRITICAL;
|
|
464
|
+
}
|
|
465
|
+
/**
|
|
466
|
+
* The kind of domain a DROPDOWN lists — the two a person can pick from without typing a value.
|
|
467
|
+
*
|
|
468
|
+
* Two members because the lists are genuinely different things: an enum's values are CLOSED and
|
|
469
|
+
* known up front, so they are listed whole; a reference's candidates are records on the server, so
|
|
470
|
+
* they are SEARCHED as you type and scoped like the form's picker. A boolean is deliberately absent —
|
|
471
|
+
* a two-item menu for yes/no is a worse control than the toggle it would replace.
|
|
472
|
+
*/
|
|
473
|
+
export var ResourceOperationChoiceDomain;
|
|
474
|
+
(function (ResourceOperationChoiceDomain) {
|
|
475
|
+
/** A closed enum — every value listed, labelled as the form labels it. */
|
|
476
|
+
ResourceOperationChoiceDomain["ENUM"] = "enum";
|
|
477
|
+
/** A foreign key — the referenced records, searched server-side. */
|
|
478
|
+
ResourceOperationChoiceDomain["REFERENCE"] = "reference";
|
|
479
|
+
})(ResourceOperationChoiceDomain || (ResourceOperationChoiceDomain = {}));
|
|
480
|
+
/**
|
|
481
|
+
* The one choice field this operation's input consists of, or `undefined` when its input is
|
|
482
|
+
* anything else.
|
|
483
|
+
*
|
|
484
|
+
* Qualifies only when, after the keys the host supplies itself (a bulk twin's `_ids`), EXACTLY ONE
|
|
485
|
+
* field remains and it is a single enum or a single foreign key. An array is refused: picking one
|
|
486
|
+
* item of a multi-pick and executing is not what the field asks for.
|
|
487
|
+
*
|
|
488
|
+
* Reads the schema structurally, like every other rule in this module, so the answer cannot
|
|
489
|
+
* disagree with the form the same operation would otherwise render.
|
|
490
|
+
*/
|
|
491
|
+
export function resolveResourceOperationDropdownChoice(operation) {
|
|
492
|
+
const requestDto = operation.requestDto;
|
|
493
|
+
if (!(requestDto instanceof z.ZodObject)) {
|
|
494
|
+
return undefined;
|
|
495
|
+
}
|
|
496
|
+
const suppliedKeys = resolveHostSuppliedRequestKeys(operation);
|
|
497
|
+
const shape = requestDto.shape;
|
|
498
|
+
const fieldNames = Object.keys(shape).filter((fieldName) => !suppliedKeys.has(fieldName));
|
|
499
|
+
if (fieldNames.length !== 1) {
|
|
500
|
+
return undefined;
|
|
501
|
+
}
|
|
502
|
+
const fieldName = fieldNames[0];
|
|
503
|
+
const fieldSchema = shape[fieldName];
|
|
504
|
+
if (unwrapSchema(fieldSchema) instanceof z.ZodArray) {
|
|
505
|
+
return undefined;
|
|
506
|
+
}
|
|
507
|
+
if (isForeignKeyField(fieldSchema)) {
|
|
508
|
+
return { fieldName, fieldSchema, domain: ResourceOperationChoiceDomain.REFERENCE };
|
|
509
|
+
}
|
|
510
|
+
if (getSchemaType(fieldSchema) === FieldSchemaType.ENUM) {
|
|
511
|
+
return { fieldName, fieldSchema, domain: ResourceOperationChoiceDomain.ENUM };
|
|
512
|
+
}
|
|
513
|
+
return undefined;
|
|
514
|
+
}
|
|
515
|
+
/**
|
|
516
|
+
* Can this operation honestly present as a DROPDOWN — one choice field, one row, and no confirmation
|
|
517
|
+
* owed?
|
|
518
|
+
*
|
|
519
|
+
* All three are correctness constraints, not taste. Without a single choice field there is no list to
|
|
520
|
+
* show. A pick executes immediately, so an operation whose risk level asks for a confirmation would
|
|
521
|
+
* lose it. And a BULK twin writes every selected row: one stray pick in a menu would rewrite them all
|
|
522
|
+
* with no second step, which is the one place "the pick is the submission" is the wrong promise. Each
|
|
523
|
+
* of those keeps the anchored FORM, which has an explicit Submit.
|
|
524
|
+
*/
|
|
525
|
+
export function operationCanPresentAsDropdown(operation) {
|
|
526
|
+
return operation.isBulkOperation !== true
|
|
527
|
+
&& !isRiskyResourceOperation(operation.riskLevel)
|
|
528
|
+
&& resolveResourceOperationDropdownChoice(operation) !== undefined;
|
|
529
|
+
}
|
|
399
530
|
/**
|
|
400
531
|
* HOW does this action collect its input?
|
|
401
532
|
*
|
|
402
533
|
* The single answer for every action surface. An explicitly authored
|
|
403
|
-
* {@link ResourceOperationActionPresentation} is returned
|
|
404
|
-
* question and the framework does not second-guess
|
|
405
|
-
* (
|
|
534
|
+
* {@link ResourceOperationActionPresentation} is returned as authored — the author has answered the
|
|
535
|
+
* question and the framework does not second-guess their TASTE — with ONE correctness exception: a
|
|
536
|
+
* DROPDOWN the operation cannot honestly be resolves to POPOVER (see below). Everything else is the
|
|
537
|
+
* DERIVATION for the (overwhelmingly common) case where nothing was authored.
|
|
406
538
|
*
|
|
407
539
|
* The derivation is ordered by how strong the evidence is, not by convenience:
|
|
408
540
|
*
|
|
@@ -418,14 +550,24 @@ export function operationCollectsNoCallerInput(operation) {
|
|
|
418
550
|
* a second mechanism, not a vocabulary.
|
|
419
551
|
* 4. **No caller input ⇒ DIRECT.** No `requestDto` at all, an explicit `z.object({})`, or a bulk
|
|
420
552
|
* body holding only the selector the host fills ({@link operationCollectsNoCallerInput}).
|
|
421
|
-
* 5. **One
|
|
553
|
+
* 5. **One choice from an enum or a reference, and no confirmation owed ⇒ DROPDOWN.** The pick is
|
|
554
|
+
* the submission, so the list of values IS the whole input ({@link operationCanPresentAsDropdown}).
|
|
555
|
+
* 6. **One or two simple inputs ⇒ POPOVER.** An anchored panel beside the button that asked for
|
|
422
556
|
* them, so the row being acted on stays visible.
|
|
423
|
-
*
|
|
424
|
-
*
|
|
557
|
+
* 7. **Input that fits an overlay ⇒ MODAL.**
|
|
558
|
+
* 8. **Everything else ⇒ PAGE.** Files, nested writes, large field sets — and the honest fallback
|
|
425
559
|
* for a `requestDto` this code cannot introspect (a thinned projection), because refusing to
|
|
426
560
|
* guess returns the behaviour the operation had before.
|
|
427
561
|
*
|
|
428
|
-
* ##
|
|
562
|
+
* ## An authored DROPDOWN that cannot be one resolves to POPOVER
|
|
563
|
+
*
|
|
564
|
+
* The only authored answer this function overrides, and for the same reason the click handler
|
|
565
|
+
* refuses a non-navigating presentation on a zero-input update-like action: honouring it would be
|
|
566
|
+
* wrong, not merely ugly. A DROPDOWN over two fields has no list to show, and one over a CRITICAL
|
|
567
|
+
* operation would execute without the typed confirmation every other surface demands. POPOVER is the
|
|
568
|
+
* nearest honest answer — the same anchored panel, holding the form with its Submit.
|
|
569
|
+
*
|
|
570
|
+
* ## Why step 6 is DERIVED, when it used to be authored-only
|
|
429
571
|
*
|
|
430
572
|
* This function returned `MODAL` for every small input and left `POPOVER` to authors, on the
|
|
431
573
|
* reasoning that an anchored panel is a claim about the surrounding context — that the trigger is
|
|
@@ -436,9 +578,10 @@ export function operationCollectsNoCallerInput(operation) {
|
|
|
436
578
|
* already degrades when it cannot: an item collapsed into the overflow menu or nested in a subgroup
|
|
437
579
|
* takes its `onClick`, which `resolveActionPresentationTransition` maps to an OVERLAY — the same
|
|
438
580
|
* chrome `MODAL` would have produced. So the cost of deriving the panel is zero where it cannot be
|
|
439
|
-
* drawn, and the cost of NOT deriving it was that every
|
|
440
|
-
* "
|
|
441
|
-
* way out was to author the axis per operation.
|
|
581
|
+
* drawn, and the cost of NOT deriving it was that every small action in every application —
|
|
582
|
+
* "snooze until…", "reject with a reason…" — covered the list it was acting on with a dialog, and the
|
|
583
|
+
* only way out was to author the axis per operation. (The one-CHOICE actions — "change status to…",
|
|
584
|
+
* "assign to…" — have since moved one step earlier, to DROPDOWN.)
|
|
442
585
|
*
|
|
443
586
|
* `INLINE` stays authored-only, and the asymmetry is the point: its claim is about the ELEMENT (the
|
|
444
587
|
* thing being acted on is a row that can transform in place), and its degrade target is an overlay
|
|
@@ -448,6 +591,10 @@ export function operationCollectsNoCallerInput(operation) {
|
|
|
448
591
|
export function resolveResourceOperationActionPresentation(operation) {
|
|
449
592
|
const config = operation.operationFrontendConfig;
|
|
450
593
|
if (config?.actionPresentation) {
|
|
594
|
+
if (config.actionPresentation === ResourceOperationActionPresentation.DROPDOWN
|
|
595
|
+
&& !operationCanPresentAsDropdown(operation)) {
|
|
596
|
+
return ResourceOperationActionPresentation.POPOVER;
|
|
597
|
+
}
|
|
451
598
|
return config.actionPresentation;
|
|
452
599
|
}
|
|
453
600
|
if (config?.surface === ResourceOperationFrontendSurface.ADDRESSABLE) {
|
|
@@ -482,6 +629,9 @@ export function resolveResourceOperationActionPresentation(operation) {
|
|
|
482
629
|
if (operationCollectsNoCallerInput(operation)) {
|
|
483
630
|
return ResourceOperationActionPresentation.DIRECT;
|
|
484
631
|
}
|
|
632
|
+
if (operationCanPresentAsDropdown(operation)) {
|
|
633
|
+
return ResourceOperationActionPresentation.DROPDOWN;
|
|
634
|
+
}
|
|
485
635
|
const suppliedKeys = resolveHostSuppliedRequestKeys(operation);
|
|
486
636
|
if (requestBodyFitsAnAnchoredPanel(operation.requestDto, suppliedKeys)) {
|
|
487
637
|
return ResourceOperationActionPresentation.POPOVER;
|
|
@@ -493,7 +643,7 @@ export function resolveResourceOperationActionPresentation(operation) {
|
|
|
493
643
|
/**
|
|
494
644
|
* Does this presentation reach the NAVIGATION layer, or does the action layer own it end to end?
|
|
495
645
|
*
|
|
496
|
-
* `MODAL` and `PAGE` are destinations. `DIRECT`, `POPOVER` and `INLINE` are not: nothing is pushed,
|
|
646
|
+
* `MODAL` and `PAGE` are destinations. `DIRECT`, `POPOVER`, `DROPDOWN` and `INLINE` are not: nothing is pushed,
|
|
497
647
|
* no zone changes, and there is nothing for a back button to pop — routing them through navigation
|
|
498
648
|
* would mint zone entries for chrome that does not live in a zone.
|
|
499
649
|
*
|
|
@@ -529,6 +679,9 @@ export function resolveActionPresentationTransition(presentation) {
|
|
|
529
679
|
switch (presentation) {
|
|
530
680
|
case ResourceOperationActionPresentation.MODAL:
|
|
531
681
|
case ResourceOperationActionPresentation.POPOVER:
|
|
682
|
+
// A DROPDOWN degrades exactly like the popover it shares a host with: where nothing can anchor
|
|
683
|
+
// the list, the same single field is collected by the overlay form.
|
|
684
|
+
case ResourceOperationActionPresentation.DROPDOWN:
|
|
532
685
|
return NavigationTransition.OVERLAY;
|
|
533
686
|
case ResourceOperationActionPresentation.INLINE:
|
|
534
687
|
// The DEGRADE target, like `POPOVER`'s above. An in-place host only exists inside a collection;
|