@wildo-ai/saas-frontend-lib 1.1.9 → 1.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1566) hide show
  1. package/dist/esm/companion-exports.d.ts +2 -1
  2. package/dist/esm/companion-exports.d.ts.map +1 -1
  3. package/dist/esm/companion-exports.js +2 -1
  4. package/dist/esm/companion-exports.js.map +1 -1
  5. package/dist/esm/components/actions/action-bar.d.ts +45 -1
  6. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  7. package/dist/esm/components/actions/action-bar.js +84 -0
  8. package/dist/esm/components/actions/action-bar.js.map +1 -1
  9. package/dist/esm/components/actions/button.d.ts +22 -0
  10. package/dist/esm/components/actions/button.d.ts.map +1 -1
  11. package/dist/esm/components/actions/button.js +45 -0
  12. package/dist/esm/components/actions/button.js.map +1 -1
  13. package/dist/esm/components/ai-elements/chat/conversation-thread.d.ts +109 -0
  14. package/dist/esm/components/ai-elements/chat/conversation-thread.d.ts.map +1 -0
  15. package/dist/esm/components/ai-elements/chat/conversation-thread.js +22 -0
  16. package/dist/esm/components/ai-elements/chat/conversation-thread.js.map +1 -0
  17. package/dist/esm/components/ai-elements/decision/approval.d.ts +103 -7
  18. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  19. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  20. package/dist/esm/components/ai-elements/execution/tool.d.ts +6 -0
  21. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  22. package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
  23. package/dist/esm/components/ai-elements/graph/canvas.d.ts +60 -1
  24. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  25. package/dist/esm/components/ai-elements/graph/canvas.js +26 -0
  26. package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
  27. package/dist/esm/components/ai-elements/graph/node.d.ts +39 -4
  28. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  29. package/dist/esm/components/ai-elements/graph/node.js +18 -0
  30. package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
  31. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts +6 -0
  32. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
  33. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js +29 -8
  34. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
  35. package/dist/esm/components/app/AppLayout_DecisionInbox.d.ts +17 -0
  36. package/dist/esm/components/app/AppLayout_DecisionInbox.d.ts.map +1 -0
  37. package/dist/esm/components/app/AppLayout_DecisionInbox.js +24 -0
  38. package/dist/esm/components/app/AppLayout_DecisionInbox.js.map +1 -0
  39. package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
  40. package/dist/esm/components/app/AppLayout_MainContainer.js +3 -0
  41. package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
  42. package/dist/esm/components/app/PublicLayout_LegalNotice.d.ts +18 -0
  43. package/dist/esm/components/app/PublicLayout_LegalNotice.d.ts.map +1 -0
  44. package/dist/esm/components/app/PublicLayout_LegalNotice.js +8 -0
  45. package/dist/esm/components/app/PublicLayout_LegalNotice.js.map +1 -0
  46. package/dist/esm/components/app/PublicLayout_LegalNotice.labels.d.ts +3 -0
  47. package/dist/esm/components/app/PublicLayout_LegalNotice.labels.d.ts.map +1 -0
  48. package/dist/esm/components/app/PublicLayout_LegalNotice.labels.js +38 -0
  49. package/dist/esm/components/app/PublicLayout_LegalNotice.labels.js.map +1 -0
  50. package/dist/esm/components/auth/Auth_ChatIdentityLink.d.ts +15 -0
  51. package/dist/esm/components/auth/Auth_ChatIdentityLink.d.ts.map +1 -0
  52. package/dist/esm/components/auth/Auth_ChatIdentityLink.js +219 -0
  53. package/dist/esm/components/auth/Auth_ChatIdentityLink.js.map +1 -0
  54. package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.d.ts +3 -0
  55. package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.d.ts.map +1 -0
  56. package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.js +49 -0
  57. package/dist/esm/components/auth/Auth_ChatIdentityLink.labels.js.map +1 -0
  58. package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
  59. package/dist/esm/components/auth/Auth_Invitation.js +3 -2
  60. package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
  61. package/dist/esm/components/auth/Auth_Invitation.labels.js +2 -2
  62. package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
  63. package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
  64. package/dist/esm/components/auth/Auth_Main.js +40 -7
  65. package/dist/esm/components/auth/Auth_Main.js.map +1 -1
  66. package/dist/esm/components/auth/Auth_Main.labels.d.ts.map +1 -1
  67. package/dist/esm/components/auth/Auth_Main.labels.js +9 -0
  68. package/dist/esm/components/auth/Auth_Main.labels.js.map +1 -1
  69. package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
  70. package/dist/esm/components/auth/Auth_OAuthConsent.js +3 -2
  71. package/dist/esm/components/auth/Auth_OAuthConsent.js.map +1 -1
  72. package/dist/esm/components/auth/Auth_PasswordLost.labels.js +2 -2
  73. package/dist/esm/components/auth/Auth_PasswordLost.labels.js.map +1 -1
  74. package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
  75. package/dist/esm/components/auth/Auth_Register.js +8 -1
  76. package/dist/esm/components/auth/Auth_Register.js.map +1 -1
  77. package/dist/esm/components/auth/Auth_Register.labels.js +2 -2
  78. package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
  79. package/dist/esm/components/auth/StepUpAuthDialog.d.ts +1 -1
  80. package/dist/esm/components/auth/StepUpAuthDialog.js +3 -3
  81. package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
  82. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
  83. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js +94 -6
  84. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
  85. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
  86. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js +21 -1
  87. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
  88. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map +1 -1
  89. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js +16 -13
  90. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js.map +1 -1
  91. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js +3 -3
  92. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js.map +1 -1
  93. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.d.ts.map +1 -1
  94. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js +1 -1
  95. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js.map +1 -1
  96. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts +1 -1
  97. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
  98. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js +3 -4
  99. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
  100. package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.d.ts +11 -0
  101. package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.d.ts.map +1 -0
  102. package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.js +25 -0
  103. package/dist/esm/components/auth/pages/AuthPage_ChatIdentityLink.js.map +1 -0
  104. package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.d.ts +39 -0
  105. package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.d.ts.map +1 -0
  106. package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.js +45 -0
  107. package/dist/esm/components/auth/utils/AuthPrivacyNoticeLink.js.map +1 -0
  108. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js +1 -1
  109. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
  110. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.d.ts.map +1 -1
  111. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js +2 -1
  112. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js.map +1 -1
  113. package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
  114. package/dist/esm/components/data-display/AutomaticDisplayer.js +21 -35
  115. package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
  116. package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
  117. package/dist/esm/components/data-display/DisplayField.js +98 -70
  118. package/dist/esm/components/data-display/DisplayField.js.map +1 -1
  119. package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
  120. package/dist/esm/components/data-display/DisplayFieldEditable.js +48 -8
  121. package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
  122. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts +3 -1
  123. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
  124. package/dist/esm/components/data-display/DisplayFieldEditableArray.js +30 -4
  125. package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
  126. package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
  127. package/dist/esm/components/data-display/DisplayFieldReadOnly.js +2 -2
  128. package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
  129. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts +1 -1
  130. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
  131. package/dist/esm/components/data-display/DisplayValueDispatcher.js +45 -94
  132. package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
  133. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
  134. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js +14 -8
  135. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
  136. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts +41 -3
  137. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
  138. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js +49 -5
  139. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
  140. package/dist/esm/components/data-display/SummaryContext.d.ts +2 -2
  141. package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
  142. package/dist/esm/components/data-display/automatic-displayer.utils.d.ts +22 -1
  143. package/dist/esm/components/data-display/automatic-displayer.utils.d.ts.map +1 -1
  144. package/dist/esm/components/data-display/automatic-displayer.utils.js +29 -0
  145. package/dist/esm/components/data-display/automatic-displayer.utils.js.map +1 -1
  146. package/dist/esm/components/data-display/badge.d.ts +9 -0
  147. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  148. package/dist/esm/components/data-display/badge.js.map +1 -1
  149. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts +14 -2
  150. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
  151. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js +42 -12
  152. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
  153. package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.d.ts +10 -0
  154. package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.d.ts.map +1 -0
  155. package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.js +18 -0
  156. package/dist/esm/components/data-display/chromes/display-chrome-mode-resolution.js.map +1 -0
  157. package/dist/esm/components/data-display/chromes/field-tile-boundaries.d.ts +38 -0
  158. package/dist/esm/components/data-display/chromes/field-tile-boundaries.d.ts.map +1 -0
  159. package/dist/esm/components/data-display/chromes/field-tile-boundaries.js +30 -0
  160. package/dist/esm/components/data-display/chromes/field-tile-boundaries.js.map +1 -0
  161. package/dist/esm/components/data-display/chromes/field-tiles.utils.d.ts +22 -0
  162. package/dist/esm/components/data-display/chromes/field-tiles.utils.d.ts.map +1 -0
  163. package/dist/esm/components/data-display/chromes/field-tiles.utils.js +52 -0
  164. package/dist/esm/components/data-display/chromes/field-tiles.utils.js.map +1 -0
  165. package/dist/esm/components/data-display/display-field-resolved-props.d.ts +4 -0
  166. package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
  167. package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
  168. package/dist/esm/components/data-display/display-layout-template.utils.d.ts +18 -0
  169. package/dist/esm/components/data-display/display-layout-template.utils.d.ts.map +1 -0
  170. package/dist/esm/components/data-display/display-layout-template.utils.js +18 -0
  171. package/dist/esm/components/data-display/display-layout-template.utils.js.map +1 -0
  172. package/dist/esm/components/data-display/display-value-emptiness.utils.d.ts +44 -0
  173. package/dist/esm/components/data-display/display-value-emptiness.utils.d.ts.map +1 -0
  174. package/dist/esm/components/data-display/display-value-emptiness.utils.js +61 -0
  175. package/dist/esm/components/data-display/display-value-emptiness.utils.js.map +1 -0
  176. package/dist/esm/components/data-display/empty-value-mark.d.ts +31 -0
  177. package/dist/esm/components/data-display/empty-value-mark.d.ts.map +1 -0
  178. package/dist/esm/components/data-display/empty-value-mark.js +49 -0
  179. package/dist/esm/components/data-display/empty-value-mark.js.map +1 -0
  180. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts +3 -2
  181. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.d.ts.map +1 -1
  182. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js +4 -4
  183. package/dist/esm/components/data-display/external-data-provenance/DisplayFieldProvenanceNote.js.map +1 -1
  184. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts +6 -3
  185. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.d.ts.map +1 -1
  186. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js +22 -12
  187. package/dist/esm/components/data-display/external-data-provenance/external-data-provenance.frontend.js.map +1 -1
  188. package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js +2 -2
  189. package/dist/esm/components/data-display/external-data-provenance/useExternalDataFieldProvenance.js.map +1 -1
  190. package/dist/esm/components/data-display/reference-display-target.d.ts +98 -0
  191. package/dist/esm/components/data-display/reference-display-target.d.ts.map +1 -0
  192. package/dist/esm/components/data-display/reference-display-target.js +154 -0
  193. package/dist/esm/components/data-display/reference-display-target.js.map +1 -0
  194. package/dist/esm/components/data-display/summary-value-naming.context.d.ts +15 -0
  195. package/dist/esm/components/data-display/summary-value-naming.context.d.ts.map +1 -0
  196. package/dist/esm/components/data-display/summary-value-naming.context.js +18 -0
  197. package/dist/esm/components/data-display/summary-value-naming.context.js.map +1 -0
  198. package/dist/esm/components/data-display/tone-marker.d.ts +38 -0
  199. package/dist/esm/components/data-display/tone-marker.d.ts.map +1 -0
  200. package/dist/esm/components/data-display/tone-marker.js +56 -0
  201. package/dist/esm/components/data-display/tone-marker.js.map +1 -0
  202. package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
  203. package/dist/esm/components/data-display/useFileActivation.js +2 -9
  204. package/dist/esm/components/data-display/useFileActivation.js.map +1 -1
  205. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  206. package/dist/esm/components/feedback/features/feature-limit-indicator.js +12 -4
  207. package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -1
  208. package/dist/esm/components/feedback/operations-confirm-critical.d.ts +8 -0
  209. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  210. package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
  211. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts +0 -5
  212. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -1
  213. package/dist/esm/components/files/Files_UploadGrantDrop.js +5 -17
  214. package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -1
  215. package/dist/esm/components/flows-actors/actor.d.ts +21 -4
  216. package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
  217. package/dist/esm/components/flows-actors/actor.js +114 -192
  218. package/dist/esm/components/flows-actors/actor.js.map +1 -1
  219. package/dist/esm/components/flows-actors/actor.labels.d.ts.map +1 -1
  220. package/dist/esm/components/flows-actors/actor.labels.js +5 -10
  221. package/dist/esm/components/flows-actors/actor.labels.js.map +1 -1
  222. package/dist/esm/components/flows-actors/agent-config.labels.js +1 -1
  223. package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
  224. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.d.ts.map +1 -1
  225. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js +1 -0
  226. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js.map +1 -1
  227. package/dist/esm/components/flows-actors/approval.d.ts +26 -16
  228. package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
  229. package/dist/esm/components/flows-actors/approval.js +208 -70
  230. package/dist/esm/components/flows-actors/approval.js.map +1 -1
  231. package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
  232. package/dist/esm/components/flows-actors/approval.labels.js +67 -22
  233. package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
  234. package/dist/esm/components/flows-actors/artifact-browser.labels.js +1 -1
  235. package/dist/esm/components/flows-actors/artifact-browser.labels.js.map +1 -1
  236. package/dist/esm/components/flows-actors/execution-plan.d.ts +19 -7
  237. package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
  238. package/dist/esm/components/flows-actors/execution-plan.js +55 -41
  239. package/dist/esm/components/flows-actors/execution-plan.js.map +1 -1
  240. package/dist/esm/components/flows-actors/execution-plan.labels.d.ts.map +1 -1
  241. package/dist/esm/components/flows-actors/execution-plan.labels.js +25 -8
  242. package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
  243. package/dist/esm/components/flows-actors/execution-usage.d.ts +69 -0
  244. package/dist/esm/components/flows-actors/execution-usage.d.ts.map +1 -0
  245. package/dist/esm/components/flows-actors/execution-usage.js +189 -0
  246. package/dist/esm/components/flows-actors/execution-usage.js.map +1 -0
  247. package/dist/esm/components/flows-actors/execution-usage.labels.d.ts +3 -0
  248. package/dist/esm/components/flows-actors/execution-usage.labels.d.ts.map +1 -0
  249. package/dist/esm/components/flows-actors/execution-usage.labels.js +27 -0
  250. package/dist/esm/components/flows-actors/execution-usage.labels.js.map +1 -0
  251. package/dist/esm/components/flows-actors/flow-execution.d.ts +23 -6
  252. package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
  253. package/dist/esm/components/flows-actors/flow-execution.js +56 -208
  254. package/dist/esm/components/flows-actors/flow-execution.js.map +1 -1
  255. package/dist/esm/components/flows-actors/flow-execution.labels.d.ts.map +1 -1
  256. package/dist/esm/components/flows-actors/flow-execution.labels.js +3 -10
  257. package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
  258. package/dist/esm/components/flows-actors/flow-node-badges.d.ts +54 -21
  259. package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
  260. package/dist/esm/components/flows-actors/flow-node-badges.js +80 -6
  261. package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
  262. package/dist/esm/components/flows-actors/flow-node.labels.d.ts.map +1 -1
  263. package/dist/esm/components/flows-actors/flow-node.labels.js +0 -8
  264. package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
  265. package/dist/esm/components/flows-actors/flow-step-visuals.d.ts +31 -0
  266. package/dist/esm/components/flows-actors/flow-step-visuals.d.ts.map +1 -0
  267. package/dist/esm/components/flows-actors/flow-step-visuals.js +98 -0
  268. package/dist/esm/components/flows-actors/flow-step-visuals.js.map +1 -0
  269. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts +18 -19
  270. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts.map +1 -1
  271. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js +18 -19
  272. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js.map +1 -1
  273. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts +27 -42
  274. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts.map +1 -1
  275. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js +28 -43
  276. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js.map +1 -1
  277. package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts +15 -10
  278. package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts.map +1 -1
  279. package/dist/esm/components/flows-actors/flows-actors-ui.utils.js +16 -42
  280. package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
  281. package/dist/esm/components/flows-actors/graph-viewer.d.ts +112 -0
  282. package/dist/esm/components/flows-actors/graph-viewer.d.ts.map +1 -0
  283. package/dist/esm/components/flows-actors/graph-viewer.js +431 -0
  284. package/dist/esm/components/flows-actors/graph-viewer.js.map +1 -0
  285. package/dist/esm/components/flows-actors/graph-viewer.labels.d.ts +3 -0
  286. package/dist/esm/components/flows-actors/graph-viewer.labels.d.ts.map +1 -0
  287. package/dist/esm/components/flows-actors/graph-viewer.labels.js +67 -0
  288. package/dist/esm/components/flows-actors/graph-viewer.labels.js.map +1 -0
  289. package/dist/esm/components/flows-actors/graph-viewer.models.d.ts +16 -0
  290. package/dist/esm/components/flows-actors/graph-viewer.models.d.ts.map +1 -0
  291. package/dist/esm/components/flows-actors/graph-viewer.models.js +18 -0
  292. package/dist/esm/components/flows-actors/graph-viewer.models.js.map +1 -0
  293. package/dist/esm/components/flows-actors/human-decision-form.d.ts +57 -0
  294. package/dist/esm/components/flows-actors/human-decision-form.d.ts.map +1 -0
  295. package/dist/esm/components/flows-actors/human-decision-form.js +128 -0
  296. package/dist/esm/components/flows-actors/human-decision-form.js.map +1 -0
  297. package/dist/esm/components/flows-actors/system-catalog.d.ts +6 -1
  298. package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
  299. package/dist/esm/components/flows-actors/system-catalog.js +22 -20
  300. package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
  301. package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
  302. package/dist/esm/components/flows-actors/system-catalog.labels.js +3 -2
  303. package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
  304. package/dist/esm/components/flows-actors/task-detail.d.ts +17 -3
  305. package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
  306. package/dist/esm/components/flows-actors/task-detail.js +32 -25
  307. package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
  308. package/dist/esm/components/flows-actors/task-memory.d.ts.map +1 -1
  309. package/dist/esm/components/flows-actors/task-memory.js +3 -2
  310. package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
  311. package/dist/esm/components/form/Form.d.ts +2 -0
  312. package/dist/esm/components/form/Form.d.ts.map +1 -1
  313. package/dist/esm/components/form/Form.js +4 -0
  314. package/dist/esm/components/form/Form.js.map +1 -1
  315. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts +16 -1
  316. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
  317. package/dist/esm/components/form/automated/AutomatedArrayField.js +101 -21
  318. package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
  319. package/dist/esm/components/form/automated/AutomatedForm.d.ts +19 -2
  320. package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
  321. package/dist/esm/components/form/automated/AutomatedForm.js +40 -6
  322. package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
  323. package/dist/esm/components/form/automated/AutosaveContext.d.ts +22 -1
  324. package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
  325. package/dist/esm/components/form/automated/AutosaveContext.js +53 -0
  326. package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
  327. package/dist/esm/components/form/automated/FormField.d.ts +1 -1
  328. package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
  329. package/dist/esm/components/form/automated/FormField.js +127 -53
  330. package/dist/esm/components/form/automated/FormField.js.map +1 -1
  331. package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
  332. package/dist/esm/components/form/automated/FormFieldComposite.js +12 -10
  333. package/dist/esm/components/form/automated/FormFieldComposite.js.map +1 -1
  334. package/dist/esm/components/form/automated/FormFieldRecord.d.ts.map +1 -1
  335. package/dist/esm/components/form/automated/FormFieldRecord.js +16 -7
  336. package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
  337. package/dist/esm/components/form/automated/FormTemplateContext.d.ts +27 -0
  338. package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
  339. package/dist/esm/components/form/automated/FormTemplateContext.js +0 -48
  340. package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
  341. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts +4 -3
  342. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
  343. package/dist/esm/components/form/automated/ResourceAutomatedForm.js +616 -149
  344. package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
  345. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts +105 -5
  346. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
  347. package/dist/esm/components/form/automated/automated-form-submit.utils.js +225 -6
  348. package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
  349. package/dist/esm/components/form/automated/bulk-field-clear-context.d.ts +59 -0
  350. package/dist/esm/components/form/automated/bulk-field-clear-context.d.ts.map +1 -0
  351. package/dist/esm/components/form/automated/bulk-field-clear-context.js +77 -0
  352. package/dist/esm/components/form/automated/bulk-field-clear-context.js.map +1 -0
  353. package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts +1 -1
  354. package/dist/esm/components/form/automated/unplaced-request-fields.context.d.ts +19 -0
  355. package/dist/esm/components/form/automated/unplaced-request-fields.context.d.ts.map +1 -0
  356. package/dist/esm/components/form/automated/unplaced-request-fields.context.js +13 -0
  357. package/dist/esm/components/form/automated/unplaced-request-fields.context.js.map +1 -0
  358. package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts +7 -0
  359. package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
  360. package/dist/esm/components/form/automated/useArrayItemAutosaveField.js +10 -2
  361. package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
  362. package/dist/esm/components/form/automated/useReferenceRecordLabels.d.ts +16 -0
  363. package/dist/esm/components/form/automated/useReferenceRecordLabels.d.ts.map +1 -0
  364. package/dist/esm/components/form/automated/useReferenceRecordLabels.js +66 -0
  365. package/dist/esm/components/form/automated/useReferenceRecordLabels.js.map +1 -0
  366. package/dist/esm/components/form/automated/useRequestFieldOffer.d.ts +18 -0
  367. package/dist/esm/components/form/automated/useRequestFieldOffer.d.ts.map +1 -0
  368. package/dist/esm/components/form/automated/useRequestFieldOffer.js +107 -0
  369. package/dist/esm/components/form/automated/useRequestFieldOffer.js.map +1 -0
  370. package/dist/esm/components/form/chromes/FormFieldChrome.d.ts +7 -1
  371. package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
  372. package/dist/esm/components/form/chromes/FormFieldChrome.js +6 -3
  373. package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
  374. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts +11 -0
  375. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  376. package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
  377. package/dist/esm/components/form/controls/date-time/datepicker.d.ts +21 -0
  378. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  379. package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
  380. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts +9 -0
  381. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  382. package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -1
  383. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts +9 -0
  384. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  385. package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -1
  386. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts +1 -0
  387. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  388. package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -1
  389. package/dist/esm/components/form/controls/enum/radio.d.ts +10 -0
  390. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  391. package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
  392. package/dist/esm/components/form/controls/enum/toggle-group.d.ts +14 -10
  393. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  394. package/dist/esm/components/form/controls/enum/toggle-group.js +14 -6
  395. package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
  396. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
  397. package/dist/esm/components/form/controls/form-field-checkbox-group.js +7 -3
  398. package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
  399. package/dist/esm/components/form/controls/string/chips-input.d.ts +65 -0
  400. package/dist/esm/components/form/controls/string/chips-input.d.ts.map +1 -0
  401. package/dist/esm/components/form/controls/string/chips-input.js +9 -0
  402. package/dist/esm/components/form/controls/string/chips-input.js.map +1 -0
  403. package/dist/esm/components/form/fields/form-field-address.d.ts.map +1 -1
  404. package/dist/esm/components/form/fields/form-field-address.js +7 -5
  405. package/dist/esm/components/form/fields/form-field-address.js.map +1 -1
  406. package/dist/esm/components/form/fields/form-field-address.labels.js +1 -1
  407. package/dist/esm/components/form/fields/form-field-address.labels.js.map +1 -1
  408. package/dist/esm/components/form/fields/form-field-bigdecimal.js +2 -2
  409. package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
  410. package/dist/esm/components/form/fields/form-field-boolean.js +2 -2
  411. package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
  412. package/dist/esm/components/form/fields/form-field-code.labels.js +1 -1
  413. package/dist/esm/components/form/fields/form-field-code.labels.js.map +1 -1
  414. package/dist/esm/components/form/fields/form-field-date.d.ts.map +1 -1
  415. package/dist/esm/components/form/fields/form-field-date.js +16 -11
  416. package/dist/esm/components/form/fields/form-field-date.js.map +1 -1
  417. package/dist/esm/components/form/fields/form-field-datetime.d.ts.map +1 -1
  418. package/dist/esm/components/form/fields/form-field-datetime.js +10 -5
  419. package/dist/esm/components/form/fields/form-field-datetime.js.map +1 -1
  420. package/dist/esm/components/form/fields/form-field-duration.d.ts.map +1 -1
  421. package/dist/esm/components/form/fields/form-field-duration.js +5 -7
  422. package/dist/esm/components/form/fields/form-field-duration.js.map +1 -1
  423. package/dist/esm/components/form/fields/form-field-duration.labels.d.ts.map +1 -1
  424. package/dist/esm/components/form/fields/form-field-duration.labels.js +8 -2
  425. package/dist/esm/components/form/fields/form-field-duration.labels.js.map +1 -1
  426. package/dist/esm/components/form/fields/form-field-enum.d.ts.map +1 -1
  427. package/dist/esm/components/form/fields/form-field-enum.js +31 -31
  428. package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
  429. package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
  430. package/dist/esm/components/form/fields/form-field-file.js +13 -12
  431. package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
  432. package/dist/esm/components/form/fields/form-field-file.labels.js +6 -6
  433. package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
  434. package/dist/esm/components/form/fields/form-field-money.d.ts.map +1 -1
  435. package/dist/esm/components/form/fields/form-field-money.js +5 -4
  436. package/dist/esm/components/form/fields/form-field-money.js.map +1 -1
  437. package/dist/esm/components/form/fields/form-field-money.labels.d.ts.map +1 -1
  438. package/dist/esm/components/form/fields/form-field-money.labels.js +8 -2
  439. package/dist/esm/components/form/fields/form-field-money.labels.js.map +1 -1
  440. package/dist/esm/components/form/fields/form-field-number.js +2 -2
  441. package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
  442. package/dist/esm/components/form/fields/form-field-range-bigdecimal.js +2 -2
  443. package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
  444. package/dist/esm/components/form/fields/form-field-range-date.d.ts.map +1 -1
  445. package/dist/esm/components/form/fields/form-field-range-date.js +7 -2
  446. package/dist/esm/components/form/fields/form-field-range-date.js.map +1 -1
  447. package/dist/esm/components/form/fields/form-field-range-datetime.d.ts.map +1 -1
  448. package/dist/esm/components/form/fields/form-field-range-datetime.js +5 -2
  449. package/dist/esm/components/form/fields/form-field-range-datetime.js.map +1 -1
  450. package/dist/esm/components/form/fields/form-field-range-money.d.ts.map +1 -1
  451. package/dist/esm/components/form/fields/form-field-range-money.js +6 -19
  452. package/dist/esm/components/form/fields/form-field-range-money.js.map +1 -1
  453. package/dist/esm/components/form/fields/form-field-range-money.labels.d.ts.map +1 -1
  454. package/dist/esm/components/form/fields/form-field-range-money.labels.js +8 -2
  455. package/dist/esm/components/form/fields/form-field-range-money.labels.js.map +1 -1
  456. package/dist/esm/components/form/fields/form-field-range-number.js +2 -2
  457. package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
  458. package/dist/esm/components/form/fields/form-field-range-time.js +2 -2
  459. package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
  460. package/dist/esm/components/form/fields/form-field-resource-reference.d.ts +56 -0
  461. package/dist/esm/components/form/fields/form-field-resource-reference.d.ts.map +1 -0
  462. package/dist/esm/components/form/fields/form-field-resource-reference.js +51 -0
  463. package/dist/esm/components/form/fields/form-field-resource-reference.js.map +1 -0
  464. package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts +36 -6
  465. package/dist/esm/components/form/fields/form-field-string-organization-role.d.ts.map +1 -1
  466. package/dist/esm/components/form/fields/form-field-string-organization-role.js +30 -11
  467. package/dist/esm/components/form/fields/form-field-string-organization-role.js.map +1 -1
  468. package/dist/esm/components/form/fields/form-field-string.d.ts +5 -0
  469. package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
  470. package/dist/esm/components/form/fields/form-field-string.js +9 -7
  471. package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
  472. package/dist/esm/components/form/fields/form-field-time.d.ts.map +1 -1
  473. package/dist/esm/components/form/fields/form-field-time.js +6 -3
  474. package/dist/esm/components/form/fields/form-field-time.js.map +1 -1
  475. package/dist/esm/components/form/fields/themed-native-select.d.ts +29 -0
  476. package/dist/esm/components/form/fields/themed-native-select.d.ts.map +1 -0
  477. package/dist/esm/components/form/fields/themed-native-select.js +36 -0
  478. package/dist/esm/components/form/fields/themed-native-select.js.map +1 -0
  479. package/dist/esm/components/form/form-context.d.ts +11 -0
  480. package/dist/esm/components/form/form-context.d.ts.map +1 -1
  481. package/dist/esm/components/form/form-context.js +11 -0
  482. package/dist/esm/components/form/form-context.js.map +1 -1
  483. package/dist/esm/components/form/form-context.utils.d.ts +2 -0
  484. package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
  485. package/dist/esm/components/form/form-context.utils.js +6 -2
  486. package/dist/esm/components/form/form-context.utils.js.map +1 -1
  487. package/dist/esm/components/form/validation-errors/FormErrorSummary.d.ts.map +1 -1
  488. package/dist/esm/components/form/validation-errors/FormErrorSummary.js +17 -15
  489. package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
  490. package/dist/esm/components/form/validation-errors/field-reveal.d.ts +41 -0
  491. package/dist/esm/components/form/validation-errors/field-reveal.d.ts.map +1 -0
  492. package/dist/esm/components/form/validation-errors/field-reveal.js +108 -0
  493. package/dist/esm/components/form/validation-errors/field-reveal.js.map +1 -0
  494. package/dist/esm/components/form/validation-errors/form-level-error-recheck.d.ts +3 -0
  495. package/dist/esm/components/form/validation-errors/form-level-error-recheck.d.ts.map +1 -0
  496. package/dist/esm/components/form/validation-errors/form-level-error-recheck.js +37 -0
  497. package/dist/esm/components/form/validation-errors/form-level-error-recheck.js.map +1 -0
  498. package/dist/esm/components/form/validation-errors/getFieldError.d.ts +6 -0
  499. package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
  500. package/dist/esm/components/form/validation-errors/getFieldError.js +9 -2
  501. package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
  502. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts +8 -1
  503. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts.map +1 -1
  504. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js +46 -3
  505. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
  506. package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts.map +1 -1
  507. package/dist/esm/components/form/validation-errors/useServerErrorInjection.js +8 -3
  508. package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
  509. package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.d.ts +32 -0
  510. package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.d.ts.map +1 -0
  511. package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.js +60 -0
  512. package/dist/esm/components/form/validation-errors/validate-fields-and-show-errors.js.map +1 -0
  513. package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts +10 -0
  514. package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts.map +1 -1
  515. package/dist/esm/components/form/validation-errors/zod-issue-resolver.js +12 -3
  516. package/dist/esm/components/form/validation-errors/zod-issue-resolver.js.map +1 -1
  517. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts +7 -0
  518. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts.map +1 -1
  519. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.js.map +1 -1
  520. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts +6 -0
  521. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts.map +1 -1
  522. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.js.map +1 -1
  523. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.d.ts.map +1 -1
  524. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js +11 -28
  525. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
  526. package/dist/esm/components/navigation/app-level/engine-launcher-entries.d.ts +46 -0
  527. package/dist/esm/components/navigation/app-level/engine-launcher-entries.d.ts.map +1 -0
  528. package/dist/esm/components/navigation/app-level/engine-launcher-entries.js +165 -0
  529. package/dist/esm/components/navigation/app-level/engine-launcher-entries.js.map +1 -0
  530. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
  531. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js +8 -3
  532. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
  533. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
  534. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js +41 -20
  535. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
  536. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts +1 -2
  537. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
  538. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js +1 -15
  539. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
  540. package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.d.ts +32 -0
  541. package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.d.ts.map +1 -0
  542. package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.js +91 -0
  543. package/dist/esm/components/navigation/app-level/useOwnOrganizationSearch.js.map +1 -0
  544. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
  545. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js +3 -1
  546. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
  547. package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts +18 -1
  548. package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
  549. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +66 -9
  550. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
  551. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +15 -10
  552. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
  553. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +89 -12
  554. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
  555. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js +2 -2
  556. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
  557. package/dist/esm/components/resources/CollectionSelectAllCheckbox.d.ts +39 -0
  558. package/dist/esm/components/resources/CollectionSelectAllCheckbox.d.ts.map +1 -0
  559. package/dist/esm/components/resources/CollectionSelectAllCheckbox.js +21 -0
  560. package/dist/esm/components/resources/CollectionSelectAllCheckbox.js.map +1 -0
  561. package/dist/esm/components/resources/CollectionSelectionControls.d.ts +4 -3
  562. package/dist/esm/components/resources/CollectionSelectionControls.d.ts.map +1 -1
  563. package/dist/esm/components/resources/CollectionSelectionControls.js.map +1 -1
  564. package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts +7 -2
  565. package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
  566. package/dist/esm/components/resources/ResourceCollectionBody_Table.js +38 -14
  567. package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
  568. package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts +4 -4
  569. package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts.map +1 -1
  570. package/dist/esm/components/resources/ResourceCollectionFilterPresets.js +20 -13
  571. package/dist/esm/components/resources/ResourceCollectionFilterPresets.js.map +1 -1
  572. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts +4 -3
  573. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
  574. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js +40 -6
  575. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
  576. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts +65 -23
  577. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
  578. package/dist/esm/components/resources/ResourceCollectionToolbar.js +73 -10
  579. package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
  580. package/dist/esm/components/resources/ResourceLayout_Action.labels.d.ts.map +1 -1
  581. package/dist/esm/components/resources/ResourceLayout_Action.labels.js +5 -0
  582. package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
  583. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts +18 -0
  584. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
  585. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js +57 -48
  586. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
  587. package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts +1 -1
  588. package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
  589. package/dist/esm/components/resources/ResourceLayout_CollectionActions.js +1 -1
  590. package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
  591. package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
  592. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +7 -1
  593. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
  594. package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
  595. package/dist/esm/components/resources/ResourceLayout_Create.js +3 -4
  596. package/dist/esm/components/resources/ResourceLayout_Create.js.map +1 -1
  597. package/dist/esm/components/resources/ResourceLayout_Create.labels.d.ts.map +1 -1
  598. package/dist/esm/components/resources/ResourceLayout_Create.labels.js +10 -0
  599. package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
  600. package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts +5 -3
  601. package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
  602. package/dist/esm/components/resources/ResourceLayout_DangerZone.js +4 -3
  603. package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
  604. package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts +8 -1
  605. package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
  606. package/dist/esm/components/resources/ResourceLayout_FilterChips.js +83 -11
  607. package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
  608. package/dist/esm/components/resources/ResourceLayout_Filters.labels.js +1 -1
  609. package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
  610. package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts +5 -8
  611. package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
  612. package/dist/esm/components/resources/ResourceLayout_FiltersControl.js +68 -19
  613. package/dist/esm/components/resources/ResourceLayout_FiltersControl.js.map +1 -1
  614. package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
  615. package/dist/esm/components/resources/ResourceLayout_Header.js +150 -44
  616. package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
  617. package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
  618. package/dist/esm/components/resources/ResourceLayout_InsertedViews.js +62 -40
  619. package/dist/esm/components/resources/ResourceLayout_InsertedViews.js.map +1 -1
  620. package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
  621. package/dist/esm/components/resources/ResourceLayout_List.js +68 -70
  622. package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
  623. package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
  624. package/dist/esm/components/resources/ResourceLayout_List.labels.js +4 -10
  625. package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
  626. package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts +8 -9
  627. package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
  628. package/dist/esm/components/resources/ResourceLayout_OperationBulk.js +67 -25
  629. package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
  630. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js +8 -8
  631. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
  632. package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts +8 -2
  633. package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
  634. package/dist/esm/components/resources/ResourceLayout_OperationsItems.js +12 -7
  635. package/dist/esm/components/resources/ResourceLayout_OperationsItems.js.map +1 -1
  636. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.d.ts.map +1 -1
  637. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js +11 -6
  638. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js.map +1 -1
  639. package/dist/esm/components/resources/ResourceLayout_Read.d.ts +2 -0
  640. package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
  641. package/dist/esm/components/resources/ResourceLayout_Read.js +23 -5
  642. package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
  643. package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
  644. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js +5 -3
  645. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
  646. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
  647. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js +18 -7
  648. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
  649. package/dist/esm/components/resources/ResourceLayout_RecordSharing.d.ts +56 -0
  650. package/dist/esm/components/resources/ResourceLayout_RecordSharing.d.ts.map +1 -0
  651. package/dist/esm/components/resources/ResourceLayout_RecordSharing.js +184 -0
  652. package/dist/esm/components/resources/ResourceLayout_RecordSharing.js.map +1 -0
  653. package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.d.ts +3 -0
  654. package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.d.ts.map +1 -0
  655. package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.js +106 -0
  656. package/dist/esm/components/resources/ResourceLayout_RecordSharing.labels.js.map +1 -0
  657. package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
  658. package/dist/esm/components/resources/ResourceLayout_Search.js +55 -42
  659. package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
  660. package/dist/esm/components/resources/ResourceLayout_Search.labels.d.ts.map +1 -1
  661. package/dist/esm/components/resources/ResourceLayout_Search.labels.js +0 -6
  662. package/dist/esm/components/resources/ResourceLayout_Search.labels.js.map +1 -1
  663. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts +8 -0
  664. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
  665. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js +2 -3
  666. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
  667. package/dist/esm/components/resources/ResourceLayout_SortControl.d.ts.map +1 -1
  668. package/dist/esm/components/resources/ResourceLayout_SortControl.js +3 -2
  669. package/dist/esm/components/resources/ResourceLayout_SortControl.js.map +1 -1
  670. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts +29 -5
  671. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
  672. package/dist/esm/components/resources/ResourceListItemRenderer.js +123 -41
  673. package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
  674. package/dist/esm/components/resources/ResourceViewModeToggle.d.ts +6 -1
  675. package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
  676. package/dist/esm/components/resources/ResourceViewModeToggle.js +9 -7
  677. package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
  678. package/dist/esm/components/resources/collection-card-layout.utils.d.ts +37 -15
  679. package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
  680. package/dist/esm/components/resources/collection-card-layout.utils.js +37 -15
  681. package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
  682. package/dist/esm/components/resources/collection-selection-bar-density.d.ts +113 -0
  683. package/dist/esm/components/resources/collection-selection-bar-density.d.ts.map +1 -0
  684. package/dist/esm/components/resources/collection-selection-bar-density.js +175 -0
  685. package/dist/esm/components/resources/collection-selection-bar-density.js.map +1 -0
  686. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts +2 -1
  687. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts.map +1 -1
  688. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.js.map +1 -1
  689. package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
  690. package/dist/esm/components/resources/embeds/RelatedResourceSections.js +14 -2
  691. package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
  692. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts +61 -1
  693. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
  694. package/dist/esm/components/resources/embeds/ResourceEmbeds.js +151 -15
  695. package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
  696. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts +11 -0
  697. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts.map +1 -1
  698. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js +13 -0
  699. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
  700. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts +24 -1
  701. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
  702. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js +47 -3
  703. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
  704. package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.d.ts +35 -0
  705. package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.d.ts.map +1 -0
  706. package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.js +36 -0
  707. package/dist/esm/components/resources/resource-filter-field-type.frontend.schemas.js.map +1 -0
  708. package/dist/esm/components/resources/resource-header-geometry.d.ts +19 -0
  709. package/dist/esm/components/resources/resource-header-geometry.d.ts.map +1 -0
  710. package/dist/esm/components/resources/resource-header-geometry.js +19 -0
  711. package/dist/esm/components/resources/resource-header-geometry.js.map +1 -0
  712. package/dist/esm/components/resources/resourceLayout.utils.d.ts +28 -2
  713. package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
  714. package/dist/esm/components/resources/resourceLayout.utils.js +45 -12
  715. package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
  716. package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
  717. package/dist/esm/components/resources/skeleton/ArrayField.js +10 -0
  718. package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
  719. package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts +20 -4
  720. package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
  721. package/dist/esm/components/resources/skeleton/DisplayLayout.js +19 -2
  722. package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
  723. package/dist/esm/components/resources/skeleton/FieldTiles.d.ts +48 -0
  724. package/dist/esm/components/resources/skeleton/FieldTiles.d.ts.map +1 -0
  725. package/dist/esm/components/resources/skeleton/FieldTiles.js +51 -0
  726. package/dist/esm/components/resources/skeleton/FieldTiles.js.map +1 -0
  727. package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
  728. package/dist/esm/components/resources/skeleton/FormLayout.js +2 -1
  729. package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
  730. package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
  731. package/dist/esm/components/resources/skeleton/Group.js +5 -2
  732. package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
  733. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts +77 -14
  734. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
  735. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js +98 -25
  736. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
  737. package/dist/esm/components/resources/skeleton/Section.d.ts +7 -0
  738. package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
  739. package/dist/esm/components/resources/skeleton/Section.js +9 -3
  740. package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
  741. package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts +3 -3
  742. package/dist/esm/components/resources/skeleton/SummaryLayout.js +3 -3
  743. package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
  744. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts +7 -5
  745. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
  746. package/dist/esm/components/resources/skeleton/WizardLayout.js +176 -65
  747. package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
  748. package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts +9 -1
  749. package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
  750. package/dist/esm/components/resources/skeleton/WizardLayoutContext.js +7 -0
  751. package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
  752. package/dist/esm/components/resources/skeleton/WizardStep.d.ts +1 -1
  753. package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
  754. package/dist/esm/components/resources/skeleton/WizardStep.js +9 -5
  755. package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
  756. package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts.map +1 -1
  757. package/dist/esm/components/resources/skeleton/section-consolidation.utils.js +31 -2
  758. package/dist/esm/components/resources/skeleton/section-consolidation.utils.js.map +1 -1
  759. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
  760. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js +176 -61
  761. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
  762. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.d.ts.map +1 -1
  763. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js +14 -7
  764. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js.map +1 -1
  765. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.d.ts.map +1 -1
  766. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js +18 -1
  767. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js.map +1 -1
  768. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts +8 -0
  769. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
  770. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js +3 -0
  771. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
  772. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
  773. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js +48 -17
  774. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
  775. package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
  776. package/dist/esm/components/sections/ContentSectionContainer.js +226 -74
  777. package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
  778. package/dist/esm/components/sections/ContentSectionContainer.labels.d.ts.map +1 -1
  779. package/dist/esm/components/sections/ContentSectionContainer.labels.js +2 -3
  780. package/dist/esm/components/sections/ContentSectionContainer.labels.js.map +1 -1
  781. package/dist/esm/components/sections/content-section.d.ts +2 -2
  782. package/dist/esm/components/sections/content-section.js.map +1 -1
  783. package/dist/esm/components/sections/section-grouping.shared.d.ts +19 -0
  784. package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
  785. package/dist/esm/components/sections/section-grouping.shared.js +24 -0
  786. package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
  787. package/dist/esm/components/sections/section-legend-voice.context.d.ts +19 -0
  788. package/dist/esm/components/sections/section-legend-voice.context.d.ts.map +1 -0
  789. package/dist/esm/components/sections/section-legend-voice.context.js +21 -0
  790. package/dist/esm/components/sections/section-legend-voice.context.js.map +1 -0
  791. package/dist/esm/components/sections/section-legend-voice.d.ts +41 -0
  792. package/dist/esm/components/sections/section-legend-voice.d.ts.map +1 -0
  793. package/dist/esm/components/sections/section-legend-voice.js +67 -0
  794. package/dist/esm/components/sections/section-legend-voice.js.map +1 -0
  795. package/dist/esm/components/sections/stepper.d.ts +14 -0
  796. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  797. package/dist/esm/components/sections/stepper.js.map +1 -1
  798. package/dist/esm/components/sections/surface.d.ts.map +1 -1
  799. package/dist/esm/components/sections/surface.js +10 -2
  800. package/dist/esm/components/sections/surface.js.map +1 -1
  801. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.d.ts +39 -0
  802. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.d.ts.map +1 -0
  803. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.js +187 -0
  804. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.js.map +1 -0
  805. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.d.ts +3 -0
  806. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.d.ts.map +1 -0
  807. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.js +34 -0
  808. package/dist/esm/components/settings/AppPage_AgentWorkEvaluationExportSettings.labels.js.map +1 -0
  809. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.d.ts +1 -1
  810. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js +1 -1
  811. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.js.map +1 -1
  812. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js +8 -8
  813. package/dist/esm/components/settings/AppPage_AgentWorkOverrideRateSettings.labels.js.map +1 -1
  814. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.d.ts +43 -0
  815. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.d.ts.map +1 -0
  816. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.js +142 -0
  817. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.js.map +1 -0
  818. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.d.ts +3 -0
  819. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.d.ts.map +1 -0
  820. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.js +62 -0
  821. package/dist/esm/components/settings/AppPage_AutonomousAgentsSettings.labels.js.map +1 -0
  822. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +25 -8
  823. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -1
  824. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +275 -71
  825. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -1
  826. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -1
  827. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +91 -14
  828. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -1
  829. package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts +13 -8
  830. package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
  831. package/dist/esm/components/settings/AppPage_InvitationsSettings.js +95 -23
  832. package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
  833. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
  834. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js +25 -2
  835. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
  836. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.d.ts +67 -0
  837. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.d.ts.map +1 -0
  838. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.js +177 -0
  839. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.js.map +1 -0
  840. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.d.ts +3 -0
  841. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.d.ts.map +1 -0
  842. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.js +45 -0
  843. package/dist/esm/components/settings/AppPage_ModelCostBreakdownSettings.labels.js.map +1 -0
  844. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.d.ts +35 -0
  845. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.d.ts.map +1 -0
  846. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.js +137 -0
  847. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.js.map +1 -0
  848. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.d.ts +3 -0
  849. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.d.ts.map +1 -0
  850. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.js +38 -0
  851. package/dist/esm/components/settings/AppPage_RepresentativeActivitySettings.labels.js.map +1 -0
  852. package/dist/esm/components/settings/SettingsHub.d.ts +3 -3
  853. package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
  854. package/dist/esm/components/settings/SettingsHub.js +98 -48
  855. package/dist/esm/components/settings/SettingsHub.js.map +1 -1
  856. package/dist/esm/components/settings/SettingsHub.labels.d.ts.map +1 -1
  857. package/dist/esm/components/settings/SettingsHub.labels.js +2 -0
  858. package/dist/esm/components/settings/SettingsHub.labels.js.map +1 -1
  859. package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
  860. package/dist/esm/components/settings/SettingsResourceOperationPanel.js +21 -1
  861. package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
  862. package/dist/esm/components/settings/useOwnerProviderConnections.d.ts +24 -5
  863. package/dist/esm/components/settings/useOwnerProviderConnections.d.ts.map +1 -1
  864. package/dist/esm/components/settings/useOwnerProviderConnections.js +67 -9
  865. package/dist/esm/components/settings/useOwnerProviderConnections.js.map +1 -1
  866. package/dist/esm/components/views/chart-view/ChartView.js +3 -3
  867. package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
  868. package/dist/esm/components/views/chart-view/chart-export.utils.d.ts.map +1 -1
  869. package/dist/esm/components/views/chart-view/chart-export.utils.js +2 -9
  870. package/dist/esm/components/views/chart-view/chart-export.utils.js.map +1 -1
  871. package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts +1 -0
  872. package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts.map +1 -1
  873. package/dist/esm/components/views/chart-view/enum-color-bridge.js +10 -1
  874. package/dist/esm/components/views/chart-view/enum-color-bridge.js.map +1 -1
  875. package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts +8 -6
  876. package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts.map +1 -1
  877. package/dist/esm/components/views/chart-view/option-builder/builder-utils.js +10 -8
  878. package/dist/esm/components/views/chart-view/option-builder/builder-utils.js.map +1 -1
  879. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js +2 -2
  880. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map +1 -1
  881. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js +1 -1
  882. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map +1 -1
  883. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js +1 -1
  884. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js.map +1 -1
  885. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js +1 -1
  886. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js.map +1 -1
  887. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts +6 -0
  888. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts.map +1 -1
  889. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.js.map +1 -1
  890. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts +3 -1
  891. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts.map +1 -1
  892. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js +4 -1
  893. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
  894. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts +0 -1
  895. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
  896. package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
  897. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.d.ts.map +1 -1
  898. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js +24 -1
  899. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js.map +1 -1
  900. package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.d.ts +29 -0
  901. package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.d.ts.map +1 -0
  902. package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.js +104 -0
  903. package/dist/esm/components/views/flows-actors-view/AgentReplyReportAction.js.map +1 -0
  904. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts +16 -5
  905. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
  906. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +219 -230
  907. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js.map +1 -1
  908. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts +5 -0
  909. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts.map +1 -1
  910. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js +15 -13
  911. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
  912. package/dist/esm/components/views/flows-actors-view/held-conversation-selection.d.ts +13 -0
  913. package/dist/esm/components/views/flows-actors-view/held-conversation-selection.d.ts.map +1 -0
  914. package/dist/esm/components/views/flows-actors-view/held-conversation-selection.js +44 -0
  915. package/dist/esm/components/views/flows-actors-view/held-conversation-selection.js.map +1 -0
  916. package/dist/esm/core/app-shell/AppShellBuildingBlocks.d.ts.map +1 -1
  917. package/dist/esm/core/app-shell/AppShellBuildingBlocks.js +6 -2
  918. package/dist/esm/core/app-shell/AppShellBuildingBlocks.js.map +1 -1
  919. package/dist/esm/core/app-shell/app-shell.schemas.d.ts +64 -9
  920. package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
  921. package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
  922. package/dist/esm/core/app-shell/hosted-components.utils.d.ts +11 -1
  923. package/dist/esm/core/app-shell/hosted-components.utils.d.ts.map +1 -1
  924. package/dist/esm/core/app-shell/hosted-components.utils.js +25 -0
  925. package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
  926. package/dist/esm/core/app-shell/shell-layout.d.ts +138 -0
  927. package/dist/esm/core/app-shell/shell-layout.d.ts.map +1 -0
  928. package/dist/esm/core/app-shell/shell-layout.js +143 -0
  929. package/dist/esm/core/app-shell/shell-layout.js.map +1 -0
  930. package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.d.ts +13 -0
  931. package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.d.ts.map +1 -0
  932. package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.js +49 -0
  933. package/dist/esm/core/app-shell/shell-motion/shell-layout-stylesheet.js.map +1 -0
  934. package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.d.ts +95 -0
  935. package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.d.ts.map +1 -0
  936. package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.js +316 -0
  937. package/dist/esm/core/app-shell/shell-motion/shell-motion-origins.js.map +1 -0
  938. package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.d.ts +217 -0
  939. package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.d.ts.map +1 -0
  940. package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.js +197 -0
  941. package/dist/esm/core/app-shell/shell-motion/shell-motion-vocabulary.js.map +1 -0
  942. package/dist/esm/core/app-shell/shell-motion/shell-view-transition.d.ts +46 -0
  943. package/dist/esm/core/app-shell/shell-motion/shell-view-transition.d.ts.map +1 -0
  944. package/dist/esm/core/app-shell/shell-motion/shell-view-transition.js +139 -0
  945. package/dist/esm/core/app-shell/shell-motion/shell-view-transition.js.map +1 -0
  946. package/dist/esm/core/app-shell/shell-motion/use-shell-motion.d.ts +108 -0
  947. package/dist/esm/core/app-shell/shell-motion/use-shell-motion.d.ts.map +1 -0
  948. package/dist/esm/core/app-shell/shell-motion/use-shell-motion.js +423 -0
  949. package/dist/esm/core/app-shell/shell-motion/use-shell-motion.js.map +1 -0
  950. package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
  951. package/dist/esm/core/app-shell/useAppShellLayout.js +6 -1
  952. package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
  953. package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
  954. package/dist/esm/core/app-shell/usePublicShellLayout.js +11 -4
  955. package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
  956. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +18 -1
  957. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
  958. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +26 -4
  959. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
  960. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.d.ts.map +1 -1
  961. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js +3 -22
  962. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js.map +1 -1
  963. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +19 -3
  964. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts.map +1 -1
  965. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js +100 -13
  966. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
  967. package/dist/esm/core/automated-layout/summary-value-naming.utils.d.ts +67 -0
  968. package/dist/esm/core/automated-layout/summary-value-naming.utils.d.ts.map +1 -0
  969. package/dist/esm/core/automated-layout/summary-value-naming.utils.js +100 -0
  970. package/dist/esm/core/automated-layout/summary-value-naming.utils.js.map +1 -0
  971. package/dist/esm/core/billing/BillingContext.d.ts +0 -17
  972. package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
  973. package/dist/esm/core/billing/BillingContext.js +6 -1
  974. package/dist/esm/core/billing/BillingContext.js.map +1 -1
  975. package/dist/esm/core/branding/OrganizationBrandingPublisher.d.ts +2 -0
  976. package/dist/esm/core/branding/OrganizationBrandingPublisher.d.ts.map +1 -0
  977. package/dist/esm/core/branding/OrganizationBrandingPublisher.js +78 -0
  978. package/dist/esm/core/branding/OrganizationBrandingPublisher.js.map +1 -0
  979. package/dist/esm/core/branding/useBrandIdentity.d.ts +21 -0
  980. package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
  981. package/dist/esm/core/branding/useBrandIdentity.js +31 -5
  982. package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
  983. package/dist/esm/core/branding/useBrandPresentation.d.ts +5 -0
  984. package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
  985. package/dist/esm/core/branding/useBrandPresentation.js +1 -0
  986. package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
  987. package/dist/esm/core/branding/useDisplayableImageUrl.d.ts +4 -0
  988. package/dist/esm/core/branding/useDisplayableImageUrl.d.ts.map +1 -0
  989. package/dist/esm/core/branding/useDisplayableImageUrl.js +66 -0
  990. package/dist/esm/core/branding/useDisplayableImageUrl.js.map +1 -0
  991. package/dist/esm/core/branding/useOrganizationDocumentTitle.d.ts +2 -0
  992. package/dist/esm/core/branding/useOrganizationDocumentTitle.d.ts.map +1 -0
  993. package/dist/esm/core/branding/useOrganizationDocumentTitle.js +23 -0
  994. package/dist/esm/core/branding/useOrganizationDocumentTitle.js.map +1 -0
  995. package/dist/esm/core/commons/save-blob-as-file.frontend.utils.d.ts +16 -0
  996. package/dist/esm/core/commons/save-blob-as-file.frontend.utils.d.ts.map +1 -0
  997. package/dist/esm/core/commons/save-blob-as-file.frontend.utils.js +35 -0
  998. package/dist/esm/core/commons/save-blob-as-file.frontend.utils.js.map +1 -0
  999. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
  1000. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +8 -0
  1001. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
  1002. package/dist/esm/core/components-registry/component-resolver.frontend.helper.d.ts.map +1 -1
  1003. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js +34 -5
  1004. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
  1005. package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
  1006. package/dist/esm/core/components-registry/register-framework-layouts.js +4 -0
  1007. package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
  1008. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +36 -0
  1009. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
  1010. package/dist/esm/core/config/app-configuration-frontend.schemas.js +29 -2
  1011. package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
  1012. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +10 -16
  1013. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
  1014. package/dist/esm/core/config/app-level-components.frontend.schemas.js +10 -16
  1015. package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
  1016. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +12 -8
  1017. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
  1018. package/dist/esm/core/config/chart-view.frontend.schemas.js +10 -0
  1019. package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
  1020. package/dist/esm/core/config/composite-view.schemas.d.ts +2 -2
  1021. package/dist/esm/core/config/config-merge-utilities.d.ts +31 -3
  1022. package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
  1023. package/dist/esm/core/config/config-merge-utilities.js +61 -7
  1024. package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
  1025. package/dist/esm/core/config/decision-inbox-capability.frontend.utils.d.ts +83 -0
  1026. package/dist/esm/core/config/decision-inbox-capability.frontend.utils.d.ts.map +1 -0
  1027. package/dist/esm/core/config/decision-inbox-capability.frontend.utils.js +100 -0
  1028. package/dist/esm/core/config/decision-inbox-capability.frontend.utils.js.map +1 -0
  1029. package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.d.ts +69 -0
  1030. package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.d.ts.map +1 -0
  1031. package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.js +65 -0
  1032. package/dist/esm/core/config/directory-provisioning-capabilities.frontend.utils.js.map +1 -0
  1033. package/dist/esm/core/config/engine-settings-destinations.d.ts +13 -1
  1034. package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
  1035. package/dist/esm/core/config/engine-settings-destinations.js +588 -155
  1036. package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
  1037. package/dist/esm/core/config/execution-view.schemas.d.ts +17 -3
  1038. package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
  1039. package/dist/esm/core/config/execution-view.schemas.js +1 -1
  1040. package/dist/esm/core/config/execution-view.schemas.js.map +1 -1
  1041. package/dist/esm/core/config/flows-actors-view.schemas.d.ts +12 -2
  1042. package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
  1043. package/dist/esm/core/config/flows-actors-view.schemas.js +13 -1
  1044. package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
  1045. package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts +12 -11
  1046. package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
  1047. package/dist/esm/core/config/inserted-view-launcher.schemas.js +14 -13
  1048. package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
  1049. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +77 -27
  1050. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
  1051. package/dist/esm/core/config/launcher-items.frontend.schemas.js +18 -13
  1052. package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
  1053. package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.d.ts +79 -0
  1054. package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.d.ts.map +1 -0
  1055. package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.js +95 -0
  1056. package/dist/esm/core/config/relationship-side-capabilities.frontend.utils.js.map +1 -0
  1057. package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts +19 -7
  1058. package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts.map +1 -1
  1059. package/dist/esm/core/config/settings-hub-gating.frontend.utils.js +45 -10
  1060. package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
  1061. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts +2 -2
  1062. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts.map +1 -1
  1063. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js +38 -5
  1064. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js.map +1 -1
  1065. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +94 -10
  1066. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
  1067. package/dist/esm/core/config/settings-hub.frontend.schemas.js +40 -3
  1068. package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
  1069. package/dist/esm/core/config/useSettingsHubConfig.d.ts.map +1 -1
  1070. package/dist/esm/core/config/useSettingsHubConfig.js +4 -1
  1071. package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
  1072. package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts +2 -2
  1073. package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
  1074. package/dist/esm/core/config/useVisibleSettingsHubConfig.js +7 -8
  1075. package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
  1076. package/dist/esm/core/config/verify-launcher-content.d.ts +16 -2
  1077. package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
  1078. package/dist/esm/core/config/verify-launcher-content.js +64 -4
  1079. package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
  1080. package/dist/esm/core/config/verify-settings-hub-content.d.ts +4 -0
  1081. package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
  1082. package/dist/esm/core/config/verify-settings-hub-content.js +34 -0
  1083. package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
  1084. package/dist/esm/core/enums/common-enum-registry.d.ts +16 -23
  1085. package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
  1086. package/dist/esm/core/enums/common-enum-registry.js +26 -29
  1087. package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
  1088. package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
  1089. package/dist/esm/core/errors/GlobalErrorHandler.js +71 -9
  1090. package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
  1091. package/dist/esm/core/errors/error-management.frontend.service.d.ts +0 -4
  1092. package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
  1093. package/dist/esm/core/errors/error-management.frontend.service.js +5 -8
  1094. package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
  1095. package/dist/esm/core/errors/errors.frontend.schemas.d.ts +21 -10
  1096. package/dist/esm/core/errors/errors.frontend.schemas.d.ts.map +1 -1
  1097. package/dist/esm/core/errors/errors.frontend.schemas.js.map +1 -1
  1098. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts +35 -0
  1099. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts.map +1 -1
  1100. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js +44 -5
  1101. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js.map +1 -1
  1102. package/dist/esm/core/events/EventBusContext.js.map +1 -1
  1103. package/dist/esm/core/events/NotificationContext.d.ts +13 -1
  1104. package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
  1105. package/dist/esm/core/events/NotificationContext.js +89 -22
  1106. package/dist/esm/core/events/NotificationContext.js.map +1 -1
  1107. package/dist/esm/core/events/events.frontend.schemas.d.ts +68 -4
  1108. package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
  1109. package/dist/esm/core/events/events.frontend.schemas.js +67 -3
  1110. package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
  1111. package/dist/esm/core/events/useNotificationPreferenceKinds.d.ts +9 -0
  1112. package/dist/esm/core/events/useNotificationPreferenceKinds.d.ts.map +1 -0
  1113. package/dist/esm/core/events/useNotificationPreferenceKinds.js +50 -0
  1114. package/dist/esm/core/events/useNotificationPreferenceKinds.js.map +1 -0
  1115. package/dist/esm/core/execution/useExecution.js +1 -1
  1116. package/dist/esm/core/execution/useExecution.js.map +1 -1
  1117. package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
  1118. package/dist/esm/core/execution/useExecutionParticipationRMM.js +4 -0
  1119. package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
  1120. package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
  1121. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js +3 -3
  1122. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
  1123. package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.d.ts +52 -0
  1124. package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.d.ts.map +1 -0
  1125. package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.js +88 -0
  1126. package/dist/esm/core/external-providers/chat-sign-in-completion.frontend.js.map +1 -0
  1127. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts +20 -2
  1128. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts.map +1 -1
  1129. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js +18 -1
  1130. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
  1131. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts +7 -5
  1132. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.d.ts.map +1 -1
  1133. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js +9 -6
  1134. package/dist/esm/core/external-providers/provider-scope-reauthorization-offers.frontend.js.map +1 -1
  1135. package/dist/esm/core/features/FeaturesContext.d.ts +9 -1
  1136. package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
  1137. package/dist/esm/core/features/FeaturesContext.js +38 -12
  1138. package/dist/esm/core/features/FeaturesContext.js.map +1 -1
  1139. package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
  1140. package/dist/esm/core/features/useOperationFeatureAvailability.js +4 -0
  1141. package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
  1142. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +90 -33
  1143. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
  1144. package/dist/esm/core/flows-actors/FlowsActorsContext.js +153 -100
  1145. package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
  1146. package/dist/esm/core/flows-actors/conversation-history.model.d.ts +41 -0
  1147. package/dist/esm/core/flows-actors/conversation-history.model.d.ts.map +1 -0
  1148. package/dist/esm/core/flows-actors/conversation-history.model.js +65 -0
  1149. package/dist/esm/core/flows-actors/conversation-history.model.js.map +1 -0
  1150. package/dist/esm/core/flows-actors/conversation-thread.model.d.ts +144 -0
  1151. package/dist/esm/core/flows-actors/conversation-thread.model.d.ts.map +1 -0
  1152. package/dist/esm/core/flows-actors/conversation-thread.model.js +315 -0
  1153. package/dist/esm/core/flows-actors/conversation-thread.model.js.map +1 -0
  1154. package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.d.ts +29 -0
  1155. package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.d.ts.map +1 -0
  1156. package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.js +67 -0
  1157. package/dist/esm/core/flows-actors/execution-usages-batch.frontend.utils.js.map +1 -0
  1158. package/dist/esm/core/flows-actors/graph-view.layout.d.ts +77 -0
  1159. package/dist/esm/core/flows-actors/graph-view.layout.d.ts.map +1 -0
  1160. package/dist/esm/core/flows-actors/graph-view.layout.js +169 -0
  1161. package/dist/esm/core/flows-actors/graph-view.layout.js.map +1 -0
  1162. package/dist/esm/core/flows-actors/graph-view.model.d.ts +245 -0
  1163. package/dist/esm/core/flows-actors/graph-view.model.d.ts.map +1 -0
  1164. package/dist/esm/core/flows-actors/graph-view.model.js +414 -0
  1165. package/dist/esm/core/flows-actors/graph-view.model.js.map +1 -0
  1166. package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.d.ts +12 -0
  1167. package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.d.ts.map +1 -0
  1168. package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.js +20 -0
  1169. package/dist/esm/core/flows-actors/model-cost-money.frontend.utils.js.map +1 -0
  1170. package/dist/esm/core/flows-actors/usePendingDecisions.d.ts +36 -11
  1171. package/dist/esm/core/flows-actors/usePendingDecisions.d.ts.map +1 -1
  1172. package/dist/esm/core/flows-actors/usePendingDecisions.js +114 -29
  1173. package/dist/esm/core/flows-actors/usePendingDecisions.js.map +1 -1
  1174. package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
  1175. package/dist/esm/core/guidance/GuidanceContext.js +1 -2
  1176. package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
  1177. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js +2 -2
  1178. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
  1179. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +3 -9
  1180. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
  1181. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +3 -15
  1182. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
  1183. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts +2 -2
  1184. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js +2 -2
  1185. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
  1186. package/dist/esm/core/i18n/I18nContext.d.ts +52 -3
  1187. package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
  1188. package/dist/esm/core/i18n/I18nContext.js +80 -7
  1189. package/dist/esm/core/i18n/I18nContext.js.map +1 -1
  1190. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts +82 -1
  1191. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -1
  1192. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js +121 -6
  1193. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -1
  1194. package/dist/esm/core/i18n/useI18n.d.ts +3 -1
  1195. package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
  1196. package/dist/esm/core/i18n/useI18n.js +3 -1
  1197. package/dist/esm/core/i18n/useI18n.js.map +1 -1
  1198. package/dist/esm/core/icons/IconRegistryBridge.d.ts +38 -4
  1199. package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
  1200. package/dist/esm/core/icons/IconRegistryBridge.js +103 -63
  1201. package/dist/esm/core/icons/IconRegistryBridge.js.map +1 -1
  1202. package/dist/esm/core/icons/IconRegistryContext.d.ts.map +1 -1
  1203. package/dist/esm/core/icons/IconRegistryContext.js +41 -0
  1204. package/dist/esm/core/icons/IconRegistryContext.js.map +1 -1
  1205. package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts +44 -0
  1206. package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
  1207. package/dist/esm/core/icons/icon-registry.frontend.schemas.js +46 -0
  1208. package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
  1209. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js +2 -2
  1210. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
  1211. package/dist/esm/core/navigation/NavigationContentAreas.d.ts +64 -20
  1212. package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
  1213. package/dist/esm/core/navigation/NavigationContentAreas.js +82 -51
  1214. package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
  1215. package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
  1216. package/dist/esm/core/navigation/NavigationContext.js +130 -23
  1217. package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
  1218. package/dist/esm/core/navigation/NavigationRequestBridge.d.ts +4 -0
  1219. package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
  1220. package/dist/esm/core/navigation/NavigationRequestBridge.js +17 -1
  1221. package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
  1222. package/dist/esm/core/navigation/ZoneChromeContext.d.ts +80 -0
  1223. package/dist/esm/core/navigation/ZoneChromeContext.d.ts.map +1 -0
  1224. package/dist/esm/core/navigation/ZoneChromeContext.js +130 -0
  1225. package/dist/esm/core/navigation/ZoneChromeContext.js.map +1 -0
  1226. package/dist/esm/core/navigation/launcher-resolution.d.ts +102 -2
  1227. package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
  1228. package/dist/esm/core/navigation/launcher-resolution.js +194 -9
  1229. package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
  1230. package/dist/esm/core/navigation/launcher-runtime-availability.d.ts +35 -5
  1231. package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
  1232. package/dist/esm/core/navigation/launcher-runtime-availability.js +147 -18
  1233. package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
  1234. package/dist/esm/core/navigation/navigation-cascade.d.ts +44 -14
  1235. package/dist/esm/core/navigation/navigation-cascade.d.ts.map +1 -1
  1236. package/dist/esm/core/navigation/navigation-cascade.js +87 -19
  1237. package/dist/esm/core/navigation/navigation-cascade.js.map +1 -1
  1238. package/dist/esm/core/navigation/navigation-commit.d.ts +45 -0
  1239. package/dist/esm/core/navigation/navigation-commit.d.ts.map +1 -0
  1240. package/dist/esm/core/navigation/navigation-commit.js +68 -0
  1241. package/dist/esm/core/navigation/navigation-commit.js.map +1 -0
  1242. package/dist/esm/core/navigation/navigation-controller-internals.d.ts +54 -3
  1243. package/dist/esm/core/navigation/navigation-controller-internals.d.ts.map +1 -1
  1244. package/dist/esm/core/navigation/navigation-controller-internals.js +91 -3
  1245. package/dist/esm/core/navigation/navigation-controller-internals.js.map +1 -1
  1246. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +3 -3
  1247. package/dist/esm/core/navigation/navigation-policy-resolver.service.js +3 -3
  1248. package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
  1249. package/dist/esm/core/navigation/navigation.utils.d.ts +95 -22
  1250. package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
  1251. package/dist/esm/core/navigation/navigation.utils.js +190 -63
  1252. package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
  1253. package/dist/esm/core/navigation/sidebar-resource-browser-operation.d.ts +8 -0
  1254. package/dist/esm/core/navigation/sidebar-resource-browser-operation.d.ts.map +1 -0
  1255. package/dist/esm/core/navigation/sidebar-resource-browser-operation.js +27 -0
  1256. package/dist/esm/core/navigation/sidebar-resource-browser-operation.js.map +1 -0
  1257. package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.d.ts +64 -0
  1258. package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.d.ts.map +1 -0
  1259. package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.js +212 -0
  1260. package/dist/esm/core/navigation/useCurrentOrganizationHoldsUnrevokedScimToken.js.map +1 -0
  1261. package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts +1 -1
  1262. package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
  1263. package/dist/esm/core/navigation/useLauncherResolutionContext.js +17 -2
  1264. package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
  1265. package/dist/esm/core/navigation/useNavigationController.d.ts +1 -0
  1266. package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
  1267. package/dist/esm/core/navigation/useNavigationController.js +51 -67
  1268. package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
  1269. package/dist/esm/core/navigation/useNavigationRouterSync.d.ts.map +1 -1
  1270. package/dist/esm/core/navigation/useNavigationRouterSync.js +17 -1
  1271. package/dist/esm/core/navigation/useNavigationRouterSync.js.map +1 -1
  1272. package/dist/esm/core/navigation/useZoneEntryOrganizationHold.d.ts +17 -0
  1273. package/dist/esm/core/navigation/useZoneEntryOrganizationHold.d.ts.map +1 -0
  1274. package/dist/esm/core/navigation/useZoneEntryOrganizationHold.js +32 -0
  1275. package/dist/esm/core/navigation/useZoneEntryOrganizationHold.js.map +1 -0
  1276. package/dist/esm/core/navigation/zone-collapse.d.ts +2 -1
  1277. package/dist/esm/core/navigation/zone-collapse.d.ts.map +1 -1
  1278. package/dist/esm/core/navigation/zone-collapse.js +2 -1
  1279. package/dist/esm/core/navigation/zone-collapse.js.map +1 -1
  1280. package/dist/esm/core/navigation/zone-entry-organization.d.ts +34 -0
  1281. package/dist/esm/core/navigation/zone-entry-organization.d.ts.map +1 -0
  1282. package/dist/esm/core/navigation/zone-entry-organization.js +77 -0
  1283. package/dist/esm/core/navigation/zone-entry-organization.js.map +1 -0
  1284. package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts +15 -0
  1285. package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
  1286. package/dist/esm/core/requests/auth-refresh-resilience.frontend.js +24 -0
  1287. package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
  1288. package/dist/esm/core/requests/automatic-resend-safety.frontend.d.ts +74 -0
  1289. package/dist/esm/core/requests/automatic-resend-safety.frontend.d.ts.map +1 -0
  1290. package/dist/esm/core/requests/automatic-resend-safety.frontend.js +52 -0
  1291. package/dist/esm/core/requests/automatic-resend-safety.frontend.js.map +1 -0
  1292. package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
  1293. package/dist/esm/core/requests/websockets/WebSocketContext.js +31 -0
  1294. package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
  1295. package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
  1296. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js +2 -0
  1297. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
  1298. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +162 -98
  1299. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
  1300. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +283 -157
  1301. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
  1302. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts +9 -13
  1303. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
  1304. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js +45 -97
  1305. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
  1306. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +25 -5
  1307. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
  1308. package/dist/esm/core/requests/wildo-http-client.frontend.service.js +56 -11
  1309. package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
  1310. package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
  1311. package/dist/esm/core/resources/ScopedResourceRegistryProvider.js +1 -2
  1312. package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
  1313. package/dist/esm/core/resources/calendar-date-fields.frontend.utils.d.ts +14 -0
  1314. package/dist/esm/core/resources/calendar-date-fields.frontend.utils.d.ts.map +1 -0
  1315. package/dist/esm/core/resources/calendar-date-fields.frontend.utils.js +29 -0
  1316. package/dist/esm/core/resources/calendar-date-fields.frontend.utils.js.map +1 -0
  1317. package/dist/esm/core/resources/caller-identity-record.frontend.utils.d.ts +23 -0
  1318. package/dist/esm/core/resources/caller-identity-record.frontend.utils.d.ts.map +1 -0
  1319. package/dist/esm/core/resources/caller-identity-record.frontend.utils.js +26 -0
  1320. package/dist/esm/core/resources/caller-identity-record.frontend.utils.js.map +1 -0
  1321. package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts +1 -1
  1322. package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
  1323. package/dist/esm/core/resources/collection-export-url.frontend.utils.js +34 -16
  1324. package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
  1325. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts +54 -11
  1326. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts.map +1 -1
  1327. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js +131 -63
  1328. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js.map +1 -1
  1329. package/dist/esm/core/resources/date-filter-window.frontend.utils.d.ts +58 -0
  1330. package/dist/esm/core/resources/date-filter-window.frontend.utils.d.ts.map +1 -0
  1331. package/dist/esm/core/resources/date-filter-window.frontend.utils.js +70 -0
  1332. package/dist/esm/core/resources/date-filter-window.frontend.utils.js.map +1 -0
  1333. package/dist/esm/core/resources/frontend-resource.utils.d.ts +146 -7
  1334. package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
  1335. package/dist/esm/core/resources/frontend-resource.utils.js +194 -22
  1336. package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
  1337. package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts +18 -4
  1338. package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
  1339. package/dist/esm/core/resources/hooks/useOperationEnabled.js +26 -6
  1340. package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
  1341. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts +95 -2
  1342. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
  1343. package/dist/esm/core/resources/operation-semantics.frontend.utils.js +126 -13
  1344. package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
  1345. package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.d.ts +45 -0
  1346. package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.d.ts.map +1 -0
  1347. package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.js +46 -0
  1348. package/dist/esm/core/resources/read-through-organization-unit.frontend.utils.js.map +1 -0
  1349. package/dist/esm/core/resources/referenced-record-scope.frontend.utils.d.ts +46 -0
  1350. package/dist/esm/core/resources/referenced-record-scope.frontend.utils.d.ts.map +1 -0
  1351. package/dist/esm/core/resources/referenced-record-scope.frontend.utils.js +86 -0
  1352. package/dist/esm/core/resources/referenced-record-scope.frontend.utils.js.map +1 -0
  1353. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.d.ts.map +1 -1
  1354. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js +5 -1
  1355. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js.map +1 -1
  1356. package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts +28 -1
  1357. package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts.map +1 -1
  1358. package/dist/esm/core/resources/resource-addressability.frontend.utils.js +43 -3
  1359. package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
  1360. package/dist/esm/core/resources/resource-discriminators.frontend.utils.d.ts +26 -0
  1361. package/dist/esm/core/resources/resource-discriminators.frontend.utils.d.ts.map +1 -0
  1362. package/dist/esm/core/resources/resource-discriminators.frontend.utils.js +37 -0
  1363. package/dist/esm/core/resources/resource-discriminators.frontend.utils.js.map +1 -0
  1364. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts +40 -8
  1365. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
  1366. package/dist/esm/core/resources/resources-repository.frontend.service.js +333 -73
  1367. package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
  1368. package/dist/esm/core/resources/resources.frontend.schemas.d.ts +175 -65
  1369. package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
  1370. package/dist/esm/core/resources/resources.frontend.schemas.js +245 -75
  1371. package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
  1372. package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts +9 -1
  1373. package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
  1374. package/dist/esm/core/resources/rmm/HttpTransportAdapter.js +57 -22
  1375. package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
  1376. package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
  1377. package/dist/esm/core/resources/rmm/RMMRegistry.js +1 -0
  1378. package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
  1379. package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts +3 -0
  1380. package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
  1381. package/dist/esm/core/resources/rmm/ResourceMutationManager.js +94 -35
  1382. package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
  1383. package/dist/esm/core/resources/rmm/types.d.ts +58 -6
  1384. package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
  1385. package/dist/esm/core/resources/rmm/types.js +17 -0
  1386. package/dist/esm/core/resources/rmm/types.js.map +1 -1
  1387. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts +43 -6
  1388. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
  1389. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js +49 -6
  1390. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
  1391. package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
  1392. package/dist/esm/core/resources/rmm/useResourceMutationManager.js +2 -0
  1393. package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
  1394. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts +2 -0
  1395. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
  1396. package/dist/esm/core/resources/rmm/useResourceRMM.js +10 -3
  1397. package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
  1398. package/dist/esm/core/resources/temporal-day-groups.frontend.utils.d.ts +22 -0
  1399. package/dist/esm/core/resources/temporal-day-groups.frontend.utils.d.ts.map +1 -0
  1400. package/dist/esm/core/resources/temporal-day-groups.frontend.utils.js +31 -0
  1401. package/dist/esm/core/resources/temporal-day-groups.frontend.utils.js.map +1 -0
  1402. package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.d.ts +36 -0
  1403. package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.d.ts.map +1 -0
  1404. package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.js +88 -0
  1405. package/dist/esm/core/resources/ui-behavior-presentation.frontend.utils.js.map +1 -0
  1406. package/dist/esm/core/resources/useBulkJobProgress.d.ts +6 -0
  1407. package/dist/esm/core/resources/useBulkJobProgress.d.ts.map +1 -1
  1408. package/dist/esm/core/resources/useBulkJobProgress.js +1 -0
  1409. package/dist/esm/core/resources/useBulkJobProgress.js.map +1 -1
  1410. package/dist/esm/core/resources/useCollectionFilterPresetScope.d.ts +14 -0
  1411. package/dist/esm/core/resources/useCollectionFilterPresetScope.d.ts.map +1 -0
  1412. package/dist/esm/core/resources/useCollectionFilterPresetScope.js +29 -0
  1413. package/dist/esm/core/resources/useCollectionFilterPresetScope.js.map +1 -0
  1414. package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts +7 -6
  1415. package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
  1416. package/dist/esm/core/resources/useHostlessResourceNavigation.js +35 -21
  1417. package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
  1418. package/dist/esm/core/resources/useOperationDirectExecution.d.ts.map +1 -1
  1419. package/dist/esm/core/resources/useOperationDirectExecution.js +25 -10
  1420. package/dist/esm/core/resources/useOperationDirectExecution.js.map +1 -1
  1421. package/dist/esm/core/resources/useRecordSharing.d.ts +58 -0
  1422. package/dist/esm/core/resources/useRecordSharing.d.ts.map +1 -0
  1423. package/dist/esm/core/resources/useRecordSharing.js +220 -0
  1424. package/dist/esm/core/resources/useRecordSharing.js.map +1 -0
  1425. package/dist/esm/core/resources/useResourceLabels.d.ts +4 -1
  1426. package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
  1427. package/dist/esm/core/resources/useResourceLabels.js +31 -32
  1428. package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
  1429. package/dist/esm/core/resources/useResourceOperationActions.d.ts +23 -4
  1430. package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
  1431. package/dist/esm/core/resources/useResourceOperationActions.js +219 -51
  1432. package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
  1433. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts +10 -1
  1434. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts.map +1 -1
  1435. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js +7 -2
  1436. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js.map +1 -1
  1437. package/dist/esm/core/resources/useResourceOperationSurface.d.ts +5 -5
  1438. package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
  1439. package/dist/esm/core/resources/useResourceOperationSurface.js +5 -4
  1440. package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
  1441. package/dist/esm/core/resources/useResourceSelection.d.ts +6 -0
  1442. package/dist/esm/core/resources/useResourceSelection.d.ts.map +1 -1
  1443. package/dist/esm/core/resources/useResourceSelection.js.map +1 -1
  1444. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts +47 -0
  1445. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts.map +1 -1
  1446. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js +117 -4
  1447. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js.map +1 -1
  1448. package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
  1449. package/dist/esm/core/runtime/AppRouter.js +5 -2
  1450. package/dist/esm/core/runtime/AppRouter.js.map +1 -1
  1451. package/dist/esm/core/runtime/ApplicationMainContext.d.ts +10 -1
  1452. package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
  1453. package/dist/esm/core/runtime/ApplicationMainContext.js +17 -2
  1454. package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
  1455. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts +5 -0
  1456. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
  1457. package/dist/esm/core/runtime/domain-module.frontend.definitions.js +4 -2
  1458. package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
  1459. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +19 -3
  1460. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
  1461. package/dist/esm/core/runtime/routes.frontend.definitions.js +23 -7
  1462. package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
  1463. package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
  1464. package/dist/esm/core/runtime/start-application.frontend.service.js +3 -1
  1465. package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
  1466. package/dist/esm/core/scope/AppScopeContext.d.ts +7 -2
  1467. package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
  1468. package/dist/esm/core/scope/AppScopeContext.js +56 -10
  1469. package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
  1470. package/dist/esm/core/security/ApplicationRoleTablesContext.d.ts +23 -0
  1471. package/dist/esm/core/security/ApplicationRoleTablesContext.d.ts.map +1 -0
  1472. package/dist/esm/core/security/ApplicationRoleTablesContext.js +27 -0
  1473. package/dist/esm/core/security/ApplicationRoleTablesContext.js.map +1 -0
  1474. package/dist/esm/core/security/AuthSessionContext.d.ts +26 -8
  1475. package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
  1476. package/dist/esm/core/security/AuthSessionContext.js +81 -17
  1477. package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
  1478. package/dist/esm/core/security/RouteOrganizationDecisionContext.d.ts +13 -0
  1479. package/dist/esm/core/security/RouteOrganizationDecisionContext.d.ts.map +1 -0
  1480. package/dist/esm/core/security/RouteOrganizationDecisionContext.js +12 -0
  1481. package/dist/esm/core/security/RouteOrganizationDecisionContext.js.map +1 -0
  1482. package/dist/esm/core/security/StepUpAuthContext.js +5 -5
  1483. package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
  1484. package/dist/esm/core/security/UserOrgsContext.d.ts +13 -0
  1485. package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
  1486. package/dist/esm/core/security/UserOrgsContext.js +272 -103
  1487. package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
  1488. package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts +1 -0
  1489. package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
  1490. package/dist/esm/core/security/auth-redirect.frontend.utils.js +3 -2
  1491. package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
  1492. package/dist/esm/core/security/effective-permissions.frontend.utils.d.ts +43 -0
  1493. package/dist/esm/core/security/effective-permissions.frontend.utils.d.ts.map +1 -0
  1494. package/dist/esm/core/security/effective-permissions.frontend.utils.js +73 -0
  1495. package/dist/esm/core/security/effective-permissions.frontend.utils.js.map +1 -0
  1496. package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts +175 -5
  1497. package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts.map +1 -1
  1498. package/dist/esm/core/security/route-organization-access.frontend.utils.js +147 -6
  1499. package/dist/esm/core/security/route-organization-access.frontend.utils.js.map +1 -1
  1500. package/dist/esm/core/security/security.frontend.schemas.d.ts +17 -5
  1501. package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
  1502. package/dist/esm/core/security/security.frontend.schemas.js +0 -5
  1503. package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
  1504. package/dist/esm/core/security/useApplicationRoleTables.d.ts +3 -0
  1505. package/dist/esm/core/security/useApplicationRoleTables.d.ts.map +1 -0
  1506. package/dist/esm/core/security/useApplicationRoleTables.js +11 -0
  1507. package/dist/esm/core/security/useApplicationRoleTables.js.map +1 -0
  1508. package/dist/esm/core/security/useRouteOrganizationAccess.d.ts +9 -0
  1509. package/dist/esm/core/security/useRouteOrganizationAccess.d.ts.map +1 -1
  1510. package/dist/esm/core/security/useRouteOrganizationAccess.js +31 -10
  1511. package/dist/esm/core/security/useRouteOrganizationAccess.js.map +1 -1
  1512. package/dist/esm/core/security/useRouteOrganizationFollow.d.ts +24 -0
  1513. package/dist/esm/core/security/useRouteOrganizationFollow.d.ts.map +1 -0
  1514. package/dist/esm/core/security/useRouteOrganizationFollow.js +76 -0
  1515. package/dist/esm/core/security/useRouteOrganizationFollow.js.map +1 -0
  1516. package/dist/esm/core/ui/UIContext.d.ts +25 -2
  1517. package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
  1518. package/dist/esm/core/ui/UIContext.js +49 -37
  1519. package/dist/esm/core/ui/UIContext.js.map +1 -1
  1520. package/dist/esm/core/ui/design-token.utils.d.ts +0 -11
  1521. package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
  1522. package/dist/esm/core/ui/design-token.utils.js +51 -83
  1523. package/dist/esm/core/ui/design-token.utils.js.map +1 -1
  1524. package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
  1525. package/dist/esm/core/ui/themes/default.theme.js +151 -59
  1526. package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
  1527. package/dist/esm/core/ui/themes/focus-indicator.d.ts +221 -0
  1528. package/dist/esm/core/ui/themes/focus-indicator.d.ts.map +1 -0
  1529. package/dist/esm/core/ui/themes/focus-indicator.js +229 -0
  1530. package/dist/esm/core/ui/themes/focus-indicator.js.map +1 -0
  1531. package/dist/esm/core/ui/ui.frontend.schemas.d.ts +7 -0
  1532. package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
  1533. package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
  1534. package/dist/esm/core/ui/useThemePreferenceControl.js +1 -2
  1535. package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
  1536. package/dist/esm/index.d.ts +34 -0
  1537. package/dist/esm/index.d.ts.map +1 -1
  1538. package/dist/esm/index.js +45 -7
  1539. package/dist/esm/index.js.map +1 -1
  1540. package/dist/esm/tailwind/index.d.ts.map +1 -1
  1541. package/dist/esm/tailwind/index.js +3 -0
  1542. package/dist/esm/tailwind/index.js.map +1 -1
  1543. package/dist/esm/testing/app-shell-placement-coverage.d.ts.map +1 -1
  1544. package/dist/esm/testing/app-shell-placement-coverage.js +6 -2
  1545. package/dist/esm/testing/app-shell-placement-coverage.js.map +1 -1
  1546. package/dist/esm/testing/mock-builders.d.ts +13 -1
  1547. package/dist/esm/testing/mock-builders.d.ts.map +1 -1
  1548. package/dist/esm/testing/mock-builders.js +35 -1
  1549. package/dist/esm/testing/mock-builders.js.map +1 -1
  1550. package/dist/esm/testing/rmm-helpers.d.ts +5 -3
  1551. package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
  1552. package/dist/esm/testing/rmm-helpers.js +3 -0
  1553. package/dist/esm/testing/rmm-helpers.js.map +1 -1
  1554. package/dist/esm/testing/test-providers.d.ts.map +1 -1
  1555. package/dist/esm/testing/test-providers.js +3 -0
  1556. package/dist/esm/testing/test-providers.js.map +1 -1
  1557. package/package.json +7 -6
  1558. package/dist/esm/components/flows-actors/flow-node.d.ts +0 -28
  1559. package/dist/esm/components/flows-actors/flow-node.d.ts.map +0 -1
  1560. package/dist/esm/components/flows-actors/flow-node.js +0 -115
  1561. package/dist/esm/components/flows-actors/flow-node.js.map +0 -1
  1562. package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts +0 -30
  1563. package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts.map +0 -1
  1564. package/dist/esm/components/resources/CollectionSelectionHeaderRail.js +0 -17
  1565. package/dist/esm/components/resources/CollectionSelectionHeaderRail.js.map +0 -1
  1566. package/dist/tsconfig.build.tsbuildinfo +0 -1
