@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
@@ -12,6 +12,8 @@ export declare class ConsoleAnalyticsProvider implements IAnalyticsProvider {
12
12
  track(event: AnalyticsEvent): void;
13
13
  page(path: string, properties?: Record<string, unknown>): void;
14
14
  reset(): void;
15
+ /** Nothing is buffered: every event is written as it is tracked. */
16
+ discard(): void;
15
17
  shutdown(): Promise<void>;
16
18
  }
17
19
  //# sourceMappingURL=console-analytics.provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"console-analytics.provider.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/monitoring/analytics/providers/console-analytics.provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qFAAqF,CAAC;AAErK,qBAAa,wBAAyB,YAAW,kBAAkB;IACjE,QAAQ,CAAC,IAAI,iCAAiC;IAExC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAI/C,KAAK,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAIlC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,KAAK,IAAI,IAAI;IAIP,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
1
+ {"version":3,"file":"console-analytics.provider.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/monitoring/analytics/providers/console-analytics.provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qFAAqF,CAAC;AAErK,qBAAa,wBAAyB,YAAW,kBAAkB;IACjE,QAAQ,CAAC,IAAI,iCAAiC;IAExC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAI/C,KAAK,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAIlC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,KAAK,IAAI,IAAI;IAIb,oEAAoE;IACpE,OAAO,IAAI,IAAI;IAET,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
@@ -21,6 +21,8 @@ export class ConsoleAnalyticsProvider {
21
21
  reset() {
22
22
  console.log('[Analytics:Console] Reset');
23
23
  }
24
+ /** Nothing is buffered: every event is written as it is tracked. */
25
+ discard() { }
24
26
  async shutdown() {
25
27
  console.log('[Analytics:Console] Shutdown');
26
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"console-analytics.provider.js","sourceRoot":"","sources":["../../../../../../../src/core/monitoring/analytics/providers/console-analytics.provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,MAAM,OAAO,wBAAwB;IAC1B,IAAI,GAAG,qBAAqB,CAAC,OAAO,CAAC;IAE9C,KAAK,CAAC,UAAU;QACd,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ,CAAC,QAA+B;QACtC,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,KAAqB;QACzB,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,UAAoC;QACrD,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK;QACH,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;CACF","sourcesContent":["/**\n * Console Analytics Provider\n * \n * Dev-mode provider that logs all analytics events to the browser console.\n */\n\nimport { AnalyticsProviderType } from '@wildo-ai/saas-models';\nimport type { IAnalyticsProvider, AnalyticsEvent, AnalyticsUserIdentity } from '~wildo-frontend-lib/core/monitoring/analytics/analytics-provider.frontend.interface';\n\nexport class ConsoleAnalyticsProvider implements IAnalyticsProvider {\n readonly name = AnalyticsProviderType.CONSOLE;\n\n async initialize(): Promise<void> {\n console.log('[Analytics:Console] Initialized');\n }\n\n identify(identity: AnalyticsUserIdentity): void {\n console.log('[Analytics:Console] Identify:', identity);\n }\n\n track(event: AnalyticsEvent): void {\n console.log(`[Analytics:Console] Track: ${event.name}`, event.properties);\n }\n\n page(path: string, properties?: Record<string, unknown>): void {\n console.log(`[Analytics:Console] Page: ${path}`, properties);\n }\n\n reset(): void {\n console.log('[Analytics:Console] Reset');\n }\n\n async shutdown(): Promise<void> {\n console.log('[Analytics:Console] Shutdown');\n }\n}\n"]}
1
+ {"version":3,"file":"console-analytics.provider.js","sourceRoot":"","sources":["../../../../../../../src/core/monitoring/analytics/providers/console-analytics.provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,MAAM,OAAO,wBAAwB;IAC1B,IAAI,GAAG,qBAAqB,CAAC,OAAO,CAAC;IAE9C,KAAK,CAAC,UAAU;QACd,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ,CAAC,QAA+B;QACtC,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,KAAqB;QACzB,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,UAAoC;QACrD,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK;QACH,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC;IAED,oEAAoE;IACpE,OAAO,KAAU,CAAC;IAElB,KAAK,CAAC,QAAQ;QACZ,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;CACF","sourcesContent":["/**\n * Console Analytics Provider\n * \n * Dev-mode provider that logs all analytics events to the browser console.\n */\n\nimport { AnalyticsProviderType } from '@wildo-ai/saas-models';\nimport type { IAnalyticsProvider, AnalyticsEvent, AnalyticsUserIdentity } from '~wildo-frontend-lib/core/monitoring/analytics/analytics-provider.frontend.interface';\n\nexport class ConsoleAnalyticsProvider implements IAnalyticsProvider {\n readonly name = AnalyticsProviderType.CONSOLE;\n\n async initialize(): Promise<void> {\n console.log('[Analytics:Console] Initialized');\n }\n\n identify(identity: AnalyticsUserIdentity): void {\n console.log('[Analytics:Console] Identify:', identity);\n }\n\n track(event: AnalyticsEvent): void {\n console.log(`[Analytics:Console] Track: ${event.name}`, event.properties);\n }\n\n page(path: string, properties?: Record<string, unknown>): void {\n console.log(`[Analytics:Console] Page: ${path}`, properties);\n }\n\n reset(): void {\n console.log('[Analytics:Console] Reset');\n }\n\n /** Nothing is buffered: every event is written as it is tracked. */\n discard(): void {}\n\n async shutdown(): Promise<void> {\n console.log('[Analytics:Console] Shutdown');\n }\n}\n"]}
@@ -6,6 +6,7 @@
6
6
  * Subscribes to navigation events via NavigationContext.
7
7
  */
8
8
  import React from 'react';
9
+ import { NavigationZoneName } from '@wildo-ai/saas-models';
9
10
  import type { NavigationLayout, SplitConfig } from '@wildo-ai/saas-models';
10
11
  import { DisplayDirection } from '@wildo-ai/zod-decorators';
11
12
  import { NavigationZone, NavigationContent, NavigationInitiatorContext } from './navigation.schemas';
@@ -32,6 +33,40 @@ export declare const NavigationContentRenderer: React.FC<{
32
33
  initiator?: NavigationInitiatorContext;
33
34
  entryId?: string;
34
35
  }>;
36
+ /**
37
+ * The DOM ids joining a zone tab to the stack entry it reveals.
38
+ *
39
+ * ## The tab bar was promising panels that did not exist
40
+ *
41
+ * Radix gives every `TabsTrigger` an `aria-controls` naming the `TabsContent` with the same value,
42
+ * and a tabbed zone renders no `TabsContent` at all — its "panels" are the persistent stack entries,
43
+ * rendered by `ZoneContentRenderer` as a SIBLING of the tab bar rather than inside the `Tabs` root,
44
+ * so Radix cannot see them. Every trigger therefore carried an `aria-controls` pointing at nothing:
45
+ * a dangling IDREF, which axe reports as a CRITICAL `aria-valid-attr-value` and which a screen
46
+ * reader renders as "tab 1 of 3" for tabs that control nothing findable. The same defect was
47
+ * measured on the quick-filter tabs (#1411).
48
+ *
49
+ * ## Why the answer here is the OPPOSITE of the one that fixed those
50
+ *
51
+ * `ResourceCollectionQuickFilterTabs` stopped being tabs, because its panel genuinely did not exist
52
+ * — the collection below re-fetches, and a tab is a promise that activating it reveals A PANEL. Here
53
+ * the panels are real: every stack entry is mounted, one visible and the rest `inert`, which is
54
+ * exactly the tab pattern. So the fix is to make the existing relationship VISIBLE to assistive
55
+ * technology rather than to withdraw the claim — the trigger names its panel, the panel names its
56
+ * trigger, and both ids are derived from the same pair so they cannot drift.
57
+ *
58
+ * Wiring by hand, rather than wrapping the entries in `TabsContent`, keeps ONE rendering path for
59
+ * both content models: the persistent mount, `display: contents` on the visible entry and `inert` on
60
+ * the rest are shared with `SINGLE`, and `TabsContent` would add a wrapper element that the
61
+ * "no extra wrapper div" invariant on that renderer exists to avoid.
62
+ *
63
+ * Entry ids are generated strings that never reach a CSS selector, but a DOM id has to be a single
64
+ * token for an IDREF to resolve, so anything outside the safe set is folded to `_`.
65
+ */
66
+ export declare function zoneTabDomIds(zone: NavigationZoneName, entryId: string): {
67
+ tabId: string;
68
+ panelId: string;
69
+ };
35
70
  /**
36
71
  * Translate a split's DIVIDER orientation into the panel group's STACKING AXIS.
37
72
  *
@@ -81,6 +116,28 @@ export declare enum ContentAreaRenderBranch {
81
116
  * Deliberately takes no "is a pane shown" input: see `ContentAreaRenderBranch`. Before issue #640 the
82
117
  * resizable choice required the pane to be shown, so a resizable layout with a `COLLAPSE` pane
83
118
  * remounted the page a record was opened from at the moment the record opened beside it.
119
+ *
120
+ * ## Why this still reads `isMobile` while everything else asks `zoneIsCollapsedAtViewport`
121
+ *
122
+ * Three functions now answer a viewport question about zones, and they answer three DIFFERENT
123
+ * questions — checked 2026-09-25 rather than assumed:
124
+ *
125
+ * | function | question | input |
126
+ * |---|---|---|
127
+ * | `zoneIsCollapsedAtViewport` | may content LAND in this pane, and is it drawn? | breakpoint + content-area fit |
128
+ * | `resolveEmphasizedZone` | may this pane be expanded to fill? | whether it is SHOWN |
129
+ * | this one | which TREE do we render? | the DECLARATION, plus mobile |
130
+ *
131
+ * The mobile term is not a collapse test. It chooses the single-column tree for a phone, where the
132
+ * outer container owns the scroll; every wider viewport gets the multi-zone tree whose primary COLUMN
133
+ * owns it. That choice must not flip as a pane opens and closes, which is exactly what #640 fixed, so
134
+ * it cannot take the collapse predicate — a pane collapsed by a narrow content area would remount the
135
+ * page underneath.
136
+ *
137
+ * At VERT_TABLET the two therefore disagree on purpose: the branch is multi-zone and the panes are
138
+ * collapsed, so the panel group renders with primary alone and `react-resizable-panels` normalises
139
+ * the single panel to full width. Verified, not assumed — both adjacent panels are gated on
140
+ * `showSecondary` / `showCompanion` below.
84
141
  */
85
142
  export declare function resolveContentAreaRenderBranch(input: {
86
143
  isMobile: boolean;
@@ -101,6 +158,27 @@ export declare function resolveContentAreaRenderBranch(input: {
101
158
  *
102
159
  * Exported and pure so the rule is pinned without the provider stack a render would need.
103
160
  */
161
+ /**
162
+ * The side-panel percentages the STATIC branch renders, clamped so primary keeps its floor.
163
+ *
164
+ * The resizable branch has clamped since #1013 (`fitSidePanelsBesidePrimary`, `MIN_PRIMARY_PERCENT`).
165
+ * The static branch applied the two authored ratios raw — and they come from DIFFERENT tuples
166
+ * (`split.ratio[1]` and `split.companion.ratio[1]`), so nothing related them: `ratio: [30, 70]` plus
167
+ * `companion: { ratio: [30, 70] }` rendered two 70% panes and crushed primary to a sliver, with no
168
+ * clamp and without consulting `minWidth`/`maxWidth` at all.
169
+ *
170
+ * Proportional rather than truncating, so an author who over-declares keeps the RELATIVE weight they
171
+ * asked for — 70/70 becomes 37.5/37.5, not 70/5.
172
+ */
173
+ export declare function clampStaticSidePanels(input: {
174
+ secondaryPercent: number;
175
+ companionPercent: number;
176
+ showSecondary: boolean;
177
+ showCompanion: boolean;
178
+ }): {
179
+ secondary: number;
180
+ companion: number;
181
+ };
104
182
  export declare function staticZoneDividers(input: {
105
183
  showSecondary: boolean;
106
184
  showCompanion: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationContentAreas.d.ts","sourceRoot":"","sources":["../../../../../src/core/navigation/NavigationContentAreas.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAA4D,MAAM,OAAO,CAAC;AAMjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAsB,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAKhF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAyB,0BAA0B,EAAwB,MAAM,sBAAsB,CAAC;AAkElJ,UAAU,2BAA2B;IACnC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC;CACjC;AASD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CA+DlF;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/C,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAyJA,CAAC;AAqLF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,4CAA4C,CAC1D,WAAW,EAAE,gBAAgB,GAAG,SAAS,GACxC,gBAAgB,CAIlB;AAiDD,UAAU,eAAe;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,6FAA6F;IAC7F,MAAM,EAAE,OAAO,CAAC;CACjB;AAiKD;;;;GAIG;AACH,oBAAY,uBAAuB;IACjC,oFAAoF;IACpF,WAAW,gBAAgB;IAC3B,yFAAyF;IACzF,iBAAiB,sBAAsB;IACvC,yFAAyF;IACzF,oBAAoB,yBAAyB;CAC9C;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE;IACpD,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;CACjE,GAAG,uBAAuB,CAO1B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IAAE,aAAa,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GAAG;IAC7F,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB,CAMA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAChC,KAAK,EAAE,WAAW,GAAG,SAAS,EAC9B,aAAa,EAAE,OAAO,EACtB,aAAa,EAAE,OAAO,EACtB,cAAc,EAAE,MAAM,GACrB;IACD,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,CA2FA;AAoMD,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CA0dxE,CAAC;AAsHF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAEtC,CAAC"}
1
+ {"version":3,"file":"NavigationContentAreas.d.ts","sourceRoot":"","sources":["../../../../../src/core/navigation/NavigationContentAreas.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAA4D,MAAM,OAAO,CAAC;AAEjF,OAAO,EACL,kBAAkB,EAEnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAsB,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAQhF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAyB,0BAA0B,EAAwB,MAAM,sBAAsB,CAAC;AAkElJ,UAAU,2BAA2B;IACnC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC;CACjC;AASD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CA+DlF;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/C,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAyJA,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAG3G;AA8MD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,4CAA4C,CAC1D,WAAW,EAAE,gBAAgB,GAAG,SAAS,GACxC,gBAAgB,CAIlB;AAiDD,UAAU,eAAe;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,6FAA6F;IAC7F,MAAM,EAAE,OAAO,CAAC;CACjB;AAiKD;;;;GAIG;AACH,oBAAY,uBAAuB;IACjC,oFAAoF;IACpF,WAAW,gBAAgB;IAC3B,yFAAyF;IACzF,iBAAiB,sBAAsB;IACvC,yFAAyF;IACzF,oBAAoB,yBAAyB;CAC9C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE;IACpD,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;CACjE,GAAG,uBAAuB,CAO1B;AAED;;;;;;;;;;;;GAYG;AACH;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CACxB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAQ3C;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IAAE,aAAa,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GAAG;IAC7F,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB,CAMA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAChC,KAAK,EAAE,WAAW,GAAG,SAAS,EAC9B,aAAa,EAAE,OAAO,EACtB,aAAa,EAAE,OAAO,EACtB,cAAc,EAAE,MAAM,GACrB;IACD,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B,CA2FA;AAqPD,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CA6kBxE,CAAC;AAuHF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAEtC,CAAC"}
@@ -12,8 +12,11 @@ import { NavigationZoneName, OverlayAppearance, } from '@wildo-ai/saas-models';
12
12
  import { ViewportBreakpoint, DisplayDirection } from '@wildo-ai/zod-decorators';
13
13
  import { NavigationZoneContentModel } from '@wildo-ai/saas-models';
14
14
  import { useNavigationState } from './useNavigationState.js';
15
+ import { zoneIsCollapsedAtViewport } from './zone-collapse.js';
16
+ import { useResponsiveZoneMigration } from './useResponsiveZoneMigration.js';
15
17
  import { NavigationUtils } from './navigation.utils.js';
16
- import { useHostedPaneRouteSync, useNavigationController, useSettingsHubOverlaySync, useStructuralZoneBackForwardSync } from './useNavigationController.js';
18
+ import { useNavigationController } from './useNavigationController.js';
19
+ import { useHostedPaneRouteSync, useSettingsHubOverlaySync, useStructuralZoneBackForwardSync } from './useNavigationRouterSync.js';
17
20
  import { NavigationZone, NavigationContentType } from './navigation.schemas.js';
18
21
  import { CorePresetNames, FrontendComponentType, PlacementSide, ShellAppearance, SurfaceVariant } from '@wildo-ai/presets-components-models';
19
22
  import { useUI } from '../../core/ui/useUI.js';
@@ -205,6 +208,40 @@ export const NavigationContentRenderer = ({ content, zone, initiator, entryId })
205
208
  }
206
209
  return null;
207
210
  };
211
+ /**
212
+ * The DOM ids joining a zone tab to the stack entry it reveals.
213
+ *
214
+ * ## The tab bar was promising panels that did not exist
215
+ *
216
+ * Radix gives every `TabsTrigger` an `aria-controls` naming the `TabsContent` with the same value,
217
+ * and a tabbed zone renders no `TabsContent` at all — its "panels" are the persistent stack entries,
218
+ * rendered by `ZoneContentRenderer` as a SIBLING of the tab bar rather than inside the `Tabs` root,
219
+ * so Radix cannot see them. Every trigger therefore carried an `aria-controls` pointing at nothing:
220
+ * a dangling IDREF, which axe reports as a CRITICAL `aria-valid-attr-value` and which a screen
221
+ * reader renders as "tab 1 of 3" for tabs that control nothing findable. The same defect was
222
+ * measured on the quick-filter tabs (#1411).
223
+ *
224
+ * ## Why the answer here is the OPPOSITE of the one that fixed those
225
+ *
226
+ * `ResourceCollectionQuickFilterTabs` stopped being tabs, because its panel genuinely did not exist
227
+ * — the collection below re-fetches, and a tab is a promise that activating it reveals A PANEL. Here
228
+ * the panels are real: every stack entry is mounted, one visible and the rest `inert`, which is
229
+ * exactly the tab pattern. So the fix is to make the existing relationship VISIBLE to assistive
230
+ * technology rather than to withdraw the claim — the trigger names its panel, the panel names its
231
+ * trigger, and both ids are derived from the same pair so they cannot drift.
232
+ *
233
+ * Wiring by hand, rather than wrapping the entries in `TabsContent`, keeps ONE rendering path for
234
+ * both content models: the persistent mount, `display: contents` on the visible entry and `inert` on
235
+ * the rest are shared with `SINGLE`, and `TabsContent` would add a wrapper element that the
236
+ * "no extra wrapper div" invariant on that renderer exists to avoid.
237
+ *
238
+ * Entry ids are generated strings that never reach a CSS selector, but a DOM id has to be a single
239
+ * token for an IDREF to resolve, so anything outside the safe set is folded to `_`.
240
+ */
241
+ export function zoneTabDomIds(zone, entryId) {
242
+ const token = `${zone}-${entryId.replace(/[^A-Za-z0-9_-]/g, '_')}`;
243
+ return { tabId: `nav-zone-tab-${token}`, panelId: `nav-zone-tabpanel-${token}` };
244
+ }
208
245
  /**
209
246
  * The tab bar of a `NavigationZoneContentModel.TABBED` zone — one trigger per stack entry.
210
247
  *
@@ -217,11 +254,18 @@ export const NavigationContentRenderer = ({ content, zone, initiator, entryId })
217
254
  * first for exactly the entries (composite views, engine pages) whose titles are hardest to get
218
255
  * right.
219
256
  */
220
- const ZoneTabTrigger = ({ entry }) => {
221
- const { title } = useOverlayTitle(entry);
222
- return _jsx(TabsTrigger, { value: entry.id, children: title });
257
+ const ZoneTabTrigger = ({ zone, entry }) => {
258
+ // Sibling tabs must be told apart: a record's read tab and its edit tab keep their own operations' titles.
259
+ const { title } = useOverlayTitle(entry, { keepOperationTitle: true });
260
+ const { tabId, panelId } = zoneTabDomIds(zone, entry.id);
261
+ /*
262
+ * `id` and `aria-controls` are written AFTER Radix's own, and that ordering is what makes this
263
+ * work: the primitive spreads the caller's props last, so ours replace the generated pair that
264
+ * pointed at a `TabsContent` this zone never renders.
265
+ */
266
+ return _jsx(TabsTrigger, { value: entry.id, id: tabId, "aria-controls": panelId, children: title });
223
267
  };
224
- const ZoneTabBar = ({ zone, entries, activeEntryId, onSelect }) => (_jsx(Tabs, { value: activeEntryId, onValueChange: (entryId) => onSelect(zone, entryId), "data-zone-tab-bar": zone, children: _jsx(TabsList, { children: entries.map(entry => _jsx(ZoneTabTrigger, { entry: entry }, entry.id)) }) }));
268
+ const ZoneTabBar = ({ zone, entries, activeEntryId, onSelect }) => (_jsx(Tabs, { value: activeEntryId, onValueChange: (entryId) => onSelect(zone, entryId), "data-zone-tab-bar": zone, children: _jsx(TabsList, { children: entries.map(entry => _jsx(ZoneTabTrigger, { zone: zone, entry: entry }, entry.id)) }) }));
225
269
  /**
226
270
  * Render a zone's content using **persistent stack rendering**.
227
271
  *
@@ -292,7 +336,24 @@ const ZoneContentRenderer = ({ zone, fallback, emptyState }) => {
292
336
  * refetch on every switch, which is the behaviour tabs exist to avoid.
293
337
  */
294
338
  const isTop = index === visibleEntryIndex;
295
- return (_jsx("div", { style: { display: isTop ? 'contents' : 'none' },
339
+ /*
340
+ * Only a TABBED zone's entries are panels. In `SINGLE` the hidden entries are history, not
341
+ * parallel choices, and labelling them `tabpanel` would announce a tab set with no tabs.
342
+ */
343
+ const tabPanelProps = isTabbed
344
+ ? (() => {
345
+ const { tabId, panelId } = zoneTabDomIds(zone, entry.id);
346
+ /*
347
+ * No `tabIndex`. WAI-ARIA asks for a focusable panel when the panel holds nothing
348
+ * focusable, but this wrapper is `display: contents` while visible, and an element
349
+ * that generates no box cannot take focus — a `tabIndex={0}` here was a claim the
350
+ * browser ignores. The panels hold resource views, which carry their own focusable
351
+ * controls.
352
+ */
353
+ return { role: 'tabpanel', id: panelId, 'aria-labelledby': tabId };
354
+ })()
355
+ : undefined;
356
+ return (_jsx("div", { ...tabPanelProps, style: { display: isTop ? 'contents' : 'none' },
296
357
  // Non-top stack entries stay mounted (to preserve their state
297
358
  // across depth navigation) but must be hidden from both layout
298
359
  // and assistive technology. We use `inert` rather than
@@ -557,6 +618,28 @@ export var ContentAreaRenderBranch;
557
618
  * Deliberately takes no "is a pane shown" input: see `ContentAreaRenderBranch`. Before issue #640 the
558
619
  * resizable choice required the pane to be shown, so a resizable layout with a `COLLAPSE` pane
559
620
  * remounted the page a record was opened from at the moment the record opened beside it.
621
+ *
622
+ * ## Why this still reads `isMobile` while everything else asks `zoneIsCollapsedAtViewport`
623
+ *
624
+ * Three functions now answer a viewport question about zones, and they answer three DIFFERENT
625
+ * questions — checked 2026-09-25 rather than assumed:
626
+ *
627
+ * | function | question | input |
628
+ * |---|---|---|
629
+ * | `zoneIsCollapsedAtViewport` | may content LAND in this pane, and is it drawn? | breakpoint + content-area fit |
630
+ * | `resolveEmphasizedZone` | may this pane be expanded to fill? | whether it is SHOWN |
631
+ * | this one | which TREE do we render? | the DECLARATION, plus mobile |
632
+ *
633
+ * The mobile term is not a collapse test. It chooses the single-column tree for a phone, where the
634
+ * outer container owns the scroll; every wider viewport gets the multi-zone tree whose primary COLUMN
635
+ * owns it. That choice must not flip as a pane opens and closes, which is exactly what #640 fixed, so
636
+ * it cannot take the collapse predicate — a pane collapsed by a narrow content area would remount the
637
+ * page underneath.
638
+ *
639
+ * At VERT_TABLET the two therefore disagree on purpose: the branch is multi-zone and the panes are
640
+ * collapsed, so the panel group renders with primary alone and `react-resizable-panels` normalises
641
+ * the single panel to full width. Verified, not assumed — both adjacent panels are gated on
642
+ * `showSecondary` / `showCompanion` below.
560
643
  */
561
644
  export function resolveContentAreaRenderBranch(input) {
562
645
  if (input.isMobile || (!input.hasSecondaryZone && !input.hasCompanionZone)) {
@@ -579,6 +662,28 @@ export function resolveContentAreaRenderBranch(input) {
579
662
  *
580
663
  * Exported and pure so the rule is pinned without the provider stack a render would need.
581
664
  */
665
+ /**
666
+ * The side-panel percentages the STATIC branch renders, clamped so primary keeps its floor.
667
+ *
668
+ * The resizable branch has clamped since #1013 (`fitSidePanelsBesidePrimary`, `MIN_PRIMARY_PERCENT`).
669
+ * The static branch applied the two authored ratios raw — and they come from DIFFERENT tuples
670
+ * (`split.ratio[1]` and `split.companion.ratio[1]`), so nothing related them: `ratio: [30, 70]` plus
671
+ * `companion: { ratio: [30, 70] }` rendered two 70% panes and crushed primary to a sliver, with no
672
+ * clamp and without consulting `minWidth`/`maxWidth` at all.
673
+ *
674
+ * Proportional rather than truncating, so an author who over-declares keeps the RELATIVE weight they
675
+ * asked for — 70/70 becomes 37.5/37.5, not 70/5.
676
+ */
677
+ export function clampStaticSidePanels(input) {
678
+ const secondary = input.showSecondary ? Math.max(0, input.secondaryPercent) : 0;
679
+ const companion = input.showCompanion ? Math.max(0, input.companionPercent) : 0;
680
+ const total = secondary + companion;
681
+ const ceiling = 100 - MIN_PRIMARY_PERCENT;
682
+ if (total <= ceiling || total === 0)
683
+ return { secondary, companion };
684
+ const scale = ceiling / total;
685
+ return { secondary: secondary * scale, companion: companion * scale };
686
+ }
582
687
  export function staticZoneDividers(input) {
583
688
  return {
584
689
  primary: input.showSecondary || input.showCompanion,
@@ -805,6 +910,47 @@ const ZoneDismissControl = ({ onDismiss }) => {
805
910
  : '';
806
911
  return (_jsx(Button, { type: "button", size: ButtonSize.ICON_SM, variant: ButtonVariants_Variant.GHOST, className: "pointer-events-auto bg-surface-raised/80 backdrop-blur-sm", "aria-label": label || undefined, title: label || undefined, "data-zone-dismiss": "true", onClick: onDismiss, children: renderIcon(StandardIconReference.CLOSE, { size: IconSize.SM }) }));
807
912
  };
913
+ /**
914
+ * The ARIA name of each content zone, and of the divider between two of them.
915
+ *
916
+ * ## Why a pane needs a name at all
917
+ *
918
+ * The three zones are plain `div`s. Sighted, the split IS the explanation — a list on the left, the
919
+ * record it opened on the right. To a screen reader there was nothing: no landmark to jump between,
920
+ * no way to tell which pane the cursor was in, and after a click in the list that opened a record in
921
+ * the pane, no way to find the record except by walking the whole document. `role="region"` with a
922
+ * name makes each pane a LANDMARK, which is the one navigation affordance that answers all three.
923
+ *
924
+ * ## Not `role="main"`, deliberately
925
+ *
926
+ * `main` is a document-level landmark and there may be exactly one. Claiming it for primary would
927
+ * take the decision away from the shell that hosts these areas — the design philosophy is explicit
928
+ * that shell-level `main` landmarks are an application OPT-IN, not a framework default — and an
929
+ * embedded content area would then fight its host for the same landmark. Three peer regions say what
930
+ * is true (three content areas, each named) without claiming which one is the document's subject.
931
+ *
932
+ * The name comes from the labelling pipeline like every other display string. Until it is generated
933
+ * the key itself is the name (#1414): an unnamed region is DROPPED from the landmark list entirely,
934
+ * so a visibly-wrong name is strictly better than a pane that cannot be reached — and it looks
935
+ * missing, which is what makes someone author it.
936
+ */
937
+ function useZoneAccessibleNames() {
938
+ const { tComponent, isReady } = useI18n({ component: FrontendComponentType.APP_LAYOUTS_MAIN_CONTAINER });
939
+ const label = useCallback((key) => (isReady
940
+ ? resolveComponentLabel({ tComponent, componentType: FrontendComponentType.APP_LAYOUTS_MAIN_CONTAINER, key }) || undefined
941
+ : undefined), [tComponent, isReady]);
942
+ const regionProps = useCallback((zone) => ({
943
+ role: 'region',
944
+ 'aria-label': label(ZONE_REGION_LABEL_KEYS[zone]),
945
+ }), [label]);
946
+ return { regionProps, resizeHandleLabel: label('zoneResizeHandle') };
947
+ }
948
+ /** One key per zone, total over the vocabulary so a fourth zone cannot be added unnamed. */
949
+ const ZONE_REGION_LABEL_KEYS = {
950
+ [NavigationZoneName.PRIMARY]: 'zoneRegionPrimary',
951
+ [NavigationZoneName.SECONDARY]: 'zoneRegionSecondary',
952
+ [NavigationZoneName.COMPANION]: 'zoneRegionCompanion',
953
+ };
808
954
  /**
809
955
  * The sticky chrome row an adjacent zone carries: emphasis always, dismiss only where the layout
810
956
  * collapses the zone when it is empty.
@@ -829,12 +975,13 @@ export const NavigationContentAreas = ({ routerChildren }) => {
829
975
  // Always-mounted for the same reason as the two above: the pane is never the router's route —
830
976
  // the browser URL is the host's — so no route element ever mounts a sync hook for it.
831
977
  useHostedPaneRouteSync();
832
- const { isZoneVisible, getZoneDepth, getTopContent, setFocusedZone, emphasizedZone, setEmphasizedZone } = useNavigationState();
978
+ const { isZoneVisible, getZoneDepth, getTopContent, setFocusedZone, emphasizedZone, setEmphasizedZone, reconcileCollapsedZones, state: navigationState } = useNavigationState();
833
979
  // Only `dismissZone` is taken here: the pane's close control is drawn by the content areas
834
980
  // (emphasis and dismissal are both properties of the ZONE, not of what it holds), and the
835
981
  // controller is where the URL write that must accompany a closed pane already lives.
836
982
  const { dismissZone } = useNavigationController();
837
983
  const { setContentAreaWidth } = useNavigationState();
984
+ const { regionProps, resizeHandleLabel } = useZoneAccessibleNames();
838
985
  const { navigationLayout: resolvedNavigationLayout, UIConfig, shellAppearance, compositeViews, homeDefinition } = useUI();
839
986
  const location = useLocation();
840
987
  const containerRef = useRef(null);
@@ -956,9 +1103,43 @@ export const NavigationContentAreas = ({ routerChildren }) => {
956
1103
  * question is to change no structure.
957
1104
  */
958
1105
  const primaryDestinationKnown = useMemo(() => primaryDestinationDeclarationIsKnown({ primaryContent: primaryTopContent, compositeViews }), [primaryTopContent, compositeViews]);
959
- const showSecondary = !isMobile && hasSecondaryZone
1106
+ /*
1107
+ * A pane is hidden when it is COLLAPSED, not merely when the viewport is mobile.
1108
+ *
1109
+ * These read `!isMobile` until 2026-09-25 while the resolver collapsed at MOBILE **and**
1110
+ * VERT_TABLET — so between 768 and 1023px a declared `responsiveCollapse` retargeted every click
1111
+ * away from the pane and the pane went on rendering. With `onEmpty: EMPTY_STATE` that is a
1112
+ * permanent "select an item" placeholder beside a list whose clicks land somewhere else. Both
1113
+ * sides ask `zoneIsCollapsedAtViewport` now, so they cannot disagree.
1114
+ */
1115
+ const secondaryCollapsed = zoneIsCollapsedAtViewport({
1116
+ zoneConfig: zones?.secondary,
1117
+ viewport: UIConfig?.currentBreakpoint,
1118
+ contentAreaWidth: containerWidth,
1119
+ });
1120
+ const companionCollapsed = zoneIsCollapsedAtViewport({
1121
+ zoneConfig: zones?.companion,
1122
+ viewport: UIConfig?.currentBreakpoint,
1123
+ contentAreaWidth: containerWidth,
1124
+ });
1125
+ /*
1126
+ * Collapse is not only a PLACEMENT rule. A pane that collapses while holding content leaves that
1127
+ * content in a zone nothing renders, so the entries already there are evacuated — to primary or to
1128
+ * the overlay, whichever the zone's own `responsiveCollapse` declares — and returned when the
1129
+ * viewport gives the zone back. Placed beside the two `zoneIsCollapsedAtViewport` calls above
1130
+ * because it answers the same question from the same inputs; it asks the shared owner rather than
1131
+ * taking these booleans, so it can tell PUSH from OVERLAY, which a boolean cannot carry.
1132
+ */
1133
+ useResponsiveZoneMigration({
1134
+ zones,
1135
+ viewport: UIConfig?.currentBreakpoint,
1136
+ contentAreaWidth: containerWidth,
1137
+ reconcileCollapsedZones,
1138
+ navigationState,
1139
+ });
1140
+ const showSecondary = !secondaryCollapsed && hasSecondaryZone
960
1141
  && (secondaryHasContent || (primaryDestinationKnown && zoneOccupiesSpaceWhenEmpty(secondaryOnEmpty)));
961
- const showCompanion = !isMobile && hasCompanionZone
1142
+ const showCompanion = !companionCollapsed && hasCompanionZone
962
1143
  && (companionHasContent || (primaryDestinationKnown && zoneOccupiesSpaceWhenEmpty(companionOnEmpty)));
963
1144
  /*
964
1145
  * BOTH branch decisions key on what the layout DECLARES, never on whether a pane is currently shown.
@@ -999,6 +1180,8 @@ export const NavigationContentAreas = ({ routerChildren }) => {
999
1180
  isMobile,
1000
1181
  secondaryShown: showSecondary,
1001
1182
  companionShown: showCompanion,
1183
+ secondaryHasContent,
1184
+ companionHasContent,
1002
1185
  });
1003
1186
  const overlayOpen = getZoneDepth(NavigationZone.OVERLAY) > 0;
1004
1187
  useEffect(() => {
@@ -1048,7 +1231,12 @@ export const NavigationContentAreas = ({ routerChildren }) => {
1048
1231
  }, [zones, split, showSecondary, showCompanion, containerWidth]);
1049
1232
  // ── Single-zone layout (mobile or no side zones) ──
1050
1233
  if (renderBranch === ContentAreaRenderBranch.SINGLE_ZONE) {
1051
- return (_jsx(Surface, { asChild: true, emitPolicyVars: false, variant: SurfaceVariant.SHELL, policyOverride: NON_CANONICAL_SHELL_SURFACE_POLICY_OVERRIDE, children: _jsx("div", { ref: containerRef, className: `h-full overflow-auto p-container ${contentAreaSurface}`, "data-content-area": "primary", children: _jsx(ZoneContentWidthBoundary, { geometry: primaryZoneGeometry, children: _jsx(ZoneContentRenderer, { zone: NavigationZoneName.PRIMARY, fallback: routerChildren }) }) }) }));
1234
+ return (_jsx(Surface, { asChild: true, emitPolicyVars: false, variant: SurfaceVariant.SHELL, policyOverride: NON_CANONICAL_SHELL_SURFACE_POLICY_OVERRIDE, children: _jsx("div", { ref: containerRef, className: `h-full overflow-auto p-container ${contentAreaSurface}`, "data-content-area": "primary",
1235
+ /* The branch every PHONE renders. It carried neither the landmark nor the focus tracking the
1236
+ multi-zone containers got, so the accessibility pass was absent on exactly the devices a
1237
+ screen reader is most often used on — and the source guardrail missed it because it only
1238
+ matched the attribute alone on its own line. */
1239
+ onPointerDown: focusPrimary, onFocus: focusPrimary, ...regionProps(NavigationZoneName.PRIMARY), children: _jsx(ZoneContentWidthBoundary, { geometry: primaryZoneGeometry, children: _jsx(ZoneContentRenderer, { zone: NavigationZoneName.PRIMARY, fallback: routerChildren }) }) }) }));
1052
1240
  }
1053
1241
  // ── Multi-zone resizable layout ──
1054
1242
  if (renderBranch === ContentAreaRenderBranch.MULTI_ZONE_RESIZABLE && panelSizes) {
@@ -1070,14 +1258,73 @@ export const NavigationContentAreas = ({ routerChildren }) => {
1070
1258
  * material runtime works here rather than being silently inert. `Slot` composes its own ref with
1071
1259
  * the child's, so `containerRef` keeps receiving the node.
1072
1260
  */
1073
- return (_jsx(Surface, { asChild: true, emitPolicyVars: false, variant: SurfaceVariant.SHELL, policyOverride: NON_CANONICAL_SHELL_SURFACE_POLICY_OVERRIDE, children: _jsx("div", { ref: containerRef, className: `h-full ${contentAreaSurface}`, children: _jsxs(ResizablePanelGroup, { direction: splitDirection, autoSaveId: "nav-zones", className: "h-full", children: [_jsx(ResizablePanel, { defaultSize: panelSizes.primaryDefault, minSize: MIN_PRIMARY_PERCENT, id: "nav-primary", order: 1, className: cn('h-full', primaryHidden && 'hidden'), "data-zone-hidden": primaryHidden || undefined, children: _jsx("div", { className: `h-full p-container ${primaryZoneGeometry.fillsHeight ? 'overflow-hidden' : 'overflow-auto'}`, "data-content-area": "primary", onPointerDown: focusPrimary, children: _jsx(ZoneContentWidthBoundary, { geometry: primaryZoneGeometry, children: _jsx(ZoneContentRenderer, { zone: NavigationZoneName.PRIMARY, fallback: routerChildren }) }) }) }), showSecondary && panelSizes.secondary && (_jsxs(_Fragment, { children: [emphasized === null && _jsx(ResizableHandle, { withHandle: true, disabled: panelSizes.secondary.frozen }), _jsx(ResizablePanel, { defaultSize: panelSizes.secondary.defaultSize, minSize: panelSizes.secondary.minSize, maxSize: panelSizes.secondary.maxSize, id: "nav-secondary", order: 2, className: cn('h-full', secondaryHidden && 'hidden'), "data-zone-hidden": secondaryHidden || undefined, children: _jsxs("div", { className: "h-full overflow-auto p-container", "data-content-area": "secondary", "data-zone-emphasized": emphasized === NavigationZoneName.SECONDARY || undefined, onPointerDown: focusSecondary, children: [_jsx(ZoneChrome, { emphasized: emphasized === NavigationZoneName.SECONDARY, onToggleEmphasis: toggleSecondaryEmphasis, onDismiss: secondaryIsDismissable ? dismissSecondary : undefined }), _jsx(ZoneContentWidthBoundary, { geometry: secondaryZoneGeometry, children: _jsx(ZoneContentRenderer, { zone: NavigationZoneName.SECONDARY, emptyState: zoneEmptyStatePlaceholder }) })] }) })] })), showCompanion && panelSizes.companion && (_jsxs(_Fragment, { children: [emphasized === null && _jsx(ResizableHandle, { withHandle: true, disabled: panelSizes.companion.frozen }), _jsx(ResizablePanel, { defaultSize: panelSizes.companion.defaultSize, minSize: panelSizes.companion.minSize, maxSize: panelSizes.companion.maxSize, id: "nav-companion", order: 3, className: cn('h-full', companionHidden && 'hidden'), "data-zone-hidden": companionHidden || undefined, children: _jsxs("div", { className: "h-full overflow-auto p-container", "data-content-area": "companion", "data-zone-emphasized": emphasized === NavigationZoneName.COMPANION || undefined, onPointerDown: focusCompanion, children: [_jsx(ZoneChrome, { emphasized: emphasized === NavigationZoneName.COMPANION, onToggleEmphasis: toggleCompanionEmphasis, onDismiss: companionIsDismissable ? dismissCompanion : undefined }), _jsx(ZoneContentWidthBoundary, { geometry: companionZoneGeometry, children: _jsx(ZoneContentRenderer, { zone: NavigationZoneName.COMPANION, emptyState: zoneEmptyStatePlaceholder }) })] }) })] }))] }) }) }));
1261
+ return (_jsx(Surface, { asChild: true, emitPolicyVars: false, variant: SurfaceVariant.SHELL, policyOverride: NON_CANONICAL_SHELL_SURFACE_POLICY_OVERRIDE, children: _jsx("div", { ref: containerRef, className: `h-full ${contentAreaSurface}`, children: _jsxs(ResizablePanelGroup, { direction: splitDirection, autoSaveId: "nav-zones", className: "h-full", children: [_jsx(ResizablePanel, { defaultSize: panelSizes.primaryDefault, minSize: MIN_PRIMARY_PERCENT, id: "nav-primary", order: 1, className: cn('h-full', primaryHidden && 'hidden'), "data-zone-hidden": primaryHidden || undefined, children: _jsx("div", { className: `h-full p-container ${primaryZoneGeometry.fillsHeight ? 'overflow-hidden' : 'overflow-auto'}`, "data-content-area": "primary", onPointerDown: focusPrimary,
1262
+ /* Focus, not only pointer: a keyboard reader tabbing into a pane never presses a
1263
+ pointer, so the zone they are working in was never recorded — and every zone-scoped
1264
+ gesture (emphasis, dismiss, back) read the last MOUSE zone instead. React's onFocus
1265
+ is focusin, so anything focused anywhere inside the pane reports it. */
1266
+ onFocus: focusPrimary, ...regionProps(NavigationZoneName.PRIMARY), children: _jsx(ZoneContentWidthBoundary, { geometry: primaryZoneGeometry, children: _jsx(ZoneContentRenderer, { zone: NavigationZoneName.PRIMARY, fallback: routerChildren }) }) }) }), showSecondary && panelSizes.secondary && (_jsxs(_Fragment, { children: [emphasized === null && _jsx(ResizableHandle, { withHandle: true, disabled: panelSizes.secondary.frozen, "aria-label": resizeHandleLabel }), _jsx(ResizablePanel, { defaultSize: panelSizes.secondary.defaultSize, minSize: panelSizes.secondary.minSize, maxSize: panelSizes.secondary.maxSize, id: "nav-secondary", order: 2, className: cn('h-full', secondaryHidden && 'hidden'), "data-zone-hidden": secondaryHidden || undefined, children: _jsxs("div", { className: "h-full overflow-auto p-container", "data-content-area": "secondary", "data-zone-emphasized": emphasized === NavigationZoneName.SECONDARY || undefined, onPointerDown: focusSecondary,
1267
+ /* Focus, not only pointer: a keyboard reader tabbing into a pane never presses a
1268
+ pointer, so the zone they are working in was never recorded — and every zone-scoped
1269
+ gesture (emphasis, dismiss, back) read the last MOUSE zone instead. React's onFocus
1270
+ is focusin, so anything focused anywhere inside the pane reports it. */
1271
+ onFocus: focusSecondary, ...regionProps(NavigationZoneName.SECONDARY), children: [_jsx(ZoneChrome, { emphasized: emphasized === NavigationZoneName.SECONDARY, onToggleEmphasis: toggleSecondaryEmphasis, onDismiss: secondaryIsDismissable ? dismissSecondary : undefined }), _jsx(ZoneContentWidthBoundary, { geometry: secondaryZoneGeometry, children: _jsx(ZoneContentRenderer, { zone: NavigationZoneName.SECONDARY, emptyState: zoneEmptyStatePlaceholder }) })] }) })] })), showCompanion && panelSizes.companion && (_jsxs(_Fragment, { children: [emphasized === null && _jsx(ResizableHandle, { withHandle: true, disabled: panelSizes.companion.frozen, "aria-label": resizeHandleLabel }), _jsx(ResizablePanel, { defaultSize: panelSizes.companion.defaultSize, minSize: panelSizes.companion.minSize, maxSize: panelSizes.companion.maxSize, id: "nav-companion", order: 3, className: cn('h-full', companionHidden && 'hidden'), "data-zone-hidden": companionHidden || undefined, children: _jsxs("div", { className: "h-full overflow-auto p-container", "data-content-area": "companion", "data-zone-emphasized": emphasized === NavigationZoneName.COMPANION || undefined, onPointerDown: focusCompanion,
1272
+ /* Focus, not only pointer: a keyboard reader tabbing into a pane never presses a
1273
+ pointer, so the zone they are working in was never recorded — and every zone-scoped
1274
+ gesture (emphasis, dismiss, back) read the last MOUSE zone instead. React's onFocus
1275
+ is focusin, so anything focused anywhere inside the pane reports it. */
1276
+ onFocus: focusCompanion, ...regionProps(NavigationZoneName.COMPANION), children: [_jsx(ZoneChrome, { emphasized: emphasized === NavigationZoneName.COMPANION, onToggleEmphasis: toggleCompanionEmphasis, onDismiss: companionIsDismissable ? dismissCompanion : undefined }), _jsx(ZoneContentWidthBoundary, { geometry: companionZoneGeometry, children: _jsx(ZoneContentRenderer, { zone: NavigationZoneName.COMPANION, emptyState: zoneEmptyStatePlaceholder }) })] }) })] }))] }) }) }));
1074
1277
  }
1075
- // ── Multi-zone static layout (zones present but not resizable) ──
1076
- // Use ratio-based widths when available, fall back to equal distribution.
1077
- const secondaryRatio = split?.ratio?.[1] ?? 50;
1078
- const companionRatio = split?.companion?.ratio?.[1] ?? 30;
1278
+ /*
1279
+ * ── Multi-zone STATIC layout (zones present, none resizable) ──
1280
+ *
1281
+ * Two things this branch did not do until 2026-09-25, both of which made a declaration silently
1282
+ * inert on exactly the layouts that declare no `resizable`:
1283
+ *
1284
+ * 1. It never read `split.orientation`. Only the resizable branch did, so `orientation: HORIZONTAL`
1285
+ * on a non-resizable layout produced a side-by-side split — the opposite of what it says.
1286
+ * `DisplayDirection` names the DIVIDER, so a VERTICAL divider stacks content in a ROW; the
1287
+ * inversion is the same one `splitDividerOrientationToPanelGroupDirection` owns for the other
1288
+ * branch.
1289
+ * 2. It applied the authored ratios raw, with no primary floor — see `clampStaticSidePanels`.
1290
+ *
1291
+ * The percentage drives `width` in a row and `height` in a column, which is why the two are chosen
1292
+ * together rather than hard-coding `width`.
1293
+ */
1294
+ /*
1295
+ * `stacked` is the STACKING AXIS, and it is the inverse of the declared DIVIDER orientation — the
1296
+ * same inversion `splitDividerOrientationToPanelGroupDirection` owns for the resizable branch, and
1297
+ * the one that inverted every split in the framework until #174. A HORIZONTAL divider stacks the
1298
+ * panes top over bottom; a VERTICAL divider (the default) puts them side by side.
1299
+ *
1300
+ * Derived THROUGH that function rather than re-tested here, so the two branches cannot disagree
1301
+ * about which way round it goes.
1302
+ */
1303
+ const stacked = splitDividerOrientationToPanelGroupDirection(split?.orientation) === DisplayDirection.VERTICAL;
1304
+ const sidePanels = clampStaticSidePanels({
1305
+ secondaryPercent: split?.ratio?.[1] ?? 50,
1306
+ companionPercent: split?.companion?.ratio?.[1] ?? 30,
1307
+ showSecondary,
1308
+ showCompanion,
1309
+ });
1310
+ const panelExtent = (percent, isEmphasized) => (stacked ? { height: isEmphasized ? '100%' : `${percent}%` } : { width: isEmphasized ? '100%' : `${percent}%` });
1079
1311
  const dividers = staticZoneDividers({ showSecondary, showCompanion });
1080
- return (_jsx(Surface, { asChild: true, emitPolicyVars: false, variant: SurfaceVariant.SHELL, policyOverride: NON_CANONICAL_SHELL_SURFACE_POLICY_OVERRIDE, children: _jsxs("div", { ref: containerRef, className: `h-full flex ${contentAreaSurface}`, children: [_jsx("div", { className: cn('flex-1 h-full overflow-auto p-container', dividers.primary && emphasized === null && 'border-e border-border', primaryHidden && 'hidden'), "data-content-area": "primary", "data-zone-hidden": primaryHidden || undefined, onPointerDown: focusPrimary, children: _jsx(ZoneContentWidthBoundary, { geometry: primaryZoneGeometry, children: _jsx(ZoneContentRenderer, { zone: NavigationZoneName.PRIMARY, fallback: routerChildren }) }) }), showSecondary && (_jsxs("div", { className: cn('h-full overflow-auto p-container', dividers.secondary && emphasized === null && 'border-e border-border', secondaryHidden && 'hidden'), style: { width: emphasized === NavigationZoneName.SECONDARY ? '100%' : `${secondaryRatio}%` }, "data-content-area": "secondary", "data-zone-hidden": secondaryHidden || undefined, "data-zone-emphasized": emphasized === NavigationZoneName.SECONDARY || undefined, onPointerDown: focusSecondary, children: [_jsx(ZoneChrome, { emphasized: emphasized === NavigationZoneName.SECONDARY, onToggleEmphasis: toggleSecondaryEmphasis, onDismiss: secondaryIsDismissable ? dismissSecondary : undefined }), _jsx(ZoneContentWidthBoundary, { geometry: secondaryZoneGeometry, children: _jsx(ZoneContentRenderer, { zone: NavigationZoneName.SECONDARY, emptyState: zoneEmptyStatePlaceholder }) })] })), showCompanion && (_jsxs("div", { className: cn('h-full overflow-auto p-container', companionHidden && 'hidden'), style: { width: emphasized === NavigationZoneName.COMPANION ? '100%' : `${companionRatio}%` }, "data-content-area": "companion", "data-zone-hidden": companionHidden || undefined, "data-zone-emphasized": emphasized === NavigationZoneName.COMPANION || undefined, onPointerDown: focusCompanion, children: [_jsx(ZoneChrome, { emphasized: emphasized === NavigationZoneName.COMPANION, onToggleEmphasis: toggleCompanionEmphasis, onDismiss: companionIsDismissable ? dismissCompanion : undefined }), _jsx(ZoneContentWidthBoundary, { geometry: companionZoneGeometry, children: _jsx(ZoneContentRenderer, { zone: NavigationZoneName.COMPANION, emptyState: zoneEmptyStatePlaceholder }) })] }))] }) }));
1312
+ return (_jsx(Surface, { asChild: true, emitPolicyVars: false, variant: SurfaceVariant.SHELL, policyOverride: NON_CANONICAL_SHELL_SURFACE_POLICY_OVERRIDE, children: _jsxs("div", { ref: containerRef, className: cn('h-full flex', stacked ? 'flex-col' : 'flex-row', contentAreaSurface), children: [_jsx("div", { className: cn('flex-1 h-full overflow-auto p-container', dividers.primary && emphasized === null && (stacked ? 'border-b border-border' : 'border-e border-border'), primaryHidden && 'hidden'), "data-content-area": "primary", "data-zone-hidden": primaryHidden || undefined, onPointerDown: focusPrimary,
1313
+ /* Focus, not only pointer: a keyboard reader tabbing into a pane never presses a
1314
+ pointer, so the zone they are working in was never recorded — and every zone-scoped
1315
+ gesture (emphasis, dismiss, back) read the last MOUSE zone instead. React's onFocus
1316
+ is focusin, so anything focused anywhere inside the pane reports it. */
1317
+ onFocus: focusPrimary, ...regionProps(NavigationZoneName.PRIMARY), children: _jsx(ZoneContentWidthBoundary, { geometry: primaryZoneGeometry, children: _jsx(ZoneContentRenderer, { zone: NavigationZoneName.PRIMARY, fallback: routerChildren }) }) }), showSecondary && (_jsxs("div", { className: cn('h-full overflow-auto p-container', dividers.secondary && emphasized === null && (stacked ? 'border-b border-border' : 'border-e border-border'), secondaryHidden && 'hidden'), style: panelExtent(sidePanels.secondary, emphasized === NavigationZoneName.SECONDARY), "data-content-area": "secondary", "data-zone-hidden": secondaryHidden || undefined, "data-zone-emphasized": emphasized === NavigationZoneName.SECONDARY || undefined, onPointerDown: focusSecondary,
1318
+ /* Focus, not only pointer: a keyboard reader tabbing into a pane never presses a
1319
+ pointer, so the zone they are working in was never recorded — and every zone-scoped
1320
+ gesture (emphasis, dismiss, back) read the last MOUSE zone instead. React's onFocus
1321
+ is focusin, so anything focused anywhere inside the pane reports it. */
1322
+ onFocus: focusSecondary, ...regionProps(NavigationZoneName.SECONDARY), children: [_jsx(ZoneChrome, { emphasized: emphasized === NavigationZoneName.SECONDARY, onToggleEmphasis: toggleSecondaryEmphasis, onDismiss: secondaryIsDismissable ? dismissSecondary : undefined }), _jsx(ZoneContentWidthBoundary, { geometry: secondaryZoneGeometry, children: _jsx(ZoneContentRenderer, { zone: NavigationZoneName.SECONDARY, emptyState: zoneEmptyStatePlaceholder }) })] })), showCompanion && (_jsxs("div", { className: cn('h-full overflow-auto p-container', companionHidden && 'hidden'), style: panelExtent(sidePanels.companion, emphasized === NavigationZoneName.COMPANION), "data-content-area": "companion", "data-zone-hidden": companionHidden || undefined, "data-zone-emphasized": emphasized === NavigationZoneName.COMPANION || undefined, onPointerDown: focusCompanion,
1323
+ /* Focus, not only pointer: a keyboard reader tabbing into a pane never presses a
1324
+ pointer, so the zone they are working in was never recorded — and every zone-scoped
1325
+ gesture (emphasis, dismiss, back) read the last MOUSE zone instead. React's onFocus
1326
+ is focusin, so anything focused anywhere inside the pane reports it. */
1327
+ onFocus: focusCompanion, ...regionProps(NavigationZoneName.COMPANION), children: [_jsx(ZoneChrome, { emphasized: emphasized === NavigationZoneName.COMPANION, onToggleEmphasis: toggleCompanionEmphasis, onDismiss: companionIsDismissable ? dismissCompanion : undefined }), _jsx(ZoneContentWidthBoundary, { geometry: companionZoneGeometry, children: _jsx(ZoneContentRenderer, { zone: NavigationZoneName.COMPANION, emptyState: zoneEmptyStatePlaceholder }) })] }))] }) }));
1081
1328
  };
1082
1329
  // =============================================================================
1083
1330
  // Unified Overlay Component
@@ -1131,6 +1378,7 @@ const NavigationOverlay = () => {
1131
1378
  ? NavigationUtils.resolveBrowserUrlForZoneEntry({
1132
1379
  zone: NavigationZoneName.SECONDARY,
1133
1380
  entryUrlPath: secondaryTop.urlPath,
1381
+ paneContent: secondaryTop.content,
1134
1382
  currentBrowserUrl: primaryUrl,
1135
1383
  getZoneState,
1136
1384
  })