@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.
Files changed (777) hide show
  1. package/dist/esm/components/actions/action-bar.d.ts +15 -0
  2. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  3. package/dist/esm/components/actions/action-bar.js +15 -0
  4. package/dist/esm/components/actions/action-bar.js.map +1 -1
  5. package/dist/esm/components/ai-elements/decision/approval.d.ts +97 -7
  6. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  7. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  8. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
  9. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js +8 -3
  10. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
  11. package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
  12. package/dist/esm/components/auth/Auth_EnrollmentRequired.js +5 -1
  13. package/dist/esm/components/auth/Auth_EnrollmentRequired.js.map +1 -1
  14. package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
  15. package/dist/esm/components/auth/Auth_Main.js +1 -4
  16. package/dist/esm/components/auth/Auth_Main.js.map +1 -1
  17. package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
  18. package/dist/esm/components/auth/Auth_Register.js +1 -3
  19. package/dist/esm/components/auth/Auth_Register.js.map +1 -1
  20. package/dist/esm/components/auth/StepUpAuthDialog.d.ts +7 -0
  21. package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
  22. package/dist/esm/components/auth/StepUpAuthDialog.js +13 -7
  23. package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
  24. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
  25. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js +32 -33
  26. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
  27. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
  28. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js +18 -20
  29. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
  30. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
  31. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js +2 -3
  32. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js.map +1 -1
  33. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts +13 -16
  34. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts.map +1 -1
  35. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js +18 -15
  36. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js.map +1 -1
  37. package/dist/esm/components/billing/billing-invoice-history.js +2 -2
  38. package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
  39. package/dist/esm/components/billing/billing-portal-link.js +2 -2
  40. package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
  41. package/dist/esm/components/billing/billing-pricing-table.d.ts +33 -1
  42. package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
  43. package/dist/esm/components/billing/billing-pricing-table.js +34 -5
  44. package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
  45. package/dist/esm/components/billing/billing-subscription-status.js +2 -2
  46. package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
  47. package/dist/esm/components/billing/billing-usage-dashboard.d.ts +2 -0
  48. package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
  49. package/dist/esm/components/billing/billing-usage-dashboard.js +1 -0
  50. package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
  51. package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
  52. package/dist/esm/components/data-display/DisplayField.js +15 -1
  53. package/dist/esm/components/data-display/DisplayField.js.map +1 -1
  54. package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
  55. package/dist/esm/components/data-display/DisplayFieldArray.js +11 -0
  56. package/dist/esm/components/data-display/DisplayFieldArray.js.map +1 -1
  57. package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
  58. package/dist/esm/components/data-display/DisplayFieldEditable.js +2 -2
  59. package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
  60. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts +12 -2
  61. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
  62. package/dist/esm/components/data-display/DisplayFieldEditableArray.js +3 -2
  63. package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
  64. package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
  65. package/dist/esm/components/data-display/DisplayFieldReadOnly.js +2 -2
  66. package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
  67. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
  68. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js +8 -2
  69. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js.map +1 -1
  70. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
  71. package/dist/esm/components/data-display/DisplayValueDispatcher.js +18 -4
  72. package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
  73. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
  74. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js +61 -3
  75. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
  76. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts +7 -5
  77. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
  78. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
  79. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts +11 -1
  80. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
  81. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js +36 -11
  82. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
  83. package/dist/esm/components/data-display/display-field-resolved-props.d.ts +6 -0
  84. package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
  85. package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
  86. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts +23 -0
  87. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts.map +1 -0
  88. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js +35 -0
  89. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js.map +1 -0
  90. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts +47 -0
  91. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts.map +1 -0
  92. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js +124 -0
  93. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js.map +1 -0
  94. package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.d.ts +8 -0
  95. package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.d.ts.map +1 -0
  96. package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js +46 -0
  97. package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js.map +1 -0
  98. package/dist/esm/components/feedback/resource-empty-state.d.ts +21 -8
  99. package/dist/esm/components/feedback/resource-empty-state.d.ts.map +1 -1
  100. package/dist/esm/components/feedback/resource-empty-state.js +56 -26
  101. package/dist/esm/components/feedback/resource-empty-state.js.map +1 -1
  102. package/dist/esm/components/flows-actors/approval.d.ts +29 -7
  103. package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
  104. package/dist/esm/components/flows-actors/approval.js +231 -101
  105. package/dist/esm/components/flows-actors/approval.js.map +1 -1
  106. package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
  107. package/dist/esm/components/flows-actors/approval.labels.js +57 -0
  108. package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
  109. package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
  110. package/dist/esm/components/flows-actors/system-catalog.js +4 -4
  111. package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
  112. package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
  113. package/dist/esm/components/flows-actors/system-catalog.labels.js +0 -5
  114. package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
  115. package/dist/esm/components/form/Form.d.ts +2 -2
  116. package/dist/esm/components/form/Form.js +2 -2
  117. package/dist/esm/components/form/Form.js.map +1 -1
  118. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts +28 -3
  119. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
  120. package/dist/esm/components/form/automated/AutomatedArrayField.js +43 -14
  121. package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
  122. package/dist/esm/components/form/automated/FormField.d.ts +3 -0
  123. package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
  124. package/dist/esm/components/form/automated/FormField.js +60 -21
  125. package/dist/esm/components/form/automated/FormField.js.map +1 -1
  126. package/dist/esm/components/form/automated/FormFieldArray.d.ts +6 -3
  127. package/dist/esm/components/form/automated/FormFieldArray.d.ts.map +1 -1
  128. package/dist/esm/components/form/automated/FormFieldArray.js +3 -2
  129. package/dist/esm/components/form/automated/FormFieldArray.js.map +1 -1
  130. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts +5 -4
  131. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
  132. package/dist/esm/components/form/automated/ResourceAutomatedForm.js +148 -55
  133. package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
  134. package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts +30 -0
  135. package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts.map +1 -1
  136. package/dist/esm/components/form/automated/ResourceFormActionsContext.js +30 -1
  137. package/dist/esm/components/form/automated/ResourceFormActionsContext.js.map +1 -1
  138. package/dist/esm/components/form/automated/TemplatePlacedFieldsContext.d.ts +79 -0
  139. package/dist/esm/components/form/automated/TemplatePlacedFieldsContext.d.ts.map +1 -0
  140. package/dist/esm/components/form/automated/TemplatePlacedFieldsContext.js +203 -0
  141. package/dist/esm/components/form/automated/TemplatePlacedFieldsContext.js.map +1 -0
  142. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts +12 -0
  143. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
  144. package/dist/esm/components/form/automated/automated-form-submit.utils.js +11 -0
  145. package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
  146. package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
  147. package/dist/esm/components/form/chromes/FormFieldChrome.js +2 -2
  148. package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
  149. package/dist/esm/components/form/combobox.d.ts +7 -0
  150. package/dist/esm/components/form/combobox.d.ts.map +1 -1
  151. package/dist/esm/components/form/combobox.js.map +1 -1
  152. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
  153. package/dist/esm/components/form/controls/form-field-checkbox-group.js +13 -0
  154. package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
  155. package/dist/esm/components/form/fields/form-field-address.d.ts +58 -0
  156. package/dist/esm/components/form/fields/form-field-address.d.ts.map +1 -1
  157. package/dist/esm/components/form/fields/form-field-address.js +34 -6
  158. package/dist/esm/components/form/fields/form-field-address.js.map +1 -1
  159. package/dist/esm/components/form/fields/form-field-address.labels.d.ts.map +1 -1
  160. package/dist/esm/components/form/fields/form-field-address.labels.js +60 -1
  161. package/dist/esm/components/form/fields/form-field-address.labels.js.map +1 -1
  162. package/dist/esm/components/form/fields/form-field-file.d.ts +0 -12
  163. package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
  164. package/dist/esm/components/form/fields/form-field-file.js +34 -13
  165. package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
  166. package/dist/esm/components/form/fields/form-field-file.labels.d.ts.map +1 -1
  167. package/dist/esm/components/form/fields/form-field-file.labels.js +46 -0
  168. package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
  169. package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts +73 -0
  170. package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts.map +1 -0
  171. package/dist/esm/components/form/fields/form-field-string-organization-role.js +64 -0
  172. package/dist/esm/components/form/fields/form-field-string-organization-role.js.map +1 -0
  173. package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
  174. package/dist/esm/components/form/fields/form-field-string.js +8 -1
  175. package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
  176. package/dist/esm/components/form/fields/form-field-string.labels.d.ts.map +1 -1
  177. package/dist/esm/components/form/fields/form-field-string.labels.js +4 -0
  178. package/dist/esm/components/form/fields/form-field-string.labels.js.map +1 -1
  179. package/dist/esm/components/form/validation-errors/FormErrorSummary.js +1 -1
  180. package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
  181. package/dist/esm/components/form/validation-errors/resolver-error-nesting.d.ts +31 -0
  182. package/dist/esm/components/form/validation-errors/resolver-error-nesting.d.ts.map +1 -0
  183. package/dist/esm/components/form/validation-errors/resolver-error-nesting.js +81 -0
  184. package/dist/esm/components/form/validation-errors/resolver-error-nesting.js.map +1 -0
  185. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.d.ts +14 -1
  186. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.d.ts.map +1 -1
  187. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.js +14 -0
  188. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.js.map +1 -1
  189. package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts +22 -0
  190. package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts.map +1 -1
  191. package/dist/esm/components/form/validation-errors/zod-issue-resolver.js +1 -22
  192. package/dist/esm/components/form/validation-errors/zod-issue-resolver.js.map +1 -1
  193. package/dist/esm/components/layout/resizable.d.ts +11 -0
  194. package/dist/esm/components/layout/resizable.d.ts.map +1 -1
  195. package/dist/esm/components/layout/resizable.js.map +1 -1
  196. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts +11 -1
  197. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts.map +1 -1
  198. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js +15 -3
  199. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js.map +1 -1
  200. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts +2 -2
  201. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts.map +1 -1
  202. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.js.map +1 -1
  203. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.d.ts +2 -2
  204. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js +2 -2
  205. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js.map +1 -1
  206. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js +18 -20
  207. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
  208. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
  209. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js +7 -1
  210. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
  211. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts.map +1 -1
  212. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js +4 -1
  213. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js.map +1 -1
  214. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
  215. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js +18 -2
  216. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
  217. package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
  218. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +82 -10
  219. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
  220. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts +2 -2
  221. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts.map +1 -1
  222. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js.map +1 -1
  223. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
  224. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js +8 -1
  225. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
  226. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts +8 -2
  227. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
  228. package/dist/esm/components/resources/ResourceCollectionToolbar.js +6 -2
  229. package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
  230. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
  231. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js +31 -16
  232. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
  233. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.d.ts.map +1 -1
  234. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js +23 -8
  235. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js.map +1 -1
  236. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +2 -2
  237. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
  238. package/dist/esm/components/resources/ResourceLayout_Header.d.ts +13 -0
  239. package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
  240. package/dist/esm/components/resources/ResourceLayout_Header.js +55 -28
  241. package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
  242. package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
  243. package/dist/esm/components/resources/ResourceLayout_List.js +41 -20
  244. package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
  245. package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
  246. package/dist/esm/components/resources/ResourceLayout_List.labels.js +1 -2
  247. package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
  248. package/dist/esm/components/resources/ResourceLayout_Read.d.ts +9 -4
  249. package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
  250. package/dist/esm/components/resources/ResourceLayout_Read.js +30 -11
  251. package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
  252. package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
  253. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js +4 -2
  254. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
  255. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
  256. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js +6 -2
  257. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
  258. package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
  259. package/dist/esm/components/resources/ResourceLayout_Search.js +30 -14
  260. package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
  261. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
  262. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js +14 -198
  263. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
  264. package/dist/esm/components/resources/ResourceLayout_Update.d.ts +2 -2
  265. package/dist/esm/components/resources/ResourceLayout_Update.js +2 -2
  266. package/dist/esm/components/resources/ResourceLayout_Update.js.map +1 -1
  267. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
  268. package/dist/esm/components/resources/ResourceListItemRenderer.js +69 -39
  269. package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
  270. package/dist/esm/components/resources/ResourceOperationActionDropdown.d.ts +32 -0
  271. package/dist/esm/components/resources/ResourceOperationActionDropdown.d.ts.map +1 -0
  272. package/dist/esm/components/resources/ResourceOperationActionDropdown.js +130 -0
  273. package/dist/esm/components/resources/ResourceOperationActionDropdown.js.map +1 -0
  274. package/dist/esm/components/resources/collection-create-placement.utils.d.ts +32 -0
  275. package/dist/esm/components/resources/collection-create-placement.utils.d.ts.map +1 -0
  276. package/dist/esm/components/resources/collection-create-placement.utils.js +37 -0
  277. package/dist/esm/components/resources/collection-create-placement.utils.js.map +1 -0
  278. package/dist/esm/components/resources/embeds/RelatedResourcePreview.d.ts.map +1 -1
  279. package/dist/esm/components/resources/embeds/RelatedResourcePreview.js +5 -1
  280. package/dist/esm/components/resources/embeds/RelatedResourcePreview.js.map +1 -1
  281. package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts +8 -1
  282. package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
  283. package/dist/esm/components/resources/embeds/RelatedResourceSections.js +49 -2
  284. package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
  285. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts +22 -0
  286. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
  287. package/dist/esm/components/resources/embeds/ResourceEmbeds.js +85 -2
  288. package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
  289. package/dist/esm/components/resources/resourceLayout.utils.d.ts +14 -0
  290. package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
  291. package/dist/esm/components/resources/resourceLayout.utils.js +22 -0
  292. package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
  293. package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
  294. package/dist/esm/components/resources/skeleton/ArrayField.js +3 -0
  295. package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
  296. package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
  297. package/dist/esm/components/resources/skeleton/FormLayout.js +33 -1
  298. package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
  299. package/dist/esm/components/resources/skeleton/ObjectScope.d.ts.map +1 -1
  300. package/dist/esm/components/resources/skeleton/ObjectScope.js +3 -0
  301. package/dist/esm/components/resources/skeleton/ObjectScope.js.map +1 -1
  302. package/dist/esm/components/resources/skeleton/Section.d.ts +12 -0
  303. package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
  304. package/dist/esm/components/resources/skeleton/Section.js +28 -2
  305. package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
  306. package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts +70 -0
  307. package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts.map +1 -1
  308. package/dist/esm/components/resources/skeleton/SectionFieldsContext.js +157 -1
  309. package/dist/esm/components/resources/skeleton/SectionFieldsContext.js.map +1 -1
  310. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts +6 -0
  311. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
  312. package/dist/esm/components/resources/skeleton/WizardLayout.js +13 -2
  313. package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
  314. package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
  315. package/dist/esm/components/resources/skeleton/WizardStep.js +2 -1
  316. package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
  317. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
  318. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js +61 -15
  319. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
  320. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts +24 -2
  321. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
  322. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js +69 -1
  323. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
  324. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
  325. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js +18 -19
  326. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
  327. package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
  328. package/dist/esm/components/sections/ContentSectionContainer.js +5 -4
  329. package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
  330. package/dist/esm/components/sections/stepper.d.ts +5 -0
  331. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  332. package/dist/esm/components/sections/stepper.js.map +1 -1
  333. package/dist/esm/components/sections/surface.d.ts.map +1 -1
  334. package/dist/esm/components/sections/surface.js +12 -3
  335. package/dist/esm/components/sections/surface.js.map +1 -1
  336. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.d.ts +43 -0
  337. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.d.ts.map +1 -0
  338. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js +129 -0
  339. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js.map +1 -0
  340. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.d.ts +3 -0
  341. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.d.ts.map +1 -0
  342. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js +34 -0
  343. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js.map +1 -0
  344. package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
  345. package/dist/esm/components/settings/AppPage_AppearanceSettings.js +9 -11
  346. package/dist/esm/components/settings/AppPage_AppearanceSettings.js.map +1 -1
  347. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
  348. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js +3 -2
  349. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js.map +1 -1
  350. package/dist/esm/components/settings/AppPage_BillingSettings.d.ts +4 -2
  351. package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
  352. package/dist/esm/components/settings/AppPage_BillingSettings.js +21 -3
  353. package/dist/esm/components/settings/AppPage_BillingSettings.js.map +1 -1
  354. package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
  355. package/dist/esm/components/settings/AppPage_BillingSettings.labels.js +5 -10
  356. package/dist/esm/components/settings/AppPage_BillingSettings.labels.js.map +1 -1
  357. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +58 -0
  358. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -1
  359. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +243 -40
  360. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -1
  361. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -1
  362. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +67 -6
  363. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -1
  364. package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
  365. package/dist/esm/components/settings/AppPage_InvitationsSettings.js +19 -11
  366. package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
  367. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
  368. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js +4 -2
  369. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
  370. package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
  371. package/dist/esm/components/settings/SettingsHub.js +3 -0
  372. package/dist/esm/components/settings/SettingsHub.js.map +1 -1
  373. package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
  374. package/dist/esm/components/settings/SettingsResourceOperationPanel.js +16 -1
  375. package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
  376. package/dist/esm/components/settings/useOwnerProviderConnections.d.ts +59 -0
  377. package/dist/esm/components/settings/useOwnerProviderConnections.d.ts.map +1 -0
  378. package/dist/esm/components/settings/useOwnerProviderConnections.js +136 -0
  379. package/dist/esm/components/settings/useOwnerProviderConnections.js.map +1 -0
  380. package/dist/esm/components/views/chart-view/chart-view.utils.d.ts +5 -0
  381. package/dist/esm/components/views/chart-view/chart-view.utils.d.ts.map +1 -1
  382. package/dist/esm/components/views/chart-view/chart-view.utils.js +5 -0
  383. package/dist/esm/components/views/chart-view/chart-view.utils.js.map +1 -1
  384. package/dist/esm/components/views/chart-view/useResourceChartData.d.ts +50 -0
  385. package/dist/esm/components/views/chart-view/useResourceChartData.d.ts.map +1 -0
  386. package/dist/esm/components/views/chart-view/useResourceChartData.js +72 -0
  387. package/dist/esm/components/views/chart-view/useResourceChartData.js.map +1 -0
  388. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
  389. package/dist/esm/components/views/composite-view/CompositeLayout.js +2 -1
  390. package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
  391. package/dist/esm/core/app-shell/AppShellBuildingBlocks.d.ts +86 -0
  392. package/dist/esm/core/app-shell/AppShellBuildingBlocks.d.ts.map +1 -0
  393. package/dist/esm/core/app-shell/AppShellBuildingBlocks.js +187 -0
  394. package/dist/esm/core/app-shell/AppShellBuildingBlocks.js.map +1 -0
  395. package/dist/esm/core/app-shell/PortalContainerContext.d.ts +5 -2
  396. package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
  397. package/dist/esm/core/app-shell/PortalContainerContext.js +5 -2
  398. package/dist/esm/core/app-shell/PortalContainerContext.js.map +1 -1
  399. package/dist/esm/core/app-shell/app-shell.schemas.d.ts +18 -9
  400. package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
  401. package/dist/esm/core/app-shell/app-shell.schemas.js +1 -0
  402. package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
  403. package/dist/esm/core/app-shell/useAppShellLayout.d.ts +10 -0
  404. package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
  405. package/dist/esm/core/app-shell/useAppShellLayout.js +28 -5
  406. package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
  407. package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
  408. package/dist/esm/core/app-shell/usePublicShellLayout.js +38 -0
  409. package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
  410. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +15 -1
  411. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
  412. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +47 -13
  413. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
  414. package/dist/esm/core/billing/BillingContext.d.ts +25 -2
  415. package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
  416. package/dist/esm/core/billing/BillingContext.js +16 -25
  417. package/dist/esm/core/billing/BillingContext.js.map +1 -1
  418. package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts +11 -3
  419. package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
  420. package/dist/esm/core/billing/billing-provider-display.frontend.utils.js +14 -8
  421. package/dist/esm/core/billing/billing-provider-display.frontend.utils.js.map +1 -1
  422. package/dist/esm/core/billing/useBillingPlanChange.d.ts.map +1 -1
  423. package/dist/esm/core/billing/useBillingPlanChange.js +2 -0
  424. package/dist/esm/core/billing/useBillingPlanChange.js.map +1 -1
  425. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
  426. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +1 -0
  427. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
  428. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts +29 -229
  429. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -1
  430. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js +29 -327
  431. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -1
  432. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts +17 -27
  433. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -1
  434. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js +28 -48
  435. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -1
  436. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +21 -11
  437. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
  438. package/dist/esm/core/config/app-configuration-frontend.schemas.js +4 -4
  439. package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
  440. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +17 -0
  441. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
  442. package/dist/esm/core/config/app-level-components.frontend.schemas.js +17 -0
  443. package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
  444. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +10 -10
  445. package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
  446. package/dist/esm/core/config/engine-settings-destinations.js +221 -6
  447. package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
  448. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +8 -0
  449. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
  450. package/dist/esm/core/config/launcher-items.frontend.schemas.js +1 -0
  451. package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
  452. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +10 -1
  453. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
  454. package/dist/esm/core/config/settings-hub.frontend.schemas.js +9 -0
  455. package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
  456. package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
  457. package/dist/esm/core/config/verify-launcher-content.js +30 -19
  458. package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
  459. package/dist/esm/core/errors/ErrorContext.d.ts.map +1 -1
  460. package/dist/esm/core/errors/ErrorContext.js +9 -1
  461. package/dist/esm/core/errors/ErrorContext.js.map +1 -1
  462. package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
  463. package/dist/esm/core/errors/GlobalErrorHandler.js +5 -4
  464. package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
  465. package/dist/esm/core/errors/RouterErrorBoundary.js +1 -1
  466. package/dist/esm/core/errors/RouterErrorBoundary.js.map +1 -1
  467. package/dist/esm/core/errors/errors-builder.frontend.services.d.ts +2 -2
  468. package/dist/esm/core/errors/errors-builder.frontend.services.d.ts.map +1 -1
  469. package/dist/esm/core/errors/errors-builder.frontend.services.js +4 -4
  470. package/dist/esm/core/errors/errors-builder.frontend.services.js.map +1 -1
  471. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js +1 -1
  472. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js.map +1 -1
  473. package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
  474. package/dist/esm/core/events/NotificationContext.js +23 -5
  475. package/dist/esm/core/events/NotificationContext.js.map +1 -1
  476. package/dist/esm/core/events/events.frontend.schemas.d.ts +110 -43
  477. package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
  478. package/dist/esm/core/events/events.frontend.schemas.js +89 -15
  479. package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
  480. package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts +2 -0
  481. package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
  482. package/dist/esm/core/execution/useExecutionParticipationRMM.js +2 -1
  483. package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
  484. package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts +1 -1
  485. package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
  486. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js +5 -2
  487. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
  488. package/dist/esm/core/external-providers/ConsentBasedProviderSdks.d.ts +63 -0
  489. package/dist/esm/core/external-providers/ConsentBasedProviderSdks.d.ts.map +1 -0
  490. package/dist/esm/core/external-providers/ConsentBasedProviderSdks.js +131 -0
  491. package/dist/esm/core/external-providers/ConsentBasedProviderSdks.js.map +1 -0
  492. package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.d.ts +61 -0
  493. package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.d.ts.map +1 -0
  494. package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.js +178 -0
  495. package/dist/esm/core/external-providers/ProviderAddressLookupCombobox.js.map +1 -0
  496. package/dist/esm/core/external-providers/ProviderAddressLookupHost.d.ts +52 -0
  497. package/dist/esm/core/external-providers/ProviderAddressLookupHost.d.ts.map +1 -0
  498. package/dist/esm/core/external-providers/ProviderAddressLookupHost.js +144 -0
  499. package/dist/esm/core/external-providers/ProviderAddressLookupHost.js.map +1 -0
  500. package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts +22 -1
  501. package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -1
  502. package/dist/esm/core/external-providers/ProviderFilePickerHost.js +23 -3
  503. package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -1
  504. package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.d.ts +55 -0
  505. package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.d.ts.map +1 -0
  506. package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.js +65 -0
  507. package/dist/esm/core/external-providers/provider-address-lookup-selection.frontend.utils.js.map +1 -0
  508. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts +63 -0
  509. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts.map +1 -0
  510. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js +100 -0
  511. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js.map +1 -0
  512. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +45 -7
  513. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
  514. package/dist/esm/core/flows-actors/FlowsActorsContext.js +112 -28
  515. package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
  516. package/dist/esm/core/flows-actors/usePendingDecisions.d.ts +32 -0
  517. package/dist/esm/core/flows-actors/usePendingDecisions.d.ts.map +1 -0
  518. package/dist/esm/core/flows-actors/usePendingDecisions.js +91 -0
  519. package/dist/esm/core/flows-actors/usePendingDecisions.js.map +1 -0
  520. package/dist/esm/core/guidance/GuidanceRenderer.d.ts.map +1 -1
  521. package/dist/esm/core/guidance/GuidanceRenderer.js +3 -2
  522. package/dist/esm/core/guidance/GuidanceRenderer.js.map +1 -1
  523. package/dist/esm/core/i18n/I18nContext.d.ts +22 -8
  524. package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
  525. package/dist/esm/core/i18n/I18nContext.js +21 -9
  526. package/dist/esm/core/i18n/I18nContext.js.map +1 -1
  527. package/dist/esm/core/i18n/component-label-resolution.utils.d.ts +5 -3
  528. package/dist/esm/core/i18n/component-label-resolution.utils.d.ts.map +1 -1
  529. package/dist/esm/core/i18n/component-label-resolution.utils.js +5 -3
  530. package/dist/esm/core/i18n/component-label-resolution.utils.js.map +1 -1
  531. package/dist/esm/core/i18n/useI18n.d.ts +2 -1
  532. package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
  533. package/dist/esm/core/i18n/useI18n.js +2 -1
  534. package/dist/esm/core/i18n/useI18n.js.map +1 -1
  535. package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
  536. package/dist/esm/core/loading/LoadingContext.js +7 -1
  537. package/dist/esm/core/loading/LoadingContext.js.map +1 -1
  538. package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
  539. package/dist/esm/core/loading/LoadingGate.js +19 -1
  540. package/dist/esm/core/loading/LoadingGate.js.map +1 -1
  541. package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts +15 -2
  542. package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
  543. package/dist/esm/core/monitoring/analytics/AnalyticsContext.js +183 -20
  544. package/dist/esm/core/monitoring/analytics/AnalyticsContext.js.map +1 -1
  545. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js +2 -2
  546. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js.map +1 -1
  547. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts +7 -15
  548. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts.map +1 -1
  549. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js +8 -26
  550. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js.map +1 -1
  551. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts +12 -3
  552. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts.map +1 -1
  553. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js +3 -2
  554. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js.map +1 -1
  555. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts +42 -0
  556. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
  557. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js +89 -5
  558. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
  559. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts +2 -0
  560. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts.map +1 -1
  561. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js +2 -0
  562. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js.map +1 -1
  563. package/dist/esm/core/navigation/NavigationContentAreas.d.ts +78 -0
  564. package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
  565. package/dist/esm/core/navigation/NavigationContentAreas.js +264 -16
  566. package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
  567. package/dist/esm/core/navigation/NavigationContext.d.ts +8 -0
  568. package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
  569. package/dist/esm/core/navigation/NavigationContext.js +137 -30
  570. package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
  571. package/dist/esm/core/navigation/launcher-resolution.d.ts +2 -0
  572. package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
  573. package/dist/esm/core/navigation/launcher-resolution.js +1 -0
  574. package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
  575. package/dist/esm/core/navigation/navigation-cascade.d.ts +46 -0
  576. package/dist/esm/core/navigation/navigation-cascade.d.ts.map +1 -0
  577. package/dist/esm/core/navigation/navigation-cascade.js +222 -0
  578. package/dist/esm/core/navigation/navigation-cascade.js.map +1 -0
  579. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
  580. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js +21 -2
  581. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js.map +1 -1
  582. package/dist/esm/core/navigation/navigation-controller-internals.d.ts +71 -0
  583. package/dist/esm/core/navigation/navigation-controller-internals.d.ts.map +1 -0
  584. package/dist/esm/core/navigation/navigation-controller-internals.js +84 -0
  585. package/dist/esm/core/navigation/navigation-controller-internals.js.map +1 -0
  586. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +86 -2
  587. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
  588. package/dist/esm/core/navigation/navigation-policy-resolver.service.js +242 -124
  589. package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
  590. package/dist/esm/core/navigation/navigation.schemas.d.ts +170 -8
  591. package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
  592. package/dist/esm/core/navigation/navigation.schemas.js +121 -2
  593. package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
  594. package/dist/esm/core/navigation/navigation.utils.d.ts +102 -6
  595. package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
  596. package/dist/esm/core/navigation/navigation.utils.js +283 -34
  597. package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
  598. package/dist/esm/core/navigation/useIsStackEntryActive.d.ts +0 -10
  599. package/dist/esm/core/navigation/useIsStackEntryActive.d.ts.map +0 -1
  600. package/dist/esm/core/navigation/useIsStackEntryActive.js.map +0 -1
  601. package/dist/esm/core/navigation/useNavigationController.d.ts +28 -157
  602. package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
  603. package/dist/esm/core/navigation/useNavigationController.js +211 -1189
  604. package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
  605. package/dist/esm/core/navigation/useNavigationRouterSync.d.ts +174 -0
  606. package/dist/esm/core/navigation/useNavigationRouterSync.d.ts.map +1 -0
  607. package/dist/esm/core/navigation/useNavigationRouterSync.js +977 -0
  608. package/dist/esm/core/navigation/useNavigationRouterSync.js.map +1 -0
  609. package/dist/esm/core/navigation/useOverlayTitle.d.ts +13 -1
  610. package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
  611. package/dist/esm/core/navigation/useOverlayTitle.js +15 -10
  612. package/dist/esm/core/navigation/useOverlayTitle.js.map +1 -1
  613. package/dist/esm/core/navigation/useResponsiveZoneMigration.d.ts +43 -0
  614. package/dist/esm/core/navigation/useResponsiveZoneMigration.d.ts.map +1 -0
  615. package/dist/esm/core/navigation/useResponsiveZoneMigration.js +44 -0
  616. package/dist/esm/core/navigation/useResponsiveZoneMigration.js.map +1 -0
  617. package/dist/esm/core/navigation/zone-collapse-migration.d.ts +83 -0
  618. package/dist/esm/core/navigation/zone-collapse-migration.d.ts.map +1 -0
  619. package/dist/esm/core/navigation/zone-collapse-migration.js +116 -0
  620. package/dist/esm/core/navigation/zone-collapse-migration.js.map +1 -0
  621. package/dist/esm/core/navigation/zone-collapse.d.ts +51 -0
  622. package/dist/esm/core/navigation/zone-collapse.d.ts.map +1 -0
  623. package/dist/esm/core/navigation/zone-collapse.js +59 -0
  624. package/dist/esm/core/navigation/zone-collapse.js.map +1 -0
  625. package/dist/esm/core/navigation/zone-emphasis.d.ts +3 -0
  626. package/dist/esm/core/navigation/zone-emphasis.d.ts.map +1 -1
  627. package/dist/esm/core/navigation/zone-emphasis.js +26 -4
  628. package/dist/esm/core/navigation/zone-emphasis.js.map +1 -1
  629. package/dist/esm/core/navigation/zone-visible-entry.d.ts +22 -0
  630. package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -1
  631. package/dist/esm/core/navigation/zone-visible-entry.js +25 -0
  632. package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -1
  633. package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
  634. package/dist/esm/core/requests/websockets/WebSocketContext.js +53 -18
  635. package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
  636. package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
  637. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js +3 -1
  638. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
  639. package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts +22 -0
  640. package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts.map +1 -1
  641. package/dist/esm/core/requests/websockets/useNotificationBadges.js +72 -3
  642. package/dist/esm/core/requests/websockets/useNotificationBadges.js.map +1 -1
  643. package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.d.ts +28 -0
  644. package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.d.ts.map +1 -0
  645. package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.js +86 -0
  646. package/dist/esm/core/requests/websockets/usePublishNotificationBadgeCount.js.map +1 -0
  647. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +38 -3
  648. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
  649. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +57 -2
  650. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
  651. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
  652. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js +4 -2
  653. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
  654. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +30 -1
  655. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
  656. package/dist/esm/core/requests/wildo-http-client.frontend.service.js +47 -4
  657. package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
  658. package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
  659. package/dist/esm/core/resources/ResourceRegistryContext.js +22 -1
  660. package/dist/esm/core/resources/ResourceRegistryContext.js.map +1 -1
  661. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js +1 -1
  662. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js.map +1 -1
  663. package/dist/esm/core/resources/frontend-resource.utils.d.ts +22 -1
  664. package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
  665. package/dist/esm/core/resources/frontend-resource.utils.js +25 -2
  666. package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
  667. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts +113 -13
  668. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
  669. package/dist/esm/core/resources/operation-semantics.frontend.utils.js +173 -20
  670. package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
  671. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts +11 -0
  672. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts.map +1 -1
  673. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js +7 -0
  674. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js.map +1 -1
  675. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.d.ts +3 -2
  676. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.d.ts.map +1 -1
  677. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.js +13 -5
  678. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.js.map +1 -1
  679. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts +6 -0
  680. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
  681. package/dist/esm/core/resources/resources-repository.frontend.service.js +90 -1
  682. package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
  683. package/dist/esm/core/resources/resources.frontend.schemas.d.ts +139 -16
  684. package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
  685. package/dist/esm/core/resources/resources.frontend.schemas.js +110 -11
  686. package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
  687. package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
  688. package/dist/esm/core/resources/rmm/ResourceMutationManager.js +3 -1
  689. package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
  690. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts +10 -0
  691. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
  692. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js +8 -0
  693. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
  694. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts +7 -0
  695. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
  696. package/dist/esm/core/resources/rmm/useResourceRMM.js +9 -2
  697. package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
  698. package/dist/esm/core/resources/useOperationDirectExecution.d.ts +59 -0
  699. package/dist/esm/core/resources/useOperationDirectExecution.d.ts.map +1 -0
  700. package/dist/esm/core/resources/useOperationDirectExecution.js +278 -0
  701. package/dist/esm/core/resources/useOperationDirectExecution.js.map +1 -0
  702. package/dist/esm/core/resources/useResourceOperationActions.d.ts +1 -1
  703. package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
  704. package/dist/esm/core/resources/useResourceOperationActions.js +69 -22
  705. package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
  706. package/dist/esm/core/resources/useResourceOperationSurface.d.ts +8 -6
  707. package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
  708. package/dist/esm/core/resources/useResourceOperationSurface.js +3 -2
  709. package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
  710. package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
  711. package/dist/esm/core/runtime/AppRouter.js +23 -2
  712. package/dist/esm/core/runtime/AppRouter.js.map +1 -1
  713. package/dist/esm/core/runtime/ApplicationContext.shared.d.ts +4 -2
  714. package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
  715. package/dist/esm/core/runtime/ApplicationContext.shared.js.map +1 -1
  716. package/dist/esm/core/runtime/ApplicationMainContext.d.ts +12 -2
  717. package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
  718. package/dist/esm/core/runtime/ApplicationMainContext.js +5 -2
  719. package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
  720. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts +25 -1
  721. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
  722. package/dist/esm/core/runtime/domain-module.frontend.definitions.js +37 -1
  723. package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
  724. package/dist/esm/core/runtime/start-application.frontend.service.d.ts +21 -2
  725. package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
  726. package/dist/esm/core/runtime/start-application.frontend.service.js +51 -4
  727. package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
  728. package/dist/esm/core/security/AuthSessionContext.d.ts +11 -0
  729. package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
  730. package/dist/esm/core/security/AuthSessionContext.js +70 -22
  731. package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
  732. package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
  733. package/dist/esm/core/security/StepUpAuthContext.js +10 -2
  734. package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
  735. package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
  736. package/dist/esm/core/security/UserOrgsContext.js +72 -8
  737. package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
  738. package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts +7 -0
  739. package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts.map +1 -1
  740. package/dist/esm/core/security/route-organization-access.frontend.utils.js +8 -2
  741. package/dist/esm/core/security/route-organization-access.frontend.utils.js.map +1 -1
  742. package/dist/esm/core/security/useGrantedConsentPurposes.d.ts +30 -0
  743. package/dist/esm/core/security/useGrantedConsentPurposes.d.ts.map +1 -0
  744. package/dist/esm/core/security/useGrantedConsentPurposes.js +38 -0
  745. package/dist/esm/core/security/useGrantedConsentPurposes.js.map +1 -0
  746. package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
  747. package/dist/esm/core/ui/UIContext.js +10 -6
  748. package/dist/esm/core/ui/UIContext.js.map +1 -1
  749. package/dist/esm/core/ui/color-conversion.utils.d.ts +20 -0
  750. package/dist/esm/core/ui/color-conversion.utils.d.ts.map +1 -1
  751. package/dist/esm/core/ui/color-conversion.utils.js +39 -5
  752. package/dist/esm/core/ui/color-conversion.utils.js.map +1 -1
  753. package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
  754. package/dist/esm/core/ui/themes/default.theme.js +22 -2
  755. package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
  756. package/dist/esm/core/ui/ui.frontend.schemas.d.ts +6 -6
  757. package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
  758. package/dist/esm/core/ui/ui.frontend.schemas.js +3 -3
  759. package/dist/esm/core/ui/ui.frontend.schemas.js.map +1 -1
  760. package/dist/esm/index.d.ts +10 -1
  761. package/dist/esm/index.d.ts.map +1 -1
  762. package/dist/esm/index.js +19 -1
  763. package/dist/esm/index.js.map +1 -1
  764. package/dist/esm/testing/app-shell-placement-coverage.d.ts +43 -0
  765. package/dist/esm/testing/app-shell-placement-coverage.d.ts.map +1 -0
  766. package/dist/esm/testing/app-shell-placement-coverage.js +114 -0
  767. package/dist/esm/testing/app-shell-placement-coverage.js.map +1 -0
  768. package/dist/esm/testing/mock-builders.d.ts.map +1 -1
  769. package/dist/esm/testing/mock-builders.js +5 -0
  770. package/dist/esm/testing/mock-builders.js.map +1 -1
  771. package/dist/esm/testing.d.ts +1 -0
  772. package/dist/esm/testing.d.ts.map +1 -1
  773. package/dist/esm/testing.js +1 -0
  774. package/dist/esm/testing.js.map +1 -1
  775. package/package.json +9 -7
  776. package/dist/esm/core/navigation/useIsStackEntryActive.js +0 -15
  777. package/dist/tsconfig.build.tsbuildinfo +0 -1