@@ -18,6 +18,7 @@
18
18
  * | `useNavigationRouterSync.ts` | what a URL means — deep links, back/forward, hosted panes |
19
19
  * | `navigation-cascade.ts` | what fills the zones nobody clicked |
20
20
  * | `navigation-controller-internals.ts` | the debug channel and the browser-URL write |
21
+ * | `navigation-commit.ts` | the commit a shell layout may wrap (a view transition between the two screens) |
21
22
  */
22
23
  import { createContext, useCallback, useContext, useMemo, useRef, } from 'react';
23
24
  import { useNavigate, useLocation, } from 'react-router-dom';
@@ -40,7 +41,6 @@ import { NavigationUtils } from './navigation.utils.js';
40
41
  import { emitFreshStartNavigationCleanup, emitOverlayBreakoutCleanup } from './navigation-clean-break.frontend.utils.js';
41
42
  import { CommonRoutePaths } from '../../core/runtime/routes.frontend.definitions.js';
42
43
  import { frontendResourceUtils, } from '../../core/resources/frontend-resource.utils.js';
43
- import { resolveActionPresentationTransition, resolveEffectiveCoreOperationFromOperation, resolveResourceOperationActionPresentation, } from '../../core/resources/operation-semantics.frontend.utils.js';
44
44
  import { InPlaceOperationTargetKind, useInPlaceOperation, } from '../../core/resources/in-place/InPlaceOperationContext.js';
