@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
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
*
|
|
20
20
|
* @see _code_archive/docs-archive/navigation/navigation-v3-reflection.md
|
|
21
21
|
*/
|
|
22
|
-
import { CoreResourceOperation, NavigationTransition, NavigationZoneName, ResponsiveCollapseMode, ResourceOperationFrontendSurface, OverlayAppearance,
|
|
22
|
+
import { CoreResourceOperation, NavigationTransition, NavigationZoneName, ResponsiveCollapseMode, ResourceOperationFrontendSurface, OverlayAppearance, getTransitionVerb, isEphemeralTransition as isEphemeral, isPersistentTransition as isPersistent, } from '@wildo-ai/saas-models';
|
|
23
23
|
import { ViewportBreakpoint } from '@wildo-ai/zod-decorators';
|
|
24
|
-
import { NavigationZone, APP_LEVEL_NAVIGATION_SOURCE, } from './navigation.schemas.js';
|
|
25
|
-
import {
|
|
24
|
+
import { NavigationZone, APP_LEVEL_NAVIGATION_SOURCE, NavigationPlacementAdjustment, NavigationTransitionSource, } from './navigation.schemas.js';
|
|
25
|
+
import { zoneIsCollapsedAtViewport } from './zone-collapse.js';
|
|
26
26
|
// ════════════════════════════════════════════════════════════════
|
|
27
27
|
// Viewport-Discriminated Resolution Utility
|
|
28
28
|
// ════════════════════════════════════════════════════════════════
|
|
@@ -35,6 +35,49 @@ const VIEWPORT_FALLBACK_ORDER = {
|
|
|
35
35
|
[ViewportBreakpoint.VERT_TABLET]: [ViewportBreakpoint.VERT_TABLET, ViewportBreakpoint.DESKTOP],
|
|
36
36
|
[ViewportBreakpoint.DESKTOP]: [ViewportBreakpoint.DESKTOP],
|
|
37
37
|
};
|
|
38
|
+
/**
|
|
39
|
+
* WHICH collapse a structural zone is under at this viewport, or `undefined` for none.
|
|
40
|
+
*
|
|
41
|
+
* Exported rather than private to the resolver because THREE parties need the answer and none may
|
|
42
|
+
* re-derive it: the resolver places a CLICK's content, `useResponsiveZoneMigration` moves content
|
|
43
|
+
* ALREADY sitting in a zone the viewport has just taken away, and a test pins both. The predicate
|
|
44
|
+
* half (`zoneIsCollapsedAtViewport`) was extracted for exactly this reason on 2026-09-25; this is
|
|
45
|
+
* the mode half, and leaving it private would let the migration disagree with the placement about
|
|
46
|
+
* whether a collapsed pane becomes a page or a sheet — the two halves of one declaration, answered
|
|
47
|
+
* by two functions.
|
|
48
|
+
*
|
|
49
|
+
* Callers own the zone-identity guard, because it is a question about WHICH zone rather than about
|
|
50
|
+
* the viewport.
|
|
51
|
+
*
|
|
52
|
+
* ## An UNDECLARED collapse defaults to PUSH, and that is a decision
|
|
53
|
+
*
|
|
54
|
+
* `NavigationContentAreas` renders a single zone below the mobile breakpoint — secondary and
|
|
55
|
+
* companion are not shown at all. So on a phone a zone with no `responsiveCollapse` is not "left
|
|
56
|
+
* alone": content routed there is placed into a zone that does not render, and the user sees
|
|
57
|
+
* nothing happen. That is what an undeclared collapse meant before #411, for every application, and
|
|
58
|
+
* it is not a behaviour anyone would choose deliberately.
|
|
59
|
+
*
|
|
60
|
+
* PUSH rather than OVERLAY because it is the conservative half of the vocabulary: the content
|
|
61
|
+
* appears in primary in context, and BACK pops to what was there before — no dismissal affordance
|
|
62
|
+
* to get wrong, and no modality over a phone-sized viewport. An application that wants the sheet
|
|
63
|
+
* declares `OVERLAY` and gets it.
|
|
64
|
+
*
|
|
65
|
+
* The alternative — return `undefined` and let the content vanish — was rejected because it is the
|
|
66
|
+
* silent degradation #411 exists to remove, and because "the zone declared nothing" is not a reason
|
|
67
|
+
* to lose a user's navigation.
|
|
68
|
+
*
|
|
69
|
+
* A viewport-discriminated declaration naming no mode for THIS breakpoint is a gap in the
|
|
70
|
+
* declaration, not a statement that the zone renders — it still would not — so it takes the same
|
|
71
|
+
* default.
|
|
72
|
+
*/
|
|
73
|
+
export function resolveZoneCollapseMode(params) {
|
|
74
|
+
if (!zoneIsCollapsedAtViewport(params))
|
|
75
|
+
return undefined;
|
|
76
|
+
const declared = params.zoneConfig?.responsiveCollapse;
|
|
77
|
+
if (!declared)
|
|
78
|
+
return ResponsiveCollapseMode.PUSH;
|
|
79
|
+
return resolveViewportDiscriminated(declared, params.viewport) ?? ResponsiveCollapseMode.PUSH;
|
|
80
|
+
}
|
|
38
81
|
/**
|
|
39
82
|
* Resolve a `ViewportDiscriminated<T>` value for the current viewport.
|
|
40
83
|
*
|
|
@@ -70,27 +113,6 @@ function isViewportRecord(value) {
|
|
|
70
113
|
return keys.length > 0 && keys.some(k => breakpoints.has(k));
|
|
71
114
|
}
|
|
72
115
|
// ════════════════════════════════════════════════════════════════
|
|
73
|
-
// Transition Config Helpers
|
|
74
|
-
// ════════════════════════════════════════════════════════════════
|
|
75
|
-
/** Extract the transition verb from a TransitionConfig (string or object). */
|
|
76
|
-
function getTransitionVerb(config) {
|
|
77
|
-
if (typeof config === 'string')
|
|
78
|
-
return config;
|
|
79
|
-
return config.transition;
|
|
80
|
-
}
|
|
81
|
-
/** Extract the ephemeral modifier from a TransitionConfig. */
|
|
82
|
-
function isEphemeral(config) {
|
|
83
|
-
if (typeof config === 'string')
|
|
84
|
-
return false;
|
|
85
|
-
return config.ephemeral === true;
|
|
86
|
-
}
|
|
87
|
-
/** Extract the persistent modifier from a TransitionConfig. */
|
|
88
|
-
function isPersistent(config) {
|
|
89
|
-
if (typeof config === 'string')
|
|
90
|
-
return false;
|
|
91
|
-
return config.persistent === true;
|
|
92
|
-
}
|
|
93
|
-
// ════════════════════════════════════════════════════════════════
|
|
94
116
|
// Default Fallback Transitions
|
|
95
117
|
// ════════════════════════════════════════════════════════════════
|
|
96
118
|
const FRAMEWORK_FALLBACK_TRANSITION = NavigationTransition.PUSH;
|
|
@@ -106,11 +128,49 @@ export class NavigationPolicyResolver {
|
|
|
106
128
|
* @returns What the controller should do: target zone, transition, appearance, collapse state.
|
|
107
129
|
*/
|
|
108
130
|
resolve(context, layout) {
|
|
109
|
-
const
|
|
131
|
+
const resolved = this.resolveTransition(context, layout);
|
|
132
|
+
const resolvedTransition = resolved.config;
|
|
110
133
|
const transitionVerb = getTransitionVerb(resolvedTransition);
|
|
111
134
|
const ephemeral = isEphemeral(resolvedTransition);
|
|
112
135
|
const persistent = isPersistent(resolvedTransition);
|
|
113
|
-
|
|
136
|
+
/*
|
|
137
|
+
* ─── PROVENANCE ─────────────────────────────────────────────────────────────────────────────
|
|
138
|
+
*
|
|
139
|
+
* Accumulated as the placement is decided, in application order, so the array reads as the story
|
|
140
|
+
* of how the authored verb became the final one. Nothing branches on it — see
|
|
141
|
+
* `NavigationResolutionProvenance`.
|
|
142
|
+
*/
|
|
143
|
+
const adjustments = [];
|
|
144
|
+
const derivedTarget = this.deriveTargetZone(transitionVerb, context, layout, persistent);
|
|
145
|
+
const targetZone = derivedTarget.zone;
|
|
146
|
+
if (derivedTarget.adjustment)
|
|
147
|
+
adjustments.push(derivedTarget.adjustment);
|
|
148
|
+
/*
|
|
149
|
+
* ─── AN ESCALATION REWRITES THE VERB. All four of them. ─────────────────────────────────────
|
|
150
|
+
*
|
|
151
|
+
* A SPLIT that found no adjacent zone lands in the OVERLAY layer, and until 2026-09-25 it kept
|
|
152
|
+
* its SPLIT verb on the way there. The result was an incoherent triple — measured against Wonder
|
|
153
|
+
* Todos' real layout, which declares a SPLIT override and only `zones.primary`:
|
|
154
|
+
*
|
|
155
|
+
* { targetZone: 'overlay', transition: 'split', appearance: 'panel' }
|
|
156
|
+
*
|
|
157
|
+
* `panel` is a `SplitAppearance` handed to the overlay layer, and it reached the overlay
|
|
158
|
+
* container, which has no case for it. Worse, `overlayBehavior` is gated on
|
|
159
|
+
* `finalTransition === OVERLAY` further down, so an operation's authored `modal` /
|
|
160
|
+
* `closeOnOutsideClick` / `showBackdrop` were SILENTLY DROPPED for exactly the content that ends
|
|
161
|
+
* up in a dialog by accident — the one placement where a create form most needs them.
|
|
162
|
+
*
|
|
163
|
+
* The other three escalations already did this: the EMBEDDED coercion returns an explicit
|
|
164
|
+
* `transition: OVERLAY`, responsive collapse rewrites `collapsedTransition`, and the depth
|
|
165
|
+
* ceiling rewrites `finalTransition`. This was the fourth site of one invariant — the shape
|
|
166
|
+
* `.claude/rules/invariant-call-site-enumeration.md` exists for — and it was the site nobody
|
|
167
|
+
* enumerated, including the pass that ADDED the adjustment naming this very branch and asserted
|
|
168
|
+
* only `targetZone` and `adjustments` on it.
|
|
169
|
+
*/
|
|
170
|
+
const escalatedVerb = derivedTarget.adjustment === NavigationPlacementAdjustment.SPLIT_ESCALATED_NO_ADJACENT_ZONE
|
|
171
|
+
|| derivedTarget.adjustment === NavigationPlacementAdjustment.PERSISTENT_SPLIT_ESCALATED_NO_COMPANION
|
|
172
|
+
? NavigationTransition.OVERLAY
|
|
173
|
+
: transitionVerb;
|
|
114
174
|
// ─── Surface coercion: EMBEDDED never TAKES OVER a structural zone ─────────────
|
|
115
175
|
// `ResourceOperationFrontendSurface.EMBEDDED` is contractually a view
|
|
116
176
|
// "rendered within a host — overlay/drill-in when standalone". A STRUCTURAL
|
|
@@ -155,7 +215,7 @@ export class NavigationPolicyResolver {
|
|
|
155
215
|
// `resolveSplitTarget` already decides on, so reading it here cannot drift from it.
|
|
156
216
|
if (context.operationSurface === ResourceOperationFrontendSurface.EMBEDDED
|
|
157
217
|
&& targetZone !== NavigationZone.OVERLAY
|
|
158
|
-
&& !(
|
|
218
|
+
&& !(escalatedVerb === NavigationTransition.SPLIT
|
|
159
219
|
&& context.zoneOccupancy?.[targetZone] !== true)
|
|
160
220
|
// …EXCEPT for INPLACE, which takes over nothing either — it is the one transition that places
|
|
161
221
|
// no content in a zone at all, and `deriveTargetZone` only reports a zone for it because "the
|
|
@@ -167,13 +227,15 @@ export class NavigationPolicyResolver {
|
|
|
167
227
|
// and the surface most likely to author `inplace` (a row's EMBEDDED update) is exactly the one
|
|
168
228
|
// it would have hit. Found by driving the real controller; a resolver-level test would not
|
|
169
229
|
// have shown it, because at the resolver an overlay is a perfectly good answer.
|
|
170
|
-
&&
|
|
230
|
+
&& escalatedVerb !== NavigationTransition.INPLACE) {
|
|
231
|
+
adjustments.push(NavigationPlacementAdjustment.EMBEDDED_COERCED_TO_OVERLAY);
|
|
171
232
|
return {
|
|
172
233
|
targetZone: NavigationZone.OVERLAY,
|
|
173
234
|
transition: NavigationTransition.OVERLAY,
|
|
174
235
|
appearance: this.deriveAppearance(NavigationTransition.OVERLAY, context, layout),
|
|
175
236
|
collapsed: false,
|
|
176
237
|
ephemeral: ephemeral || undefined,
|
|
238
|
+
provenance: { transitionSource: resolved.source, authoredTransition: transitionVerb, adjustments },
|
|
177
239
|
};
|
|
178
240
|
}
|
|
179
241
|
const collapseMode = this.resolveCollapseMode(targetZone, context, layout);
|
|
@@ -209,7 +271,13 @@ export class NavigationPolicyResolver {
|
|
|
209
271
|
? NavigationTransition.OVERLAY
|
|
210
272
|
: collapseMode === ResponsiveCollapseMode.PUSH
|
|
211
273
|
? NavigationTransition.PUSH
|
|
212
|
-
:
|
|
274
|
+
: escalatedVerb;
|
|
275
|
+
if (collapseMode === ResponsiveCollapseMode.OVERLAY) {
|
|
276
|
+
adjustments.push(NavigationPlacementAdjustment.RESPONSIVE_COLLAPSE_OVERLAY);
|
|
277
|
+
}
|
|
278
|
+
else if (collapseMode === ResponsiveCollapseMode.PUSH) {
|
|
279
|
+
adjustments.push(NavigationPlacementAdjustment.RESPONSIVE_COLLAPSE_PUSH);
|
|
280
|
+
}
|
|
213
281
|
/*
|
|
214
282
|
* ─── maxDepth: a push past the ceiling becomes an overlay ───────────────────────────────────
|
|
215
283
|
*
|
|
@@ -237,6 +305,8 @@ export class NavigationPolicyResolver {
|
|
|
237
305
|
&& targetDepth >= depthCeiling;
|
|
238
306
|
const finalTargetZone = exceedsDepthCeiling ? NavigationZone.OVERLAY : collapsedTargetZone;
|
|
239
307
|
const finalTransition = exceedsDepthCeiling ? NavigationTransition.OVERLAY : collapsedTransition;
|
|
308
|
+
if (exceedsDepthCeiling)
|
|
309
|
+
adjustments.push(NavigationPlacementAdjustment.DEPTH_CEILING_ESCALATED_TO_OVERLAY);
|
|
240
310
|
const appearance = this.deriveAppearance(finalTransition, context, layout);
|
|
241
311
|
const collapsed = collapseMode !== undefined;
|
|
242
312
|
/*
|
|
@@ -254,6 +324,39 @@ export class NavigationPolicyResolver {
|
|
|
254
324
|
collapsed,
|
|
255
325
|
collapsedFromZone: collapsed ? targetZone : undefined,
|
|
256
326
|
ephemeral: ephemeral || undefined,
|
|
327
|
+
/*
|
|
328
|
+
* Reported so the entry can carry it. `persistent` chose the COMPANION zone and nothing more
|
|
329
|
+
* until 2026-09-25, while its contract promised the pane would survive the source zone
|
|
330
|
+
* changing — see `NavigationStackEntry.persistent`.
|
|
331
|
+
*/
|
|
332
|
+
persistent: persistent && finalTargetZone !== NavigationZone.OVERLAY ? true : undefined,
|
|
333
|
+
provenance: { transitionSource: resolved.source, authoredTransition: transitionVerb, adjustments },
|
|
334
|
+
};
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* The overlay an `INPLACE` transition becomes when the surface has no element-level host.
|
|
338
|
+
*
|
|
339
|
+
* A DOOR on the resolver rather than a re-resolution in the controller, because the controller's
|
|
340
|
+
* way of asking — injecting a synthetic `operationOverrides: [{ transition: OVERLAY }]` — had to
|
|
341
|
+
* lie twice to get an answer: it reported the outcome as an authored override, and it discarded
|
|
342
|
+
* the operation's REAL override along with the `appearance` and `overlayBehavior` on it. Here the
|
|
343
|
+
* context is untouched, so both are read exactly as they would be for any other overlay.
|
|
344
|
+
*
|
|
345
|
+
* The tier that answered `INPLACE` is preserved. What the degradation adds is an adjustment.
|
|
346
|
+
*/
|
|
347
|
+
degradeInPlaceToOverlay(context, layout, original) {
|
|
348
|
+
return {
|
|
349
|
+
targetZone: NavigationZone.OVERLAY,
|
|
350
|
+
transition: NavigationTransition.OVERLAY,
|
|
351
|
+
appearance: this.deriveAppearance(NavigationTransition.OVERLAY, context, layout),
|
|
352
|
+
overlayBehavior: this.resolveOverlayBehavior(context),
|
|
353
|
+
collapsed: false,
|
|
354
|
+
ephemeral: original.ephemeral,
|
|
355
|
+
provenance: {
|
|
356
|
+
transitionSource: original.provenance.transitionSource,
|
|
357
|
+
authoredTransition: original.provenance.authoredTransition,
|
|
358
|
+
adjustments: [...original.provenance.adjustments, NavigationPlacementAdjustment.INPLACE_DEGRADED_TO_OVERLAY],
|
|
359
|
+
},
|
|
257
360
|
};
|
|
258
361
|
}
|
|
259
362
|
// ──────────────────────────────────────────────────────────────
|
|
@@ -283,7 +386,7 @@ export class NavigationPolicyResolver {
|
|
|
283
386
|
// Step 1 — Per-resource operation override (highest priority)
|
|
284
387
|
const overrideResult = this.checkOperationOverrides(context);
|
|
285
388
|
if (overrideResult)
|
|
286
|
-
return overrideResult;
|
|
389
|
+
return { config: overrideResult, source: NavigationTransitionSource.OPERATION_OVERRIDE };
|
|
287
390
|
// Step 1.5 — An AUTHORED action presentation.
|
|
288
391
|
//
|
|
289
392
|
// Ranked here, immediately below `navigationOverrides` and above every app-level default,
|
|
@@ -296,22 +399,31 @@ export class NavigationPolicyResolver {
|
|
|
296
399
|
// navigations, and an operation that has declared its own presentation is not asking for the
|
|
297
400
|
// class default.
|
|
298
401
|
if (context.actionPresentationIsAuthored === true && context.actionPresentationTransition !== undefined) {
|
|
299
|
-
return
|
|
402
|
+
return {
|
|
403
|
+
config: context.actionPresentationTransition,
|
|
404
|
+
source: NavigationTransitionSource.AUTHORED_ACTION_PRESENTATION,
|
|
405
|
+
};
|
|
300
406
|
}
|
|
301
407
|
// Step 2 — Per-relationship transition
|
|
302
408
|
if (context.relationshipTransition !== undefined) {
|
|
303
|
-
return context.relationshipTransition;
|
|
409
|
+
return { config: context.relationshipTransition, source: NavigationTransitionSource.RELATIONSHIP };
|
|
304
410
|
}
|
|
305
411
|
// Step 3 — Global viewport override
|
|
306
412
|
const viewportOverride = this.checkViewportOverride(context, layout);
|
|
307
413
|
if (viewportOverride)
|
|
308
|
-
return viewportOverride;
|
|
414
|
+
return { config: viewportOverride, source: NavigationTransitionSource.VIEWPORT_OVERRIDE };
|
|
309
415
|
// Step 4 — Source config transitions[operation]
|
|
310
416
|
const sourceTransitions = this.getSourceTransitions(context, layout);
|
|
311
|
-
if (sourceTransitions) {
|
|
312
|
-
const transitionConfig = this.getTransitionBySemanticKey(sourceTransitions, context);
|
|
313
|
-
if (transitionConfig)
|
|
314
|
-
return
|
|
417
|
+
if (sourceTransitions.transitions) {
|
|
418
|
+
const transitionConfig = this.getTransitionBySemanticKey(sourceTransitions.transitions, context);
|
|
419
|
+
if (transitionConfig) {
|
|
420
|
+
return {
|
|
421
|
+
config: transitionConfig,
|
|
422
|
+
source: sourceTransitions.borrowedFromPrimary
|
|
423
|
+
? NavigationTransitionSource.OVERLAY_FALLBACK_TO_PRIMARY
|
|
424
|
+
: NavigationTransitionSource.SOURCE_TRANSITIONS,
|
|
425
|
+
};
|
|
426
|
+
}
|
|
315
427
|
}
|
|
316
428
|
// Step 4.5 — A DERIVED action presentation.
|
|
317
429
|
//
|
|
@@ -323,10 +435,13 @@ export class NavigationPolicyResolver {
|
|
|
323
435
|
// In practice this is the step that turns "a custom action with two fields" from a full page
|
|
324
436
|
// into an overlay, which is the whole point of the axis.
|
|
325
437
|
if (context.actionPresentationTransition !== undefined) {
|
|
326
|
-
return
|
|
438
|
+
return {
|
|
439
|
+
config: context.actionPresentationTransition,
|
|
440
|
+
source: NavigationTransitionSource.DERIVED_ACTION_PRESENTATION,
|
|
441
|
+
};
|
|
327
442
|
}
|
|
328
443
|
// Step 5 — Framework fallback
|
|
329
|
-
return FRAMEWORK_FALLBACK_TRANSITION;
|
|
444
|
+
return { config: FRAMEWORK_FALLBACK_TRANSITION, source: NavigationTransitionSource.FRAMEWORK_DEFAULT };
|
|
330
445
|
}
|
|
331
446
|
/**
|
|
332
447
|
* Step 1: Check per-resource operation overrides.
|
|
@@ -384,17 +499,43 @@ export class NavigationPolicyResolver {
|
|
|
384
499
|
}
|
|
385
500
|
/**
|
|
386
501
|
* Step 4: Get the transition map from the appropriate source config.
|
|
387
|
-
*
|
|
502
|
+
*
|
|
503
|
+
* ## An OVERLAY source falls back to the zone it is LANDING IN
|
|
504
|
+
*
|
|
505
|
+
* `fromOverlay` is the app's statement about leaving an overlay, and it wins. What it does NOT
|
|
506
|
+
* mean is that an app which declared nothing there has declared nothing at all: an overlay is not
|
|
507
|
+
* a structural zone, so `getStructuralSourceZone` already answers PRIMARY for it — a structural
|
|
508
|
+
* navigation out of an overlay IS a primary navigation. Reading a different map for the VERB than
|
|
509
|
+
* for the ZONE is how the two came to disagree.
|
|
510
|
+
*
|
|
511
|
+
* Measured on the workbench, 2026-09-25. Its layout declares `zones.primary.transitions.read =
|
|
512
|
+
* SPLIT` and no `fromOverlay` at all. Clicking an aspect popup's `family` backlink — an
|
|
513
|
+
* ADDRESSABLE artifact — found no overlay map, fell through to the framework fallback `PUSH`, and
|
|
514
|
+
* landed in PRIMARY: the artifact took the WHOLE PAGE, replacing the artifact list it should have
|
|
515
|
+
* opened beside. The application had said what a READ does on the page; the resolver did not ask.
|
|
516
|
+
*
|
|
517
|
+
* Wonder CRM is the control and is untouched: it declares `fromOverlay.read = PUSH` deliberately
|
|
518
|
+
* ("ADDRESSABLE targets legitimately leave the overlay and become the page"), that map answers,
|
|
519
|
+
* and the fallback never runs. The fallback also covers the gap INSIDE a declared map — one that
|
|
520
|
+
* names READ says nothing about LIST, and that gap used to take the framework default too.
|
|
521
|
+
*
|
|
522
|
+
* APP_LEVEL is deliberately NOT given the same fallback. A menubar click is a layout RESET with
|
|
523
|
+
* its own meaning, and an app that declares no `appLevel` map has not thereby asked for primary's
|
|
524
|
+
* drill-in verbs — it has asked for the framework default, which is what it gets.
|
|
388
525
|
*/
|
|
389
526
|
getSourceTransitions(context, layout) {
|
|
390
527
|
if (context.sourceZone === APP_LEVEL_NAVIGATION_SOURCE) {
|
|
391
|
-
return layout.appLevel?.transitions;
|
|
528
|
+
return { transitions: layout.appLevel?.transitions, borrowedFromPrimary: false };
|
|
392
529
|
}
|
|
393
530
|
if (context.sourceZone === 'overlay') {
|
|
394
|
-
|
|
531
|
+
const fromOverlay = layout.fromOverlay?.transitions;
|
|
532
|
+
const declared = fromOverlay && this.getTransitionBySemanticKey(fromOverlay, context);
|
|
533
|
+
return declared !== undefined
|
|
534
|
+
? { transitions: fromOverlay, borrowedFromPrimary: false }
|
|
535
|
+
: { transitions: layout.zones.primary?.transitions, borrowedFromPrimary: true };
|
|
395
536
|
}
|
|
396
537
|
const zoneConfig = layout.zones[context.sourceZone];
|
|
397
|
-
return zoneConfig?.transitions;
|
|
538
|
+
return { transitions: zoneConfig?.transitions, borrowedFromPrimary: false };
|
|
398
539
|
}
|
|
399
540
|
// ──────────────────────────────────────────────────────────────
|
|
400
541
|
// Target Zone Derivation
|
|
@@ -414,15 +555,15 @@ export class NavigationPolicyResolver {
|
|
|
414
555
|
case NavigationTransition.PUSH:
|
|
415
556
|
case NavigationTransition.REPLACE:
|
|
416
557
|
case NavigationTransition.INPLACE:
|
|
417
|
-
return this.getStructuralSourceZone(context);
|
|
558
|
+
return { zone: this.getStructuralSourceZone(context) };
|
|
418
559
|
case NavigationTransition.SPLIT:
|
|
419
560
|
return this.resolveSplitTarget(context, layout, persistent);
|
|
420
561
|
case NavigationTransition.OVERLAY:
|
|
421
|
-
return NavigationZone.OVERLAY;
|
|
562
|
+
return { zone: NavigationZone.OVERLAY };
|
|
422
563
|
case NavigationTransition.PROMOTE:
|
|
423
|
-
return NavigationZoneName.PRIMARY;
|
|
564
|
+
return { zone: NavigationZoneName.PRIMARY };
|
|
424
565
|
default:
|
|
425
|
-
return NavigationZoneName.PRIMARY;
|
|
566
|
+
return { zone: NavigationZoneName.PRIMARY };
|
|
426
567
|
}
|
|
427
568
|
}
|
|
428
569
|
/**
|
|
@@ -443,25 +584,44 @@ export class NavigationPolicyResolver {
|
|
|
443
584
|
*/
|
|
444
585
|
resolveSplitTarget(context, layout, persistent) {
|
|
445
586
|
if (persistent) {
|
|
446
|
-
return layout.zones.companion
|
|
587
|
+
return layout.zones.companion
|
|
588
|
+
? { zone: NavigationZoneName.COMPANION, adjustment: this.splitOutcomeFor(context, NavigationZoneName.COMPANION) }
|
|
589
|
+
: { zone: NavigationZone.OVERLAY, adjustment: NavigationPlacementAdjustment.PERSISTENT_SPLIT_ESCALATED_NO_COMPANION };
|
|
447
590
|
}
|
|
448
591
|
// Prefer secondary if declared, otherwise companion, otherwise escalate to overlay
|
|
449
592
|
if (layout.zones.secondary) {
|
|
450
593
|
if (!context.zoneOccupancy?.[NavigationZoneName.SECONDARY]) {
|
|
451
|
-
return NavigationZoneName.SECONDARY;
|
|
594
|
+
return { zone: NavigationZoneName.SECONDARY, adjustment: NavigationPlacementAdjustment.SPLIT_OPENED_FREE_PANE };
|
|
452
595
|
}
|
|
453
596
|
// Secondary occupied — try companion
|
|
454
597
|
if (layout.zones.companion && !context.zoneOccupancy?.[NavigationZoneName.COMPANION]) {
|
|
455
|
-
return NavigationZoneName.COMPANION;
|
|
598
|
+
return { zone: NavigationZoneName.COMPANION, adjustment: NavigationPlacementAdjustment.SPLIT_OPENED_FREE_PANE };
|
|
456
599
|
}
|
|
457
600
|
// Both occupied — push into secondary (replace existing content)
|
|
458
|
-
return
|
|
601
|
+
return {
|
|
602
|
+
zone: NavigationZoneName.SECONDARY,
|
|
603
|
+
adjustment: NavigationPlacementAdjustment.SPLIT_REPLACED_OCCUPIED_PANE,
|
|
604
|
+
};
|
|
459
605
|
}
|
|
460
606
|
if (layout.zones.companion) {
|
|
461
|
-
return NavigationZoneName.COMPANION;
|
|
607
|
+
return { zone: NavigationZoneName.COMPANION, adjustment: this.splitOutcomeFor(context, NavigationZoneName.COMPANION) };
|
|
462
608
|
}
|
|
463
609
|
// No adjacent zones declared — escalate to overlay
|
|
464
|
-
return NavigationZone.OVERLAY;
|
|
610
|
+
return { zone: NavigationZone.OVERLAY, adjustment: NavigationPlacementAdjustment.SPLIT_ESCALATED_NO_ADJACENT_ZONE };
|
|
611
|
+
}
|
|
612
|
+
/**
|
|
613
|
+
* Did a split into `zone` OPEN a pane or REPLACE what was in one?
|
|
614
|
+
*
|
|
615
|
+
* The same question `resolveSplitTarget`'s secondary branch answers inline by construction — it
|
|
616
|
+
* only reaches companion when secondary is taken — but the two branches that target companion
|
|
617
|
+
* DIRECTLY (a persistent split, and a layout declaring companion without secondary) choose the
|
|
618
|
+
* zone before asking, so they ask here. Reading `zoneOccupancy` is what keeps both answers derived
|
|
619
|
+
* from one input rather than from two nearly-identical inline conditions.
|
|
620
|
+
*/
|
|
621
|
+
splitOutcomeFor(context, zone) {
|
|
622
|
+
return context.zoneOccupancy?.[zone] === true
|
|
623
|
+
? NavigationPlacementAdjustment.SPLIT_REPLACED_OCCUPIED_PANE
|
|
624
|
+
: NavigationPlacementAdjustment.SPLIT_OPENED_FREE_PANE;
|
|
465
625
|
}
|
|
466
626
|
// ──────────────────────────────────────────────────────────────
|
|
467
627
|
// Appearance Derivation
|
|
@@ -471,7 +631,13 @@ export class NavigationPolicyResolver {
|
|
|
471
631
|
* Only overlay and split transitions have meaningful appearance.
|
|
472
632
|
*/
|
|
473
633
|
deriveAppearance(transition, context, layout) {
|
|
474
|
-
|
|
634
|
+
/*
|
|
635
|
+
* OVERLAY only. A SPLIT used to derive a `SplitAppearance` here and nothing ever read it — see
|
|
636
|
+
* the removal note in `navigation.shared.schemas.ts`. How a PANE renders is `SplitConfig`'s
|
|
637
|
+
* geometry (`orientation`, `ratio`, the zone's width bounds), which the content areas read
|
|
638
|
+
* directly from the layout rather than off a resolution.
|
|
639
|
+
*/
|
|
640
|
+
if (transition !== NavigationTransition.OVERLAY) {
|
|
475
641
|
return undefined;
|
|
476
642
|
}
|
|
477
643
|
// Check operation override appearance first
|
|
@@ -487,9 +653,6 @@ export class NavigationPolicyResolver {
|
|
|
487
653
|
if (transition === NavigationTransition.OVERLAY) {
|
|
488
654
|
return resolveViewportDiscriminated(zoneAppearance?.overlay, context.viewport) ?? OverlayAppearance.DIALOG;
|
|
489
655
|
}
|
|
490
|
-
if (transition === NavigationTransition.SPLIT) {
|
|
491
|
-
return resolveViewportDiscriminated(zoneAppearance?.split, context.viewport) ?? SplitAppearance.PANEL;
|
|
492
|
-
}
|
|
493
656
|
return undefined;
|
|
494
657
|
}
|
|
495
658
|
/**
|
|
@@ -515,8 +678,19 @@ export class NavigationPolicyResolver {
|
|
|
515
678
|
return layout.appLevel?.appearance;
|
|
516
679
|
}
|
|
517
680
|
if (context.sourceZone === 'overlay') {
|
|
518
|
-
|
|
519
|
-
|
|
681
|
+
/*
|
|
682
|
+
* PRIMARY's appearance, for the same reason its TRANSITIONS are read in `getSourceTransitions`:
|
|
683
|
+
* a structural navigation out of an overlay lands in PRIMARY, so PRIMARY's declaration is the
|
|
684
|
+
* one that describes it. `FromOverlayConfig` declares no appearance of its own, and returning
|
|
685
|
+
* `undefined` here sent every such navigation to the framework default instead of to the
|
|
686
|
+
* layout's — the same "skip what the app declared" shape the transition lookup had.
|
|
687
|
+
*
|
|
688
|
+
* This read `undefined` with the comment "overlays within overlays shouldn't happen", and that
|
|
689
|
+
* is no longer true in either half: an overlay opened FROM an overlay now stacks (it is how a
|
|
690
|
+
* reader walks an aspect graph popup to popup and walks back out), and a SPLIT out of an
|
|
691
|
+
* overlay is exactly the case this function was skipping.
|
|
692
|
+
*/
|
|
693
|
+
return layout.zones.primary?.appearance;
|
|
520
694
|
}
|
|
521
695
|
return layout.zones[context.sourceZone]?.appearance;
|
|
522
696
|
}
|
|
@@ -536,76 +710,20 @@ export class NavigationPolicyResolver {
|
|
|
536
710
|
* this decision, free to disagree with the first.
|
|
537
711
|
*/
|
|
538
712
|
resolveCollapseMode(targetZone, context, layout) {
|
|
713
|
+
/*
|
|
714
|
+
* The zone-identity guard stays HERE and the viewport decision lives in `resolveZoneCollapseMode`,
|
|
715
|
+
* because they are different questions: primary never collapses (it is the zone collapsed content
|
|
716
|
+
* moves INTO) and overlay is not a structural zone — neither fact depends on how wide the window
|
|
717
|
+
* is. Everything that does is shared with the migration hook, which must not re-derive it.
|
|
718
|
+
*/
|
|
539
719
|
if (targetZone === NavigationZone.OVERLAY || targetZone === NavigationZoneName.PRIMARY) {
|
|
540
720
|
return undefined;
|
|
541
721
|
}
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
*
|
|
546
|
-
* The breakpoint half applies at a KNOWN narrow breakpoint, never merely at "not desktop".
|
|
547
|
-
* Written as `!== DESKTOP` first, and that is wrong in the one case that matters: a caller with
|
|
548
|
-
* no measured viewport yet (`currentBreakpoint: undefined` during the first frames) would have
|
|
549
|
-
* been treated as a phone and had its split collapsed into primary — a layout decision taken
|
|
550
|
-
* from a missing measurement. An unknown viewport is not a narrow one, and by the same reading
|
|
551
|
-
* an unmeasured WIDTH is not a narrow one either.
|
|
552
|
-
*/
|
|
553
|
-
const zoneConfig = layout.zones[targetZone];
|
|
554
|
-
/*
|
|
555
|
-
* ─── The SECOND trigger: the content area cannot CARRY the split ────────────────────────────
|
|
556
|
-
*
|
|
557
|
-
* A breakpoint measures the WINDOW; the panes live in the CONTENT AREA, which is narrower by the
|
|
558
|
-
* sidebar, narrower again when another pane is already open, and narrower still in an embedded
|
|
559
|
-
* shell. So "DESKTOP" and "there is room for two panes" are different claims, and only the
|
|
560
|
-
* second one is the question. Where the space cannot carry the zone's own declared floor beside
|
|
561
|
-
* primary's, the geometry layer used to make BOTH floors yield — degrading the layout in place
|
|
562
|
-
* rather than escalating it, which is the opposite of what this ladder is for.
|
|
563
|
-
*
|
|
564
|
-
* Deliberately ordered BEFORE the breakpoint test rather than folded into it: a narrow content
|
|
565
|
-
* area on a wide window is precisely the case the breakpoint cannot see, so it must not have to
|
|
566
|
-
* pass a breakpoint test first. An unmeasured width answers "fits" — see `contentAreaFitsSplit`.
|
|
567
|
-
*
|
|
568
|
-
* RESIDUAL, stated rather than left to be discovered: a pane already open is not subtracted.
|
|
569
|
-
* `zoneOccupancy` says WHETHER the companion holds something, never how many pixels it has —
|
|
570
|
-
* that is a geometry-layer number, decided after this resolution. So the test is "can a pane
|
|
571
|
-
* open beside primary", which is exactly right for the first pane and optimistic for a second.
|
|
572
|
-
* `contentAreaFitsSplit` takes the parameter so the day that number is available, the caller is
|
|
573
|
-
* the only thing that changes.
|
|
574
|
-
*/
|
|
575
|
-
const fits = contentAreaFitsSplit({
|
|
722
|
+
return resolveZoneCollapseMode({
|
|
723
|
+
zoneConfig: layout.zones[targetZone],
|
|
724
|
+
viewport: context.viewport,
|
|
576
725
|
contentAreaWidth: context.contentAreaWidth,
|
|
577
|
-
paneMinWidthPx: zoneConfig?.minWidth,
|
|
578
726
|
});
|
|
579
|
-
if (fits && context.viewport !== ViewportBreakpoint.MOBILE && context.viewport !== ViewportBreakpoint.VERT_TABLET) {
|
|
580
|
-
return undefined;
|
|
581
|
-
}
|
|
582
|
-
/*
|
|
583
|
-
* ─── An UNDECLARED collapse defaults to PUSH, and that is a decision ────────────────────────
|
|
584
|
-
*
|
|
585
|
-
* `NavigationContentAreas` renders a single zone below the mobile breakpoint — secondary and
|
|
586
|
-
* companion are not shown at all. So on a phone a zone with no `responsiveCollapse` is not
|
|
587
|
-
* "left alone": content routed there is placed into a zone that does not render, and the user
|
|
588
|
-
* sees nothing happen. That is what an undeclared collapse meant before #411, for every
|
|
589
|
-
* application, and it is not a behaviour anyone would choose deliberately.
|
|
590
|
-
*
|
|
591
|
-
* PUSH rather than OVERLAY because it is the conservative half of the vocabulary: the content
|
|
592
|
-
* appears in primary in context, and BACK pops to what was there before — no dismissal
|
|
593
|
-
* affordance to get wrong, and no modality over a phone-sized viewport. An application that
|
|
594
|
-
* wants the sheet declares `OVERLAY` and gets it.
|
|
595
|
-
*
|
|
596
|
-
* The alternative — keep returning `undefined` and let the content vanish — was rejected
|
|
597
|
-
* because it is the silent degradation #411 exists to remove, and because "the zone declared
|
|
598
|
-
* nothing" is not a reason to lose a user's navigation.
|
|
599
|
-
*/
|
|
600
|
-
const declared = zoneConfig?.responsiveCollapse;
|
|
601
|
-
if (!declared)
|
|
602
|
-
return ResponsiveCollapseMode.PUSH;
|
|
603
|
-
/*
|
|
604
|
-
* A viewport-discriminated declaration that names no mode for THIS breakpoint is a gap in the
|
|
605
|
-
* declaration, not a statement that the zone renders — it still would not render — so it takes
|
|
606
|
-
* the same default.
|
|
607
|
-
*/
|
|
608
|
-
return resolveViewportDiscriminated(declared, context.viewport) ?? ResponsiveCollapseMode.PUSH;
|
|
609
727
|
}
|
|
610
728
|
}
|
|
611
729
|
/** Singleton instance for use across the frontend. */
|