@@ -35,8 +35,27 @@ export function emitOverlayBreakoutCleanup(emit, source) {
35
35
  */
36
36
  export function emitFreshStartNavigationCleanup(emit, source) {
37
37
  NavigationUtils.beginTransaction(source);
38
- emit(FrontendEvents.NAVIGATION_CLEAR_ZONE, { zone: NavigationZoneName.SECONDARY });
39
- emit(FrontendEvents.NAVIGATION_CLEAR_ZONE, { zone: NavigationZoneName.COMPANION });
38
+ /*
39
+ * ─── A PERSISTENT pane survives this too, and the contract is what says so ──────────────────────
40
+ *
41
+ * `TransitionConfig.persistent` promises "the split zone persists when the source zone's content
42
+ * changes", and the shape it exists for is a reference kept open WHILE YOU MOVE AROUND — a thread,
43
+ * a terminal, a doc. Moving around is sidebar navigation, and every sidebar click is a fresh start,
44
+ * so clearing unconditionally here left the mechanism working only for drill-ins inside one
45
+ * primary destination. `persistent` only ever targets COMPANION, so the clear it could not survive
46
+ * was the one it most needed to.
47
+ *
48
+ * `preservePersistent` is carried on the payload and read by the reducer, which is the only place
49
+ * that can see whether the zone's top entry is persistent — this module emits, it does not read
50
+ * state. A PROMOTE is the same answer: it breaks out of the structural flow, and a reference panel
51
+ * is not part of that flow.
52
+ *
53
+ * What still closes a persistent pane: its own dismiss control, `goBack` in that zone, and a
54
+ * direct `CLEAR_ZONE`. Persistence means "do not close me because something else changed", never
55
+ * "I cannot be closed".
56
+ */
57
+ emit(FrontendEvents.NAVIGATION_CLEAR_ZONE, { zone: NavigationZoneName.SECONDARY, preservePersistent: true });
58
+ emit(FrontendEvents.NAVIGATION_CLEAR_ZONE, { zone: NavigationZoneName.COMPANION, preservePersistent: true });
40
59
  emit(FrontendEvents.NAVIGATION_CLOSE, { zone: NavigationZone.OVERLAY });
41
60
  }
42
61
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-clean-break.frontend.utils.js","sourceRoot":"","sources":["../../../../../src/core/navigation/navigation-clean-break.frontend.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yDAAyD,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAYtD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAA+C,EAC/C,MAAuC;IAEvC,eAAe,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAC7C,IAA+C,EAC/C,MAAkC;IAElC,eAAe,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAC;IACnF,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAC;IACnF,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAI1C;IACC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC;IAExD,0BAA0B,CAAC;QACzB,IAAI;QACJ,cAAc;QACd,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,iBAAiB;KAC1B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAK1C;IACC,MAAM,EACJ,IAAI,EACJ,cAAc,EACd,IAAI,EACJ,MAAM,GAAG,iBAAiB,GAC3B,GAAG,MAAM,CAAC;IAEX,eAAe,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC;IACjF,+BAA+B,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IAC9D,cAAc,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1C,CAAC","sourcesContent":["import { FrontendEvents } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { NavigationZoneName } from '@wildo-ai/saas-models';\nimport { NavigationUtils } from './navigation.utils';\nimport { NavigationZone } from './navigation.schemas';\n\nexport type FreshStartNavigationSource =\n | 'app_level_navigation'\n | 'promote_navigation';\n\nexport type OverlayBreakoutNavigationSource = 'overlay_breakout_navigation';\n\nexport type StrongResetNavigationSource =\n | 'home_navigation'\n | 'path_navigation';\n\n/**\n * Close the overlay when content it launched lands in a STRUCTURAL zone.\n *\n * An overlay is a floating layer over the layout, and the layout underneath is inert while it is\n * open. So content that starts inside the overlay and is placed in PRIMARY / SECONDARY / COMPANION\n * has left the overlay behind: the person asked for that content, and what they get is the overlay\n * they were already looking at, with the thing they asked for rendered beneath its own backdrop.\n *\n * Measured 2026-09-22 on the Wonder Todos todo READ overlay (#1511). Clicking the overlay's own\n * `Edit` action moved the URL from `…/todos` to `…/todos/<id>` and put `input[name=\"title\"]` in the\n * document — while the dialog count stayed at ONE and that dialog did not contain the form. Every\n * click on it was intercepted by `[data-slot=dialog-overlay]`, so the edit form was unreachable\n * until the overlay was dismissed by hand.\n *\n * This is NOT {@link emitFreshStartNavigationCleanup}: breaking out of an overlay says nothing\n * about the SECONDARY and COMPANION zones of the page underneath, which are the context the person\n * is returning to. Only the overlay closes.\n *\n * PROMOTE is excluded by the caller because it already performs the stronger reset.\n */\nexport function emitOverlayBreakoutCleanup(\n emit: (event: string, payload: unknown) => void,\n source: OverlayBreakoutNavigationSource,\n): void {\n NavigationUtils.beginTransaction(source);\n emit(FrontendEvents.NAVIGATION_CLOSE, { zone: NavigationZone.OVERLAY });\n}\n\n/**\n * Clear every non-primary surface that should not survive a fresh-start navigation.\n *\n * App-level and PROMOTE navigations both intentionally break out of the current\n * structural flow. The reset must therefore stay centralized so secondary,\n * companion, and overlay cleanup cannot drift apart between call sites.\n */\nexport function emitFreshStartNavigationCleanup(\n emit: (event: string, payload: unknown) => void,\n source: FreshStartNavigationSource,\n): void {\n NavigationUtils.beginTransaction(source);\n emit(FrontendEvents.NAVIGATION_CLEAR_ZONE, { zone: NavigationZoneName.SECONDARY });\n emit(FrontendEvents.NAVIGATION_CLEAR_ZONE, { zone: NavigationZoneName.COMPANION });\n emit(FrontendEvents.NAVIGATION_CLOSE, { zone: NavigationZone.OVERLAY });\n}\n\n/**\n * Home/error recovery is a stronger reset than generic app-level replacement:\n * there is no controller-managed PRIMARY replacement entry to overwrite the\n * current root content, so PRIMARY must be cleared explicitly before routing to\n * the engine home path.\n */\nexport function navigateHomeWithFreshStart(params: {\n emit: (event: string, payload: unknown) => void;\n routerNavigate: (path: string, options?: { replace?: boolean }) => void;\n homePath?: string;\n}): void {\n const { emit, routerNavigate, homePath = '/' } = params;\n\n navigatePathWithFreshStart({\n emit,\n routerNavigate,\n path: homePath,\n source: 'home_navigation',\n });\n}\n\n/**\n * Some shell-owned recovery paths need a stronger reset before routing to a\n * concrete URL. They do not go through controller-owned PRIMARY replacement, so\n * PRIMARY must be cleared explicitly before React Router changes location.\n */\nexport function navigatePathWithFreshStart(params: {\n emit: (event: string, payload: unknown) => void;\n routerNavigate: (path: string, options?: { replace?: boolean }) => void;\n path: string;\n source?: StrongResetNavigationSource;\n}): void {\n const {\n emit,\n routerNavigate,\n path,\n source = 'path_navigation',\n } = params;\n\n NavigationUtils.beginTransaction(source);\n emit(FrontendEvents.NAVIGATION_CLEAR_ZONE, { zone: NavigationZoneName.PRIMARY });\n emitFreshStartNavigationCleanup(emit, 'app_level_navigation');\n routerNavigate(path, { replace: true });\n}\n"]}
1
+ {"version":3,"file":"navigation-clean-break.frontend.utils.js","sourceRoot":"","sources":["../../../../../src/core/navigation/navigation-clean-break.frontend.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yDAAyD,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAYtD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAA+C,EAC/C,MAAuC;IAEvC,eAAe,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAC7C,IAA+C,EAC/C,MAAkC;IAElC,eAAe,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7G,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7G,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAI1C;IACC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC;IAExD,0BAA0B,CAAC;QACzB,IAAI;QACJ,cAAc;QACd,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,iBAAiB;KAC1B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAK1C;IACC,MAAM,EACJ,IAAI,EACJ,cAAc,EACd,IAAI,EACJ,MAAM,GAAG,iBAAiB,GAC3B,GAAG,MAAM,CAAC;IAEX,eAAe,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC;IACjF,+BAA+B,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IAC9D,cAAc,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1C,CAAC","sourcesContent":["import { FrontendEvents } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { NavigationZoneName } from '@wildo-ai/saas-models';\nimport { NavigationUtils } from './navigation.utils';\nimport { NavigationZone } from './navigation.schemas';\n\nexport type FreshStartNavigationSource =\n | 'app_level_navigation'\n | 'promote_navigation';\n\nexport type OverlayBreakoutNavigationSource = 'overlay_breakout_navigation';\n\nexport type StrongResetNavigationSource =\n | 'home_navigation'\n | 'path_navigation';\n\n/**\n * Close the overlay when content it launched lands in a STRUCTURAL zone.\n *\n * An overlay is a floating layer over the layout, and the layout underneath is inert while it is\n * open. So content that starts inside the overlay and is placed in PRIMARY / SECONDARY / COMPANION\n * has left the overlay behind: the person asked for that content, and what they get is the overlay\n * they were already looking at, with the thing they asked for rendered beneath its own backdrop.\n *\n * Measured 2026-09-22 on the Wonder Todos todo READ overlay (#1511). Clicking the overlay's own\n * `Edit` action moved the URL from `…/todos` to `…/todos/<id>` and put `input[name=\"title\"]` in the\n * document — while the dialog count stayed at ONE and that dialog did not contain the form. Every\n * click on it was intercepted by `[data-slot=dialog-overlay]`, so the edit form was unreachable\n * until the overlay was dismissed by hand.\n *\n * This is NOT {@link emitFreshStartNavigationCleanup}: breaking out of an overlay says nothing\n * about the SECONDARY and COMPANION zones of the page underneath, which are the context the person\n * is returning to. Only the overlay closes.\n *\n * PROMOTE is excluded by the caller because it already performs the stronger reset.\n */\nexport function emitOverlayBreakoutCleanup(\n emit: (event: string, payload: unknown) => void,\n source: OverlayBreakoutNavigationSource,\n): void {\n NavigationUtils.beginTransaction(source);\n emit(FrontendEvents.NAVIGATION_CLOSE, { zone: NavigationZone.OVERLAY });\n}\n\n/**\n * Clear every non-primary surface that should not survive a fresh-start navigation.\n *\n * App-level and PROMOTE navigations both intentionally break out of the current\n * structural flow. The reset must therefore stay centralized so secondary,\n * companion, and overlay cleanup cannot drift apart between call sites.\n */\nexport function emitFreshStartNavigationCleanup(\n emit: (event: string, payload: unknown) => void,\n source: FreshStartNavigationSource,\n): void {\n NavigationUtils.beginTransaction(source);\n /*\n * ─── A PERSISTENT pane survives this too, and the contract is what says so ──────────────────────\n *\n * `TransitionConfig.persistent` promises \"the split zone persists when the source zone's content\n * changes\", and the shape it exists for is a reference kept open WHILE YOU MOVE AROUND — a thread,\n * a terminal, a doc. Moving around is sidebar navigation, and every sidebar click is a fresh start,\n * so clearing unconditionally here left the mechanism working only for drill-ins inside one\n * primary destination. `persistent` only ever targets COMPANION, so the clear it could not survive\n * was the one it most needed to.\n *\n * `preservePersistent` is carried on the payload and read by the reducer, which is the only place\n * that can see whether the zone's top entry is persistent — this module emits, it does not read\n * state. A PROMOTE is the same answer: it breaks out of the structural flow, and a reference panel\n * is not part of that flow.\n *\n * What still closes a persistent pane: its own dismiss control, `goBack` in that zone, and a\n * direct `CLEAR_ZONE`. Persistence means \"do not close me because something else changed\", never\n * \"I cannot be closed\".\n */\n emit(FrontendEvents.NAVIGATION_CLEAR_ZONE, { zone: NavigationZoneName.SECONDARY, preservePersistent: true });\n emit(FrontendEvents.NAVIGATION_CLEAR_ZONE, { zone: NavigationZoneName.COMPANION, preservePersistent: true });\n emit(FrontendEvents.NAVIGATION_CLOSE, { zone: NavigationZone.OVERLAY });\n}\n\n/**\n * Home/error recovery is a stronger reset than generic app-level replacement:\n * there is no controller-managed PRIMARY replacement entry to overwrite the\n * current root content, so PRIMARY must be cleared explicitly before routing to\n * the engine home path.\n */\nexport function navigateHomeWithFreshStart(params: {\n emit: (event: string, payload: unknown) => void;\n routerNavigate: (path: string, options?: { replace?: boolean }) => void;\n homePath?: string;\n}): void {\n const { emit, routerNavigate, homePath = '/' } = params;\n\n navigatePathWithFreshStart({\n emit,\n routerNavigate,\n path: homePath,\n source: 'home_navigation',\n });\n}\n\n/**\n * Some shell-owned recovery paths need a stronger reset before routing to a\n * concrete URL. They do not go through controller-owned PRIMARY replacement, so\n * PRIMARY must be cleared explicitly before React Router changes location.\n */\nexport function navigatePathWithFreshStart(params: {\n emit: (event: string, payload: unknown) => void;\n routerNavigate: (path: string, options?: { replace?: boolean }) => void;\n path: string;\n source?: StrongResetNavigationSource;\n}): void {\n const {\n emit,\n routerNavigate,\n path,\n source = 'path_navigation',\n } = params;\n\n NavigationUtils.beginTransaction(source);\n emit(FrontendEvents.NAVIGATION_CLEAR_ZONE, { zone: NavigationZoneName.PRIMARY });\n emitFreshStartNavigationCleanup(emit, 'app_level_navigation');\n routerNavigate(path, { replace: true });\n}\n"]}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * The two things every layer of the navigation controller needs, and neither of which belongs to any
3
+ * one of them: the debug channel, and the one function that writes the browser URL.
4
+ *
5
+ * Extracted 2026-09-25 when `useNavigationController.ts` was split — 2,322 lines holding click
6
+ * resolution, URL reconciliation, the ancestor cascade, clean breaks, dismiss and the emit bridge in
7
+ * one module. Measured across the seam, the ROUTER-SYNC half used exactly THREE symbols from the
8
+ * controller half (`logDebug` and the two cascade functions), which is what made the split cheap
9
+ * enough to be worth doing at all.
10
+ *
11
+ * ## The debug type name is DELIBERATELY still `useNavigationController`
12
+ *
13
+ * `logger.debugByType` keys on this string, and it is what an operator or a test types to turn the
14
+ * channel on (`setDebugTypeLogging('useNavigationController', true)`). Giving each split module its
15
+ * own name would be finer-grained and would silently stop every existing toggle from reaching the
16
+ * router-sync logs — a split is not the moment to change what a diagnostic switch covers.
17
+ */
18
+ import type { useNavigate } from 'react-router-dom';
19
+ import { ResourceOperationFrontendSurface } from '@wildo-ai/saas-models';
20
+ export declare const logDebug: (message: string, context?: Record<string, unknown>) => void;
21
+ /**
22
+ * Update the browser URL via React Router's navigate function, so React Router's
23
+ * `useLocation` hook updates. Everything derived from `useLocation` depends on
24
+ * this: deep-link shareability, back-button state, and the sidebar's
25
+ * most-specific-active highlight (`useSidebarBehavior` reads `useLocation`).
26
+ *
27
+ * ORDERING (why the transaction): the URL→state reconstruction hooks
28
+ * (`useRouterSync`, `useViewRouterSync`, `useEnginePageRouterSync`,
29
+ * `useSettingsHubOverlaySync`) observe `location` changes and rebuild zone state
30
+ * from the URL — UNLESS the target zone already owns the URL, OR a navigation
31
+ * transaction is active. A controller-driven navigation emits the zone-state
32
+ * entry (event bus → `setState`) and THEN changes the URL; if the URL change is
33
+ * observed before that state has committed, those hooks would re-derive stale
34
+ * content (the race the old code papered over). We therefore open (or extend) a
35
+ * navigation transaction so they skip during the commit window and re-validate
36
+ * via their transaction-aware retry once state has committed — by then the
37
+ * emitted entry owns the URL, so they no-op. This mirrors
38
+ * `navigatePathWithFreshStart` / `emitFreshStartNavigationCleanup`, which already
39
+ * pair `beginTransaction` with a synchronous `routerNavigate`.
40
+ *
41
+ * NOT PAINT-GATED (why not requestAnimationFrame): rAF callbacks are throttled to
42
+ * ~0fps in occluded / backgrounded / throttled tabs, so a deferred
43
+ * `routerNavigate` could be stranded indefinitely — zone content (event bus →
44
+ * state) swaps instantly while the URL, sidebar highlight, and back-button state
45
+ * lag until the tab is refocused (reproduced live: composite-view content visible
46
+ * while `location.pathname` stayed stale for 8+ seconds, converging only on tab
47
+ * activation). The transaction guard fills the ordering role rAF was standing in
48
+ * for, without the paint dependency.
49
+ */
50
+ /**
51
+ * Only a resource operation DECLARED `ADDRESSABLE` owns a browser URL.
52
+ *
53
+ * The URL builders are surface-blind — `resolveResourceUrl` happily produces a
54
+ * pattern URL for any URL-bearing variant, including EMBEDDED (notAddressable)
55
+ * ones — but `AppRouter` registers routes for ADDRESSABLE operations only, so
56
+ * writing such a URL to the browser strands refresh / deep-link on the router
57
+ * 404 (seen live 2026-08-19: a breadcrumb click on the EMBEDDED organizations
58
+ * READ rewrote the URL to `/organizations/:id`, a route that does not exist).
59
+ * EMBEDDED content navigates as pure zone/overlay content instead.
60
+ *
61
+ * An `undefined` surface (synthetic/legacy operation objects that never passed
62
+ * through the registry's Step-2.5 posture resolution) keeps the historical
63
+ * URL-writing behavior — only an EXPLICIT non-addressable declaration opts out.
64
+ */
65
+ export declare function resourceOperationOwnsBrowserUrl(operation: {
66
+ operationFrontendConfig?: {
67
+ surface?: ResourceOperationFrontendSurface;
68
+ };
69
+ } | undefined): boolean;
70
+ export declare function updateBrowserUrl(routerNavigate: ReturnType<typeof useNavigate>, urlPath: string, replace?: boolean): void;
71
+ //# sourceMappingURL=navigation-controller-internals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-controller-internals.d.ts","sourceRoot":"","sources":["../../../../../src/core/navigation/navigation-controller-internals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAOzE,eAAO,MAAM,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAoD,CAAC;AAGpI;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE;IAAE,uBAAuB,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,gCAAgC,CAAA;KAAE,CAAA;CAAE,GAAG,SAAS,GAClG,OAAO,CAIT;AAED,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,EAC9C,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,OAAe,GACvB,IAAI,CAUN"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * The two things every layer of the navigation controller needs, and neither of which belongs to any
3
+ * one of them: the debug channel, and the one function that writes the browser URL.
4
+ *
5
+ * Extracted 2026-09-25 when `useNavigationController.ts` was split — 2,322 lines holding click
6
+ * resolution, URL reconciliation, the ancestor cascade, clean breaks, dismiss and the emit bridge in
7
+ * one module. Measured across the seam, the ROUTER-SYNC half used exactly THREE symbols from the
8
+ * controller half (`logDebug` and the two cascade functions), which is what made the split cheap
9
+ * enough to be worth doing at all.
10
+ *
11
+ * ## The debug type name is DELIBERATELY still `useNavigationController`
12
+ *
13
+ * `logger.debugByType` keys on this string, and it is what an operator or a test types to turn the
14
+ * channel on (`setDebugTypeLogging('useNavigationController', true)`). Giving each split module its
15
+ * own name would be finer-grained and would silently stop every existing toggle from reaching the
16
+ * router-sync logs — a split is not the moment to change what a diagnostic switch covers.
17
+ */
18
+ import { ResourceOperationFrontendSurface } from '@wildo-ai/saas-models';
19
+ import { LoggerFrontendService } from '../../core/monitoring/logger.frontend.service.js';
20
+ import { NavigationUtils } from './navigation.utils.js';
21
+ const logger = LoggerFrontendService.getLogger();
22
+ export const logDebug = logger.debugByType('useNavigationController');
23
+ logger.setDebugTypeLogging('useNavigationController', false);
24
+ /**
25
+ * Update the browser URL via React Router's navigate function, so React Router's
26
+ * `useLocation` hook updates. Everything derived from `useLocation` depends on
27
+ * this: deep-link shareability, back-button state, and the sidebar's
28
+ * most-specific-active highlight (`useSidebarBehavior` reads `useLocation`).
29
+ *
30
+ * ORDERING (why the transaction): the URL→state reconstruction hooks
31
+ * (`useRouterSync`, `useViewRouterSync`, `useEnginePageRouterSync`,
32
+ * `useSettingsHubOverlaySync`) observe `location` changes and rebuild zone state
33
+ * from the URL — UNLESS the target zone already owns the URL, OR a navigation
34
+ * transaction is active. A controller-driven navigation emits the zone-state
35
+ * entry (event bus → `setState`) and THEN changes the URL; if the URL change is
36
+ * observed before that state has committed, those hooks would re-derive stale
37
+ * content (the race the old code papered over). We therefore open (or extend) a
38
+ * navigation transaction so they skip during the commit window and re-validate
39
+ * via their transaction-aware retry once state has committed — by then the
40
+ * emitted entry owns the URL, so they no-op. This mirrors
41
+ * `navigatePathWithFreshStart` / `emitFreshStartNavigationCleanup`, which already
42
+ * pair `beginTransaction` with a synchronous `routerNavigate`.
43
+ *
44
+ * NOT PAINT-GATED (why not requestAnimationFrame): rAF callbacks are throttled to
45
+ * ~0fps in occluded / backgrounded / throttled tabs, so a deferred
46
+ * `routerNavigate` could be stranded indefinitely — zone content (event bus →
47
+ * state) swaps instantly while the URL, sidebar highlight, and back-button state
48
+ * lag until the tab is refocused (reproduced live: composite-view content visible
49
+ * while `location.pathname` stayed stale for 8+ seconds, converging only on tab
50
+ * activation). The transaction guard fills the ordering role rAF was standing in
51
+ * for, without the paint dependency.
52
+ */
53
+ /**
54
+ * Only a resource operation DECLARED `ADDRESSABLE` owns a browser URL.
55
+ *
56
+ * The URL builders are surface-blind — `resolveResourceUrl` happily produces a
57
+ * pattern URL for any URL-bearing variant, including EMBEDDED (notAddressable)
58
+ * ones — but `AppRouter` registers routes for ADDRESSABLE operations only, so
59
+ * writing such a URL to the browser strands refresh / deep-link on the router
60
+ * 404 (seen live 2026-08-19: a breadcrumb click on the EMBEDDED organizations
61
+ * READ rewrote the URL to `/organizations/:id`, a route that does not exist).
62
+ * EMBEDDED content navigates as pure zone/overlay content instead.
63
+ *
64
+ * An `undefined` surface (synthetic/legacy operation objects that never passed
65
+ * through the registry's Step-2.5 posture resolution) keeps the historical
66
+ * URL-writing behavior — only an EXPLICIT non-addressable declaration opts out.
67
+ */
68
+ export function resourceOperationOwnsBrowserUrl(operation) {
69
+ const surface = operation?.operationFrontendConfig?.surface;
70
+ return surface !== ResourceOperationFrontendSurface.EMBEDDED
71
+ && surface !== ResourceOperationFrontendSurface.API_ONLY;
72
+ }
73
+ export function updateBrowserUrl(routerNavigate, urlPath, replace = false) {
74
+ // Preserve an in-flight transaction's source label (e.g. 'app_level_navigation'
75
+ // opened by the APP_LEVEL clean break in navigate()) — only open a fresh window
76
+ // when none is active (zone-level drill, goBack, non-app-level cascade). The
77
+ // transaction auto-commits on setTimeout(0), after React has committed the
78
+ // preceding zone-state emit.
79
+ if (!NavigationUtils.isInTransaction()) {
80
+ NavigationUtils.beginTransaction('controller_url_update');
81
+ }
82
+ routerNavigate(urlPath, { replace });
83
+ }
84
+ //# sourceMappingURL=navigation-controller-internals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-controller-internals.js","sourceRoot":"","sources":["../../../../../src/core/navigation/navigation-controller-internals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AACpG,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,EAAE,CAAC;AAEjD,MAAM,CAAC,MAAM,QAAQ,GAAiE,MAAM,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;AACpI,MAAM,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,+BAA+B,CAC7C,SAAmG;IAEnG,MAAM,OAAO,GAAG,SAAS,EAAE,uBAAuB,EAAE,OAAO,CAAC;IAC5D,OAAO,OAAO,KAAK,gCAAgC,CAAC,QAAQ;WACvD,OAAO,KAAK,gCAAgC,CAAC,QAAQ,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,cAA8C,EAC9C,OAAe,EACf,UAAmB,KAAK;IAExB,gFAAgF;IAChF,gFAAgF;IAChF,6EAA6E;IAC7E,2EAA2E;IAC3E,6BAA6B;IAC7B,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,EAAE,CAAC;QACvC,eAAe,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;IAC5D,CAAC;IACD,cAAc,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACvC,CAAC","sourcesContent":["/**\n * The two things every layer of the navigation controller needs, and neither of which belongs to any\n * one of them: the debug channel, and the one function that writes the browser URL.\n *\n * Extracted 2026-09-25 when `useNavigationController.ts` was split — 2,322 lines holding click\n * resolution, URL reconciliation, the ancestor cascade, clean breaks, dismiss and the emit bridge in\n * one module. Measured across the seam, the ROUTER-SYNC half used exactly THREE symbols from the\n * controller half (`logDebug` and the two cascade functions), which is what made the split cheap\n * enough to be worth doing at all.\n *\n * ## The debug type name is DELIBERATELY still `useNavigationController`\n *\n * `logger.debugByType` keys on this string, and it is what an operator or a test types to turn the\n * channel on (`setDebugTypeLogging('useNavigationController', true)`). Giving each split module its\n * own name would be finer-grained and would silently stop every existing toggle from reaching the\n * router-sync logs — a split is not the moment to change what a diagnostic switch covers.\n */\n\nimport type { useNavigate } from 'react-router-dom';\n\nimport { ResourceOperationFrontendSurface } from '@wildo-ai/saas-models';\n\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { NavigationUtils } from './navigation.utils';\n\nconst logger = LoggerFrontendService.getLogger();\n\nexport const logDebug: (message: string, context?: Record<string, unknown>) => void = logger.debugByType('useNavigationController');\nlogger.setDebugTypeLogging('useNavigationController', false);\n\n/**\n * Update the browser URL via React Router's navigate function, so React Router's\n * `useLocation` hook updates. Everything derived from `useLocation` depends on\n * this: deep-link shareability, back-button state, and the sidebar's\n * most-specific-active highlight (`useSidebarBehavior` reads `useLocation`).\n *\n * ORDERING (why the transaction): the URL→state reconstruction hooks\n * (`useRouterSync`, `useViewRouterSync`, `useEnginePageRouterSync`,\n * `useSettingsHubOverlaySync`) observe `location` changes and rebuild zone state\n * from the URL — UNLESS the target zone already owns the URL, OR a navigation\n * transaction is active. A controller-driven navigation emits the zone-state\n * entry (event bus → `setState`) and THEN changes the URL; if the URL change is\n * observed before that state has committed, those hooks would re-derive stale\n * content (the race the old code papered over). We therefore open (or extend) a\n * navigation transaction so they skip during the commit window and re-validate\n * via their transaction-aware retry once state has committed — by then the\n * emitted entry owns the URL, so they no-op. This mirrors\n * `navigatePathWithFreshStart` / `emitFreshStartNavigationCleanup`, which already\n * pair `beginTransaction` with a synchronous `routerNavigate`.\n *\n * NOT PAINT-GATED (why not requestAnimationFrame): rAF callbacks are throttled to\n * ~0fps in occluded / backgrounded / throttled tabs, so a deferred\n * `routerNavigate` could be stranded indefinitely — zone content (event bus →\n * state) swaps instantly while the URL, sidebar highlight, and back-button state\n * lag until the tab is refocused (reproduced live: composite-view content visible\n * while `location.pathname` stayed stale for 8+ seconds, converging only on tab\n * activation). The transaction guard fills the ordering role rAF was standing in\n * for, without the paint dependency.\n */\n/**\n * Only a resource operation DECLARED `ADDRESSABLE` owns a browser URL.\n *\n * The URL builders are surface-blind — `resolveResourceUrl` happily produces a\n * pattern URL for any URL-bearing variant, including EMBEDDED (notAddressable)\n * ones — but `AppRouter` registers routes for ADDRESSABLE operations only, so\n * writing such a URL to the browser strands refresh / deep-link on the router\n * 404 (seen live 2026-08-19: a breadcrumb click on the EMBEDDED organizations\n * READ rewrote the URL to `/organizations/:id`, a route that does not exist).\n * EMBEDDED content navigates as pure zone/overlay content instead.\n *\n * An `undefined` surface (synthetic/legacy operation objects that never passed\n * through the registry's Step-2.5 posture resolution) keeps the historical\n * URL-writing behavior — only an EXPLICIT non-addressable declaration opts out.\n */\nexport function resourceOperationOwnsBrowserUrl(\n operation: { operationFrontendConfig?: { surface?: ResourceOperationFrontendSurface } } | undefined,\n): boolean {\n const surface = operation?.operationFrontendConfig?.surface;\n return surface !== ResourceOperationFrontendSurface.EMBEDDED\n && surface !== ResourceOperationFrontendSurface.API_ONLY;\n}\n\nexport function updateBrowserUrl(\n routerNavigate: ReturnType<typeof useNavigate>,\n urlPath: string,\n replace: boolean = false\n): void {\n // Preserve an in-flight transaction's source label (e.g. 'app_level_navigation'\n // opened by the APP_LEVEL clean break in navigate()) — only open a fresh window\n // when none is active (zone-level drill, goBack, non-app-level cascade). The\n // transaction auto-commits on setTimeout(0), after React has committed the\n // preceding zone-state emit.\n if (!NavigationUtils.isInTransaction()) {\n NavigationUtils.beginTransaction('controller_url_update');\n }\n routerNavigate(urlPath, { replace });\n}\n\n"]}
@@ -19,9 +19,49 @@
19
19
  *
20
20
  * @see _code_archive/docs-archive/navigation/navigation-v3-reflection.md
21
21
  */
22
- import { type NavigationLayout, type ViewportDiscriminated } from '@wildo-ai/saas-models';
22
+ import { ResponsiveCollapseMode, type NavigationLayout, type ZoneConfig, type ViewportDiscriminated } from '@wildo-ai/saas-models';
23
23
  import { ViewportBreakpoint } from '@wildo-ai/zod-decorators';
24
24
  import { type NavigationResolutionContext, type NavigationResolutionResult } from './navigation.schemas';
25
+ /**
26
+ * WHICH collapse a structural zone is under at this viewport, or `undefined` for none.
27
+ *
28
+ * Exported rather than private to the resolver because THREE parties need the answer and none may
29
+ * re-derive it: the resolver places a CLICK's content, `useResponsiveZoneMigration` moves content
30
+ * ALREADY sitting in a zone the viewport has just taken away, and a test pins both. The predicate
31
+ * half (`zoneIsCollapsedAtViewport`) was extracted for exactly this reason on 2026-09-25; this is
32
+ * the mode half, and leaving it private would let the migration disagree with the placement about
33
+ * whether a collapsed pane becomes a page or a sheet — the two halves of one declaration, answered
34
+ * by two functions.
35
+ *
36
+ * Callers own the zone-identity guard, because it is a question about WHICH zone rather than about
37
+ * the viewport.
38
+ *
39
+ * ## An UNDECLARED collapse defaults to PUSH, and that is a decision
40
+ *
41
+ * `NavigationContentAreas` renders a single zone below the mobile breakpoint — secondary and
42
+ * companion are not shown at all. So on a phone a zone with no `responsiveCollapse` is not "left
43
+ * alone": content routed there is placed into a zone that does not render, and the user sees
44
+ * nothing happen. That is what an undeclared collapse meant before #411, for every application, and
45
+ * it is not a behaviour anyone would choose deliberately.
46
+ *
47
+ * PUSH rather than OVERLAY because it is the conservative half of the vocabulary: the content
48
+ * appears in primary in context, and BACK pops to what was there before — no dismissal affordance
49
+ * to get wrong, and no modality over a phone-sized viewport. An application that wants the sheet
50
+ * declares `OVERLAY` and gets it.
51
+ *
52
+ * The alternative — return `undefined` and let the content vanish — was rejected because it is the
53
+ * silent degradation #411 exists to remove, and because "the zone declared nothing" is not a reason
54
+ * to lose a user's navigation.
55
+ *
56
+ * A viewport-discriminated declaration naming no mode for THIS breakpoint is a gap in the
57
+ * declaration, not a statement that the zone renders — it still would not — so it takes the same
58
+ * default.
59
+ */
60
+ export declare function resolveZoneCollapseMode(params: {
61
+ zoneConfig: ZoneConfig | undefined;
62
+ viewport: ViewportBreakpoint | undefined;
63
+ contentAreaWidth?: number;
64
+ }): ResponsiveCollapseMode | undefined;
25
65
  /**
26
66
  * Resolve a `ViewportDiscriminated<T>` value for the current viewport.
27
67
  *
@@ -41,6 +81,18 @@ export declare class NavigationPolicyResolver {
41
81
  * @returns What the controller should do: target zone, transition, appearance, collapse state.
42
82
  */
43
83
  resolve(context: NavigationResolutionContext, layout: NavigationLayout): NavigationResolutionResult;
84
+ /**
85
+ * The overlay an `INPLACE` transition becomes when the surface has no element-level host.
86
+ *
87
+ * A DOOR on the resolver rather than a re-resolution in the controller, because the controller's
88
+ * way of asking — injecting a synthetic `operationOverrides: [{ transition: OVERLAY }]` — had to
89
+ * lie twice to get an answer: it reported the outcome as an authored override, and it discarded
90
+ * the operation's REAL override along with the `appearance` and `overlayBehavior` on it. Here the
91
+ * context is untouched, so both are read exactly as they would be for any other overlay.
92
+ *
93
+ * The tier that answered `INPLACE` is preserved. What the degradation adds is an adjustment.
94
+ */
95
+ degradeInPlaceToOverlay(context: NavigationResolutionContext, layout: NavigationLayout, original: NavigationResolutionResult): NavigationResolutionResult;
44
96
  private resolveTransition;
45
97
  /**
46
98
  * Step 1: Check per-resource operation overrides.
@@ -65,7 +117,29 @@ export declare class NavigationPolicyResolver {
65
117
  private getTransitionBySemanticKey;
66
118
  /**
67
119
  * Step 4: Get the transition map from the appropriate source config.
68
- * Three distinct branches based on source type.
120
+ *
121
+ * ## An OVERLAY source falls back to the zone it is LANDING IN
122
+ *
123
+ * `fromOverlay` is the app's statement about leaving an overlay, and it wins. What it does NOT
124
+ * mean is that an app which declared nothing there has declared nothing at all: an overlay is not
125
+ * a structural zone, so `getStructuralSourceZone` already answers PRIMARY for it — a structural
126
+ * navigation out of an overlay IS a primary navigation. Reading a different map for the VERB than
127
+ * for the ZONE is how the two came to disagree.
128
+ *
129
+ * Measured on the workbench, 2026-09-25. Its layout declares `zones.primary.transitions.read =
130
+ * SPLIT` and no `fromOverlay` at all. Clicking an aspect popup's `family` backlink — an
131
+ * ADDRESSABLE artifact — found no overlay map, fell through to the framework fallback `PUSH`, and
132
+ * landed in PRIMARY: the artifact took the WHOLE PAGE, replacing the artifact list it should have
133
+ * opened beside. The application had said what a READ does on the page; the resolver did not ask.
134
+ *
135
+ * Wonder CRM is the control and is untouched: it declares `fromOverlay.read = PUSH` deliberately
136
+ * ("ADDRESSABLE targets legitimately leave the overlay and become the page"), that map answers,
137
+ * and the fallback never runs. The fallback also covers the gap INSIDE a declared map — one that
138
+ * names READ says nothing about LIST, and that gap used to take the framework default too.
139
+ *
140
+ * APP_LEVEL is deliberately NOT given the same fallback. A menubar click is a layout RESET with
141
+ * its own meaning, and an app that declares no `appLevel` map has not thereby asked for primary's
142
+ * drill-in verbs — it has asked for the framework default, which is what it gets.
69
143
  */
70
144
  private getSourceTransitions;
71
145
  /**
@@ -91,6 +165,16 @@ export declare class NavigationPolicyResolver {
91
165
  * Falls back to overlay if no adjacent zone is declared in config.
92
166
  */
93
167
  private resolveSplitTarget;
168
+ /**
169
+ * Did a split into `zone` OPEN a pane or REPLACE what was in one?
170
+ *
171
+ * The same question `resolveSplitTarget`'s secondary branch answers inline by construction — it
172
+ * only reaches companion when secondary is taken — but the two branches that target companion
173
+ * DIRECTLY (a persistent split, and a layout declaring companion without secondary) choose the
174
+ * zone before asking, so they ask here. Reading `zoneOccupancy` is what keeps both answers derived
175
+ * from one input rather than from two nearly-identical inline conditions.
176
+ */
177
+ private splitOutcomeFor;
94
178
  /**
95
179
  * Derive visual appearance from zone config, resolved for the current viewport.
96
180
  * Only overlay and split transitions have meaningful appearance.
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-policy-resolver.service.d.ts","sourceRoot":"","sources":["../../../../../src/core/navigation/navigation-policy-resolver.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAQL,KAAK,gBAAgB,EAKrB,KAAK,qBAAqB,EAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAGL,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAChC,MAAM,sBAAsB,CAAC;AAkB9B;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,EAC5C,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,SAAS,EAC3C,QAAQ,EAAE,kBAAkB,GAC3B,CAAC,GAAG,SAAS,CAUf;AAiDD,qBAAa,wBAAwB;IAEnC;;;;;;OAMG;IACH,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,MAAM,EAAE,gBAAgB,GAAG,0BAA0B;IAwKnG,OAAO,CAAC,iBAAiB;IA6EzB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAavB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAgBlC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAO/B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAY9B,6DAA6D;IAC7D,OAAO,CAAC,mBAAmB;IAkB3B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,mBAAmB;CA8E5B;AAED,sDAAsD;AACtD,eAAO,MAAM,wBAAwB,0BAAiC,CAAC"}
1
+ {"version":3,"file":"navigation-policy-resolver.service.d.ts","sourceRoot":"","sources":["../../../../../src/core/navigation/navigation-policy-resolver.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAIL,sBAAsB,EAMtB,KAAK,gBAAgB,EAIrB,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAKL,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAChC,MAAM,sBAAsB,CAAC;AAkB9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,sBAAsB,GAAG,SAAS,CAKrC;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,EAC5C,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,SAAS,EAC3C,QAAQ,EAAE,kBAAkB,GAC3B,CAAC,GAAG,SAAS,CAUf;AAsDD,qBAAa,wBAAwB;IAEnC;;;;;;OAMG;IACH,OAAO,CAAC,OAAO,EAAE,2BAA2B,EAAE,MAAM,EAAE,gBAAgB,GAAG,0BAA0B;IA0NnG;;;;;;;;;;OAUG;IACH,uBAAuB,CACrB,OAAO,EAAE,2BAA2B,EACpC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,0BAA0B,GACnC,0BAA0B;IAoB7B,OAAO,CAAC,iBAAiB;IA0FzB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAavB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;;OAIG;IACH,OAAO,CAAC,0BAA0B;IAgBlC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAO/B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAmC1B;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAavB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAiCxB;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAY9B,6DAA6D;IAC7D,OAAO,CAAC,mBAAmB;IA6B3B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,mBAAmB;CAoB5B;AAED,sDAAsD;AACtD,eAAO,MAAM,wBAAwB,0BAAiC,CAAC"}