45
45
  const logger = LoggerFrontendService.getLogger();
46
46
  /**
@@ -53,7 +53,8 @@ const logger = LoggerFrontendService.getLogger();
53
53
  const reportedSplitEscalations = new Set();
54
54
  import { LoggerFrontendService } from '../../core/monitoring/logger.frontend.service.js';
55
55
  import { NavigationPlacementAdjustment } from './navigation.schemas.js';
56
- import { logDebug, resourceOperationOwnsBrowserUrl, updateBrowserUrl } from './navigation-controller-internals.js';
56
+ import { runNavigationCommit } from './navigation-commit.js';
57
+ import { deriveOperationResolutionInputs, logDebug, resourceOperationOwnsBrowserUrl, updateBrowserUrl } from './navigation-controller-internals.js';
57
58
  import { cascadeAncestorZones } from './navigation-cascade.js';
58
59
  /**
59
60
  * Scoped override for {@link useNavigationController}.
@@ -153,7 +154,7 @@ export function useGlobalNavigationController() {
153
154
  try {
154
155
  logDebug('navigate() called', { contentType: content.contentType, sourceZone: initiator.sourceZone, urlPath });
155
156
  // The Settings Hub is URL-driven: it reconstructs into the overlay from its
156
- // route via `useSettingsHubRouterSync`. Zone resolution would push it into a
157
+ // route via `useSettingsHubOverlaySync`. Zone resolution would push it into a
157
158
  // structural zone (the controller never updates the URL for overlay entries
158
159
  // — see `isStructuralZone` below), so instead navigate to its route and let
159
160
  // the route sync own the overlay. Every launcher caller that dispatches
@@ -206,11 +207,10 @@ export function useGlobalNavigationController() {
206
207
  }
207
208
  }
208
209
  let isAddressable = false;
209
- let operationSurface;
210
- let operationOverrides;
211
- let actionPresentation;
212
- let actionPresentationTransition;
213
- let actionPresentationIsAuthored = false;
210
+ // What the content states about itself for the resolver — the same derivation a reload restores a pane
211
+ // from (`restoredEntryIsPersistent`, #2130), so a click and a reload cannot read the operation differently.
212
+ const operationInputs = deriveOperationResolutionInputs(content);
213
+ const operationSurface = operationInputs.operationSurface;
214
214
  let selectedRoutePathParameters;
215
215
  let selectedRouteTemplateUrl = urlPath;
216
216
  let selectedResolvedUrl;
@@ -219,16 +219,6 @@ export function useGlobalNavigationController() {
219
219
  let enrichedContent = content;
220
220
  if (NavigationUtils.isResourceOperationContent(content)) {
221
221
  const operation = content.resourceContext.operation;
222
- operationOverrides = operation?.operationFrontendConfig?.navigationOverrides;
223
- operationSurface = operation?.operationFrontendConfig?.surface;
224
- // The action-presentation ALIAS, read from the same place as the two lines above rather than
225
- // threaded in by the caller. Navigation is reached from several action surfaces (the item bar,
226
- // the bulk bar, the collection toolbar, a breadcrumb, a picker) and a parameter would have to
227
- // be passed correctly by every one of them; reading it off the operation means it cannot be
228
- // forgotten at a call site.
229
- actionPresentation = resolveResourceOperationActionPresentation(operation);
230
- actionPresentationTransition = resolveActionPresentationTransition(actionPresentation);
231
- actionPresentationIsAuthored = operation?.operationFrontendConfig?.actionPresentation !== undefined;
232
222
  // ─── F4: headless content is not navigable — refuse loud ─────────
233
223
  // An API_ONLY operation has NO rendered interface by contract; pushing
234
224
  // it as zone content produces a broken page. Callers are supposed to
@@ -385,17 +375,11 @@ export function useGlobalNavigationController() {
385
375
  // Derive source zone for resolution context — map initiator.sourceZone
386
376
  // to the resolver's expected discriminant (NavigationZoneName | 'appLevel' | 'overlay')
387
377
  const sourceZone = initiator.sourceZone;
388
- // Extract operation identifier for policy resolution
389
- const operationIdentifier = NavigationUtils.isResourceOperationContent(enrichedContent)
390
- ? (enrichedContent.resourceContext.operation?.operationIdentifier ?? CoreResourceOperation.LIST)
391
- : CoreResourceOperation.LIST;
392
- const effectiveOperation = NavigationUtils.isResourceOperationContent(enrichedContent)
393
- ? resolveEffectiveCoreOperationFromOperation(enrichedContent.resourceContext.operation)
394
- : CoreResourceOperation.LIST;
395
- // Extract target resource type for resolution context
396
- const targetResourceType = NavigationUtils.isResourceOperationContent(enrichedContent)
397
- ? enrichedContent.resourceContext.resourceType
398
- : undefined;
378
+ // Enrichment changes only context identifiers, so the operation, its meaning and the resource type are the
379
+ // content's own (`operationInputs` above).
380
+ const operationIdentifier = operationInputs.operation;
381
+ const effectiveOperation = operationInputs.effectiveOperation;
382
+ const targetResourceType = operationInputs.resourceType;
399
383
  // Derive focusedZone — only meaningful when sourceZone is a structural zone
400
384
  const focusedZone = (sourceZone !== APP_LEVEL_NAVIGATION_SOURCE && sourceZone !== NavigationZone.OVERLAY)
401
385
  ? sourceZone
@@ -403,13 +387,7 @@ export function useGlobalNavigationController() {
403
387
  // Build v3 resolution context — target is determined by policy, not caller
404
388
  const resolutionContext = {
405
389
  sourceZone: sourceZone,
406
- operation: operationIdentifier,
407
- effectiveOperation,
408
- resourceType: targetResourceType,
409
- operationSurface,
410
- operationOverrides: operationOverrides,
411
- actionPresentationTransition,
412
- actionPresentationIsAuthored,
390
+ ...operationInputs,
413
391
  relationshipTransition,
414
392
  relationshipMaxDepth,
415
393
  viewport: currentBreakpoint,
@@ -679,36 +657,40 @@ export function useGlobalNavigationController() {
679
657
  return;
680
658
  }
681
659
  logDebug('Emitting navigation event', { event: emitsPush ? 'PUSH' : 'REPLACE', zone: resolution.targetZone, finalUrlPath, hostedPane, stacksOnOverlay });
682
- if (emitsPush) {
683
- emit(FrontendEvents.NAVIGATION_PUSH, eventPayload);
684
- }
685
- else {
686
- // PROMOTE, REPLACE, SPLIT and INPLACE all emit as REPLACE; so does an OVERLAY opened from a
687
- // structural zone, which is the first entry of an empty stack.
688
- emit(FrontendEvents.NAVIGATION_REPLACE, eventPayload);
689
- }
690
- // Update browser URL for addressable operations in structural zones
691
- if (shouldUpdateUrl && finalUrlPath) {
692
- const isReplaceLike = replaceBrowserHistory === true
693
- || resolution.transition === NavigationTransition.REPLACE
694
- || resolution.transition === NavigationTransition.PROMOTE;
695
- /*
696
- * The composer decides for the two zones whose address depends on ANOTHER zone: a hosted
697
- * SECONDARY rides on the host's URL, and a COMPANION beside a hosted secondary must not
698
- * overwrite that URL — it used to write its own bare address, which dropped `?pane=` and made
699
- * the pane reconciler clear the secondary the moment the companion opened.
700
- */
701
- const browserUrl = hostedPane || resolution.targetZone === NavigationZoneName.COMPANION
702
- ? NavigationUtils.resolveBrowserUrlForZoneEntry({
703
- zone: resolution.targetZone,
704
- entryUrlPath: finalUrlPath,
705
- paneContent: enrichedContent,
706
- currentBrowserUrl: currentBrowserUrlRef.current,
707
- getZoneState,
708
- }) ?? finalUrlPath
709
- : finalUrlPath;
710
- updateBrowserUrl(routerNavigate, browserUrl, isReplaceLike);
711
- }
660
+ // The commit: the zone-state emit and the URL update, in one synchronous step a shell layout may wrap (a view
661
+ // transition from the pressed row, #2055). See `navigation-commit.ts`.
662
+ runNavigationCommit(() => {
663
+ if (emitsPush) {
664
+ emit(FrontendEvents.NAVIGATION_PUSH, eventPayload);
665
+ }
666
+ else {
667
+ // PROMOTE, REPLACE, SPLIT and INPLACE all emit as REPLACE; so does an OVERLAY opened from a
668
+ // structural zone, which is the first entry of an empty stack.
669
+ emit(FrontendEvents.NAVIGATION_REPLACE, eventPayload);
670
+ }
671
+ // Update browser URL for addressable operations in structural zones
672
+ if (shouldUpdateUrl && finalUrlPath) {
673
+ const isReplaceLike = replaceBrowserHistory === true
674
+ || resolution.transition === NavigationTransition.REPLACE
675
+ || resolution.transition === NavigationTransition.PROMOTE;
676
+ /*
677
+ * The composer decides for the two zones whose address depends on ANOTHER zone: a hosted
678
+ * SECONDARY rides on the host's URL, and a COMPANION beside a hosted secondary must not
679
+ * overwrite that URL — it used to write its own bare address, which dropped `?pane=` and made
680
+ * the pane reconciler clear the secondary the moment the companion opened.
681
+ */
682
+ const browserUrl = hostedPane || resolution.targetZone === NavigationZoneName.COMPANION
683
+ ? NavigationUtils.resolveBrowserUrlForZoneEntry({
684
+ zone: resolution.targetZone,
685
+ entryUrlPath: finalUrlPath,
686
+ paneContent: enrichedContent,
687
+ currentBrowserUrl: currentBrowserUrlRef.current,
688
+ getZoneState,
689
+ }) ?? finalUrlPath
690
+ : finalUrlPath;
691
+ updateBrowserUrl(routerNavigate, browserUrl, isReplaceLike);
692
+ }
693
+ }, { zone: resolution.targetZone });
712
694
  }
713
695
  catch (error) {
714
696
  logger.error('useNavigationController navigation failed', {
@@ -843,7 +825,9 @@ function resolveInPlaceTargetForContent(content, effectiveOperation) {
843
825
  || effectiveOperation === CoreResourceOperation.CREATE_MANY) {
844
826
  return { kind: InPlaceOperationTargetKind.CREATE, operation, resourceContext };
845
827
  }
846
- const elementId = frontendResourceUtils.getResourceId(resourceContext.contextResourceIdentifiers?.[resourceContext.resourceType]);
828
+ // The element is the record the operation ADDRESSES. A collection or bulk operation addresses none, and its type
829
+ // slot holds at most ambient scope (the app scope injected above), so it has no element to transform in place.
830
+ const elementId = frontendResourceUtils.getAddressedRecordId(resourceContext);
847
831
  return elementId
848
832
  ? { kind: InPlaceOperationTargetKind.ELEMENT, elementId, operation, resourceContext }
849
833
  : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigationController.js","sourceRoot":"","sources":["../../../../../src/core/navigation/useNavigationController.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The navigation CONTROLLER: what a click does.\n *\n * `navigate()` resolves a navigation request through `navigationPolicyResolver`, applies the\n * outcome (clean breaks, in-place hand-off, promote, the cascade) and emits the placement. It is the\n * click path; the URL path lives in `useNavigationRouterSync.ts`.\n *\n * ## The split, 2026-09-25\n *\n * This module was 2,322 lines holding click resolution, URL reconciliation, the ancestor cascade,\n * clean breaks, dismiss and the emit bridge. The seam was measured rather than guessed: the\n * router-sync half used exactly THREE symbols from the controller half — `logDebug` and the two\n * cascade functions — so it came out at a cost of two shared modules and no behaviour change.\n *\n * | module | answers |\n * |---|---|\n * | this one | what a CLICK does |\n * | `useNavigationRouterSync.ts` | what a URL means — deep links, back/forward, hosted panes |\n * | `navigation-cascade.ts` | what fills the zones nobody clicked |\n * | `navigation-controller-internals.ts` | the debug channel and the browser-URL write |\n */\n\nimport {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useRef,\n} from 'react';\nimport {\n useNavigate,\n useLocation,\n} from 'react-router-dom';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { useNavigationState } from './useNavigationState';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { ScopeUtilsService } from '~wildo-frontend-lib/core/scope/scope.utils.frontend.service';\nimport {\n buildChartRouteUrlPath,\n} from '~wildo-frontend-lib/core/config/chart-view.frontend.schemas';\nimport {\n buildCompositeRouteUrlPath,\n} from '~wildo-frontend-lib/core/config/composite-view.schemas';\nimport {\n buildExecutionRouteUrlPath,\n resolveExecutionViewDefinition,\n} from '~wildo-frontend-lib/core/config/execution-view.schemas';\nimport {\n FrontendEvents,\n FrontendEvent_NavigationPush,\n FrontendEvent_NavigationReplace,\n} from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport {\n NavigationZone,\n NavigationContent,\n NavigationContentType,\n NavigationInitiatorContext,\n NAVIGATION_STRUCTURAL_ZONES,\n APP_LEVEL_NAVIGATION_SOURCE,\n type NavigationResolutionContext,\n} from './navigation.schemas';\nimport {\n NavigationTransition,\n NavigationZoneName,\n CoreResourceOperation,\n ResourceConfiguration_Operation_UrlParameterInfo,\n ResourceOperationFrontendSurface,\n type TransitionConfig,\n} from '@wildo-ai/saas-models';\nimport type {\n FrontendResourceConfiguration_Operation,\n} from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport {\n navigationPolicyResolver,\n} from './navigation-policy-resolver.service';\nimport { NavigationSource } from './navigation.schemas';\nimport { NavigationUtils } from './navigation.utils';\nimport { emitFreshStartNavigationCleanup, emitOverlayBreakoutCleanup } from './navigation-clean-break.frontend.utils';\nimport { CommonRoutePaths } from '~wildo-frontend-lib/core/runtime/routes.frontend.definitions';\nimport { FrontendResourceOperationContext } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport {\n frontendResourceUtils,\n} from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport {\n resolveActionPresentationTransition,\n resolveEffectiveCoreOperationFromOperation,\n resolveResourceOperationActionPresentation,\n} from '~wildo-frontend-lib/core/resources/operation-semantics.frontend.utils';\nimport {\n InPlaceOperationTargetKind,\n useInPlaceOperation,\n type InPlaceOperationTarget,\n} from '~wildo-frontend-lib/core/resources/in-place/InPlaceOperationContext';\nimport type { ResourceOperationActionPresentation } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\n\nconst logger: LoggerFrontendService = LoggerFrontendService.getLogger();\n\n/**\n * Resource+operation pairs whose escalated SPLIT has already been reported.\n *\n * Module-level on purpose: the report is about a DECLARATION, which does not change while the page\n * is loaded, so one line per authored mistake is the useful volume — a fifty-row listing that warned\n * per click would be noise nobody reads.\n */\nconst reportedSplitEscalations = new Set<string>();\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { NavigationPlacementAdjustment } from './navigation.schemas';\nimport { logDebug, resourceOperationOwnsBrowserUrl, updateBrowserUrl } from './navigation-controller-internals';\nimport { cascadeAncestorZones } from './navigation-cascade';\n\n/**\n * Navigation request options\n *\n * Note: Navigation target is ALWAYS determined by the NavigationPolicy.\n * There is no preferredTarget option to ensure consistent navigation behavior.\n */\nexport interface NavigateOptions {\n content: NavigationContent;\n initiator: NavigationInitiatorContext;\n urlPath?: string;\n contextResourceIdentifiers?: Record<string, string>;\n /**\n * Transition config from a relationship's `display.inParentNavigation.transition`.\n * When navigating via a parent→child relationship, the caller passes\n * the configured transition so the resolver can honour relationship-level\n * overrides (including ephemeral/persistent lifecycle modifiers).\n */\n relationshipTransition?: TransitionConfig;\n /**\n * `RelationshipDisplayConfig.maxDepth` for the relationship being traversed — the per-relationship\n * override of `NavigationLayout.maxDepth`.\n *\n * Travels beside `relationshipTransition` and for the same reason: only the call site knows which\n * relationship it is rendering. A nested container passes both from one `config`.\n */\n relationshipMaxDepth?: number;\n /**\n * Force the browser URL update to replace the current history entry.\n *\n * Used by navigation flows like Home where runtime semantics must still go\n * through the controller/app-level pipeline, but the browser should not keep\n * the transient source route as a back-stack entry.\n */\n replaceBrowserHistory?: boolean;\n}\n\n/**\n * Navigation helpers return type\n */\nexport interface NavigationController {\n /**\n * Navigate to content - resolves target using navigation policy\n */\n navigate: (options: NavigateOptions) => void;\n\n /**\n * Navigate to a resource operation\n * @param resourceContext - The resource operation context\n * @param initiator - Full initiator context for policy resolution\n * @param urlPath - Optional URL path for addressable operations\n * @param transitionOverride - Optional caller-forced transition that overrides\n * source-zone policy (e.g. `PROMOTE` to break a post-mutation reveal out of\n * an overlay into a structural zone).\n */\n navigateToResource: ( resourceContext: FrontendResourceOperationContext, initiator: NavigationInitiatorContext, urlPath?: string, transitionOverride?: TransitionConfig ) => void;\n\n goBack: (zone?: NavigationZone) => void;\n /**\n * Close the TOP overlay — the dialog the reader is dismissing — and reveal whatever it was opened\n * over, including another overlay.\n *\n * It used to clear the whole overlay stack. Overlays do stack (an Edit opened from a Read shown as\n * an overlay), so Cancel, Escape, the close button or a click outside discarded both layers where\n * the reader had dismissed one. Every caller — the dialog chrome, the create and update surfaces,\n * the SAML wizard — means \"close this dialog\". Clearing every overlay is a reset, not a dismissal,\n * and the one path that wants it (switching organization) clears the stack directly.\n */\n closeOverlay: () => void;\n /** Close an adjacent structural pane outright — see the implementation for why this is not `goBack`. */\n dismissZone: (zone: NavigationZoneName) => void;\n canGoBack: (zone: NavigationZone) => boolean;\n\n /**\n * Current resource relationship depth (for external use)\n */\n resourceRelationshipDepth: number;\n}\n\n/**\n * Scoped override for {@link useNavigationController}.\n *\n * When a provider supplies a controller here (e.g. the Settings Hub's\n * per-section navigation host), `useNavigationController()` returns IT instead of\n * the global controller — so resource surfaces rendered inside that provider\n * drill / go back / run post-action navigation **within** the host's own stack\n * rather than escaping to the global zones (which, for an overlay-hosted surface,\n * means leaving the hub and 404-ing on unregistered routes). `null` (the default)\n * means \"use the global controller\", so every consumer outside such a provider is\n * byte-for-byte unchanged.\n */\nexport const ScopedNavigationControllerContext = createContext<NavigationController | null>(null);\n\n/**\n * Builds the global navigation controller — the app-level zone/URL navigation\n * pipeline. Most code should call {@link useNavigationController} (which returns a\n * scoped override when one is in context); call this directly only from\n * navigation-runtime internals that must always target the global zones, or from\n * a scoped provider that needs the global controller to delegate to.\n */\nexport function useGlobalNavigationController(): NavigationController {\n const { emit } = useEventBus();\n const { resourceRelationshipDepth: currentResourceRelationshipDepth, getZoneDepth, getZoneState, contentAreaWidth } = useNavigationState();\n const { navigationLayout, currentBreakpoint, compositeViews, fullCustomViews, flowsActorsViews } = useUI();\n const { user } = useUserOrgs();\n const appScope = useAppScopeSafe();\n const { registry, getOperationContextNeeds } = useResourceRegistry();\n const routerNavigate = useNavigate();\n const latestNavigateRequestIdRef = useRef(0);\n /*\n * The LIVE browser URL, read through a ref so `navigate()` and `goBack()` compose a hosted pane's\n * URL from the host's CURRENT view state (`?section=` and the like) rather than from the stamp the\n * primary entry took when it was placed. A ref rather than a dependency: the callbacks below are\n * handed to every action surface, and re-creating them on every location change would re-render\n * every consumer for a value they read only at the instant they fire.\n */\n const location = useLocation();\n const currentBrowserUrlRef = useRef<string>(NavigationUtils.buildBrowserUrl(location.pathname, location.search));\n currentBrowserUrlRef.current = NavigationUtils.buildBrowserUrl(location.pathname, location.search);\n // The element-level host, read from context so the NEAREST collection wins — see the INPLACE\n // branch in navigateToResource. UNAVAILABLE (never undefined) on every surface that has none.\n const inPlaceHost = useInPlaceOperation();\n\n // Note: Context identifiers are now computed per-navigation call with scope filtering\n // to prevent border effects where unrelated identifiers leak into the navigation chain\n\n /**\n * Main navigate function\n * Navigation target is determined purely by the NavigationPolicy - no overrides allowed.\n *\n * contextResourceIdentifiers are merged with global scope identifiers from AppScope:\n * - Global identifiers (organizationId, userId, applicationId, etc.) are injected automatically\n * - Explicit contextResourceIdentifiers override the global values\n *\n * IMPORTANT: The merged identifiers are also injected into the content's resourceContext\n * so that list/read/etc. components have access to parent resource IDs for API calls.\n */\n /**\n * Go back in a specific zone's stack.\n */\n const goBack = useCallback((zone: NavigationZone = NavigationZoneName.PRIMARY) => {\n const zoneState = getZoneState(zone);\n \n /*\n * The ONE go-back resolver, shared with the router error boundary and the feature-route guard,\n * so a hosted pane's URL is composed under its host everywhere \"back\" can be reached. The POP\n * is emitted whenever there is something to pop; the URL is written only when the resolver\n * produced one (a previous entry with no address of its own leaves the URL alone, as before).\n */\n if (zoneState.stack.length === 0) return;\n\n /*\n * The OVERLAY layer is not URL-addressed, so there is no browser URL to compose for it — popping\n * is the whole gesture. `resolveGoBackTarget` is typed for STRUCTURAL zones and reached here\n * through an `as NavigationZoneName` cast, which is a lie for this argument: with one entry left\n * it would have asked `resolveZoneDismissUrl` — a HOSTED-PANE composer — about the overlay layer.\n * Harmless only because an overlay entry carries no `urlPath`; the branch is what should say so.\n */\n if (zone === NavigationZone.OVERLAY) {\n emit(FrontendEvents.NAVIGATION_POP, { zone });\n return;\n }\n\n const target = NavigationUtils.resolveGoBackTarget({\n zone,\n currentBrowserUrl: currentBrowserUrlRef.current,\n getZoneState,\n });\n if (!target) return;\n emit(FrontendEvents.NAVIGATION_POP, { zone });\n if (target.browserUrl) {\n updateBrowserUrl(routerNavigate, target.browserUrl, true);\n }\n }, [emit, getZoneState, routerNavigate]);\n\n const navigate = useCallback((options: NavigateOptions) => {\n const requestId = ++latestNavigateRequestIdRef.current;\n\n void (async () => {\n let {\n content,\n initiator,\n urlPath,\n contextResourceIdentifiers,\n relationshipTransition,\n relationshipMaxDepth,\n replaceBrowserHistory,\n } = options;\n try {\n\n logDebug('navigate() called', { contentType: content.contentType, sourceZone: initiator.sourceZone, urlPath });\n\n // The Settings Hub is URL-driven: it reconstructs into the overlay from its\n // route via `useSettingsHubRouterSync`. Zone resolution would push it into a\n // structural zone (the controller never updates the URL for overlay entries\n // — see `isStructuralZone` below), so instead navigate to its route and let\n // the route sync own the overlay. Every launcher caller that dispatches\n // SETTINGS_HUB content therefore converges on one URL-first path.\n if (content.contentType === NavigationContentType.SETTINGS_HUB) {\n routerNavigate(urlPath ?? CommonRoutePaths.settings);\n return;\n }\n\n if (!navigationLayout) {\n logDebug('navigate() aborted: no navigationLayout');\n return;\n }\n\n // Extract primaryScope from target content to filter context identifiers\n // This prevents border effects where identifiers from one scope leak into another\n const targetPrimaryScope = ScopeUtilsService.extractPrimaryScopeFromContent(\n content,\n registry,\n compositeViews,\n fullCustomViews,\n flowsActorsViews,\n );\n\n // Get scope-filtered global identifiers - only inject identifiers relevant to target's primaryScope\n const primaryScopeInitiatorIds = ScopeUtilsService.buildInitiatorIds({\n userId: appScope?.currentUserId,\n organizationId: appScope?.currentOrganizationId,\n applicationId: appScope?.currentApplicationId,\n anonymousUserId: appScope?.currentAnonymousUserId,\n });\n const scopeFilteredGlobalIdentifiers = ScopeUtilsService.primaryScopeToContextIdentifiers(\n primaryScopeInitiatorIds,\n targetPrimaryScope\n );\n\n // Custom scope identifiers (resourceType-keyed) from AppScopeContext.\n // Duplicate resourceType declarations are rejected during config validation\n // and AppScopeContext initialization, so this map stays semantically unique.\n const appScopeIdentifiers: Record<string, string> = appScope?.buildContextResourceIdentifiers() ?? {};\n\n // Candidate identifiers for route-path selection (strict relevance applied after selection).\n // Explicit identifiers override everything else.\n const contentProvidedContextIdentifiers: Record<string, string> =\n NavigationUtils.isResourceOperationContent(content)\n ? ((content.resourceContext.contextResourceIdentifiers as any) ?? {})\n : {};\n const candidateContextIdentifiers: Record<string, string> = {\n ...scopeFilteredGlobalIdentifiers,\n ...appScopeIdentifiers,\n ...contentProvidedContextIdentifiers,\n ...contextResourceIdentifiers,\n };\n\n // Normalize candidate identifiers for URL building / route matching\n // (context identifiers may be objects like { fieldIdentifier, resourceId }).\n const normalizedCandidateContextIdentifiers: Record<string, string> = {};\n for (const [resType, rawValue] of Object.entries(candidateContextIdentifiers)) {\n const resourceId = frontendResourceUtils.getResourceId(rawValue as any);\n if (resourceId) {\n normalizedCandidateContextIdentifiers[resType] = resourceId;\n const explicitFieldIdentifier = frontendResourceUtils.getFieldIdentifier(rawValue as any);\n if (explicitFieldIdentifier) {\n normalizedCandidateContextIdentifiers[explicitFieldIdentifier] = resourceId;\n }\n }\n }\n\n let isAddressable = false;\n let operationSurface: ResourceOperationFrontendSurface | undefined;\n let operationOverrides: any[] | undefined;\n let actionPresentation: ResourceOperationActionPresentation | undefined;\n let actionPresentationTransition: NavigationTransition | undefined;\n let actionPresentationIsAuthored = false;\n let selectedRoutePathParameters: ResourceConfiguration_Operation_UrlParameterInfo[] | undefined;\n let selectedRouteTemplateUrl: string | undefined = urlPath;\n let selectedResolvedUrl: string | undefined;\n\n // Create a copy of content with merged context identifiers injected\n // This ensures list/read components have access to parent resource IDs\n let enrichedContent = content;\n\n if (NavigationUtils.isResourceOperationContent(content)) {\n const operation = content.resourceContext.operation;\n operationOverrides = operation?.operationFrontendConfig?.navigationOverrides;\n operationSurface = operation?.operationFrontendConfig?.surface;\n\n // The action-presentation ALIAS, read from the same place as the two lines above rather than\n // threaded in by the caller. Navigation is reached from several action surfaces (the item bar,\n // the bulk bar, the collection toolbar, a breadcrumb, a picker) and a parameter would have to\n // be passed correctly by every one of them; reading it off the operation means it cannot be\n // forgotten at a call site.\n actionPresentation = resolveResourceOperationActionPresentation(operation);\n actionPresentationTransition = resolveActionPresentationTransition(actionPresentation);\n actionPresentationIsAuthored = operation?.operationFrontendConfig?.actionPresentation !== undefined;\n\n // ─── F4: headless content is not navigable — refuse loud ─────────\n // An API_ONLY operation has NO rendered interface by contract; pushing\n // it as zone content produces a broken page. Callers are supposed to\n // pre-filter (action bars, breadcrumb, pickers all do), but the\n // chokepoint must not depend on N callers remembering — refuse here,\n // with an error the author can act on, and navigate nothing.\n if (operationSurface === ResourceOperationFrontendSurface.API_ONLY) {\n logger.error('[useNavigationController] refused navigation to API_ONLY (headless) operation — it has no rendered interface', {\n resourceType: content.resourceContext.resourceType,\n operationIdentifier: String(operation?.operationIdentifier),\n sourceZone: initiator.sourceZone,\n });\n return;\n }\n\n // Use unified URL resolver to select the best route path\n const resourceType = content.resourceContext.resourceType;\n const resourceConfig = registry.resourceConfigurations?.[resourceType];\n if (resourceConfig) {\n const resolved = NavigationUtils.resolveResourceUrl(\n resourceConfig as any,\n operation as any,\n normalizedCandidateContextIdentifiers,\n registry.allResourceFieldIdentifiers,\n content.resourceContext.parentResourcesRequirements as any\n );\n if (resolved) {\n selectedRouteTemplateUrl = resolved.templateUrl;\n selectedRoutePathParameters = resolved.routePathParameters;\n selectedResolvedUrl = resolved.resolvedUrl;\n }\n }\n // Declared-surface gate first: an EMBEDDED/API_ONLY operation never\n // claims addressability, however resolvable its pattern URL is. This\n // both suppresses the browser-URL write (see shouldUpdateUrl below) and\n // keeps the policy resolver's `isAddressable` input truthful.\n isAddressable = resourceOperationOwnsBrowserUrl(operation) && Boolean(selectedResolvedUrl ?? urlPath);\n\n // Strict relevance for navigation context:\n // only inject identifiers that the selected route path actually depends on,\n // plus explicit identifiers (and the resource self identifier if present).\n const allowedResourceTypes = new Set<string>(\n (selectedRoutePathParameters ?? []).map(p => p.resourceType)\n );\n\n // ─── enabledCondition Guard (navigation-time) ───────────────\n // Guard is only evaluated when it does NOT require objectContext fetching.\n // If objectContext is required, the guard must be handled at UI/action level (async data dependency).\n if ('enabledCondition' in operation && operation.enabledCondition) {\n const needs = getOperationContextNeeds(operation);\n if (needs.needsUserContext && !user) {\n console.warn('[useNavigationController] Navigation blocked: enabledCondition requires user context but user is missing', {\n resourceType,\n operationIdentifier: operation.operationIdentifier,\n });\n return;\n }\n // We deliberately do NOT re-evaluate `enabledCondition` here from\n // navigation-time data. The navigation layer has no access to the\n // operation's `currentObject` (it is never threaded through navigate()),\n // so a condition that reads the record's own fields — e.g. todos\n // `change_status`: `currentObject.assignedToUserId === me &&\n // currentObject.status !== COMPLETED` — would be evaluated against an\n // empty object and spuriously block a navigation the action bar already\n // validated against the REAL loaded object. (`needsObjectContext` only\n // tracks parent/child context, not the object's own fields, so\n // object-centric conditions were slipping into this block and failing.)\n //\n // enabledCondition stays enforced in the two places that have complete,\n // authoritative inputs: the action bar / display gate (evaluates the\n // full condition with the loaded `currentObject` before enabling the\n // action) and the backend (rejects the operation on execution). Object-\n // dependent conditions are therefore deferred here exactly like\n // objectContext-dependent ones already were — re-deriving them from\n // incomplete data only produced false negatives (change_status\n // regression, 2026-07).\n }\n\n if (requestId !== latestNavigateRequestIdRef.current) {\n logDebug('navigate() aborted: superseded before state mutation', {\n requestId,\n latestRequestId: latestNavigateRequestIdRef.current,\n sourceZone: initiator.sourceZone,\n });\n return;\n }\n\n const relevantInjected: Record<string, string> = {};\n for (const [resType, value] of Object.entries({\n ...scopeFilteredGlobalIdentifiers,\n ...appScopeIdentifiers,\n })) {\n if (allowedResourceTypes.size === 0 || allowedResourceTypes.has(resType)) {\n relevantInjected[resType] = value;\n }\n }\n const selfIdentifier = content.resourceContext.contextResourceIdentifiers?.[resourceType];\n\n enrichedContent = {\n ...content,\n resourceContext: {\n ...content.resourceContext,\n contextResourceIdentifiers: { // Merge global identifiers into the resourceContext's contextResourceIdentifiers - explicit values in the resourceContext override global values\n ...relevantInjected,\n ...contextResourceIdentifiers,\n ...(selfIdentifier ? { [resourceType]: selfIdentifier } : {}),\n ...content.resourceContext.contextResourceIdentifiers,\n },\n },\n };\n } else if (\n content.contentType === NavigationContentType.COMPOSITE_VIEW\n || content.contentType === NavigationContentType.CHART_VIEW\n || content.contentType === NavigationContentType.FULL_CUSTOM_VIEW\n || content.contentType === NavigationContentType.EXECUTION_VIEW\n || content.contentType === NavigationContentType.FLOWS_ACTORS_VIEW\n ) {\n // Custom views derive ambient primary scope live from AppScope at render time.\n // Only explicit navigation-time identifiers should be persisted on the stack.\n const mergedContextIdentifiers = {\n ...(content.contextResourceIdentifiers ?? {}),\n ...contextResourceIdentifiers,\n };\n\n enrichedContent = {\n ...content,\n contextResourceIdentifiers:\n Object.keys(mergedContextIdentifiers).length > 0\n ? mergedContextIdentifiers\n : undefined,\n };\n } else if (content.contentType === NavigationContentType.CUSTOM_COMPONENT) {\n const mergedContextIdentifiers = {\n ...scopeFilteredGlobalIdentifiers,\n ...appScopeIdentifiers,\n ...(content.contextResourceIdentifiers ?? {}),\n ...contextResourceIdentifiers,\n };\n\n enrichedContent = {\n ...content,\n contextResourceIdentifiers:\n Object.keys(mergedContextIdentifiers).length > 0\n ? mergedContextIdentifiers\n : undefined,\n };\n }\n\n // ─── APP_LEVEL Clean Break ────────────────────────────────\n // Sidebar/toolbar/command-palette navigation is a \"fresh start.\"\n // Clear dependent zones and overlay state within a transaction before placing\n // new content.\n if (initiator.sourceZone === APP_LEVEL_NAVIGATION_SOURCE) {\n emitFreshStartNavigationCleanup(emit, 'app_level_navigation');\n logDebug('APP_LEVEL clean break: cleared SECONDARY + COMPANION + OVERLAY');\n }\n\n // Compute resource relationship depth from parent chain (hierarchy-based, not stack-based)\n const resourceRelationshipDepth = NavigationUtils.isResourceOperationContent(enrichedContent)\n ? NavigationUtils.calculateResourceRelationshipDepth(\n enrichedContent.resourceContext.parentResourcesRequirements as unknown[] | null\n )\n : 0;\n\n /*\n * ONE read of each zone's stack, projected two ways: occupancy for the SPLIT target heuristic,\n * and DEPTH for `maxDepth` escalation. Two loops would be two measurements of the same thing at\n * two instants, and the boolean cannot be un-flattened back into the number.\n */\n const zoneOccupancy: Partial<Record<NavigationZoneName, boolean>> = {};\n const zoneDepth: Partial<Record<NavigationZoneName, number>> = {};\n for (const zone of NAVIGATION_STRUCTURAL_ZONES) {\n const depth = getZoneState(zone).stack.length;\n zoneDepth[zone] = depth;\n zoneOccupancy[zone] = depth > 0;\n }\n\n // Derive source zone for resolution context — map initiator.sourceZone\n // to the resolver's expected discriminant (NavigationZoneName | 'appLevel' | 'overlay')\n const sourceZone = initiator.sourceZone;\n\n // Extract operation identifier for policy resolution\n const operationIdentifier = NavigationUtils.isResourceOperationContent(enrichedContent)\n ? (enrichedContent.resourceContext.operation?.operationIdentifier ?? CoreResourceOperation.LIST)\n : CoreResourceOperation.LIST;\n const effectiveOperation = NavigationUtils.isResourceOperationContent(enrichedContent)\n ? resolveEffectiveCoreOperationFromOperation(enrichedContent.resourceContext.operation)\n : CoreResourceOperation.LIST;\n\n // Extract target resource type for resolution context\n const targetResourceType = NavigationUtils.isResourceOperationContent(enrichedContent)\n ? enrichedContent.resourceContext.resourceType\n : undefined;\n\n // Derive focusedZone — only meaningful when sourceZone is a structural zone\n const focusedZone = (sourceZone !== APP_LEVEL_NAVIGATION_SOURCE && sourceZone !== NavigationZone.OVERLAY)\n ? sourceZone as NavigationZoneName\n : undefined;\n\n // Build v3 resolution context — target is determined by policy, not caller\n const resolutionContext: NavigationResolutionContext = {\n sourceZone: sourceZone as NavigationResolutionContext['sourceZone'],\n operation: operationIdentifier,\n effectiveOperation,\n resourceType: targetResourceType,\n operationSurface,\n operationOverrides: operationOverrides as NavigationResolutionContext['operationOverrides'],\n actionPresentationTransition,\n actionPresentationIsAuthored,\n relationshipTransition,\n relationshipMaxDepth,\n viewport: currentBreakpoint,\n // The space the panes must actually fit in — see `NavigationResolutionContext.contentAreaWidth`.\n contentAreaWidth,\n zoneOccupancy,\n zoneDepth,\n focusedZone,\n };\n\n /*\n * The resolver APPLIES responsive collapse — `targetZone` and `transition` below are already the\n * collapsed outcome. `collapsed` / `collapsedFromZone` are the report, not an instruction: the\n * comment here used to say the flag was \"available in the result for Phase 3E\", and Phase 3E\n * never arrived, so for as long as the flag existed nothing acted on it (#411).\n */\n let resolution = navigationPolicyResolver.resolve(resolutionContext, navigationLayout);\n /*\n * `decidedBy` / `authoredAs` / `adjustments` are the whole answer to \"why did it land THERE\",\n * and they are the reason this line is worth reading. Seven tiers of the chain can each answer\n * `PUSH`, so before `provenance` existed (2026-09-25) this log said what came out and nothing\n * about who said it — every diagnosis re-simulated the chain by hand against the layout.\n */\n /*\n * ─── An escalated SPLIT is REPORTED, once, where it happens ─────────────────────────────────\n *\n * `collectNavigationLayoutDiagnostics` catches a `SPLIT` declared in the LAYOUT with no adjacent\n * zone. It cannot catch one declared on a RESOURCE — `navigationOverrides`, a relationship\n * transition, an action presentation — because none of those is in the layout, and the only real\n * instance in this repository is exactly that shape: Wonder Todos' `todos.READ` declared\n * `SPLIT` against a single-zone layout and every drill-in became a dialog, for the whole life of\n * the declaration, with the boot check reporting clean.\n *\n * Re-deriving the population statically would mean a second enumeration of every tier that can\n * produce a SPLIT. The resolver has ALREADY decided; reporting at the decision covers every tier\n * by construction and cannot drift from it. Deduplicated per resource+operation so a listing of\n * fifty rows warns once, and at `warn` because the application still works — it is the wrong\n * shape, not a broken one.\n */\n const escalatedFromPersistentSplit = resolution.provenance.adjustments\n .includes(NavigationPlacementAdjustment.PERSISTENT_SPLIT_ESCALATED_NO_COMPANION);\n if (escalatedFromPersistentSplit\n || resolution.provenance.adjustments.includes(NavigationPlacementAdjustment.SPLIT_ESCALATED_NO_ADJACENT_ZONE)) {\n const escalationKey = `${targetResourceType ?? 'view'}:${operationIdentifier}`;\n if (!reportedSplitEscalations.has(escalationKey)) {\n reportedSplitEscalations.add(escalationKey);\n /*\n * TWO branches raise this adjustment and they need DIFFERENT remedies. A `persistent` split\n * targets COMPANION specifically and does not fall back to secondary, so it escalates even\n * in a layout that declares a perfectly good pane — and telling that author to \"declare\n * `zones.secondary`\" sends them to change something they already have. The first version of\n * this message said exactly that, for both branches, and shipped the same false sentence\n * into the skill reference.\n */\n logger.warn(\n escalatedFromPersistentSplit\n ? 'Navigation: a PERSISTENT split was declared for this operation and the layout declares no `companion` zone — a persistent split targets `companion` specifically and does not fall back to `secondary`, so it opened as an overlay.'\n : 'Navigation: a SPLIT was declared for this operation and the layout declares no `secondary` or `companion` zone — it opened as an overlay instead of beside its source.',\n {\n resourceType: targetResourceType,\n operation: operationIdentifier,\n decidedBy: resolution.provenance.transitionSource,\n remedy: escalatedFromPersistentSplit\n ? 'Declare `zones.companion` in the navigation layout, or drop `persistent` so the split may use `secondary`.'\n : 'Declare `zones.secondary` in the navigation layout, or change this operation\\'s transition to PUSH, REPLACE or OVERLAY.',\n },\n );\n }\n }\n\n logDebug('Policy resolved', {\n targetZone: resolution.targetZone,\n transition: resolution.transition,\n decidedBy: resolution.provenance.transitionSource,\n authoredAs: resolution.provenance.authoredTransition,\n adjustments: resolution.provenance.adjustments,\n appearance: resolution.appearance,\n collapsed: resolution.collapsed,\n collapsedFromZone: resolution.collapsedFromZone,\n ephemeral: resolution.ephemeral,\n persistent: resolution.persistent,\n });\n\n // ─── INPLACE is NOT a zone outcome — hand it to the element-level host ────────────────────────\n //\n // Every other transition places content in a ZONE, and for as long as `INPLACE` was treated as\n // one it fell through to the emit below and left as `NAVIGATION_REPLACE` — swapping the whole\n // zone, which is precisely what its own contract says it is not (\"operates at the element level,\n // not the zone level\", \"surrounding items remain visible\", \"the zone stack is unchanged\"). The\n // preset inline-edit kit has shipped that since it was written.\n //\n // The host is read through REACT CONTEXT rather than reached by an event, and that choice is\n // load-bearing: the nearest provider wins automatically, so a nested child list transforms ITS\n // row and not the parent list's row of the same resource type. An event would have to carry\n // enough identity to disambiguate two mounted collections and would still be guessing.\n //\n // When there is no host — a breadcrumb, a picker, a detail page, any surface with no collection\n // above it — it degrades to an OVERLAY. Note it must NOT degrade to the zone replace it did\n // before: that is the defect, not the fallback.\n if (resolution.transition === NavigationTransition.INPLACE) {\n const inPlaceTarget = NavigationUtils.isResourceOperationContent(enrichedContent)\n ? resolveInPlaceTargetForContent(enrichedContent, effectiveOperation)\n : undefined;\n\n if (inPlaceTarget && inPlaceHost.isAvailable) {\n logDebug('INPLACE resolved to the element-level host', { kind: inPlaceTarget.kind });\n inPlaceHost.open(inPlaceTarget);\n return;\n }\n\n logDebug('INPLACE has no element-level host here — degrading to overlay', {\n hasTarget: Boolean(inPlaceTarget),\n hostAvailable: inPlaceHost.isAvailable,\n });\n resolution = navigationPolicyResolver.degradeInPlaceToOverlay(resolutionContext, navigationLayout, resolution);\n }\n\n // ─── PROMOTE Clean Break ─────────────────────────────────\n // When PROMOTE is resolved, the target is outside PRIMARY's subtree.\n // Clear dependent zones and overlay state — the content is \"breaking out\"\n // of the current flow.\n if (resolution.transition === NavigationTransition.PROMOTE) {\n emitFreshStartNavigationCleanup(emit, 'promote_navigation');\n logDebug('PROMOTE clean break: cleared SECONDARY + COMPANION + OVERLAY');\n }\n\n // ─── OVERLAY Breakout ─────────────────────────────────────\n // Content launched from INSIDE the overlay that resolves to a structural zone has left the\n // overlay behind — so the overlay must not stay open over it. Only the overlay closes; the\n // zones underneath are the context the person is returning to. See #1511 and\n // `emitOverlayBreakoutCleanup` for the measurement.\n //\n // PROMOTE is excluded: it has already performed the stronger reset above.\n if (\n initiator.sourceZone === NavigationZone.OVERLAY\n && resolution.targetZone !== NavigationZone.OVERLAY\n && resolution.transition !== NavigationTransition.PROMOTE\n ) {\n emitOverlayBreakoutCleanup(emit, 'overlay_breakout_navigation');\n logDebug('OVERLAY breakout: closed the overlay it was launched from', {\n targetZone: resolution.targetZone,\n transition: resolution.transition,\n });\n }\n\n // ─── Cascading Orchestrator ───────────────────────────────\n // When the resolved zone is SECONDARY or COMPANION, auto-populate ancestor\n // zones that are currently empty so the user sees proper context.\n if (\n (resolution.targetZone === NavigationZoneName.SECONDARY || resolution.targetZone === NavigationZoneName.COMPANION)\n && NavigationUtils.isResourceOperationContent(enrichedContent)\n ) {\n cascadeAncestorZones(\n enrichedContent,\n resolution.targetZone as NavigationZoneName,\n registry,\n normalizedCandidateContextIdentifiers,\n emit,\n routerNavigate,\n getZoneState,\n );\n }\n\n const stackEntryId = NavigationUtils.generateStackEntryId();\n\n // The URL was already resolved by resolveResourceUrl above (stored in selectedResolvedUrl).\n // For non-resource content, fall back to the explicitly provided urlPath.\n const resolvedUrlPath = selectedResolvedUrl ?? urlPath;\n\n // URL update: addressable content in structural zones gets a URL\n const isStructuralZone = resolution.targetZone !== NavigationZone.OVERLAY;\n const isAddressableExecutionView =\n enrichedContent.contentType === NavigationContentType.EXECUTION_VIEW\n ? (() => {\n const executionView = resolveExecutionViewDefinition({\n viewRef: enrichedContent.viewRef,\n registry,\n });\n return executionView?.isAddressable === true;\n })()\n : false;\n const isRoutableNonResourceContent =\n enrichedContent.contentType === NavigationContentType.COMPOSITE_VIEW\n || enrichedContent.contentType === NavigationContentType.CHART_VIEW\n || enrichedContent.contentType === NavigationContentType.FULL_CUSTOM_VIEW\n || isAddressableExecutionView\n || enrichedContent.contentType === NavigationContentType.FLOWS_ACTORS_VIEW\n || enrichedContent.contentType === NavigationContentType.ENGINE_PAGE;\n const shouldUpdateUrl = isStructuralZone && Boolean(resolvedUrlPath) && (isAddressable || isRoutableNonResourceContent);\n const finalUrlPath = shouldUpdateUrl\n ? (\n enrichedContent.contentType === NavigationContentType.COMPOSITE_VIEW\n ? buildCompositeRouteUrlPath(\n enrichedContent.viewRef,\n enrichedContent.contextResourceIdentifiers,\n )\n : enrichedContent.contentType === NavigationContentType.CHART_VIEW\n ? buildChartRouteUrlPath(\n enrichedContent.viewRef,\n enrichedContent.contextResourceIdentifiers,\n enrichedContent.urlParamValues,\n )\n : enrichedContent.contentType === NavigationContentType.EXECUTION_VIEW\n ? buildExecutionRouteUrlPath(\n enrichedContent.viewRef,\n enrichedContent.contextResourceIdentifiers,\n )\n : resolvedUrlPath\n )\n : undefined;\n\n /*\n * ─── HOSTED PANE ─────────────────────────────────────────────────────────────────────────\n * A resource landing in SECONDARY beside a primary whose address a resource URL cannot imply\n * (a composite view, a canvas, a chart, an engine page) is HOSTED: the browser URL stays the\n * host's and carries the pane as `?pane=`. Before this the URL became the pane's, the board\n * still on screen was no longer described by it, its `?section=` view state vanished from\n * under the mounted view, and a reload rebuilt a sibling list where the board had been.\n *\n * The entry keeps its OWN address in `urlPath` — that is what `goBack` pops to and what the\n * URL reconciler compares the `pane` parameter against — and the composed URL is produced by\n * the one composer every write site uses. Resource primaries are untouched: their detail URL\n * already implies them (#203).\n */\n const primaryTopForHosting = NavigationUtils.getTopEntry(getZoneState(NavigationZoneName.PRIMARY));\n const hostedPane = resolution.targetZone === NavigationZoneName.SECONDARY\n // Only an ADDRESSABLE pane can be hosted: an entry with no URL of its own has nothing to ride\n // the host's URL as, and flagging it would make the pane reconciler read the next view-state\n // change (\"no `pane` in the URL\") as the pane having been closed. This half stays HERE because\n // it is about the navigation being performed rather than about the two contents.\n && shouldUpdateUrl\n && finalUrlPath !== undefined\n /*\n * The content half is `NavigationUtils.hostedPaneApplies` — the same call the URL composer\n * makes. It used to be spelled out here and differently there, so a non-resource pane got a\n * composed `?pane=` URL and an entry flagged not-hosted, and `zoneOwnsBrowserUrl` (which reads\n * the flag) then denied that the zone owned the URL composed for it.\n */\n && NavigationUtils.hostedPaneApplies({ paneContent: enrichedContent, primaryTop: primaryTopForHosting });\n\n const eventPayload: FrontendEvent_NavigationPush | FrontendEvent_NavigationReplace = {\n zone: resolution.targetZone,\n content: enrichedContent,\n urlPath: finalUrlPath,\n stackEntryId,\n initiator,\n navigationSource: NavigationSource.CONTROLLER,\n transition: resolution.transition,\n appearance: resolution.appearance,\n overlayBehavior: resolution.overlayBehavior,\n ephemeral: resolution.ephemeral,\n persistent: resolution.persistent,\n ...(hostedPane ? { hostedPane: true } : {}),\n /*\n * Only present when the resolver RETARGETED this placement because the authored zone is\n * responsively collapsed at this viewport. It records where the entry belongs, which is the\n * one thing a migration back needs and the reason the collapse could not be reversed before.\n */\n ...(resolution.collapsedFromZone ? { collapsedFromZone: resolution.collapsedFromZone } : {}),\n };\n /*\n * ─── An overlay opened FROM an overlay STACKS ───────────────────────────────────────────────\n *\n * \"PROMOTE, REPLACE, SPLIT, INPLACE, OVERLAY all emit as REPLACE\" is right for a structural\n * zone, where REPLACE and PUSH are the two things a zone can do. On the OVERLAY it conflated two\n * different acts: OPENING an overlay, which has nothing beneath it, and opening one FROM an\n * overlay, which has. `NAVIGATION_REPLACE` on the overlay replaces the TOP, so the stack never\n * passed one entry and Back had nothing to return to.\n *\n * Measured on the workbench, 2026-09-25: an aspect popup's own references open the next aspect\n * as a popup, and the back arrow beside the title CLOSED the sheet instead of returning to the\n * previous aspect — because `canGoBack(OVERLAY)` reads a depth that was always 1, and the pop\n * then took the only entry with it.\n *\n * Everything else was already built: `pushOverlay` appends, `NAVIGATION_POP` pops the overlay,\n * `getZoneDepth` reports its depth and `canGoBack` reads that. Only nothing ever pushed.\n *\n * Narrow on purpose — the SOURCE must already be an overlay. An overlay opened from the page is\n * still a REPLACE, which on an empty stack is the same placement, so opening a popup, closing it\n * and opening another cannot accumulate.\n */\n const stacksOnOverlay = resolution.targetZone === NavigationZone.OVERLAY\n && initiator.sourceZone === NavigationZone.OVERLAY;\n const emitsPush = resolution.transition === NavigationTransition.PUSH || stacksOnOverlay;\n\n /*\n * ─── A PUSH to the record directly BENEATH is a Back ────────────────────────────────────────\n *\n * Every \"go to this record\" affordance — a breadcrumb segment, a reference chip, a parent link —\n * ends here, and the one that names the entry the reader just came from must return to it. A\n * push stacked a SECOND copy: on Wonder Todos a task opened inside its todo, whose breadcrumb\n * named that todo, left the pane at `[todo, task, todo]` with one more history entry, and the\n * reader walked back through the task to leave (#1943). Deciding it here gives every affordance\n * the same answer. `ResourceLayout_Read.handleNavigateToParent` keeps its own check (#1749)\n * because a parent's READ may resolve to a SPLIT rather than a PUSH, which this rule does not see.\n *\n * Narrow on purpose: a structural zone, a real PUSH, the SAME destination as the entry directly\n * beneath, and not a TABBED zone — there the other entries are parallel tabs, not history.\n */\n const targetZoneState = isStructuralZone ? getZoneState(resolution.targetZone as NavigationZoneName) : undefined;\n const entryBeneath = targetZoneState && targetZoneState.activeTabId === undefined\n ? targetZoneState.stack[targetZoneState.stack.length - 2]\n : undefined;\n if (\n resolution.transition === NavigationTransition.PUSH\n && finalUrlPath !== undefined\n && entryBeneath?.urlPath\n && NavigationUtils.urlsAddressSameDestination(entryBeneath.urlPath, finalUrlPath)\n ) {\n logDebug('PUSH names the entry beneath — going back instead', { zone: resolution.targetZone, finalUrlPath });\n goBack(resolution.targetZone as NavigationZoneName);\n return;\n }\n logDebug('Emitting navigation event', { event: emitsPush ? 'PUSH' : 'REPLACE', zone: resolution.targetZone, finalUrlPath, hostedPane, stacksOnOverlay });\n if (emitsPush) {\n emit(FrontendEvents.NAVIGATION_PUSH, eventPayload as FrontendEvent_NavigationPush);\n } else {\n // PROMOTE, REPLACE, SPLIT and INPLACE all emit as REPLACE; so does an OVERLAY opened from a\n // structural zone, which is the first entry of an empty stack.\n emit(FrontendEvents.NAVIGATION_REPLACE, eventPayload as FrontendEvent_NavigationReplace);\n }\n\n // Update browser URL for addressable operations in structural zones\n if (shouldUpdateUrl && finalUrlPath) {\n const isReplaceLike = replaceBrowserHistory === true\n || resolution.transition === NavigationTransition.REPLACE\n || resolution.transition === NavigationTransition.PROMOTE;\n /*\n * The composer decides for the two zones whose address depends on ANOTHER zone: a hosted\n * SECONDARY rides on the host's URL, and a COMPANION beside a hosted secondary must not\n * overwrite that URL — it used to write its own bare address, which dropped `?pane=` and made\n * the pane reconciler clear the secondary the moment the companion opened.\n */\n const browserUrl = hostedPane || resolution.targetZone === NavigationZoneName.COMPANION\n ? NavigationUtils.resolveBrowserUrlForZoneEntry({\n zone: resolution.targetZone,\n entryUrlPath: finalUrlPath,\n paneContent: enrichedContent,\n currentBrowserUrl: currentBrowserUrlRef.current,\n getZoneState,\n }) ?? finalUrlPath\n : finalUrlPath;\n updateBrowserUrl(routerNavigate, browserUrl, isReplaceLike);\n }\n } catch (error) {\n logger.error('useNavigationController navigation failed', {\n error,\n requestId,\n sourceZone: initiator.sourceZone,\n contentType: content.contentType,\n urlPath,\n resourceType: NavigationUtils.isResourceOperationContent(content)\n ? content.resourceContext.resourceType\n : undefined,\n operationIdentifier: NavigationUtils.isResourceOperationContent(content)\n ? content.resourceContext.operation?.operationIdentifier\n : undefined,\n });\n }\n })();\n }, [\n emit,\n navigationLayout,\n currentBreakpoint,\n user,\n appScope,\n registry,\n compositeViews,\n fullCustomViews,\n flowsActorsViews,\n getOperationContextNeeds,\n routerNavigate,\n getZoneState,\n contentAreaWidth,\n inPlaceHost,\n goBack,\n ]);\n\n const navigateToResource = useCallback(( resourceContext: FrontendResourceOperationContext, initiator: NavigationInitiatorContext, urlPath?: string, transitionOverride?: TransitionConfig) => {\n const content: NavigationContent = {\n contentType: NavigationContentType.RESOURCE_OPERATION,\n resourceContext,\n };\n\n // `transitionOverride` is a caller-forced transition that wins over the\n // source-zone policy (it feeds the resolver's high-priority caller-transition\n // channel — see `NavigateOptions.relationshipTransition`). The canonical use\n // is a breakout: a mutation hosted in an OVERLAY (create/update dialog) that,\n // on success, must reveal the resulting record in a structural zone via\n // PROMOTE — otherwise the follow-up navigation resolves through\n // `fromOverlay.transitions` and stacks the record *inside* the transient\n // dialog, leaving the popup stuck open.\n navigate({ content, initiator, urlPath, relationshipTransition: transitionOverride });\n }, [navigate]);\n\n /**\n * Close the top overlay entry.\n */\n const closeOverlay = useCallback(() => {\n const topOverlay = NavigationUtils.getTopEntry(getZoneState(NavigationZone.OVERLAY));\n if (!topOverlay) return;\n emit(FrontendEvents.NAVIGATION_CLOSE, { zone: NavigationZone.OVERLAY, stackEntryId: topOverlay.id });\n }, [emit, getZoneState]);\n\n /**\n * DISMISS an adjacent structural zone — close the pane, not one step of it.\n *\n * ## Why this is not `goBack`\n *\n * `goBack` pops ONE entry. A reader who drilled three records deep into a pane and wants their\n * width back would have to press it three times, and the first two presses look like the control\n * doing nothing. Dismiss clears the zone's whole stack in one gesture, which is what \"close this\n * pane\" means everywhere else it exists.\n *\n * ## Why the URL is written, and why it is the SAME url `goBack` writes\n *\n * A pane that leaves the layout must leave the address too, or a reload reopens it — measured on\n * the workbench (2026-09-22) when a pop wrote nothing and `?pane=` survived. Both gestures leave\n * the same layout behind, so `resolveZoneDismissUrl` owns the answer for both; a second copy of\n * that walk is how one of them comes to write a pane's bare address, which the reconciler cannot\n * claim and therefore rebuilds into primary.\n *\n * The URL is resolved BEFORE the zone is cleared, because the answer is read off the zone states\n * as they stand while the pane is still there.\n *\n * OVERLAY is not dismissable this way — it has `closeOverlay`, its own stack semantics and its own\n * URL rules — and PRIMARY is not dismissable at all: there is no layout left after it.\n */\n const dismissZone = useCallback((zone: NavigationZoneName) => {\n if (zone === NavigationZoneName.PRIMARY) return;\n if (getZoneState(zone).stack.length === 0) return;\n const browserUrl = NavigationUtils.resolveZoneDismissUrl({\n zone,\n currentBrowserUrl: currentBrowserUrlRef.current,\n getZoneState,\n });\n emit(FrontendEvents.NAVIGATION_CLEAR_ZONE, { zone });\n if (browserUrl) {\n updateBrowserUrl(routerNavigate, browserUrl, true);\n }\n }, [emit, getZoneState, routerNavigate]);\n\n /**\n * Check if a zone's stack has entries to go back to.\n */\n const canGoBack = useCallback((zone: NavigationZone): boolean => {\n return getZoneDepth(zone) > 1;\n }, [getZoneDepth]);\n\n return useMemo(\n () => ({ navigate, navigateToResource, goBack, closeOverlay, dismissZone, canGoBack, resourceRelationshipDepth: currentResourceRelationshipDepth }),\n [ navigate, navigateToResource, goBack, closeOverlay, dismissZone, canGoBack, currentResourceRelationshipDepth ]);\n}\n\n/**\n * Hook to control navigation in the application.\n *\n * Returns the scoped controller from {@link ScopedNavigationControllerContext}\n * when one is in context (the Settings Hub section host installs one so in-hub\n * related actions stay within the section panel), otherwise the global\n * controller. Both hooks run unconditionally — the global builder is\n * effect-free, so building it even when the scoped controller wins costs nothing\n * (and is exactly what every one of the ~27 existing call sites already does).\n */\n/**\n * What an `INPLACE` resolution should hand the element-level host, or `undefined` when this content\n * cannot be hosted in one.\n *\n * `CREATE` is the shape that has no element yet: the collection materialises a NEW one to collect\n * the input, which is what the transition's own docstring describes (\"a create form appears inline\n * in the list\"). Everything else must name the element it transforms, and content that cannot\n * resolve one is not hostable — the caller degrades rather than transforming an arbitrary row.\n */\nfunction resolveInPlaceTargetForContent(\n content: { resourceContext: FrontendResourceOperationContext },\n effectiveOperation: CoreResourceOperation | undefined,\n): InPlaceOperationTarget | undefined {\n const resourceContext = content.resourceContext;\n const operation = resourceContext.operation as FrontendResourceConfiguration_Operation | undefined;\n if (!operation) {\n return undefined;\n }\n\n if (\n effectiveOperation === CoreResourceOperation.CREATE\n || effectiveOperation === CoreResourceOperation.CREATE_MANY\n ) {\n return { kind: InPlaceOperationTargetKind.CREATE, operation, resourceContext };\n }\n\n const elementId = frontendResourceUtils.getResourceId(\n resourceContext.contextResourceIdentifiers?.[resourceContext.resourceType],\n );\n return elementId\n ? { kind: InPlaceOperationTargetKind.ELEMENT, elementId, operation, resourceContext }\n : undefined;\n}\n\nexport function useNavigationController(): NavigationController {\n const scopedController = useContext(ScopedNavigationControllerContext);\n const globalController = useGlobalNavigationController();\n return scopedController ?? globalController;\n}\n"]}
1
+ {"version":3,"file":"useNavigationController.js","sourceRoot":"","sources":["../../../../../src/core/navigation/useNavigationController.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The navigation CONTROLLER: what a click does.\n *\n * `navigate()` resolves a navigation request through `navigationPolicyResolver`, applies the\n * outcome (clean breaks, in-place hand-off, promote, the cascade) and emits the placement. It is the\n * click path; the URL path lives in `useNavigationRouterSync.ts`.\n *\n * ## The split, 2026-09-25\n *\n * This module was 2,322 lines holding click resolution, URL reconciliation, the ancestor cascade,\n * clean breaks, dismiss and the emit bridge. The seam was measured rather than guessed: the\n * router-sync half used exactly THREE symbols from the controller half — `logDebug` and the two\n * cascade functions — so it came out at a cost of two shared modules and no behaviour change.\n *\n * | module | answers |\n * |---|---|\n * | this one | what a CLICK does |\n * | `useNavigationRouterSync.ts` | what a URL means — deep links, back/forward, hosted panes |\n * | `navigation-cascade.ts` | what fills the zones nobody clicked |\n * | `navigation-controller-internals.ts` | the debug channel and the browser-URL write |\n * | `navigation-commit.ts` | the commit a shell layout may wrap (a view transition between the two screens) |\n */\n\nimport {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useRef,\n} from 'react';\nimport {\n useNavigate,\n useLocation,\n} from 'react-router-dom';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { useNavigationState } from './useNavigationState';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { ScopeUtilsService } from '~wildo-frontend-lib/core/scope/scope.utils.frontend.service';\nimport {\n buildChartRouteUrlPath,\n} from '~wildo-frontend-lib/core/config/chart-view.frontend.schemas';\nimport {\n buildCompositeRouteUrlPath,\n} from '~wildo-frontend-lib/core/config/composite-view.schemas';\nimport {\n buildExecutionRouteUrlPath,\n resolveExecutionViewDefinition,\n} from '~wildo-frontend-lib/core/config/execution-view.schemas';\nimport {\n FrontendEvents,\n FrontendEvent_NavigationPush,\n FrontendEvent_NavigationReplace,\n} from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport {\n NavigationZone,\n NavigationContent,\n NavigationContentType,\n NavigationInitiatorContext,\n NAVIGATION_STRUCTURAL_ZONES,\n APP_LEVEL_NAVIGATION_SOURCE,\n type NavigationResolutionContext,\n} from './navigation.schemas';\nimport {\n NavigationTransition,\n NavigationZoneName,\n CoreResourceOperation,\n ResourceConfiguration_Operation_UrlParameterInfo,\n ResourceOperationFrontendSurface,\n type TransitionConfig,\n} from '@wildo-ai/saas-models';\nimport type {\n FrontendResourceConfiguration_Operation,\n} from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport {\n navigationPolicyResolver,\n} from './navigation-policy-resolver.service';\nimport { NavigationSource } from './navigation.schemas';\nimport { NavigationUtils } from './navigation.utils';\nimport { emitFreshStartNavigationCleanup, emitOverlayBreakoutCleanup } from './navigation-clean-break.frontend.utils';\nimport { CommonRoutePaths } from '~wildo-frontend-lib/core/runtime/routes.frontend.definitions';\nimport { FrontendResourceOperationContext } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport {\n frontendResourceUtils,\n} from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport {\n InPlaceOperationTargetKind,\n useInPlaceOperation,\n type InPlaceOperationTarget,\n} from '~wildo-frontend-lib/core/resources/in-place/InPlaceOperationContext';\n\nconst logger: LoggerFrontendService = LoggerFrontendService.getLogger();\n\n/**\n * Resource+operation pairs whose escalated SPLIT has already been reported.\n *\n * Module-level on purpose: the report is about a DECLARATION, which does not change while the page\n * is loaded, so one line per authored mistake is the useful volume — a fifty-row listing that warned\n * per click would be noise nobody reads.\n */\nconst reportedSplitEscalations = new Set<string>();\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { NavigationPlacementAdjustment } from './navigation.schemas';\nimport { runNavigationCommit } from './navigation-commit';\nimport { deriveOperationResolutionInputs, logDebug, resourceOperationOwnsBrowserUrl, updateBrowserUrl } from './navigation-controller-internals';\nimport { cascadeAncestorZones } from './navigation-cascade';\n\n/**\n * Navigation request options\n *\n * Note: Navigation target is ALWAYS determined by the NavigationPolicy.\n * There is no preferredTarget option to ensure consistent navigation behavior.\n */\nexport interface NavigateOptions {\n content: NavigationContent;\n initiator: NavigationInitiatorContext;\n urlPath?: string;\n contextResourceIdentifiers?: Record<string, string>;\n /**\n * Transition config from a relationship's `display.inParentNavigation.transition`.\n * When navigating via a parent→child relationship, the caller passes\n * the configured transition so the resolver can honour relationship-level\n * overrides (including ephemeral/persistent lifecycle modifiers).\n */\n relationshipTransition?: TransitionConfig;\n /**\n * `RelationshipDisplayConfig.maxDepth` for the relationship being traversed — the per-relationship\n * override of `NavigationLayout.maxDepth`.\n *\n * Travels beside `relationshipTransition` and for the same reason: only the call site knows which\n * relationship it is rendering. A nested container passes both from one `config`.\n */\n relationshipMaxDepth?: number;\n /**\n * Force the browser URL update to replace the current history entry.\n *\n * Used by navigation flows like Home where runtime semantics must still go\n * through the controller/app-level pipeline, but the browser should not keep\n * the transient source route as a back-stack entry.\n */\n replaceBrowserHistory?: boolean;\n}\n\n/**\n * Navigation helpers return type\n */\nexport interface NavigationController {\n /**\n * Navigate to content - resolves target using navigation policy\n */\n navigate: (options: NavigateOptions) => void;\n\n /**\n * Navigate to a resource operation\n * @param resourceContext - The resource operation context\n * @param initiator - Full initiator context for policy resolution\n * @param urlPath - Optional URL path for addressable operations\n * @param transitionOverride - Optional caller-forced transition that overrides\n * source-zone policy (e.g. `PROMOTE` to break a post-mutation reveal out of\n * an overlay into a structural zone).\n */\n navigateToResource: ( resourceContext: FrontendResourceOperationContext, initiator: NavigationInitiatorContext, urlPath?: string, transitionOverride?: TransitionConfig ) => void;\n\n goBack: (zone?: NavigationZone) => void;\n /**\n * Close the TOP overlay — the dialog the reader is dismissing — and reveal whatever it was opened\n * over, including another overlay.\n *\n * It used to clear the whole overlay stack. Overlays do stack (an Edit opened from a Read shown as\n * an overlay), so Cancel, Escape, the close button or a click outside discarded both layers where\n * the reader had dismissed one. Every caller — the dialog chrome, the create and update surfaces,\n * the SAML wizard — means \"close this dialog\". Clearing every overlay is a reset, not a dismissal,\n * and the one path that wants it (switching organization) clears the stack directly.\n */\n closeOverlay: () => void;\n /** Close an adjacent structural pane outright — see the implementation for why this is not `goBack`. */\n dismissZone: (zone: NavigationZoneName) => void;\n canGoBack: (zone: NavigationZone) => boolean;\n\n /**\n * Current resource relationship depth (for external use)\n */\n resourceRelationshipDepth: number;\n}\n\n/**\n * Scoped override for {@link useNavigationController}.\n *\n * When a provider supplies a controller here (e.g. the Settings Hub's\n * per-section navigation host), `useNavigationController()` returns IT instead of\n * the global controller — so resource surfaces rendered inside that provider\n * drill / go back / run post-action navigation **within** the host's own stack\n * rather than escaping to the global zones (which, for an overlay-hosted surface,\n * means leaving the hub and 404-ing on unregistered routes). `null` (the default)\n * means \"use the global controller\", so every consumer outside such a provider is\n * byte-for-byte unchanged.\n */\nexport const ScopedNavigationControllerContext = createContext<NavigationController | null>(null);\n\n/**\n * Builds the global navigation controller — the app-level zone/URL navigation\n * pipeline. Most code should call {@link useNavigationController} (which returns a\n * scoped override when one is in context); call this directly only from\n * navigation-runtime internals that must always target the global zones, or from\n * a scoped provider that needs the global controller to delegate to.\n */\nexport function useGlobalNavigationController(): NavigationController {\n const { emit } = useEventBus();\n const { resourceRelationshipDepth: currentResourceRelationshipDepth, getZoneDepth, getZoneState, contentAreaWidth } = useNavigationState();\n const { navigationLayout, currentBreakpoint, compositeViews, fullCustomViews, flowsActorsViews } = useUI();\n const { user } = useUserOrgs();\n const appScope = useAppScopeSafe();\n const { registry, getOperationContextNeeds } = useResourceRegistry();\n const routerNavigate = useNavigate();\n const latestNavigateRequestIdRef = useRef(0);\n /*\n * The LIVE browser URL, read through a ref so `navigate()` and `goBack()` compose a hosted pane's\n * URL from the host's CURRENT view state (`?section=` and the like) rather than from the stamp the\n * primary entry took when it was placed. A ref rather than a dependency: the callbacks below are\n * handed to every action surface, and re-creating them on every location change would re-render\n * every consumer for a value they read only at the instant they fire.\n */\n const location = useLocation();\n const currentBrowserUrlRef = useRef<string>(NavigationUtils.buildBrowserUrl(location.pathname, location.search));\n currentBrowserUrlRef.current = NavigationUtils.buildBrowserUrl(location.pathname, location.search);\n // The element-level host, read from context so the NEAREST collection wins — see the INPLACE\n // branch in navigateToResource. UNAVAILABLE (never undefined) on every surface that has none.\n const inPlaceHost = useInPlaceOperation();\n\n // Note: Context identifiers are now computed per-navigation call with scope filtering\n // to prevent border effects where unrelated identifiers leak into the navigation chain\n\n /**\n * Main navigate function\n * Navigation target is determined purely by the NavigationPolicy - no overrides allowed.\n *\n * contextResourceIdentifiers are merged with global scope identifiers from AppScope:\n * - Global identifiers (organizationId, userId, applicationId, etc.) are injected automatically\n * - Explicit contextResourceIdentifiers override the global values\n *\n * IMPORTANT: The merged identifiers are also injected into the content's resourceContext\n * so that list/read/etc. components have access to parent resource IDs for API calls.\n */\n /**\n * Go back in a specific zone's stack.\n */\n const goBack = useCallback((zone: NavigationZone = NavigationZoneName.PRIMARY) => {\n const zoneState = getZoneState(zone);\n \n /*\n * The ONE go-back resolver, shared with the router error boundary and the feature-route guard,\n * so a hosted pane's URL is composed under its host everywhere \"back\" can be reached. The POP\n * is emitted whenever there is something to pop; the URL is written only when the resolver\n * produced one (a previous entry with no address of its own leaves the URL alone, as before).\n */\n if (zoneState.stack.length === 0) return;\n\n /*\n * The OVERLAY layer is not URL-addressed, so there is no browser URL to compose for it — popping\n * is the whole gesture. `resolveGoBackTarget` is typed for STRUCTURAL zones and reached here\n * through an `as NavigationZoneName` cast, which is a lie for this argument: with one entry left\n * it would have asked `resolveZoneDismissUrl` — a HOSTED-PANE composer — about the overlay layer.\n * Harmless only because an overlay entry carries no `urlPath`; the branch is what should say so.\n */\n if (zone === NavigationZone.OVERLAY) {\n emit(FrontendEvents.NAVIGATION_POP, { zone });\n return;\n }\n\n const target = NavigationUtils.resolveGoBackTarget({\n zone,\n currentBrowserUrl: currentBrowserUrlRef.current,\n getZoneState,\n });\n if (!target) return;\n emit(FrontendEvents.NAVIGATION_POP, { zone });\n if (target.browserUrl) {\n updateBrowserUrl(routerNavigate, target.browserUrl, true);\n }\n }, [emit, getZoneState, routerNavigate]);\n\n const navigate = useCallback((options: NavigateOptions) => {\n const requestId = ++latestNavigateRequestIdRef.current;\n\n void (async () => {\n let {\n content,\n initiator,\n urlPath,\n contextResourceIdentifiers,\n relationshipTransition,\n relationshipMaxDepth,\n replaceBrowserHistory,\n } = options;\n try {\n\n logDebug('navigate() called', { contentType: content.contentType, sourceZone: initiator.sourceZone, urlPath });\n\n // The Settings Hub is URL-driven: it reconstructs into the overlay from its\n // route via `useSettingsHubOverlaySync`. Zone resolution would push it into a\n // structural zone (the controller never updates the URL for overlay entries\n // — see `isStructuralZone` below), so instead navigate to its route and let\n // the route sync own the overlay. Every launcher caller that dispatches\n // SETTINGS_HUB content therefore converges on one URL-first path.\n if (content.contentType === NavigationContentType.SETTINGS_HUB) {\n routerNavigate(urlPath ?? CommonRoutePaths.settings);\n return;\n }\n\n if (!navigationLayout) {\n logDebug('navigate() aborted: no navigationLayout');\n return;\n }\n\n // Extract primaryScope from target content to filter context identifiers\n // This prevents border effects where identifiers from one scope leak into another\n const targetPrimaryScope = ScopeUtilsService.extractPrimaryScopeFromContent(\n content,\n registry,\n compositeViews,\n fullCustomViews,\n flowsActorsViews,\n );\n\n // Get scope-filtered global identifiers - only inject identifiers relevant to target's primaryScope\n const primaryScopeInitiatorIds = ScopeUtilsService.buildInitiatorIds({\n userId: appScope?.currentUserId,\n organizationId: appScope?.currentOrganizationId,\n applicationId: appScope?.currentApplicationId,\n anonymousUserId: appScope?.currentAnonymousUserId,\n });\n const scopeFilteredGlobalIdentifiers = ScopeUtilsService.primaryScopeToContextIdentifiers(\n primaryScopeInitiatorIds,\n targetPrimaryScope\n );\n\n // Custom scope identifiers (resourceType-keyed) from AppScopeContext.\n // Duplicate resourceType declarations are rejected during config validation\n // and AppScopeContext initialization, so this map stays semantically unique.\n const appScopeIdentifiers: Record<string, string> = appScope?.buildContextResourceIdentifiers() ?? {};\n\n // Candidate identifiers for route-path selection (strict relevance applied after selection).\n // Explicit identifiers override everything else.\n const contentProvidedContextIdentifiers: Record<string, string> =\n NavigationUtils.isResourceOperationContent(content)\n ? ((content.resourceContext.contextResourceIdentifiers as any) ?? {})\n : {};\n const candidateContextIdentifiers: Record<string, string> = {\n ...scopeFilteredGlobalIdentifiers,\n ...appScopeIdentifiers,\n ...contentProvidedContextIdentifiers,\n ...contextResourceIdentifiers,\n };\n\n // Normalize candidate identifiers for URL building / route matching\n // (context identifiers may be objects like { fieldIdentifier, resourceId }).\n const normalizedCandidateContextIdentifiers: Record<string, string> = {};\n for (const [resType, rawValue] of Object.entries(candidateContextIdentifiers)) {\n const resourceId = frontendResourceUtils.getResourceId(rawValue as any);\n if (resourceId) {\n normalizedCandidateContextIdentifiers[resType] = resourceId;\n const explicitFieldIdentifier = frontendResourceUtils.getFieldIdentifier(rawValue as any);\n if (explicitFieldIdentifier) {\n normalizedCandidateContextIdentifiers[explicitFieldIdentifier] = resourceId;\n }\n }\n }\n\n let isAddressable = false;\n // What the content states about itself for the resolver — the same derivation a reload restores a pane\n // from (`restoredEntryIsPersistent`, #2130), so a click and a reload cannot read the operation differently.\n const operationInputs = deriveOperationResolutionInputs(content);\n const operationSurface = operationInputs.operationSurface;\n let selectedRoutePathParameters: ResourceConfiguration_Operation_UrlParameterInfo[] | undefined;\n let selectedRouteTemplateUrl: string | undefined = urlPath;\n let selectedResolvedUrl: string | undefined;\n\n // Create a copy of content with merged context identifiers injected\n // This ensures list/read components have access to parent resource IDs\n let enrichedContent = content;\n\n if (NavigationUtils.isResourceOperationContent(content)) {\n const operation = content.resourceContext.operation;\n\n // ─── F4: headless content is not navigable — refuse loud ─────────\n // An API_ONLY operation has NO rendered interface by contract; pushing\n // it as zone content produces a broken page. Callers are supposed to\n // pre-filter (action bars, breadcrumb, pickers all do), but the\n // chokepoint must not depend on N callers remembering — refuse here,\n // with an error the author can act on, and navigate nothing.\n if (operationSurface === ResourceOperationFrontendSurface.API_ONLY) {\n logger.error('[useNavigationController] refused navigation to API_ONLY (headless) operation — it has no rendered interface', {\n resourceType: content.resourceContext.resourceType,\n operationIdentifier: String(operation?.operationIdentifier),\n sourceZone: initiator.sourceZone,\n });\n return;\n }\n\n // Use unified URL resolver to select the best route path\n const resourceType = content.resourceContext.resourceType;\n const resourceConfig = registry.resourceConfigurations?.[resourceType];\n if (resourceConfig) {\n const resolved = NavigationUtils.resolveResourceUrl(\n resourceConfig as any,\n operation as any,\n normalizedCandidateContextIdentifiers,\n registry.allResourceFieldIdentifiers,\n content.resourceContext.parentResourcesRequirements as any\n );\n if (resolved) {\n selectedRouteTemplateUrl = resolved.templateUrl;\n selectedRoutePathParameters = resolved.routePathParameters;\n selectedResolvedUrl = resolved.resolvedUrl;\n }\n }\n // Declared-surface gate first: an EMBEDDED/API_ONLY operation never\n // claims addressability, however resolvable its pattern URL is. This\n // both suppresses the browser-URL write (see shouldUpdateUrl below) and\n // keeps the policy resolver's `isAddressable` input truthful.\n isAddressable = resourceOperationOwnsBrowserUrl(operation) && Boolean(selectedResolvedUrl ?? urlPath);\n\n // Strict relevance for navigation context:\n // only inject identifiers that the selected route path actually depends on,\n // plus explicit identifiers (and the resource self identifier if present).\n const allowedResourceTypes = new Set<string>(\n (selectedRoutePathParameters ?? []).map(p => p.resourceType)\n );\n\n // ─── enabledCondition Guard (navigation-time) ───────────────\n // Guard is only evaluated when it does NOT require objectContext fetching.\n // If objectContext is required, the guard must be handled at UI/action level (async data dependency).\n if ('enabledCondition' in operation && operation.enabledCondition) {\n const needs = getOperationContextNeeds(operation);\n if (needs.needsUserContext && !user) {\n console.warn('[useNavigationController] Navigation blocked: enabledCondition requires user context but user is missing', {\n resourceType,\n operationIdentifier: operation.operationIdentifier,\n });\n return;\n }\n // We deliberately do NOT re-evaluate `enabledCondition` here from\n // navigation-time data. The navigation layer has no access to the\n // operation's `currentObject` (it is never threaded through navigate()),\n // so a condition that reads the record's own fields — e.g. todos\n // `change_status`: `currentObject.assignedToUserId === me &&\n // currentObject.status !== COMPLETED` — would be evaluated against an\n // empty object and spuriously block a navigation the action bar already\n // validated against the REAL loaded object. (`needsObjectContext` only\n // tracks parent/child context, not the object's own fields, so\n // object-centric conditions were slipping into this block and failing.)\n //\n // enabledCondition stays enforced in the two places that have complete,\n // authoritative inputs: the action bar / display gate (evaluates the\n // full condition with the loaded `currentObject` before enabling the\n // action) and the backend (rejects the operation on execution). Object-\n // dependent conditions are therefore deferred here exactly like\n // objectContext-dependent ones already were — re-deriving them from\n // incomplete data only produced false negatives (change_status\n // regression, 2026-07).\n }\n\n if (requestId !== latestNavigateRequestIdRef.current) {\n logDebug('navigate() aborted: superseded before state mutation', {\n requestId,\n latestRequestId: latestNavigateRequestIdRef.current,\n sourceZone: initiator.sourceZone,\n });\n return;\n }\n\n const relevantInjected: Record<string, string> = {};\n for (const [resType, value] of Object.entries({\n ...scopeFilteredGlobalIdentifiers,\n ...appScopeIdentifiers,\n })) {\n if (allowedResourceTypes.size === 0 || allowedResourceTypes.has(resType)) {\n relevantInjected[resType] = value;\n }\n }\n const selfIdentifier = content.resourceContext.contextResourceIdentifiers?.[resourceType];\n\n enrichedContent = {\n ...content,\n resourceContext: {\n ...content.resourceContext,\n contextResourceIdentifiers: { // Merge global identifiers into the resourceContext's contextResourceIdentifiers - explicit values in the resourceContext override global values\n ...relevantInjected,\n ...contextResourceIdentifiers,\n ...(selfIdentifier ? { [resourceType]: selfIdentifier } : {}),\n ...content.resourceContext.contextResourceIdentifiers,\n },\n },\n };\n } else if (\n content.contentType === NavigationContentType.COMPOSITE_VIEW\n || content.contentType === NavigationContentType.CHART_VIEW\n || content.contentType === NavigationContentType.FULL_CUSTOM_VIEW\n || content.contentType === NavigationContentType.EXECUTION_VIEW\n || content.contentType === NavigationContentType.FLOWS_ACTORS_VIEW\n ) {\n // Custom views derive ambient primary scope live from AppScope at render time.\n // Only explicit navigation-time identifiers should be persisted on the stack.\n const mergedContextIdentifiers = {\n ...(content.contextResourceIdentifiers ?? {}),\n ...contextResourceIdentifiers,\n };\n\n enrichedContent = {\n ...content,\n contextResourceIdentifiers:\n Object.keys(mergedContextIdentifiers).length > 0\n ? mergedContextIdentifiers\n : undefined,\n };\n } else if (content.contentType === NavigationContentType.CUSTOM_COMPONENT) {\n const mergedContextIdentifiers = {\n ...scopeFilteredGlobalIdentifiers,\n ...appScopeIdentifiers,\n ...(content.contextResourceIdentifiers ?? {}),\n ...contextResourceIdentifiers,\n };\n\n enrichedContent = {\n ...content,\n contextResourceIdentifiers:\n Object.keys(mergedContextIdentifiers).length > 0\n ? mergedContextIdentifiers\n : undefined,\n };\n }\n\n // ─── APP_LEVEL Clean Break ────────────────────────────────\n // Sidebar/toolbar/command-palette navigation is a \"fresh start.\"\n // Clear dependent zones and overlay state within a transaction before placing\n // new content.\n if (initiator.sourceZone === APP_LEVEL_NAVIGATION_SOURCE) {\n emitFreshStartNavigationCleanup(emit, 'app_level_navigation');\n logDebug('APP_LEVEL clean break: cleared SECONDARY + COMPANION + OVERLAY');\n }\n\n // Compute resource relationship depth from parent chain (hierarchy-based, not stack-based)\n const resourceRelationshipDepth = NavigationUtils.isResourceOperationContent(enrichedContent)\n ? NavigationUtils.calculateResourceRelationshipDepth(\n enrichedContent.resourceContext.parentResourcesRequirements as unknown[] | null\n )\n : 0;\n\n /*\n * ONE read of each zone's stack, projected two ways: occupancy for the SPLIT target heuristic,\n * and DEPTH for `maxDepth` escalation. Two loops would be two measurements of the same thing at\n * two instants, and the boolean cannot be un-flattened back into the number.\n */\n const zoneOccupancy: Partial<Record<NavigationZoneName, boolean>> = {};\n const zoneDepth: Partial<Record<NavigationZoneName, number>> = {};\n for (const zone of NAVIGATION_STRUCTURAL_ZONES) {\n const depth = getZoneState(zone).stack.length;\n zoneDepth[zone] = depth;\n zoneOccupancy[zone] = depth > 0;\n }\n\n // Derive source zone for resolution context — map initiator.sourceZone\n // to the resolver's expected discriminant (NavigationZoneName | 'appLevel' | 'overlay')\n const sourceZone = initiator.sourceZone;\n\n // Enrichment changes only context identifiers, so the operation, its meaning and the resource type are the\n // content's own (`operationInputs` above).\n const operationIdentifier = operationInputs.operation;\n const effectiveOperation = operationInputs.effectiveOperation;\n const targetResourceType = operationInputs.resourceType;\n\n // Derive focusedZone — only meaningful when sourceZone is a structural zone\n const focusedZone = (sourceZone !== APP_LEVEL_NAVIGATION_SOURCE && sourceZone !== NavigationZone.OVERLAY)\n ? sourceZone as NavigationZoneName\n : undefined;\n\n // Build v3 resolution context — target is determined by policy, not caller\n const resolutionContext: NavigationResolutionContext = {\n sourceZone: sourceZone as NavigationResolutionContext['sourceZone'],\n ...operationInputs,\n relationshipTransition,\n relationshipMaxDepth,\n viewport: currentBreakpoint,\n // The space the panes must actually fit in — see `NavigationResolutionContext.contentAreaWidth`.\n contentAreaWidth,\n zoneOccupancy,\n zoneDepth,\n focusedZone,\n };\n\n /*\n * The resolver APPLIES responsive collapse — `targetZone` and `transition` below are already the\n * collapsed outcome. `collapsed` / `collapsedFromZone` are the report, not an instruction: the\n * comment here used to say the flag was \"available in the result for Phase 3E\", and Phase 3E\n * never arrived, so for as long as the flag existed nothing acted on it (#411).\n */\n let resolution = navigationPolicyResolver.resolve(resolutionContext, navigationLayout);\n /*\n * `decidedBy` / `authoredAs` / `adjustments` are the whole answer to \"why did it land THERE\",\n * and they are the reason this line is worth reading. Seven tiers of the chain can each answer\n * `PUSH`, so before `provenance` existed (2026-09-25) this log said what came out and nothing\n * about who said it — every diagnosis re-simulated the chain by hand against the layout.\n */\n /*\n * ─── An escalated SPLIT is REPORTED, once, where it happens ─────────────────────────────────\n *\n * `collectNavigationLayoutDiagnostics` catches a `SPLIT` declared in the LAYOUT with no adjacent\n * zone. It cannot catch one declared on a RESOURCE — `navigationOverrides`, a relationship\n * transition, an action presentation — because none of those is in the layout, and the only real\n * instance in this repository is exactly that shape: Wonder Todos' `todos.READ` declared\n * `SPLIT` against a single-zone layout and every drill-in became a dialog, for the whole life of\n * the declaration, with the boot check reporting clean.\n *\n * Re-deriving the population statically would mean a second enumeration of every tier that can\n * produce a SPLIT. The resolver has ALREADY decided; reporting at the decision covers every tier\n * by construction and cannot drift from it. Deduplicated per resource+operation so a listing of\n * fifty rows warns once, and at `warn` because the application still works — it is the wrong\n * shape, not a broken one.\n */\n const escalatedFromPersistentSplit = resolution.provenance.adjustments\n .includes(NavigationPlacementAdjustment.PERSISTENT_SPLIT_ESCALATED_NO_COMPANION);\n if (escalatedFromPersistentSplit\n || resolution.provenance.adjustments.includes(NavigationPlacementAdjustment.SPLIT_ESCALATED_NO_ADJACENT_ZONE)) {\n const escalationKey = `${targetResourceType ?? 'view'}:${operationIdentifier}`;\n if (!reportedSplitEscalations.has(escalationKey)) {\n reportedSplitEscalations.add(escalationKey);\n /*\n * TWO branches raise this adjustment and they need DIFFERENT remedies. A `persistent` split\n * targets COMPANION specifically and does not fall back to secondary, so it escalates even\n * in a layout that declares a perfectly good pane — and telling that author to \"declare\n * `zones.secondary`\" sends them to change something they already have. The first version of\n * this message said exactly that, for both branches, and shipped the same false sentence\n * into the skill reference.\n */\n logger.warn(\n escalatedFromPersistentSplit\n ? 'Navigation: a PERSISTENT split was declared for this operation and the layout declares no `companion` zone — a persistent split targets `companion` specifically and does not fall back to `secondary`, so it opened as an overlay.'\n : 'Navigation: a SPLIT was declared for this operation and the layout declares no `secondary` or `companion` zone — it opened as an overlay instead of beside its source.',\n {\n resourceType: targetResourceType,\n operation: operationIdentifier,\n decidedBy: resolution.provenance.transitionSource,\n remedy: escalatedFromPersistentSplit\n ? 'Declare `zones.companion` in the navigation layout, or drop `persistent` so the split may use `secondary`.'\n : 'Declare `zones.secondary` in the navigation layout, or change this operation\\'s transition to PUSH, REPLACE or OVERLAY.',\n },\n );\n }\n }\n\n logDebug('Policy resolved', {\n targetZone: resolution.targetZone,\n transition: resolution.transition,\n decidedBy: resolution.provenance.transitionSource,\n authoredAs: resolution.provenance.authoredTransition,\n adjustments: resolution.provenance.adjustments,\n appearance: resolution.appearance,\n collapsed: resolution.collapsed,\n collapsedFromZone: resolution.collapsedFromZone,\n ephemeral: resolution.ephemeral,\n persistent: resolution.persistent,\n });\n\n // ─── INPLACE is NOT a zone outcome — hand it to the element-level host ────────────────────────\n //\n // Every other transition places content in a ZONE, and for as long as `INPLACE` was treated as\n // one it fell through to the emit below and left as `NAVIGATION_REPLACE` — swapping the whole\n // zone, which is precisely what its own contract says it is not (\"operates at the element level,\n // not the zone level\", \"surrounding items remain visible\", \"the zone stack is unchanged\"). The\n // preset inline-edit kit has shipped that since it was written.\n //\n // The host is read through REACT CONTEXT rather than reached by an event, and that choice is\n // load-bearing: the nearest provider wins automatically, so a nested child list transforms ITS\n // row and not the parent list's row of the same resource type. An event would have to carry\n // enough identity to disambiguate two mounted collections and would still be guessing.\n //\n // When there is no host — a breadcrumb, a picker, a detail page, any surface with no collection\n // above it — it degrades to an OVERLAY. Note it must NOT degrade to the zone replace it did\n // before: that is the defect, not the fallback.\n if (resolution.transition === NavigationTransition.INPLACE) {\n const inPlaceTarget = NavigationUtils.isResourceOperationContent(enrichedContent)\n ? resolveInPlaceTargetForContent(enrichedContent, effectiveOperation)\n : undefined;\n\n if (inPlaceTarget && inPlaceHost.isAvailable) {\n logDebug('INPLACE resolved to the element-level host', { kind: inPlaceTarget.kind });\n inPlaceHost.open(inPlaceTarget);\n return;\n }\n\n logDebug('INPLACE has no element-level host here — degrading to overlay', {\n hasTarget: Boolean(inPlaceTarget),\n hostAvailable: inPlaceHost.isAvailable,\n });\n resolution = navigationPolicyResolver.degradeInPlaceToOverlay(resolutionContext, navigationLayout, resolution);\n }\n\n // ─── PROMOTE Clean Break ─────────────────────────────────\n // When PROMOTE is resolved, the target is outside PRIMARY's subtree.\n // Clear dependent zones and overlay state — the content is \"breaking out\"\n // of the current flow.\n if (resolution.transition === NavigationTransition.PROMOTE) {\n emitFreshStartNavigationCleanup(emit, 'promote_navigation');\n logDebug('PROMOTE clean break: cleared SECONDARY + COMPANION + OVERLAY');\n }\n\n // ─── OVERLAY Breakout ─────────────────────────────────────\n // Content launched from INSIDE the overlay that resolves to a structural zone has left the\n // overlay behind — so the overlay must not stay open over it. Only the overlay closes; the\n // zones underneath are the context the person is returning to. See #1511 and\n // `emitOverlayBreakoutCleanup` for the measurement.\n //\n // PROMOTE is excluded: it has already performed the stronger reset above.\n if (\n initiator.sourceZone === NavigationZone.OVERLAY\n && resolution.targetZone !== NavigationZone.OVERLAY\n && resolution.transition !== NavigationTransition.PROMOTE\n ) {\n emitOverlayBreakoutCleanup(emit, 'overlay_breakout_navigation');\n logDebug('OVERLAY breakout: closed the overlay it was launched from', {\n targetZone: resolution.targetZone,\n transition: resolution.transition,\n });\n }\n\n // ─── Cascading Orchestrator ───────────────────────────────\n // When the resolved zone is SECONDARY or COMPANION, auto-populate ancestor\n // zones that are currently empty so the user sees proper context.\n if (\n (resolution.targetZone === NavigationZoneName.SECONDARY || resolution.targetZone === NavigationZoneName.COMPANION)\n && NavigationUtils.isResourceOperationContent(enrichedContent)\n ) {\n cascadeAncestorZones(\n enrichedContent,\n resolution.targetZone as NavigationZoneName,\n registry,\n normalizedCandidateContextIdentifiers,\n emit,\n routerNavigate,\n getZoneState,\n );\n }\n\n const stackEntryId = NavigationUtils.generateStackEntryId();\n\n // The URL was already resolved by resolveResourceUrl above (stored in selectedResolvedUrl).\n // For non-resource content, fall back to the explicitly provided urlPath.\n const resolvedUrlPath = selectedResolvedUrl ?? urlPath;\n\n // URL update: addressable content in structural zones gets a URL\n const isStructuralZone = resolution.targetZone !== NavigationZone.OVERLAY;\n const isAddressableExecutionView =\n enrichedContent.contentType === NavigationContentType.EXECUTION_VIEW\n ? (() => {\n const executionView = resolveExecutionViewDefinition({\n viewRef: enrichedContent.viewRef,\n registry,\n });\n return executionView?.isAddressable === true;\n })()\n : false;\n const isRoutableNonResourceContent =\n enrichedContent.contentType === NavigationContentType.COMPOSITE_VIEW\n || enrichedContent.contentType === NavigationContentType.CHART_VIEW\n || enrichedContent.contentType === NavigationContentType.FULL_CUSTOM_VIEW\n || isAddressableExecutionView\n || enrichedContent.contentType === NavigationContentType.FLOWS_ACTORS_VIEW\n || enrichedContent.contentType === NavigationContentType.ENGINE_PAGE;\n const shouldUpdateUrl = isStructuralZone && Boolean(resolvedUrlPath) && (isAddressable || isRoutableNonResourceContent);\n const finalUrlPath = shouldUpdateUrl\n ? (\n enrichedContent.contentType === NavigationContentType.COMPOSITE_VIEW\n ? buildCompositeRouteUrlPath(\n enrichedContent.viewRef,\n enrichedContent.contextResourceIdentifiers,\n )\n : enrichedContent.contentType === NavigationContentType.CHART_VIEW\n ? buildChartRouteUrlPath(\n enrichedContent.viewRef,\n enrichedContent.contextResourceIdentifiers,\n enrichedContent.urlParamValues,\n )\n : enrichedContent.contentType === NavigationContentType.EXECUTION_VIEW\n ? buildExecutionRouteUrlPath(\n enrichedContent.viewRef,\n enrichedContent.contextResourceIdentifiers,\n )\n : resolvedUrlPath\n )\n : undefined;\n\n /*\n * ─── HOSTED PANE ─────────────────────────────────────────────────────────────────────────\n * A resource landing in SECONDARY beside a primary whose address a resource URL cannot imply\n * (a composite view, a canvas, a chart, an engine page) is HOSTED: the browser URL stays the\n * host's and carries the pane as `?pane=`. Before this the URL became the pane's, the board\n * still on screen was no longer described by it, its `?section=` view state vanished from\n * under the mounted view, and a reload rebuilt a sibling list where the board had been.\n *\n * The entry keeps its OWN address in `urlPath` — that is what `goBack` pops to and what the\n * URL reconciler compares the `pane` parameter against — and the composed URL is produced by\n * the one composer every write site uses. Resource primaries are untouched: their detail URL\n * already implies them (#203).\n */\n const primaryTopForHosting = NavigationUtils.getTopEntry(getZoneState(NavigationZoneName.PRIMARY));\n const hostedPane = resolution.targetZone === NavigationZoneName.SECONDARY\n // Only an ADDRESSABLE pane can be hosted: an entry with no URL of its own has nothing to ride\n // the host's URL as, and flagging it would make the pane reconciler read the next view-state\n // change (\"no `pane` in the URL\") as the pane having been closed. This half stays HERE because\n // it is about the navigation being performed rather than about the two contents.\n && shouldUpdateUrl\n && finalUrlPath !== undefined\n /*\n * The content half is `NavigationUtils.hostedPaneApplies` — the same call the URL composer\n * makes. It used to be spelled out here and differently there, so a non-resource pane got a\n * composed `?pane=` URL and an entry flagged not-hosted, and `zoneOwnsBrowserUrl` (which reads\n * the flag) then denied that the zone owned the URL composed for it.\n */\n && NavigationUtils.hostedPaneApplies({ paneContent: enrichedContent, primaryTop: primaryTopForHosting });\n\n const eventPayload: FrontendEvent_NavigationPush | FrontendEvent_NavigationReplace = {\n zone: resolution.targetZone,\n content: enrichedContent,\n urlPath: finalUrlPath,\n stackEntryId,\n initiator,\n navigationSource: NavigationSource.CONTROLLER,\n transition: resolution.transition,\n appearance: resolution.appearance,\n overlayBehavior: resolution.overlayBehavior,\n ephemeral: resolution.ephemeral,\n persistent: resolution.persistent,\n ...(hostedPane ? { hostedPane: true } : {}),\n /*\n * Only present when the resolver RETARGETED this placement because the authored zone is\n * responsively collapsed at this viewport. It records where the entry belongs, which is the\n * one thing a migration back needs and the reason the collapse could not be reversed before.\n */\n ...(resolution.collapsedFromZone ? { collapsedFromZone: resolution.collapsedFromZone } : {}),\n };\n /*\n * ─── An overlay opened FROM an overlay STACKS ───────────────────────────────────────────────\n *\n * \"PROMOTE, REPLACE, SPLIT, INPLACE, OVERLAY all emit as REPLACE\" is right for a structural\n * zone, where REPLACE and PUSH are the two things a zone can do. On the OVERLAY it conflated two\n * different acts: OPENING an overlay, which has nothing beneath it, and opening one FROM an\n * overlay, which has. `NAVIGATION_REPLACE` on the overlay replaces the TOP, so the stack never\n * passed one entry and Back had nothing to return to.\n *\n * Measured on the workbench, 2026-09-25: an aspect popup's own references open the next aspect\n * as a popup, and the back arrow beside the title CLOSED the sheet instead of returning to the\n * previous aspect — because `canGoBack(OVERLAY)` reads a depth that was always 1, and the pop\n * then took the only entry with it.\n *\n * Everything else was already built: `pushOverlay` appends, `NAVIGATION_POP` pops the overlay,\n * `getZoneDepth` reports its depth and `canGoBack` reads that. Only nothing ever pushed.\n *\n * Narrow on purpose — the SOURCE must already be an overlay. An overlay opened from the page is\n * still a REPLACE, which on an empty stack is the same placement, so opening a popup, closing it\n * and opening another cannot accumulate.\n */\n const stacksOnOverlay = resolution.targetZone === NavigationZone.OVERLAY\n && initiator.sourceZone === NavigationZone.OVERLAY;\n const emitsPush = resolution.transition === NavigationTransition.PUSH || stacksOnOverlay;\n\n /*\n * ─── A PUSH to the record directly BENEATH is a Back ────────────────────────────────────────\n *\n * Every \"go to this record\" affordance — a breadcrumb segment, a reference chip, a parent link —\n * ends here, and the one that names the entry the reader just came from must return to it. A\n * push stacked a SECOND copy: on Wonder Todos a task opened inside its todo, whose breadcrumb\n * named that todo, left the pane at `[todo, task, todo]` with one more history entry, and the\n * reader walked back through the task to leave (#1943). Deciding it here gives every affordance\n * the same answer. `ResourceLayout_Read.handleNavigateToParent` keeps its own check (#1749)\n * because a parent's READ may resolve to a SPLIT rather than a PUSH, which this rule does not see.\n *\n * Narrow on purpose: a structural zone, a real PUSH, the SAME destination as the entry directly\n * beneath, and not a TABBED zone — there the other entries are parallel tabs, not history.\n */\n const targetZoneState = isStructuralZone ? getZoneState(resolution.targetZone as NavigationZoneName) : undefined;\n const entryBeneath = targetZoneState && targetZoneState.activeTabId === undefined\n ? targetZoneState.stack[targetZoneState.stack.length - 2]\n : undefined;\n if (\n resolution.transition === NavigationTransition.PUSH\n && finalUrlPath !== undefined\n && entryBeneath?.urlPath\n && NavigationUtils.urlsAddressSameDestination(entryBeneath.urlPath, finalUrlPath)\n ) {\n logDebug('PUSH names the entry beneath — going back instead', { zone: resolution.targetZone, finalUrlPath });\n goBack(resolution.targetZone as NavigationZoneName);\n return;\n }\n logDebug('Emitting navigation event', { event: emitsPush ? 'PUSH' : 'REPLACE', zone: resolution.targetZone, finalUrlPath, hostedPane, stacksOnOverlay });\n // The commit: the zone-state emit and the URL update, in one synchronous step a shell layout may wrap (a view\n // transition from the pressed row, #2055). See `navigation-commit.ts`.\n runNavigationCommit(() => {\n if (emitsPush) {\n emit(FrontendEvents.NAVIGATION_PUSH, eventPayload as FrontendEvent_NavigationPush);\n } else {\n // PROMOTE, REPLACE, SPLIT and INPLACE all emit as REPLACE; so does an OVERLAY opened from a\n // structural zone, which is the first entry of an empty stack.\n emit(FrontendEvents.NAVIGATION_REPLACE, eventPayload as FrontendEvent_NavigationReplace);\n }\n\n // Update browser URL for addressable operations in structural zones\n if (shouldUpdateUrl && finalUrlPath) {\n const isReplaceLike = replaceBrowserHistory === true\n || resolution.transition === NavigationTransition.REPLACE\n || resolution.transition === NavigationTransition.PROMOTE;\n /*\n * The composer decides for the two zones whose address depends on ANOTHER zone: a hosted\n * SECONDARY rides on the host's URL, and a COMPANION beside a hosted secondary must not\n * overwrite that URL — it used to write its own bare address, which dropped `?pane=` and made\n * the pane reconciler clear the secondary the moment the companion opened.\n */\n const browserUrl = hostedPane || resolution.targetZone === NavigationZoneName.COMPANION\n ? NavigationUtils.resolveBrowserUrlForZoneEntry({\n zone: resolution.targetZone,\n entryUrlPath: finalUrlPath,\n paneContent: enrichedContent,\n currentBrowserUrl: currentBrowserUrlRef.current,\n getZoneState,\n }) ?? finalUrlPath\n : finalUrlPath;\n updateBrowserUrl(routerNavigate, browserUrl, isReplaceLike);\n }\n }, { zone: resolution.targetZone });\n } catch (error) {\n logger.error('useNavigationController navigation failed', {\n error,\n requestId,\n sourceZone: initiator.sourceZone,\n contentType: content.contentType,\n urlPath,\n resourceType: NavigationUtils.isResourceOperationContent(content)\n ? content.resourceContext.resourceType\n : undefined,\n operationIdentifier: NavigationUtils.isResourceOperationContent(content)\n ? content.resourceContext.operation?.operationIdentifier\n : undefined,\n });\n }\n })();\n }, [\n emit,\n navigationLayout,\n currentBreakpoint,\n user,\n appScope,\n registry,\n compositeViews,\n fullCustomViews,\n flowsActorsViews,\n getOperationContextNeeds,\n routerNavigate,\n getZoneState,\n contentAreaWidth,\n inPlaceHost,\n goBack,\n ]);\n\n const navigateToResource = useCallback(( resourceContext: FrontendResourceOperationContext, initiator: NavigationInitiatorContext, urlPath?: string, transitionOverride?: TransitionConfig) => {\n const content: NavigationContent = {\n contentType: NavigationContentType.RESOURCE_OPERATION,\n resourceContext,\n };\n\n // `transitionOverride` is a caller-forced transition that wins over the\n // source-zone policy (it feeds the resolver's high-priority caller-transition\n // channel — see `NavigateOptions.relationshipTransition`). The canonical use\n // is a breakout: a mutation hosted in an OVERLAY (create/update dialog) that,\n // on success, must reveal the resulting record in a structural zone via\n // PROMOTE — otherwise the follow-up navigation resolves through\n // `fromOverlay.transitions` and stacks the record *inside* the transient\n // dialog, leaving the popup stuck open.\n navigate({ content, initiator, urlPath, relationshipTransition: transitionOverride });\n }, [navigate]);\n\n /**\n * Close the top overlay entry.\n */\n const closeOverlay = useCallback(() => {\n const topOverlay = NavigationUtils.getTopEntry(getZoneState(NavigationZone.OVERLAY));\n if (!topOverlay) return;\n emit(FrontendEvents.NAVIGATION_CLOSE, { zone: NavigationZone.OVERLAY, stackEntryId: topOverlay.id });\n }, [emit, getZoneState]);\n\n /**\n * DISMISS an adjacent structural zone — close the pane, not one step of it.\n *\n * ## Why this is not `goBack`\n *\n * `goBack` pops ONE entry. A reader who drilled three records deep into a pane and wants their\n * width back would have to press it three times, and the first two presses look like the control\n * doing nothing. Dismiss clears the zone's whole stack in one gesture, which is what \"close this\n * pane\" means everywhere else it exists.\n *\n * ## Why the URL is written, and why it is the SAME url `goBack` writes\n *\n * A pane that leaves the layout must leave the address too, or a reload reopens it — measured on\n * the workbench (2026-09-22) when a pop wrote nothing and `?pane=` survived. Both gestures leave\n * the same layout behind, so `resolveZoneDismissUrl` owns the answer for both; a second copy of\n * that walk is how one of them comes to write a pane's bare address, which the reconciler cannot\n * claim and therefore rebuilds into primary.\n *\n * The URL is resolved BEFORE the zone is cleared, because the answer is read off the zone states\n * as they stand while the pane is still there.\n *\n * OVERLAY is not dismissable this way — it has `closeOverlay`, its own stack semantics and its own\n * URL rules — and PRIMARY is not dismissable at all: there is no layout left after it.\n */\n const dismissZone = useCallback((zone: NavigationZoneName) => {\n if (zone === NavigationZoneName.PRIMARY) return;\n if (getZoneState(zone).stack.length === 0) return;\n const browserUrl = NavigationUtils.resolveZoneDismissUrl({\n zone,\n currentBrowserUrl: currentBrowserUrlRef.current,\n getZoneState,\n });\n emit(FrontendEvents.NAVIGATION_CLEAR_ZONE, { zone });\n if (browserUrl) {\n updateBrowserUrl(routerNavigate, browserUrl, true);\n }\n }, [emit, getZoneState, routerNavigate]);\n\n /**\n * Check if a zone's stack has entries to go back to.\n */\n const canGoBack = useCallback((zone: NavigationZone): boolean => {\n return getZoneDepth(zone) > 1;\n }, [getZoneDepth]);\n\n return useMemo(\n () => ({ navigate, navigateToResource, goBack, closeOverlay, dismissZone, canGoBack, resourceRelationshipDepth: currentResourceRelationshipDepth }),\n [ navigate, navigateToResource, goBack, closeOverlay, dismissZone, canGoBack, currentResourceRelationshipDepth ]);\n}\n\n/**\n * Hook to control navigation in the application.\n *\n * Returns the scoped controller from {@link ScopedNavigationControllerContext}\n * when one is in context (the Settings Hub section host installs one so in-hub\n * related actions stay within the section panel), otherwise the global\n * controller. Both hooks run unconditionally — the global builder is\n * effect-free, so building it even when the scoped controller wins costs nothing\n * (and is exactly what every one of the ~27 existing call sites already does).\n */\n/**\n * What an `INPLACE` resolution should hand the element-level host, or `undefined` when this content\n * cannot be hosted in one.\n *\n * `CREATE` is the shape that has no element yet: the collection materialises a NEW one to collect\n * the input, which is what the transition's own docstring describes (\"a create form appears inline\n * in the list\"). Everything else must name the element it transforms, and content that cannot\n * resolve one is not hostable — the caller degrades rather than transforming an arbitrary row.\n */\nfunction resolveInPlaceTargetForContent(\n content: { resourceContext: FrontendResourceOperationContext },\n effectiveOperation: CoreResourceOperation | undefined,\n): InPlaceOperationTarget | undefined {\n const resourceContext = content.resourceContext;\n const operation = resourceContext.operation as FrontendResourceConfiguration_Operation | undefined;\n if (!operation) {\n return undefined;\n }\n\n if (\n effectiveOperation === CoreResourceOperation.CREATE\n || effectiveOperation === CoreResourceOperation.CREATE_MANY\n ) {\n return { kind: InPlaceOperationTargetKind.CREATE, operation, resourceContext };\n }\n\n // The element is the record the operation ADDRESSES. A collection or bulk operation addresses none, and its type\n // slot holds at most ambient scope (the app scope injected above), so it has no element to transform in place.\n const elementId = frontendResourceUtils.getAddressedRecordId(resourceContext);\n return elementId\n ? { kind: InPlaceOperationTargetKind.ELEMENT, elementId, operation, resourceContext }\n : undefined;\n}\n\nexport function useNavigationController(): NavigationController {\n const scopedController = useContext(ScopedNavigationControllerContext);\n const globalController = useGlobalNavigationController();\n return scopedController ?? globalController;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigationRouterSync.d.ts","sourceRoot":"","sources":["../../../../../src/core/navigation/useNavigationRouterSync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAgBH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iEAAiE,CAAC;AAerG,OAAO,EAGL,qBAAqB,EAGtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAIL,gDAAgD,EAEjD,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,uCAAuC,EACxC,MAAM,+DAA+D,CAAC;AAsBvE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,SAAS,EAAE,uCAAuC,GAAG,SAAS,EAC9D,mBAAmB,CAAC,EAAE,gDAAgD,EAAE,GACvE,IAAI,CAqWN;AAOD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,WAAW,EAAE,qBAAqB,GACjC,IAAI,CAmJN;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,CAqDhF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,gCAAgC,IAAI,IAAI,CAwGvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAyI7C;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CA8EhD"}
1
+ {"version":3,"file":"useNavigationRouterSync.d.ts","sourceRoot":"","sources":["../../../../../src/core/navigation/useNavigationRouterSync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAgBH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iEAAiE,CAAC;AAerG,OAAO,EAGL,qBAAqB,EAGtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAIL,gDAAgD,EAEjD,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,uCAAuC,EACxC,MAAM,+DAA+D,CAAC;AAsBvE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,SAAS,EAAE,uCAAuC,GAAG,SAAS,EAC9D,mBAAmB,CAAC,EAAE,gDAAgD,EAAE,GACvE,IAAI,CAqXN;AAOD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,WAAW,EAAE,qBAAqB,GACjC,IAAI,CAmJN;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,CAqDhF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,gCAAgC,IAAI,IAAI,CAwGvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAyI7C;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CA8EhD"}