@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
@@ -1 +1 @@
1
- {"version":3,"file":"useSidebarBehavior.js","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useSidebarBehavior.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { ApplicationLevelComponentType } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { HorizontalPlacement, SidebarCompactLabelMode, VerticalPlacement } from '@wildo-ai/presets-components-models';\nimport {\n SidebarHomeDisplayMode,\n SidebarSectionBehavior,\n SidebarSectionInlineCreate,\n SidebarSectionContentKind,\n SidebarResponsivePolicy,\n} from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport { useBrandIdentity } from '~wildo-frontend-lib/core/branding/useBrandIdentity';\nimport type { SidebarSection } from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport { ViewportBreakpoint } from '@wildo-ai/zod-decorators';\nimport { NavigationContentType, NavigationItemType, type AnyNavigationItem } from '~wildo-frontend-lib/core/navigation/navigation.schemas';\nimport { NavigationUtils } from '~wildo-frontend-lib/core/navigation/navigation.utils';\nimport { useNavigationController } from '~wildo-frontend-lib/core/navigation/useNavigationController';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\nimport { LOCAL_STORAGE_KEYS, getLocalStorageItem, setLocalStorageItem } from '~wildo-frontend-lib/core/commons/local-storage.frontend.schemas';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { resolveSidebarSections, type ResolvedSidebarSection, type ResolvedSidebarItem } from '~wildo-frontend-lib/core/navigation/launcher-resolution';\nimport { useLauncherResolutionContext } from '~wildo-frontend-lib/core/navigation/useLauncherResolutionContext';\nimport { filterVisibleSections, buildScopeConditionParams, debugSectionVisibility } from '~wildo-frontend-lib/core/mode/section-visibility';\nimport {\n filterSidebarSectionsByRuntimeAvailability,\n useLauncherRuntimeAvailabilityContext,\n} from '~wildo-frontend-lib/core/navigation/launcher-runtime-availability';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\n\nimport { useNavigationBehaviors } from './useNavigationBehaviors';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { FrontendEvents } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport type { HierarchicalNavigationItem, ResolvedHostedComponent, SectionGroup, SectionRenderProps, SidebarBehavior } from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\nimport { isSidebarConfigObject } from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\nimport { resolveHostedComponents } from '~wildo-frontend-lib/core/app-shell/hosted-components.utils';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { frontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport { CoreResourceOperation, NavigationTransition } from '@wildo-ai/saas-models';\n\nconst logger: LoggerFrontendService = LoggerFrontendService.getLogger();\nconst logDebug: (message: string, context?: Record<string, unknown>) => void = logger.debugByType('SidebarBehavior');\nlogger.setDebugTypeLogging('SidebarBehavior', false);\n\n\nexport interface UseSidebarBehaviorOptions {\n placement?: HorizontalPlacement;\n isCollapsed?: boolean;\n onToggleCollapse?: () => void;\n}\n\n/**\n * Ascending viewport order — used to answer \"is the current viewport at or below\n * the configured responsive threshold?\". Kept local (not on the enum) because the\n * enum's string values (`'<md'`, `'<lg'`, `'>=lg'`) carry no sortable structure.\n */\nconst VIEWPORT_BREAKPOINT_ORDER: readonly ViewportBreakpoint[] = [\n ViewportBreakpoint.MOBILE,\n ViewportBreakpoint.VERT_TABLET,\n ViewportBreakpoint.DESKTOP,\n];\n\nfunction isBreakpointAtOrBelow(current: ViewportBreakpoint, threshold: ViewportBreakpoint): boolean {\n return VIEWPORT_BREAKPOINT_ORDER.indexOf(current) <= VIEWPORT_BREAKPOINT_ORDER.indexOf(threshold);\n}\n\n/**\n * Single source of the \"sidebar renders as a mobile overlay drawer\" decision, shared\n * by `useSidebarBehavior` (which owns the drawer open state) and the menubar burger\n * trigger (which only needs to know whether to render). The decision is DERIVED from\n * config + current breakpoint — never stored in state — so it cannot race the\n * breakpoint read the way the old auto-collapse effect did.\n *\n * `true` when ALL of:\n * - the sidebar config is the object form (or defaulted) with `policy === BURGER`\n * (the schema documents BURGER as \"burger menu / drawer overlay on mobile\");\n * - the current breakpoint is at or below the configured `responsiveBreakpoint`\n * (default `MOBILE`, honoring the previously-dead config axis).\n *\n * `DRAWER` policy keeps its distinct documented semantics (sidebar stays visible\n * inline, auto-expands on desktop) and never enters overlay-drawer mode.\n */\nexport function resolveSidebarMobileDrawerMode(\n config: unknown,\n currentBreakpoint: ViewportBreakpoint | undefined,\n): boolean {\n if (config === false || !currentBreakpoint) return false;\n const sidebarObj = isSidebarConfigObject(config) ? config : undefined;\n const policy = sidebarObj?.policy ?? SidebarResponsivePolicy.BURGER;\n if (policy !== SidebarResponsivePolicy.BURGER) return false;\n const threshold = sidebarObj?.responsiveBreakpoint ?? ViewportBreakpoint.MOBILE;\n return isBreakpointAtOrBelow(currentBreakpoint, threshold);\n}\n\n/**\n * Lightweight companion hook for launchers OUTSIDE the sidebar (the menubar burger\n * trigger): reports whether the sidebar currently operates in mobile-drawer mode,\n * without instantiating the full sidebar behavior (whose drawer state must stay\n * owned by the single sidebar-preset instance).\n */\nexport function useSidebarMobileDrawerMode(): boolean {\n const { UIConfig, appComponentsConfiguration } = useUI();\n const config = appComponentsConfiguration?.[ApplicationLevelComponentType.SIDEBAR] as unknown;\n const sidebarEnabled = config !== false && config !== undefined;\n return sidebarEnabled && resolveSidebarMobileDrawerMode(config, UIConfig?.currentBreakpoint);\n}\n\n/**\n * Pure behavior hook for the Sidebar — zero rendering, 100% logic.\n *\n * Extracts section grouping, hierarchy, collapse state, inline create,\n * badge counts, navigation click handling, and responsive policy from the\n * monolithic `ApplicationLevelPreset_Sidebar_Default`.\n */\n/**\n * The machine-local rail-collapse preference, or `null` when the user has never\n * expressed one (including when storage is unreadable — SSR, a private window,\n * blocked site data, all of which correctly mean \"no preference on record\").\n *\n * `null` is load-bearing and NOT interchangeable with `false`: absence is what lets\n * an application's declared `defaultCollapsed` apply, while a stored `'false'` is a\n * real choice that must override it.\n */\nfunction readStoredRailCollapse(): boolean | null {\n const stored = getLocalStorageItem(LOCAL_STORAGE_KEYS.SIDEBAR_COLLAPSED);\n return stored === null ? null : stored === 'true';\n}\n\nexport function useSidebarBehavior(options: UseSidebarBehaviorOptions = {}): SidebarBehavior {\n const {\n placement = HorizontalPlacement.START,\n isCollapsed: externalIsCollapsed,\n onToggleCollapse,\n } = options;\n\n const navBehaviors = useNavigationBehaviors();\n // Raw per-item active check (`NavigationUtils.isActiveRoute` against the current\n // pathname). It marks BOTH a parent route and its child active on a child URL;\n // `getMostSpecificActiveRoute` below narrows that to the single most precise item.\n const { isNavigationItemActive: isItemActiveByRoute } = navBehaviors;\n\n // --- New per-launcher resolution context ---\n const resolutionCtx = useLauncherResolutionContext();\n\n // --- Mode + scope contexts for section filtering ---\n const appScope = useAppScopeSafe();\n const runtimeAvailabilityContext = useLauncherRuntimeAvailabilityContext();\n\n // --- Config from UI context ---\n const { UIConfig, appComponentsConfiguration, sidebarCompactLabelMode , navigationLayout } = useUI();\n const { navigate, navigateToResource } = useNavigationController();\n const { registry } = useResourceRegistry();\n\n const config = appComponentsConfiguration?.[ApplicationLevelComponentType.SIDEBAR] as unknown;\n const sidebarEnabled = config !== false;\n const currentBreakpoint = UIConfig?.currentBreakpoint;\n const { on } = useEventBus();\n\n const rawContentSections: SidebarSection[] | undefined = isSidebarConfigObject(config)\n ? (config as { contentSections?: SidebarSection[] }).contentSections\n : undefined;\n\n const defaultSection = isSidebarConfigObject(config) ? config.defaultSection : undefined;\n\n // How HOME is surfaced (hidden / pinned brand header / navigation row). The\n // schema defaults this, but a `true`-shaped or absent sidebar config never\n // passes through the object branch — so the framework default is restated\n // here rather than assumed present.\n const homeDisplayMode: SidebarHomeDisplayMode = (isSidebarConfigObject(config) ? config.homeDisplayMode : undefined)\n ?? SidebarHomeDisplayMode.NAVIGATION_ITEM;\n\n // Brand identity is read unconditionally (rules of hooks) but only EXPOSED in\n // brand-header mode, so a preset cannot accidentally render an app mark on a\n // surface the app did not opt into. `brandMarkTheme` pins the variant\n // (monochrome, or a forced light/dark side); omitted, the mark adapts to the\n // active UI theme.\n const brandMarkTheme = isSidebarConfigObject(config) ? config.brandMarkTheme : undefined;\n const brandIdentity = useBrandIdentity({ theme: brandMarkTheme });\n const brandHeader = homeDisplayMode === SidebarHomeDisplayMode.BRAND_HEADER ? brandIdentity : undefined;\n\n // Container-inversion: components hosted inside the sidebar, resolved through\n // the SAME shared pipeline the menubar uses (surface-qualified instance ids so\n // the shell-level interaction owner can disambiguate a command-menu trigger\n // hosted in both surfaces at once).\n const hostedComponents = useMemo<ResolvedHostedComponent[]>(() => {\n const hosted = isSidebarConfigObject(config) ? config.hostedComponents : undefined;\n return resolveHostedComponents(\n ApplicationLevelComponentType.SIDEBAR,\n hosted,\n appComponentsConfiguration as Record<string, unknown> | undefined,\n currentBreakpoint,\n VerticalPlacement.TOP,\n navigationLayout,\n );\n }, [config, appComponentsConfiguration, currentBreakpoint, navigationLayout]);\n\n // Filter sections by mode + scope BEFORE resolution (skip resolving hidden sections)\n const activeMode = runtimeAvailabilityContext.activeMode;\n const availableModes = runtimeAvailabilityContext.availableModes;\n const allScopeValues = runtimeAvailabilityContext.allScopeValues;\n\n const contentSections: SidebarSection[] | undefined = useMemo(() => {\n if (!rawContentSections) return undefined;\n const scopeParams = buildScopeConditionParams(allScopeValues, activeMode, availableModes);\n const visible = filterVisibleSections(\n rawContentSections,\n activeMode,\n scopeParams,\n envLoader.isDevelopment(),\n );\n return filterSidebarSectionsByRuntimeAvailability(visible, runtimeAvailabilityContext);\n }, [rawContentSections, activeMode, availableModes, allScopeValues, runtimeAvailabilityContext]);\n\n // DEV-only: log visibility table when window.__WILDO_DEBUG_SIDEBAR__ is set.\n // Runs as an effect so toggling the flag in DevTools takes effect on the\n // next mode/scope/sections change without needing a manual refresh.\n useEffect(() => {\n if (!envLoader.isDevelopment() || !rawContentSections) return;\n if (!(window as { __WILDO_DEBUG_SIDEBAR__?: boolean }).__WILDO_DEBUG_SIDEBAR__) return;\n const scopeParams = buildScopeConditionParams(allScopeValues, activeMode, availableModes);\n debugSectionVisibility(rawContentSections, activeMode, scopeParams);\n }, [rawContentSections, activeMode, availableModes, allScopeValues]);\n\n // ===================================================================\n // State Management\n // ===================================================================\n\n // Rail collapse state, persisted (E6). Hydrated SYNCHRONOUSLY via the lazy\n // initializer so the first paint already renders the persisted width — an\n // effect-based hydration would flash expanded→collapsed on every reload.\n //\n // A visitor with NO stored preference falls back to the config's\n // `defaultCollapsed`, which is how an application declares a RAIL-FIRST shell.\n // Before that axis existed the fallback was a hard `false`, so expanded was\n // the only reachable starting state for every application ever built on the\n // framework — a rail-first product could only be reached by the user clicking\n // the chevron once per machine.\n //\n // The stored preference WINS, deliberately: this is a starting position, not a\n // lock. Note the comparison is against the string `'true'`, so a stored\n // `'false'` is a real preference (expanded) and correctly overrides a config\n // asking for collapsed — only ABSENCE reaches the config value.\n //\n // Read ONCE, into a ref: `null` covers both \"never chose\" and \"storage unreadable\"\n // (SSR, a private window, blocked site data). Nothing outside this tab writes the\n // key, so re-reading it per render could only ever return the same answer.\n const storedRailCollapsePreference = useRef<boolean | null>(readStoredRailCollapse());\n\n // The rail state is DERIVED, in three tiers: the user's preference, else the\n // application's declared starting position, else expanded.\n //\n // Derived rather than initialized-once, because the config is NOT AVAILABLE on the\n // first render. `useUI()` resolves `appComponentsConfiguration` asynchronously, so a\n // lazy `useState` initializer reads `undefined`, settles on `false`, and never looks\n // again — which is exactly how the first version of `defaultCollapsed` shipped\n // inert. Measured in a real browser against the workbench: the rail rendered at\n // 256px with `data-collapsed=\"false\"` while the config asked for a collapsed rail.\n const configuredDefaultCollapsed = isSidebarConfigObject(config) ? config.defaultCollapsed : undefined;\n const [railCollapseOverride, setRailCollapseOverride] = useState<boolean | null>(\n storedRailCollapsePreference.current,\n );\n const internalIsCollapsed = railCollapseOverride ?? configuredDefaultCollapsed ?? false;\n\n /**\n * The ONLY writer of the rail-collapse preference.\n *\n * Persistence lives here — in the act that expresses a choice — and NOT in an effect\n * keyed on the state, which is where it used to live. That effect ran on MOUNT and\n * wrote `String(false)` before the config had resolved, manufacturing a stored\n * \"preference\" the user never expressed. Measured on a virgin browser context: the\n * key was `null` through login and `\"false\"` the moment the shell painted, after\n * which it shadowed `defaultCollapsed` on every subsequent load, forever. A stored\n * value must mean somebody chose it.\n */\n const setRailCollapsed = useCallback((next: boolean): void => {\n setRailCollapseOverride(next);\n setLocalStorageItem(LOCAL_STORAGE_KEYS.SIDEBAR_COLLAPSED, String(next));\n }, []);\n const isCollapsed = externalIsCollapsed !== undefined ? externalIsCollapsed : internalIsCollapsed;\n\n // Mobile overlay-drawer mode (F1) — DERIVED from config + breakpoint, never stored,\n // so it cannot race the breakpoint read. While in drawer mode the rail-collapse\n // state is untouched (a drawer always shows the full expanded sidebar) and the\n // persisted desktop preference survives the excursion through mobile.\n const isMobileDrawerMode = sidebarEnabled && resolveSidebarMobileDrawerMode(config, currentBreakpoint);\n const [isMobileDrawerOpen, setIsMobileDrawerOpen] = useState(false);\n\n // Leaving drawer mode (viewport grew) must not leave a stale \"open\" flag behind:\n // the next excursion into mobile would then start with the drawer already open.\n useEffect(() => {\n if (!isMobileDrawerMode) setIsMobileDrawerOpen(false);\n }, [isMobileDrawerMode]);\n\n const [collapsedSections, setCollapsedSections] = useState<Record<string, boolean>>(() => {\n try {\n const stored = localStorage.getItem(LOCAL_STORAGE_KEYS.SIDEBAR_SECTION_COLLAPSED);\n return stored ? JSON.parse(stored) : {};\n } catch {\n return {};\n }\n });\n\n const [collapsedItems, setCollapsedItems] = useState<Record<string, boolean>>({});\n\n const [inlineCreateActive, setInlineCreateActive] = useState<string | null>(null);\n const [inlineCreateValue, setInlineCreateValue] = useState('');\n\n // User-curated favorites (star affordance), persisted like the rail-collapse\n // state. The stored keys are resolved launcher item ids, which are\n // deterministic across sessions (`resolved-<resourceType>-<op>-<variant>`,\n // `resolved-view-<ref>`, …). Hydrated synchronously (lazy initializer) so the\n // first paint already shows the favorites section. Unresolvable stored ids are\n // KEPT in storage (an item may be temporarily feature/mode-gated) — they are\n // simply not rendered until their item resolves again.\n const [favoriteIds, setFavoriteIds] = useState<string[]>(() => {\n try {\n const stored = getLocalStorageItem(LOCAL_STORAGE_KEYS.SIDEBAR_FAVORITES);\n const parsed: unknown = stored ? JSON.parse(stored) : [];\n return Array.isArray(parsed) ? parsed.filter((value): value is string => typeof value === 'string') : [];\n } catch {\n return [];\n }\n });\n\n useEffect(() => {\n setLocalStorageItem(LOCAL_STORAGE_KEYS.SIDEBAR_FAVORITES, JSON.stringify(favoriteIds));\n }, [favoriteIds]);\n\n // Persist section collapse state\n useEffect(() => {\n try {\n localStorage.setItem(LOCAL_STORAGE_KEYS.SIDEBAR_SECTION_COLLAPSED, JSON.stringify(collapsedSections));\n } catch { /* ignore localStorage errors */ }\n }, [collapsedSections]);\n\n // ===================================================================\n // Configuration Processing\n // ===================================================================\n\n const dimensions = useMemo(() => {\n const isMobile = currentBreakpoint === ViewportBreakpoint.MOBILE;\n const sidebarObj = isSidebarConfigObject(config) ? config : undefined;\n // Theme design policy: an ICON_AND_LABEL compact rail renders a centered\n // label under each icon, so the default collapsed width must leave room\n // for readable (wrapping) text. Explicit app config still wins.\n const labeledRail = sidebarCompactLabelMode === SidebarCompactLabelMode.ICON_AND_LABEL;\n return {\n width: isMobile\n ? (sidebarObj?.mobileWidth ?? 280)\n : (sidebarObj?.width ?? 256),\n collapsedWidth: isMobile\n ? (sidebarObj?.mobileCollapsedWidth ?? (labeledRail ? 80 : 56))\n : (sidebarObj?.collapsedWidth ?? (labeledRail ? 88 : 64)),\n };\n }, [currentBreakpoint, config, sidebarCompactLabelMode]);\n\n // DRAWER-policy auto-expand — the enum's documented semantics, \"stays visible but\n // auto-expands on desktop\".\n //\n // Fires ONLY on an upward CROSSING of the responsive threshold, never on mount. The\n // effect used to expand on every render where the viewport sat above the threshold,\n // which on a desktop meant every page load: it overrode the user's persisted\n // collapse AND any `defaultCollapsed` the application declared, so a DRAWER-policy\n // app could not ship or remember a collapsed rail at all. Its own comment claimed\n // the removal of the BURGER half meant it \"no longer clobbers the persisted\n // rail-collapse preference\" — true of the mobile half that was deleted, false of\n // this half, which was never re-examined.\n //\n // \"Auto-expand on desktop\" only ever meant undoing a collapse the NARROW viewport\n // imposed. A crossing is the event that carries that meaning; a render is not.\n const wasBelowResponsiveThresholdRef = useRef<boolean | null>(null);\n useEffect(() => {\n const sidebarObj = isSidebarConfigObject(config) ? config : undefined;\n if (sidebarObj?.policy !== SidebarResponsivePolicy.DRAWER || !currentBreakpoint) return;\n const threshold = sidebarObj.responsiveBreakpoint ?? ViewportBreakpoint.MOBILE;\n const isBelowThreshold = isBreakpointAtOrBelow(currentBreakpoint, threshold);\n const wasBelowThreshold = wasBelowResponsiveThresholdRef.current;\n wasBelowResponsiveThresholdRef.current = isBelowThreshold;\n // `null` is \"first observation\" — a starting viewport is not a crossing.\n if (wasBelowThreshold === true && !isBelowThreshold && externalIsCollapsed === undefined) {\n setRailCollapsed(false);\n }\n }, [currentBreakpoint, config, externalIsCollapsed, setRailCollapsed]);\n\n // ===================================================================\n // Section Grouping Logic\n // ===================================================================\n\n // ===================================================================\n // New per-launcher resolution path\n // ===================================================================\n\n const resolvedSections = useMemo((): ResolvedSidebarSection[] => {\n if (!contentSections || !resolutionCtx) return [];\n return resolveSidebarSections(contentSections, resolutionCtx);\n }, [contentSections, resolutionCtx]);\n\n // ===================================================================\n // Section Grouping Logic (per-launcher resolution)\n // ===================================================================\n\n const groupedSections = useMemo((): SectionGroup[] => {\n const groups = resolvedSections.map((resolved, idx) =>\n mapResolvedSectionToSectionGroup(resolved, idx),\n );\n\n // ── Favorites population ────────────────────────────────────────────────\n // A FAVORITES-behavior section renders the user's favorited items, looked\n // up among every OTHER navigation section's resolved items (favoriting is\n // a projection, not a second declaration). Copies are flat (children\n // stripped — favoriting a node must not duplicate its subtree), carry a\n // distinct id so the exactly-one-active invariant still elects a single\n // row, and carry `favoriteId` = the origin id for the star toggle.\n const favoriteLookup = new Map<string, HierarchicalNavigationItem>();\n const collectItems = (items: HierarchicalNavigationItem[]): void => {\n for (const item of items) {\n if (!favoriteLookup.has(item.id)) favoriteLookup.set(item.id, item);\n if (item.children?.length) collectItems(item.children as HierarchicalNavigationItem[]);\n }\n };\n for (const group of groups) {\n if (group.contentKind !== SidebarSectionContentKind.NAVIGATION_LIST) continue;\n if (group.section.behavior === SidebarSectionBehavior.FAVORITES) continue;\n collectItems(group.items);\n }\n\n const withFavorites = groups\n .map((group): SectionGroup => {\n if (\n group.contentKind !== SidebarSectionContentKind.NAVIGATION_LIST\n || group.section.behavior !== SidebarSectionBehavior.FAVORITES\n ) {\n return group;\n }\n const items: HierarchicalNavigationItem[] = favoriteIds\n .map(id => favoriteLookup.get(id))\n .filter((item): item is HierarchicalNavigationItem => item !== undefined)\n .map(origin => ({\n ...origin,\n id: `favorite-${origin.id}`,\n favoriteId: origin.id,\n children: undefined,\n }));\n return { ...group, items };\n })\n // ── An EMPTY navigation section is not a section ────────────────────────\n //\n // Omitted entirely, in BOTH the expanded column and the collapsed rail.\n // This used to hold only for FAVORITES (the star affordance on every row\n // is the discoverability cue, not a permanently empty header) while the\n // sidebar PRESET dropped empty sections in the collapsed rail alone,\n // keeping them expanded on the stated grounds that \"their titled header is\n // the 'drop things here' cue\".\n //\n // Nothing drops. A navigation section's items come from `contentSections`\n // children plus module `sidebarSectionItems` contributions, both resolved\n // at config-merge time — there is no runtime affordance that fills an empty\n // one, so its header was an authoring-time fiction rendered to end users.\n // Measured cost: the preset shells declare `tools`, `settings`, `team` and\n // `assistant` sections with `children: []`, and NOTHING in this repository\n // contributes items into any of them, so every application built on\n // `APP_SHELL_SIDEBAR` shipped two-to-four permanently empty headers. The\n // same shape bites an app whose section is conditionally filled: Wonder\n // Todos' `labs` section is populated by a DEV-only module contribution, so\n // its production build rendered a bare \"LABS\" heading.\n //\n // The sockets STAY in the presets. `appendNavChildrenToSidebarSection`\n // silently drops a contribution whose `sectionRef` is not in\n // `contentSections`, so a declared-but-empty section is what makes the\n // contribution point exist; the fix is that it costs no chrome until\n // something fills it, not that it stops existing.\n //\n // Scoped to NAVIGATION_LIST: a RESOURCE_BROWSER / GUIDANCE_WIDGET /\n // CUSTOM_COMPONENT section carries no `items` by construction (they always\n // map to `items: []`) and renders its content another way, so filtering on\n // emptiness would erase them outright.\n //\n // An INLINE-CREATE section survives while empty: its \"+\" affordance is a\n // real runtime way to fill it, which is precisely the thing the retired\n // \"drop things here\" rationale claimed and did not have.\n .filter(group =>\n group.contentKind !== SidebarSectionContentKind.NAVIGATION_LIST\n || group.items.length > 0\n || group.section.inlineCreate !== SidebarSectionInlineCreate.NONE);\n\n // ── Engine ordering policy ──────────────────────────────────────────────\n // Primary section(s) first (they head the sidebar, sharing their group with\n // the Home row when `homeDisplayMode` is NAVIGATION_ITEM), then favorites,\n // then everything else in declared order. This is deliberate\n // framework IA policy: modules append their sections during config merge,\n // so declaration order cannot express \"primary nav above app sections\".\n const sectionRank = (group: SectionGroup): number => {\n if (group.section.isPrimary) return 0;\n if (group.section.behavior === SidebarSectionBehavior.FAVORITES) return 1;\n return 2;\n };\n return withFavorites\n .map((group, declaredIndex) => ({ group, declaredIndex }))\n .sort((a, b) => sectionRank(a.group) - sectionRank(b.group) || a.declaredIndex - b.declaredIndex)\n .map(entry => entry.group);\n }, [resolvedSections, favoriteIds]);\n\n // ===================================================================\n // Active-item resolution — MOST-SPECIFIC match wins\n // ===================================================================\n //\n // The raw per-item checker (`NavigationUtils.isActiveRoute`) marks a pattern\n // active when the current path equals OR is a CHILD of it. A menu that lists\n // both a parent route (`…/todo-lists`) and a child route\n // (`…/todo-lists/:listId/todos`) therefore highlights BOTH on the child URL.\n // We own the full candidate set here, so resolve the single most-specific\n // active urlPath across every rendered item (incl. nested children) and mark\n // only that one active.\n // Ordered inventory of every rendered item's IDENTITY + path (depth-first, in\n // section order). The identity axis matters beyond path specificity: two items may\n // share an IDENTICAL urlPath (e.g. the same list surfaced in two sections), and a\n // path-keyed active check would highlight both (frontend-ux-quality-audit E2).\n const allItemEntries = useMemo(() => {\n const entries: Array<{ id: string; urlPath: string }> = [];\n const collect = (items: HierarchicalNavigationItem[]): void => {\n for (const item of items) {\n if (item.urlPath) entries.push({ id: item.id, urlPath: item.urlPath });\n if (item.children?.length) collect(item.children);\n }\n };\n for (const group of groupedSections) collect(group.items);\n return entries;\n }, [groupedSections]);\n\n const mostSpecificActiveUrlPath = useMemo(\n () => NavigationUtils.getMostSpecificActiveRoute(allItemEntries.map(entry => entry.urlPath), isItemActiveByRoute),\n [allItemEntries, isItemActiveByRoute],\n );\n\n // Exactly ONE item may be active. Among items carrying the winning (most-specific\n // active) path, the FIRST in section order wins — a deterministic tie-break for\n // duplicate launcher targets.\n const activeItemId = useMemo(() => {\n if (!mostSpecificActiveUrlPath) return undefined;\n return allItemEntries.find(entry => entry.urlPath === mostSpecificActiveUrlPath)?.id;\n }, [allItemEntries, mostSpecificActiveUrlPath]);\n\n const isNavigationItemActive = useCallback(\n (item: { id: string; urlPath?: string }): boolean => !!activeItemId && item.id === activeItemId,\n [activeItemId],\n );\n\n // ===================================================================\n // Computed Properties\n // ===================================================================\n\n // The drawer always presents the FULL sidebar (a 45%-wide icon rail floating over\n // content is nobody's drawer) — so in drawer mode the exposed collapse state is\n // pinned expanded while the persisted desktop preference is preserved untouched.\n const effectiveIsCollapsed = isMobileDrawerMode ? false : isCollapsed;\n\n const sidebarConfig = useMemo(() => {\n const isCollapsible = isSidebarConfigObject(config) ? config.collapsible !== false : true;\n const placementClass = placement === HorizontalPlacement.START ? 'border-e' : 'border-s';\n const policy = isSidebarConfigObject(config) ? config.policy : SidebarResponsivePolicy.BURGER;\n\n return {\n isCollapsible,\n placementClass,\n responsivePolicy: policy,\n currentWidth: effectiveIsCollapsed ? dimensions.collapsedWidth : dimensions.width,\n };\n }, [config, placement, effectiveIsCollapsed, dimensions]);\n\n // ===================================================================\n // Event Handlers\n // ===================================================================\n\n const handleToggleCollapse = useCallback(() => {\n // In drawer mode the toggle surface (burger button / HOTKEY_SIDEBAR_TOGGLE)\n // opens and closes the overlay drawer — rail collapse is a desktop concept.\n if (isMobileDrawerMode) {\n setIsMobileDrawerOpen(prev => !prev);\n return;\n }\n if (onToggleCollapse) {\n onToggleCollapse();\n } else {\n setRailCollapsed(!isCollapsed);\n }\n }, [isMobileDrawerMode, isCollapsed, onToggleCollapse, setRailCollapsed]);\n\n const closeMobileDrawer = useCallback(() => {\n setIsMobileDrawerOpen(false);\n }, []);\n\n const handleToggleCollapseRef = useRef(handleToggleCollapse);\n handleToggleCollapseRef.current = handleToggleCollapse;\n\n useEffect(() => {\n if (!sidebarEnabled) return;\n return on(FrontendEvents.HOTKEY_SIDEBAR_TOGGLE, () => {\n handleToggleCollapseRef.current();\n });\n }, [on, sidebarEnabled]);\n\n /**\n * Record a section's collapsed state. A SETTER, not a toggle, and that is the fix for #631.\n *\n * It used to be `setCollapsedSections(prev => ({ ...prev, [ref]: !prev[ref] }))` — negating the\n * STORED value. But `isSectionCollapsed` below resolves an EFFECTIVE value from three sources,\n * and the stored entry is only the first of them: an unstored section falls through to\n * `defaultSection` and then to `section.defaultCollapsed`. So for any section declaring\n * `defaultCollapsed: true`, the first interaction computed `!undefined === true` and wrote\n * `true` — the state it was already in. The section ignored its first click and opened on the\n * second, deterministically, on every fresh browser.\n *\n * That cost Wonder CRM its entire navigation: `settings` (which declares `defaultCollapsed:\n * true`) was the only group in its sidebar, so the app's one navigation control did nothing\n * when a user clicked it.\n *\n * A toggle is the wrong shape here, not merely a buggy one — it has to re-derive a value the\n * caller already holds, and re-deriving it from the wrong source is exactly what happened.\n * Radix hands `onOpenChange` the desired next state, computed from the CONTROLLED `open` prop,\n * which is the effective value. Taking that value makes the defect unrepresentable rather than\n * fixed in one place. (`handleToggleItemCollapse` below keeps the negating form and is correct:\n * `isItemCollapsed` is `collapsedItems[id] ?? false`, a single source whose unstored value is\n * always `false`, so there is no effective/stored gap to fall into.)\n */\n const handleSetSectionCollapsed = useCallback((sectionRef: string, collapsed: boolean) => {\n setCollapsedSections(prev => ({ ...prev, [sectionRef]: collapsed }));\n }, []);\n\n const isSectionCollapsed = useCallback(\n (section: SectionRenderProps): boolean => {\n if (!section.collapsible) return false;\n const stored = collapsedSections[section.ref];\n if (stored !== undefined) return stored;\n if (defaultSection && section.ref === defaultSection) return false;\n return section.defaultCollapsed ?? false;\n },\n [collapsedSections, defaultSection],\n );\n\n const handleToggleItemCollapse = useCallback((itemId: string) => {\n setCollapsedItems(prev => ({ ...prev, [itemId]: !prev[itemId] }));\n }, []);\n\n const handleNavigationClick = useCallback(\n (item: AnyNavigationItem) => {\n logDebug('handleNavigationClick', {\n itemId: item.id,\n itemLabel: item.label,\n urlPath: item.urlPath,\n });\n navBehaviors.handleNavigationClick(item, ApplicationLevelComponentType.SIDEBAR);\n // A navigation from inside the mobile drawer dismisses it — leaving the\n // overlay open would cover the very content the user just navigated to.\n if (isMobileDrawerMode) setIsMobileDrawerOpen(false);\n },\n [navBehaviors.handleNavigationClick, isMobileDrawerMode],\n );\n\n const handleHomeClick = useCallback(() => {\n logDebug('handleHomeClick: START');\n navBehaviors.handleHomeClick();\n if (isMobileDrawerMode) setIsMobileDrawerOpen(false);\n logDebug('handleHomeClick: DONE');\n }, [navBehaviors.handleHomeClick, isMobileDrawerMode]);\n\n // --- Inline create handlers ---\n const handleStartInlineCreate = useCallback((sectionRef: string) => {\n setInlineCreateActive(sectionRef);\n setInlineCreateValue('');\n }, []);\n\n const handleCancelInlineCreate = useCallback(() => {\n setInlineCreateActive(null);\n setInlineCreateValue('');\n }, []);\n\n const handleSubmitInlineCreate = useCallback(\n (sectionRef: string, resourceType?: string) => {\n if (!resourceType) return;\n\n const rawSections: SidebarSection[] | undefined = isSidebarConfigObject(config)\n ? (config as { contentSections?: SidebarSection[] }).contentSections\n : undefined;\n const section = rawSections?.find(s => s.ref === sectionRef);\n /*\n * `DIALOG` collects NOTHING inline — it opens the create form. This handler used to demand a\n * typed value for both modes and return on an empty one, so every `DIALOG` section's button\n * submitted `''` and did nothing, with no log. The mode is read off the section, which is\n * where the author declared it.\n */\n // Only a navigation-list section declares an inline-create mode; the narrow is the same one the\n // field name below already takes.\n const opensDialog = section?.contentKind === SidebarSectionContentKind.NAVIGATION_LIST\n && section.inlineCreate === SidebarSectionInlineCreate.DIALOG;\n if (!opensDialog && !inlineCreateValue.trim()) return;\n const fieldName = (section?.contentKind === SidebarSectionContentKind.NAVIGATION_LIST\n ? section.inlineCreateField\n : undefined) ?? 'title';\n const resourceConfig = registry.resourceConfigurations[resourceType];\n const createOperation = resourceConfig?.operations?.find(\n (operation) => String(operation.operationIdentifier) === CoreResourceOperation.CREATE\n );\n if (!resourceConfig || !createOperation) {\n return;\n }\n\n const resourceContext = frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n resourceType,\n operation: createOperation,\n contextResourceIdentifiers: appScope?.buildContextResourceIdentifiers() ?? {},\n ...(opensDialog ? {} : { additionalContext: { defaultValuesOverride: { [fieldName]: inlineCreateValue.trim() } } }),\n });\n\n if (opensDialog) {\n /*\n * The section declared a DIALOG, so the form opens as one whatever the layout's app-level map\n * says for CREATE — otherwise the same button would open a dialog in one application and a\n * full page in the next.\n */\n navigateToResource(\n resourceContext,\n NavigationUtils.createAppLevelInitiator(ApplicationLevelComponentType.SIDEBAR),\n undefined,\n NavigationTransition.OVERLAY,\n );\n return;\n }\n\n navigate({\n content: {\n contentType: NavigationContentType.RESOURCE_OPERATION,\n resourceContext,\n },\n initiator: NavigationUtils.createAppLevelInitiator(ApplicationLevelComponentType.SIDEBAR),\n });\n\n handleCancelInlineCreate();\n },\n [inlineCreateValue, navigate, navigateToResource, handleCancelInlineCreate, config, registry, appScope],\n );\n\n const isItemCollapsedFn = useCallback(\n (itemId: string) => collapsedItems[itemId] ?? false,\n [collapsedItems],\n );\n\n // --- Favorites handlers ---\n // Both accept origin items (key = own `id`) and favorites-section copies\n // (key = `favoriteId`), so one star toggle serves both render sites.\n const isItemFavorite = useCallback(\n (item: Pick<HierarchicalNavigationItem, 'id' | 'favoriteId'>): boolean =>\n favoriteIds.includes(item.favoriteId ?? item.id),\n [favoriteIds],\n );\n\n const handleToggleItemFavorite = useCallback(\n (item: Pick<HierarchicalNavigationItem, 'id' | 'favoriteId'>) => {\n const key = item.favoriteId ?? item.id;\n setFavoriteIds(prev =>\n prev.includes(key) ? prev.filter(id => id !== key) : [...prev, key]);\n },\n [],\n );\n\n // Star affordance only makes sense when favoriting has a destination — a\n // configured FAVORITES-behavior section (checked on the CONFIG, not on the\n // rendered groups, which omit the section while it is empty).\n const hasFavoritesSection = useMemo(\n () => (contentSections ?? []).some(section =>\n section.contentKind === SidebarSectionContentKind.NAVIGATION_LIST\n && section.behavior === SidebarSectionBehavior.FAVORITES),\n [contentSections],\n );\n\n // ===================================================================\n // Return\n // ===================================================================\n\n return {\n groupedSections,\n hostedComponents,\n isCollapsed: effectiveIsCollapsed,\n isHomeActive: navBehaviors.isHomeActive,\n dimensions,\n sidebarConfig,\n isNavigationLoading: !resolutionCtx,\n hasItems: resolvedSections.length > 0,\n placement,\n\n isMobileDrawerMode,\n isMobileDrawerOpen,\n closeMobileDrawer,\n\n homeDisplayMode,\n brandHeader,\n\n isNavigationItemActive,\n isSectionCollapsed,\n isItemCollapsed: isItemCollapsedFn,\n\n handleNavigationClick,\n handleHomeClick,\n handleToggleCollapse,\n handleSetSectionCollapsed,\n handleToggleItemCollapse,\n\n isItemFavorite,\n handleToggleItemFavorite,\n hasFavoritesSection,\n\n inlineCreate: {\n activeSection: inlineCreateActive,\n value: inlineCreateValue,\n start: handleStartInlineCreate,\n cancel: handleCancelInlineCreate,\n submit: handleSubmitInlineCreate,\n setValue: setInlineCreateValue,\n },\n };\n}\n\n\n// ════════════════════════════════════════════════════════════════\n// Helpers: Map resolved sections to SectionGroup\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Maps a `ResolvedSidebarSection` (from the new per-launcher resolution) to\n * the existing `SectionGroup` interface so consumers don't need to change.\n *\n * For `NAVIGATION_LIST`, resolved items are mapped to `HierarchicalNavigationItem`.\n * For other content kinds, `items` is empty and the content-specific fields\n * are set on `SectionGroup` for the rendering layer to dispatch on.\n */\nfunction mapResolvedSectionToSectionGroup(\n resolved: ResolvedSidebarSection,\n index: number,\n): SectionGroup {\n const baseProps: SectionRenderProps = {\n ref: resolved.ref,\n label: resolved.label,\n showLabel: resolved.showLabel !== false,\n collapsible: resolved.collapsible ?? false,\n defaultCollapsed: resolved.defaultCollapsed ?? false,\n behavior: SidebarSectionBehavior.STATIC,\n inlineCreate: SidebarSectionInlineCreate.NONE,\n nested: false,\n maxNestingDepth: 1,\n };\n\n switch (resolved.contentKind) {\n case SidebarSectionContentKind.NAVIGATION_LIST: {\n const sectionProps: SectionRenderProps = {\n ...baseProps,\n behavior: resolved.behavior ?? SidebarSectionBehavior.STATIC,\n inlineCreate: resolved.inlineCreate ?? SidebarSectionInlineCreate.NONE,\n inlineCreateResourceType: resolved.inlineCreateResourceType,\n nested: resolved.nested ?? false,\n maxNestingDepth: resolved.maxNestingDepth ?? 1,\n // Primary sections head the sidebar (and share their group with the\n // Home row under NAVIGATION_ITEM): headerless and non-collapsible BY\n // CONTRACT — enforced here so a config authoring `isPrimary: true` +\n // `collapsible: true` cannot produce a collapsible primary group.\n isPrimary: resolved.isPrimary ?? false,\n ...(resolved.isPrimary ? { showLabel: false, collapsible: false } : {}),\n };\n\n /*\n * The null filter is NOT optional, and `strict: false` will not tell you so.\n *\n * `mapResolvedItemToHierarchical` drops a malformed item of a known kind by answering `null`.\n * The nested `children` map filtered those out; this one did not, and under\n * `engine/tsconfig.common.json`'s `\"strict\": false` a `(T | null)[]` assigns to `T[]` with no\n * diagnostic — so the typecheck said nothing. `renderHierarchicalItem` then reads\n * `item.children` off `null` and takes the WHOLE SIDEBAR down.\n *\n * That is worse than the defect the drop was added for: before it, a malformed ENGINE_PAGE\n * degraded into a view link that resolved to nothing. Introduced and caught the same day\n * (2026-09-25), by a review pass over the change that introduced it.\n */\n const items: HierarchicalNavigationItem[] = resolved.items\n .map(item => mapResolvedItemToHierarchical(item))\n .filter((item): item is HierarchicalNavigationItem => item !== null);\n\n return {\n section: sectionProps,\n items,\n moreMenuItems: [],\n contentKind: SidebarSectionContentKind.NAVIGATION_LIST,\n };\n }\n\n case SidebarSectionContentKind.RESOURCE_BROWSER:\n return {\n section: baseProps,\n items: [],\n moreMenuItems: [],\n contentKind: SidebarSectionContentKind.RESOURCE_BROWSER,\n resourceType: resolved.resourceType,\n operation: resolved.operation,\n operationVariant: resolved.operationVariant,\n navigateOperation: resolved.navigateOperation,\n navigateOperationVariant: resolved.navigateOperationVariant,\n instanceFilter: resolved.instanceFilter,\n onInstanceClick: resolved.onInstanceClick,\n };\n\n case SidebarSectionContentKind.GUIDANCE_WIDGET:\n return {\n section: baseProps,\n items: [],\n moreMenuItems: [],\n contentKind: SidebarSectionContentKind.GUIDANCE_WIDGET,\n guidanceRef: resolved.guidanceRef,\n };\n\n case SidebarSectionContentKind.CUSTOM_COMPONENT:\n return {\n section: baseProps,\n items: [],\n moreMenuItems: [],\n contentKind: SidebarSectionContentKind.CUSTOM_COMPONENT,\n componentRef: resolved.componentRef,\n };\n }\n}\n\n/**\n * Maps a `ResolvedSidebarItem` to `HierarchicalNavigationItem`.\n * Bridges the new resolved types to the old navigation item interface\n * so existing rendering components continue to work.\n *\n * Dispatches on presence of `operation`/`resourceContext` to build a\n * `ResourceNavigationItem`, otherwise builds a `ViewNavigationItem`.\n */\n/**\n * Report a navigation item that declares a KNOWN kind and lacks what that kind requires.\n *\n * Through the logger rather than `console.warn`, and outside `isDevelopment()`, because a dropped\n * sidebar entry is a defect an operator should see wherever the application runs — the pre-existing\n * RESOURCE diagnostics beside it are dev-only, which is why the ENGINE_PAGE case went unreported for\n * as long as it existed.\n */\nfunction logMalformedNavigationItem(item: ResolvedSidebarItem, problem: string): void {\n logger.warn(`Navigation item \"${item.id}\" ${problem} — dropped from the sidebar`, {\n itemId: item.id, ref: item.ref, contentType: item.contentType,\n });\n}\n\nfunction mapResolvedItemToHierarchical(\n item: ResolvedSidebarItem,\n): HierarchicalNavigationItem | null {\n const base = {\n id: item.id,\n ref: item.ref,\n label: item.label,\n urlPath: item.urlPath,\n icon: item.icon,\n displayPolicy: item.displayPolicy,\n notificationBadgeRef: item.notificationBadgeRef,\n children: item.children\n ?.map(mapResolvedItemToHierarchical)\n .filter((child): child is HierarchicalNavigationItem => child !== null),\n };\n\n if (item.operation && item.resourceContext) {\n if (envLoader.isDevelopment()) {\n if (!item.resourceType) console.warn(`[SidebarBehavior] Resource item \"${item.id}\" missing resourceType`);\n if (!item.operationIdentifier) console.warn(`[SidebarBehavior] Resource item \"${item.id}\" missing operationIdentifier`);\n }\n return {\n ...base,\n itemType: NavigationItemType.RESOURCE,\n resourceType: item.resourceType ?? '',\n operationIdentifier: item.operationIdentifier ?? '',\n operation: item.operation,\n resourceContext: item.resourceContext,\n } as HierarchicalNavigationItem;\n }\n\n if (item.contentType === NavigationContentType.ENGINE_PAGE) {\n /*\n * The `pageRef` guard used to be part of this condition (`&& item.pageRef`), so an ENGINE_PAGE\n * item that declared no `pageRef` fell through every branch below into the terminal VIEW\n * fallback — emitting a VIEW item that carries `contentType: ENGINE_PAGE` and a `viewRef` taken\n * from the item's own ref. The sidebar entry then navigated to a view reference that resolves to\n * nothing, silently: the dev-mode diagnostics below exist only for the RESOURCE branch.\n *\n * A malformed item of a KNOWN content type is a declaration defect, not a view. It is reported\n * and dropped rather than degraded into a different kind of thing.\n */\n if (!item.pageRef) {\n logMalformedNavigationItem(item, 'declares contentType ENGINE_PAGE with no `pageRef`');\n return null;\n }\n return {\n ...base,\n itemType: NavigationItemType.ENGINE_PAGE,\n pageRef: item.pageRef,\n } as HierarchicalNavigationItem;\n }\n\n if (item.contentType === NavigationContentType.SETTINGS_HUB) {\n return {\n ...base,\n itemType: NavigationItemType.SETTINGS_HUB,\n sectionRef: item.sectionRef,\n } as HierarchicalNavigationItem;\n }\n\n if (item.componentRef) {\n return {\n ...base,\n itemType: NavigationItemType.CUSTOM_COMPONENT,\n componentRef: item.componentRef,\n contextResourceIdentifiers: item.contextResourceIdentifiers,\n } as HierarchicalNavigationItem;\n }\n\n /*\n * The terminal fallback is the VIEW FAMILY — a composite view, a chart, an execution, a flows\n * actors view, a full custom view. It is reached by an item whose contentType is one of those, or\n * by one that declares none at all.\n *\n * It is NOT a place for an item of a different known kind to land. Each branch above now reports\n * and drops a malformed item of its own kind rather than letting it arrive here wearing a\n * `viewRef` that resolves to nothing.\n */\n return {\n ...base,\n itemType: NavigationItemType.VIEW,\n viewRef: item.viewRef ?? item.ref,\n contentType: item.contentType ?? NavigationContentType.COMPOSITE_VIEW,\n contextResourceIdentifiers: item.contextResourceIdentifiers,\n flowsActorsSystemRef: item.flowsActorsSystemRef,\n fullCustomComponentRef: item.fullCustomComponentRef,\n requiredFeatures: item.requiredFeatures,\n } as HierarchicalNavigationItem;\n}\n"]}
1
+ {"version":3,"file":"useSidebarBehavior.js","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useSidebarBehavior.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE1E,OAAO,EAAE,6BAA6B,EAAE,wBAAwB,EAAE,MAAM,uEAAuE,CAAC;AAChJ,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACtH,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,iEAAiE,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAA0B,MAAM,wDAAwD,CAAC;AAC3I,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,6DAA6D,CAAC;AACtG,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,6EAA6E,CAAC;AAC9I,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iEAAiE,CAAC;AAC/I,OAAO,EAAE,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AACpG,OAAO,EAAE,sBAAsB,EAAyD,MAAM,yDAAyD,CAAC;AACxJ,OAAO,EAAE,4BAA4B,EAAE,MAAM,kEAAkE,CAAC;AAChH,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC5I,OAAO,EACL,0CAA0C,EAC1C,qCAAqC,GACtC,MAAM,mEAAmE,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,uEAAuE,CAAC;AAElG,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,yDAAyD,CAAC;AAEzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,4DAA4D,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAEpF,MAAM,MAAM,GAA0B,qBAAqB,CAAC,SAAS,EAAE,CAAC;AACxE,MAAM,QAAQ,GAAiE,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;AACrH,MAAM,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;AASrD;;;;GAIG;AACH,MAAM,yBAAyB,GAAkC;IAC/D,kBAAkB,CAAC,MAAM;IACzB,kBAAkB,CAAC,WAAW;IAC9B,kBAAkB,CAAC,OAAO;CAC3B,CAAC;AAEF,SAAS,qBAAqB,CAAC,OAA2B,EAAE,SAA6B;IACvF,OAAO,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,yBAAyB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACpG,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,8BAA8B,CAC5C,MAAe,EACf,iBAAiD;IAEjD,IAAI,MAAM,KAAK,KAAK,IAAI,CAAC,iBAAiB;QAAE,OAAO,KAAK,CAAC;IACzD,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,MAAM,MAAM,GAAG,UAAU,EAAE,MAAM,IAAI,uBAAuB,CAAC,MAAM,CAAC;IACpE,IAAI,MAAM,KAAK,uBAAuB,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC5D,MAAM,SAAS,GAAG,UAAU,EAAE,oBAAoB,IAAI,kBAAkB,CAAC,MAAM,CAAC;IAChF,OAAO,qBAAqB,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B;IACxC,MAAM,EAAE,QAAQ,EAAE,0BAA0B,EAAE,GAAG,KAAK,EAAE,CAAC;IACzD,MAAM,MAAM,GAAG,0BAA0B,EAAE,CAAC,6BAA6B,CAAC,OAAO,CAAY,CAAC;IAC9F,MAAM,cAAc,GAAG,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,SAAS,CAAC;IAChE,OAAO,cAAc,IAAI,8BAA8B,CAAC,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAC/F,CAAC;AAED;;;;;;GAMG;AACH;;;;;;;;GAQG;AACH,SAAS,sBAAsB;IAC7B,MAAM,MAAM,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IACzE,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,UAAqC,EAAE;IACxE,MAAM,EACJ,SAAS,GAAG,mBAAmB,CAAC,KAAK,EACrC,WAAW,EAAE,mBAAmB,EAChC,gBAAgB,GACjB,GAAG,OAAO,CAAC;IAEZ,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAC;IAC9C,iFAAiF;IACjF,+EAA+E;IAC/E,mFAAmF;IACnF,MAAM,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,GAAG,YAAY,CAAC;IAErE,8CAA8C;IAC9C,MAAM,aAAa,GAAG,4BAA4B,EAAE,CAAC;IAErD,sDAAsD;IACtD,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,0BAA0B,GAAG,qCAAqC,EAAE,CAAC;IAE3E,iCAAiC;IACjC,MAAM,EAAE,QAAQ,EAAE,0BAA0B,EAAE,uBAAuB,EAAG,gBAAgB,EAAE,iCAAiC,EAAE,GAAG,KAAK,EAAE,CAAC;IACxI,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,uBAAuB,EAAE,CAAC;IACnE,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAE3C,MAAM,MAAM,GAAG,0BAA0B,EAAE,CAAC,6BAA6B,CAAC,OAAO,CAAY,CAAC;IAC9F,MAAM,cAAc,GAAG,MAAM,KAAK,KAAK,CAAC;IACxC,MAAM,iBAAiB,GAAG,QAAQ,EAAE,iBAAiB,CAAC;IACtD,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;IAE7B,oHAAoH;IACpH,iHAAiH;IACjH,8FAA8F;IAC9F,MAAM,kBAAkB,GAAG,cAAc,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC;IACpE,MAAM,uBAAuB,GAAiC,qBAAqB,CAAC,MAAM,CAAC;QACzF,CAAC,CAAE,MAAiD,CAAC,eAAe;QACpE,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,kBAAkB,GAAiC,OAAO,CAC9D,GAAG,EAAE,CAAC,CAAC,cAAc;QACnB,CAAC,CAAC,sBAAsB,CAAC,uBAAuB,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,EAAE,iCAAiC,CAAC;QACjI,CAAC,CAAC,uBAAuB,CAAC,EAC5B,CAAC,cAAc,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,iCAAiC,CAAC,CACjG,CAAC;IAEF,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;IAEzF,4EAA4E;IAC5E,2EAA2E;IAC3E,0EAA0E;IAC1E,oCAAoC;IACpC,MAAM,eAAe,GAA2B,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;WAC/G,sBAAsB,CAAC,eAAe,CAAC;IAE5C,8EAA8E;IAC9E,6EAA6E;IAC7E,sEAAsE;IACtE,6EAA6E;IAC7E,mBAAmB;IACnB,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,MAAM,aAAa,GAAG,gBAAgB,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,eAAe,KAAK,sBAAsB,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAExG,8EAA8E;IAC9E,+EAA+E;IAC/E,4EAA4E;IAC5E,oCAAoC;IACpC,MAAM,gBAAgB,GAAG,OAAO,CAA4B,GAAG,EAAE;QAC/D,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;QACnF,OAAO,uBAAuB,CAC5B,6BAA6B,CAAC,OAAO,EACrC,MAAM,EACN,0BAAiE,EACjE,iBAAiB,EACjB,iBAAiB,CAAC,GAAG,EACrB,gBAAgB,CACjB,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE9E,qFAAqF;IACrF,MAAM,UAAU,GAAG,0BAA0B,CAAC,UAAU,CAAC;IACzD,MAAM,cAAc,GAAG,0BAA0B,CAAC,cAAc,CAAC;IACjE,MAAM,cAAc,GAAG,0BAA0B,CAAC,cAAc,CAAC;IAEjE,MAAM,eAAe,GAAiC,OAAO,CAAC,GAAG,EAAE;QACjE,IAAI,CAAC,kBAAkB;YAAE,OAAO,SAAS,CAAC;QAC1C,MAAM,WAAW,GAAG,yBAAyB,CAAC,cAAc,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QAC1F,MAAM,OAAO,GAAG,qBAAqB,CACnC,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,SAAS,CAAC,aAAa,EAAE,CAC1B,CAAC;QACF,OAAO,0CAA0C,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;IACzF,CAAC,EAAE,CAAC,kBAAkB,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,0BAA0B,CAAC,CAAC,CAAC;IAEjG,6EAA6E;IAC7E,yEAAyE;IACzE,oEAAoE;IACpE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB;YAAE,OAAO;QAC9D,IAAI,CAAE,MAAgD,CAAC,uBAAuB;YAAE,OAAO;QACvF,MAAM,WAAW,GAAG,yBAAyB,CAAC,cAAc,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QAC1F,sBAAsB,CAAC,kBAAkB,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACtE,CAAC,EAAE,CAAC,kBAAkB,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;IAErE,sEAAsE;IACtE,mBAAmB;IACnB,sEAAsE;IAEtE,2EAA2E;IAC3E,0EAA0E;IAC1E,yEAAyE;IACzE,EAAE;IACF,iEAAiE;IACjE,+EAA+E;IAC/E,4EAA4E;IAC5E,4EAA4E;IAC5E,8EAA8E;IAC9E,gCAAgC;IAChC,EAAE;IACF,+EAA+E;IAC/E,wEAAwE;IACxE,6EAA6E;IAC7E,gEAAgE;IAChE,EAAE;IACF,mFAAmF;IACnF,kFAAkF;IAClF,2EAA2E;IAC3E,MAAM,4BAA4B,GAAG,MAAM,CAAiB,sBAAsB,EAAE,CAAC,CAAC;IAEtF,6EAA6E;IAC7E,2DAA2D;IAC3D,EAAE;IACF,mFAAmF;IACnF,qFAAqF;IACrF,qFAAqF;IACrF,+EAA+E;IAC/E,gFAAgF;IAChF,mFAAmF;IACnF,MAAM,0BAA0B,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IACvG,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAC9D,4BAA4B,CAAC,OAAO,CACrC,CAAC;IACF,MAAM,mBAAmB,GAAG,oBAAoB,IAAI,0BAA0B,IAAI,KAAK,CAAC;IAExF;;;;;;;;;;OAUG;IACH,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAa,EAAQ,EAAE;QAC3D,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC9B,mBAAmB,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,WAAW,GAAG,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAElG,oFAAoF;IACpF,gFAAgF;IAChF,+EAA+E;IAC/E,sEAAsE;IACtE,MAAM,kBAAkB,GAAG,cAAc,IAAI,8BAA8B,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACvG,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpE,iFAAiF;IACjF,gFAAgF;IAChF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,kBAAkB;YAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEzB,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAA0B,GAAG,EAAE;QACvF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,CAAC;YAClF,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAA0B,EAAE,CAAC,CAAC;IAElF,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAClF,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE/D,6EAA6E;IAC7E,mEAAmE;IACnE,2EAA2E;IAC3E,8EAA8E;IAC9E,+EAA+E;IAC/E,6EAA6E;IAC7E,uDAAuD;IACvD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAW,GAAG,EAAE;QAC5D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;YACzE,MAAM,MAAM,GAAY,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3G,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,mBAAmB,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IACzF,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,iCAAiC;IACjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC;YACH,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACxG,CAAC;QAAC,MAAM,CAAC,CAAC,gCAAgC,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,sEAAsE;IACtE,2BAA2B;IAC3B,sEAAsE;IAEtE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,MAAM,QAAQ,GAAG,iBAAiB,KAAK,kBAAkB,CAAC,MAAM,CAAC;QACjE,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,yEAAyE;QACzE,wEAAwE;QACxE,gEAAgE;QAChE,MAAM,WAAW,GAAG,uBAAuB,KAAK,uBAAuB,CAAC,cAAc,CAAC;QACvF,OAAO;YACL,KAAK,EAAE,QAAQ;gBACb,CAAC,CAAC,CAAC,UAAU,EAAE,WAAW,IAAI,GAAG,CAAC;gBAClC,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,IAAI,GAAG,CAAC;YAC9B,cAAc,EAAE,QAAQ;gBACtB,CAAC,CAAC,CAAC,UAAU,EAAE,oBAAoB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC,UAAU,EAAE,cAAc,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC5D,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAEzD,kFAAkF;IAClF,4BAA4B;IAC5B,EAAE;IACF,oFAAoF;IACpF,oFAAoF;IACpF,6EAA6E;IAC7E,mFAAmF;IACnF,kFAAkF;IAClF,4EAA4E;IAC5E,iFAAiF;IACjF,0CAA0C;IAC1C,EAAE;IACF,kFAAkF;IAClF,+EAA+E;IAC/E,MAAM,8BAA8B,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACpE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,IAAI,UAAU,EAAE,MAAM,KAAK,uBAAuB,CAAC,MAAM,IAAI,CAAC,iBAAiB;YAAE,OAAO;QACxF,MAAM,SAAS,GAAG,UAAU,CAAC,oBAAoB,IAAI,kBAAkB,CAAC,MAAM,CAAC;QAC/E,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;QAC7E,MAAM,iBAAiB,GAAG,8BAA8B,CAAC,OAAO,CAAC;QACjE,8BAA8B,CAAC,OAAO,GAAG,gBAAgB,CAAC;QAC1D,yEAAyE;QACzE,IAAI,iBAAiB,KAAK,IAAI,IAAI,CAAC,gBAAgB,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACzF,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEvE,sEAAsE;IACtE,yBAAyB;IACzB,sEAAsE;IAEtE,sEAAsE;IACtE,mCAAmC;IACnC,sEAAsE;IAEtE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAA6B,EAAE;QAC9D,IAAI,CAAC,eAAe,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QAClD,OAAO,sBAAsB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAChE,CAAC,EAAE,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;IAErC,sEAAsE;IACtE,mDAAmD;IACnD,sEAAsE;IAEtE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAmB,EAAE;QACnD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,CACpD,gCAAgC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAChD,CAAC;QAEF,2EAA2E;QAC3E,0EAA0E;QAC1E,0EAA0E;QAC1E,qEAAqE;QACrE,wEAAwE;QACxE,wEAAwE;QACxE,mEAAmE;QACnE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAsC,CAAC;QACrE,MAAM,YAAY,GAAG,CAAC,KAAmC,EAAQ,EAAE;YACjE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAAE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBACpE,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM;oBAAE,YAAY,CAAC,IAAI,CAAC,QAAwC,CAAC,CAAC;YACzF,CAAC;QACH,CAAC,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,WAAW,KAAK,yBAAyB,CAAC,eAAe;gBAAE,SAAS;YAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,sBAAsB,CAAC,SAAS;gBAAE,SAAS;YAC1E,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,8GAA8G;YAC9G,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,aAAa,GAAG,MAAM;aACzB,GAAG,CAAC,CAAC,KAAK,EAAgB,EAAE;YAC3B,IACE,KAAK,CAAC,WAAW,KAAK,yBAAyB,CAAC,eAAe;mBAC5D,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,sBAAsB,CAAC,SAAS,EAC9D,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,KAAK,GAAiC,WAAW;iBACpD,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBACjC,MAAM,CAAC,CAAC,IAAI,EAAsC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;iBACxE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACd,GAAG,MAAM;gBACT,EAAE,EAAE,YAAY,MAAM,CAAC,EAAE,EAAE;gBAC3B,UAAU,EAAE,MAAM,CAAC,EAAE;gBACrB,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC,CAAC;YACN,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC,CAAC;YACF,2EAA2E;YAC3E,EAAE;YACF,wEAAwE;YACxE,yEAAyE;YACzE,wEAAwE;YACxE,qEAAqE;YACrE,2EAA2E;YAC3E,+BAA+B;YAC/B,EAAE;YACF,0EAA0E;YAC1E,0EAA0E;YAC1E,4EAA4E;YAC5E,0EAA0E;YAC1E,2EAA2E;YAC3E,2EAA2E;YAC3E,oEAAoE;YACpE,yEAAyE;YACzE,wEAAwE;YACxE,2EAA2E;YAC3E,uDAAuD;YACvD,EAAE;YACF,uEAAuE;YACvE,6DAA6D;YAC7D,uEAAuE;YACvE,qEAAqE;YACrE,kDAAkD;YAClD,EAAE;YACF,oEAAoE;YACpE,2EAA2E;YAC3E,2EAA2E;YAC3E,uCAAuC;YACvC,EAAE;YACF,yEAAyE;YACzE,wEAAwE;YACxE,yDAAyD;aACxD,MAAM,CAAC,KAAK,CAAC,EAAE,CACd,KAAK,CAAC,WAAW,KAAK,yBAAyB,CAAC,eAAe;eAC5D,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YACzB,2EAA2E;eACxE,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;eAC9B,KAAK,CAAC,OAAO,CAAC,YAAY,KAAK,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAEvE,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,6DAA6D;QAC7D,0EAA0E;QAC1E,wEAAwE;QACxE,MAAM,WAAW,GAAG,CAAC,KAAmB,EAAU,EAAE;YAClD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS;gBAAE,OAAO,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,sBAAsB,CAAC,SAAS;gBAAE,OAAO,CAAC,CAAC;YAC1E,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,OAAO,aAAa;aACjB,GAAG,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;aACzD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;aAChG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC;IAEpC,sEAAsE;IACtE,oDAAoD;IACpD,sEAAsE;IACtE,EAAE;IACF,6EAA6E;IAC7E,6EAA6E;IAC7E,yDAAyD;IACzD,6EAA6E;IAC7E,0EAA0E;IAC1E,6EAA6E;IAC7E,wBAAwB;IACxB,8EAA8E;IAC9E,mFAAmF;IACnF,kFAAkF;IAClF,+EAA+E;IAC/E,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,MAAM,OAAO,GAA2C,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,CAAC,KAAmC,EAAQ,EAAE;YAC5D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,OAAO;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvE,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM;oBAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC;QACF,0GAA0G;QAC1G,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAAC,CAAC;QAC5F,OAAO,OAAO,CAAC;IACjB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,yBAAyB,GAAG,OAAO,CACvC,GAAG,EAAE,CAAC,eAAe,CAAC,0BAA0B,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,EACjH,CAAC,cAAc,EAAE,mBAAmB,CAAC,CACtC,CAAC;IAEF,kFAAkF;IAClF,gFAAgF;IAChF,8BAA8B;IAC9B,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC,yBAAyB;YAAE,OAAO,SAAS,CAAC;QACjD,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,yBAAyB,CAAC,EAAE,EAAE,CAAC;IACvF,CAAC,EAAE,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAEhD,MAAM,sBAAsB,GAAG,WAAW,CACxC,CAAC,IAAsC,EAAW,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE,KAAK,YAAY,EAC/F,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,sEAAsE;IACtE,sBAAsB;IACtB,sEAAsE;IAEtE,kFAAkF;IAClF,gFAAgF;IAChF,iFAAiF;IACjF,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;IAEtE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1F,MAAM,cAAc,GAAG,SAAS,KAAK,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QACzF,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC;QAE9F,OAAO;YACL,aAAa;YACb,cAAc;YACd,gBAAgB,EAAE,MAAM;YACxB,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK;SAClF,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,UAAU,CAAC,CAAC,CAAC;IAE1D,sEAAsE;IACtE,iBAAiB;IACjB,sEAAsE;IAEtE,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,4EAA4E;QAC5E,4EAA4E;QAC5E,IAAI,kBAAkB,EAAE,CAAC;YACvB,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACrB,gBAAgB,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,EAAE,CAAC,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE1E,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,uBAAuB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC7D,uBAAuB,CAAC,OAAO,GAAG,oBAAoB,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,cAAc;YAAE,OAAO;QAC5B,OAAO,EAAE,CAAC,cAAc,CAAC,qBAAqB,EAAE,GAAG,EAAE;YACnD,uBAAuB,CAAC,OAAO,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,yBAAyB,GAAG,WAAW,CAAC,CAAC,UAAkB,EAAE,SAAkB,EAAE,EAAE;QACvF,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,OAA2B,EAAW,EAAE;QACvC,IAAI,CAAC,OAAO,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QACvC,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,IAAI,cAAc,IAAI,OAAO,CAAC,GAAG,KAAK,cAAc;YAAE,OAAO,KAAK,CAAC;QACnE,OAAO,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC;IAC3C,CAAC,EACD,CAAC,iBAAiB,EAAE,cAAc,CAAC,CACpC,CAAC;IAEF,MAAM,wBAAwB,GAAG,WAAW,CAAC,CAAC,MAAc,EAAE,EAAE;QAC9D,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,IAAuB,EAAE,EAAE;QAC1B,QAAQ,CAAC,uBAAuB,EAAE;YAChC,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QACH,YAAY,CAAC,qBAAqB,CAAC,IAAI,EAAE,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAChF,wEAAwE;QACxE,wEAAwE;QACxE,IAAI,kBAAkB;YAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,EACD,CAAC,YAAY,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CACzD,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QACnC,YAAY,CAAC,eAAe,EAAE,CAAC;QAC/B,IAAI,kBAAkB;YAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACrD,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEvD,iCAAiC;IACjC,MAAM,uBAAuB,GAAG,WAAW,CAAC,CAAC,UAAkB,EAAE,EAAE;QACjE,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAClC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,wBAAwB,GAAG,WAAW,CAAC,GAAG,EAAE;QAChD,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5B,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,wBAAwB,GAAG,WAAW,CAC1C,CAAC,UAAkB,EAAE,YAAqB,EAAE,EAAE;QAC5C,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,MAAM,WAAW,GAAiC,qBAAqB,CAAC,MAAM,CAAC;YAC7E,CAAC,CAAE,MAAiD,CAAC,eAAe;YACpE,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,OAAO,GAAG,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC;QAC7D;;;;;WAKG;QACH,gGAAgG;QAChG,kCAAkC;QAClC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,KAAK,yBAAyB,CAAC,eAAe;eACjF,OAAO,CAAC,YAAY,KAAK,0BAA0B,CAAC,MAAM,CAAC;QAChE,IAAI,CAAC,WAAW,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;YAAE,OAAO;QACtD,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,yBAAyB,CAAC,eAAe;YACnF,CAAC,CAAC,OAAO,CAAC,iBAAiB;YAC3B,CAAC,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC;QAC1B,MAAM,cAAc,GAAG,QAAQ,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;QACrE,MAAM,eAAe,GAAG,cAAc,EAAE,UAAU,EAAE,IAAI,CACtD,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,KAAK,qBAAqB,CAAC,MAAM,CACtF,CAAC;QACF,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,qBAAqB,CAAC,mDAAmD,CAAC;YAChG,YAAY;YACZ,SAAS,EAAE,eAAe;YAC1B,0BAA0B,EAAE,QAAQ,EAAE,+BAA+B,EAAE,IAAI,EAAE;YAC7E,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE,qBAAqB,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;SACpH,CAAC,CAAC;QAEH,IAAI,WAAW,EAAE,CAAC;YAChB;;;;eAIG;YACH,kBAAkB,CAChB,eAAe,EACf,eAAe,CAAC,uBAAuB,CAAC,6BAA6B,CAAC,OAAO,CAAC,EAC9E,SAAS,EACT,oBAAoB,CAAC,OAAO,CAC7B,CAAC;YACF,OAAO;QACT,CAAC;QAED,QAAQ,CAAC;YACP,OAAO,EAAE;gBACP,WAAW,EAAE,qBAAqB,CAAC,kBAAkB;gBACrD,eAAe;aAChB;YACD,SAAS,EAAE,eAAe,CAAC,uBAAuB,CAAC,6BAA6B,CAAC,OAAO,CAAC;SAC1F,CAAC,CAAC;QAEH,wBAAwB,EAAE,CAAC;IAC7B,CAAC,EACD,CAAC,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CACxG,CAAC;IAEF,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,MAAc,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,KAAK,EACnD,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,6BAA6B;IAC7B,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,IAA2D,EAAW,EAAE,CACvE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,CAAC,EAClD,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,MAAM,wBAAwB,GAAG,WAAW,CAC1C,CAAC,IAA2D,EAAE,EAAE;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,CAAC;QACvC,cAAc,CAAC,IAAI,CAAC,EAAE,CACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC,EACD,EAAE,CACH,CAAC;IAEF,yEAAyE;IACzE,2EAA2E;IAC3E,8DAA8D;IAC9D,MAAM,mBAAmB,GAAG,OAAO,CACjC,GAAG,EAAE,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAC3C,OAAO,CAAC,WAAW,KAAK,yBAAyB,CAAC,eAAe;WAC9D,OAAO,CAAC,QAAQ,KAAK,sBAAsB,CAAC,SAAS,CAAC,EAC3D,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,sEAAsE;IACtE,SAAS;IACT,sEAAsE;IAEtE,OAAO;QACL,eAAe;QACf,gBAAgB;QAChB,WAAW,EAAE,oBAAoB;QACjC,YAAY,EAAE,YAAY,CAAC,YAAY;QACvC,UAAU;QACV,aAAa;QACb,mBAAmB,EAAE,CAAC,aAAa;QACnC,0GAA0G;QAC1G,0GAA0G;QAC1G,qEAAqE;QACrE,QAAQ,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,KAAK,sBAAsB,CAAC,eAAe;QAClG,SAAS;QAET,kBAAkB;QAClB,kBAAkB;QAClB,iBAAiB;QAEjB,eAAe;QACf,WAAW;QAEX,sBAAsB;QACtB,kBAAkB;QAClB,eAAe,EAAE,iBAAiB;QAElC,qBAAqB;QACrB,eAAe;QACf,oBAAoB;QACpB,yBAAyB;QACzB,wBAAwB;QAExB,cAAc;QACd,wBAAwB;QACxB,mBAAmB;QAEnB,YAAY,EAAE;YACZ,aAAa,EAAE,kBAAkB;YACjC,KAAK,EAAE,iBAAiB;YACxB,KAAK,EAAE,uBAAuB;YAC9B,MAAM,EAAE,wBAAwB;YAChC,MAAM,EAAE,wBAAwB;YAChC,QAAQ,EAAE,oBAAoB;SAC/B;KACF,CAAC;AACJ,CAAC;AAGD,mEAAmE;AACnE,iDAAiD;AACjD,mEAAmE;AAEnE;;;;;;;GAOG;AACH,SAAS,gCAAgC,CACvC,QAAgC,EAChC,KAAa;IAEb,MAAM,SAAS,GAAuB;QACpC,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,SAAS,EAAE,QAAQ,CAAC,SAAS,KAAK,KAAK;QACvC,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,KAAK;QAC1C,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,IAAI,KAAK;QACpD,QAAQ,EAAE,sBAAsB,CAAC,MAAM;QACvC,YAAY,EAAE,0BAA0B,CAAC,IAAI;QAC7C,MAAM,EAAE,KAAK;QACb,eAAe,EAAE,CAAC;KACnB,CAAC;IAEF,QAAQ,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC7B,KAAK,yBAAyB,CAAC,eAAe,CAAC,CAAC,CAAC;YAC/C,MAAM,YAAY,GAAuB;gBACvC,GAAG,SAAS;gBACZ,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,sBAAsB,CAAC,MAAM;gBAC5D,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,0BAA0B,CAAC,IAAI;gBACtE,wBAAwB,EAAE,QAAQ,CAAC,wBAAwB;gBAC3D,4GAA4G;gBAC5G,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,IAAI;gBAC/B,eAAe,EAAE,QAAQ,CAAC,eAAe,IAAI,CAAC;gBAC9C,oEAAoE;gBACpE,qEAAqE;gBACrE,qEAAqE;gBACrE,kEAAkE;gBAClE,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,KAAK;gBACtC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxE,CAAC;YAEF;;;;;;;;;;;;eAYG;YACH,MAAM,MAAM,GAAiC,mBAAmB,CAC9D,QAAQ,CAAC,KAAK;iBACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;iBAChD,MAAM,CAAC,CAAC,IAAI,EAAsC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,EACtE,YAAY,CAAC,MAAM,IAAI,IAAI,EAC3B,YAAY,CAAC,eAAe,IAAI,CAAC,CAClC,CAAC;YAEF;;;;eAIG;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,KAAK,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;YACvG,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,KAAK,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;YAE/G,OAAO;gBACL,OAAO,EAAE,YAAY;gBACrB,KAAK;gBACL,aAAa;gBACb,WAAW,EAAE,yBAAyB,CAAC,eAAe;aACvD,CAAC;QACJ,CAAC;QAED,KAAK,yBAAyB,CAAC,gBAAgB;YAC7C,OAAO;gBACL,OAAO,EAAE,SAAS;gBAClB,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,EAAE;gBACjB,WAAW,EAAE,yBAAyB,CAAC,gBAAgB;gBACvD,YAAY,EAAE,QAAQ,CAAC,YAAY;gBACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;gBAC3C,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;gBAC7C,wBAAwB,EAAE,QAAQ,CAAC,wBAAwB;gBAC3D,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,eAAe,EAAE,QAAQ,CAAC,eAAe;aAC1C,CAAC;QAEJ,KAAK,yBAAyB,CAAC,eAAe;YAC5C,OAAO;gBACL,OAAO,EAAE,SAAS;gBAClB,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,EAAE;gBACjB,WAAW,EAAE,yBAAyB,CAAC,eAAe;gBACtD,WAAW,EAAE,QAAQ,CAAC,WAAW;aAClC,CAAC;QAEJ,KAAK,yBAAyB,CAAC,gBAAgB;YAC7C,OAAO;gBACL,OAAO,EAAE,SAAS;gBAClB,KAAK,EAAE,EAAE;gBACT,aAAa,EAAE,EAAE;gBACjB,WAAW,EAAE,yBAAyB,CAAC,gBAAgB;gBACvD,YAAY,EAAE,QAAQ,CAAC,YAAY;aACpC,CAAC;IACN,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAmC,EACnC,MAAe,EACf,eAAuB;IAEvB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErE,MAAM,OAAO,GAAG,CAAC,IAAkC,EAAgC,EAAE,CACnF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAiC,CAAC,CAAC,CAAC,CAAC;IAE3H,qFAAqF;IACrF,MAAM,KAAK,GAAG,CAAC,IAAkC,EAAE,SAAiB,EAAgC,EAAE,CACpG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACjB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAiC,CAAC;QACtE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,SAAS,KAAK,CAAC;YAAE,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpF,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEL,OAAO,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;GAOG;AACH;;;;;;;GAOG;AACH,SAAS,0BAA0B,CAAC,IAAyB,EAAE,OAAe;IAC5E,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,EAAE,KAAK,OAAO,6BAA6B,EAAE;QAChF,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9D,CAAC,CAAC;AACL,CAAC;AAED,SAAS,6BAA6B,CACpC,IAAyB;IAEzB,MAAM,IAAI,GAAG;QACX,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACrB,EAAE,GAAG,CAAC,6BAA6B,CAAC;aACnC,MAAM,CAAC,CAAC,KAAK,EAAuC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;KAC1E,CAAC;IAEF,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,IAAI,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,OAAO,CAAC,IAAI,CAAC,oCAAoC,IAAI,CAAC,EAAE,wBAAwB,CAAC,CAAC;YAC1G,IAAI,CAAC,IAAI,CAAC,mBAAmB;gBAAE,OAAO,CAAC,IAAI,CAAC,oCAAoC,IAAI,CAAC,EAAE,+BAA+B,CAAC,CAAC;QAC1H,CAAC;QACD,OAAO;YACL,GAAG,IAAI;YACP,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;YACrC,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE;YACrC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,IAAI,EAAE;YACnD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,eAAe,EAAE,IAAI,CAAC,eAAe;SACR,CAAC;IAClC,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,KAAK,qBAAqB,CAAC,WAAW,EAAE,CAAC;QAC3D;;;;;;;;;WASG;QACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,0BAA0B,CAAC,IAAI,EAAE,oDAAoD,CAAC,CAAC;YACvF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL,GAAG,IAAI;YACP,QAAQ,EAAE,kBAAkB,CAAC,WAAW;YACxC,OAAO,EAAE,IAAI,CAAC,OAAO;SACQ,CAAC;IAClC,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,KAAK,qBAAqB,CAAC,YAAY,EAAE,CAAC;QAC5D,OAAO;YACL,GAAG,IAAI;YACP,QAAQ,EAAE,kBAAkB,CAAC,YAAY;YACzC,UAAU,EAAE,IAAI,CAAC,UAAU;SACE,CAAC;IAClC,CAAC;IAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,OAAO;YACL,GAAG,IAAI;YACP,QAAQ,EAAE,kBAAkB,CAAC,gBAAgB;YAC7C,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;SAC9B,CAAC;IAClC,CAAC;IAED;;;;;;;;OAQG;IACH,OAAO;QACL,GAAG,IAAI;QACP,QAAQ,EAAE,kBAAkB,CAAC,IAAI;QACjC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG;QACjC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,qBAAqB,CAAC,cAAc;QACrE,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;QAC3D,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;QACnD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;KACV,CAAC;AAClC,CAAC","sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { ApplicationLevelComponentType, SidebarItemDisplayPolicy } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { HorizontalPlacement, SidebarCompactLabelMode, VerticalPlacement } from '@wildo-ai/presets-components-models';\nimport {\n SidebarHomeDisplayMode,\n SidebarSectionBehavior,\n SidebarSectionInlineCreate,\n SidebarSectionContentKind,\n SidebarResponsivePolicy,\n} from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport { useBrandIdentity } from '~wildo-frontend-lib/core/branding/useBrandIdentity';\nimport type { SidebarSection } from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport { ViewportBreakpoint } from '@wildo-ai/zod-decorators';\nimport { NavigationContentType, NavigationItemType, type AnyNavigationItem } from '~wildo-frontend-lib/core/navigation/navigation.schemas';\nimport { NavigationUtils } from '~wildo-frontend-lib/core/navigation/navigation.utils';\nimport { useNavigationController } from '~wildo-frontend-lib/core/navigation/useNavigationController';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\nimport { useApplication } from '~wildo-frontend-lib/core/runtime/useApplication';\nimport { withEngineClientsEntry, withEngineDecisionInbox } from '~wildo-frontend-lib/components/navigation/app-level/engine-launcher-entries';\nimport { LOCAL_STORAGE_KEYS, getLocalStorageItem, setLocalStorageItem } from '~wildo-frontend-lib/core/commons/local-storage.frontend.schemas';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport { resolveSidebarSections, type ResolvedSidebarSection, type ResolvedSidebarItem } from '~wildo-frontend-lib/core/navigation/launcher-resolution';\nimport { useLauncherResolutionContext } from '~wildo-frontend-lib/core/navigation/useLauncherResolutionContext';\nimport { filterVisibleSections, buildScopeConditionParams, debugSectionVisibility } from '~wildo-frontend-lib/core/mode/section-visibility';\nimport {\n filterSidebarSectionsByRuntimeAvailability,\n useLauncherRuntimeAvailabilityContext,\n} from '~wildo-frontend-lib/core/navigation/launcher-runtime-availability';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\n\nimport { useNavigationBehaviors } from './useNavigationBehaviors';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { FrontendEvents } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport type { HierarchicalNavigationItem, ResolvedHostedComponent, SectionGroup, SectionRenderProps, SidebarBehavior } from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\nimport { isSidebarConfigObject } from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\nimport { resolveHostedComponents } from '~wildo-frontend-lib/core/app-shell/hosted-components.utils';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { frontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport { CoreResourceOperation, NavigationTransition } from '@wildo-ai/saas-models';\n\nconst logger: LoggerFrontendService = LoggerFrontendService.getLogger();\nconst logDebug: (message: string, context?: Record<string, unknown>) => void = logger.debugByType('SidebarBehavior');\nlogger.setDebugTypeLogging('SidebarBehavior', false);\n\n\nexport interface UseSidebarBehaviorOptions {\n placement?: HorizontalPlacement;\n isCollapsed?: boolean;\n onToggleCollapse?: () => void;\n}\n\n/**\n * Ascending viewport order — used to answer \"is the current viewport at or below\n * the configured responsive threshold?\". Kept local (not on the enum) because the\n * enum's string values (`'<md'`, `'<lg'`, `'>=lg'`) carry no sortable structure.\n */\nconst VIEWPORT_BREAKPOINT_ORDER: readonly ViewportBreakpoint[] = [\n ViewportBreakpoint.MOBILE,\n ViewportBreakpoint.VERT_TABLET,\n ViewportBreakpoint.DESKTOP,\n];\n\nfunction isBreakpointAtOrBelow(current: ViewportBreakpoint, threshold: ViewportBreakpoint): boolean {\n return VIEWPORT_BREAKPOINT_ORDER.indexOf(current) <= VIEWPORT_BREAKPOINT_ORDER.indexOf(threshold);\n}\n\n/**\n * Single source of the \"sidebar renders as a mobile overlay drawer\" decision, shared\n * by `useSidebarBehavior` (which owns the drawer open state) and the menubar burger\n * trigger (which only needs to know whether to render). The decision is DERIVED from\n * config + current breakpoint — never stored in state — so it cannot race the\n * breakpoint read the way the old auto-collapse effect did.\n *\n * `true` when ALL of:\n * - the sidebar config is the object form (or defaulted) with `policy === BURGER`\n * (the schema documents BURGER as \"burger menu / drawer overlay on mobile\");\n * - the current breakpoint is at or below the configured `responsiveBreakpoint`\n * (default `MOBILE`, honoring the previously-dead config axis).\n *\n * `DRAWER` policy keeps its distinct documented semantics (sidebar stays visible\n * inline, auto-expands on desktop) and never enters overlay-drawer mode.\n */\nexport function resolveSidebarMobileDrawerMode(\n config: unknown,\n currentBreakpoint: ViewportBreakpoint | undefined,\n): boolean {\n if (config === false || !currentBreakpoint) return false;\n const sidebarObj = isSidebarConfigObject(config) ? config : undefined;\n const policy = sidebarObj?.policy ?? SidebarResponsivePolicy.BURGER;\n if (policy !== SidebarResponsivePolicy.BURGER) return false;\n const threshold = sidebarObj?.responsiveBreakpoint ?? ViewportBreakpoint.MOBILE;\n return isBreakpointAtOrBelow(currentBreakpoint, threshold);\n}\n\n/**\n * Lightweight companion hook for launchers OUTSIDE the sidebar (the menubar burger\n * trigger): reports whether the sidebar currently operates in mobile-drawer mode,\n * without instantiating the full sidebar behavior (whose drawer state must stay\n * owned by the single sidebar-preset instance).\n */\nexport function useSidebarMobileDrawerMode(): boolean {\n const { UIConfig, appComponentsConfiguration } = useUI();\n const config = appComponentsConfiguration?.[ApplicationLevelComponentType.SIDEBAR] as unknown;\n const sidebarEnabled = config !== false && config !== undefined;\n return sidebarEnabled && resolveSidebarMobileDrawerMode(config, UIConfig?.currentBreakpoint);\n}\n\n/**\n * Pure behavior hook for the Sidebar — zero rendering, 100% logic.\n *\n * Extracts section grouping, hierarchy, collapse state, inline create,\n * badge counts, navigation click handling, and responsive policy from the\n * monolithic `ApplicationLevelPreset_Sidebar_Default`.\n */\n/**\n * The machine-local rail-collapse preference, or `null` when the user has never\n * expressed one (including when storage is unreadable — SSR, a private window,\n * blocked site data, all of which correctly mean \"no preference on record\").\n *\n * `null` is load-bearing and NOT interchangeable with `false`: absence is what lets\n * an application's declared `defaultCollapsed` apply, while a stored `'false'` is a\n * real choice that must override it.\n */\nfunction readStoredRailCollapse(): boolean | null {\n const stored = getLocalStorageItem(LOCAL_STORAGE_KEYS.SIDEBAR_COLLAPSED);\n return stored === null ? null : stored === 'true';\n}\n\nexport function useSidebarBehavior(options: UseSidebarBehaviorOptions = {}): SidebarBehavior {\n const {\n placement = HorizontalPlacement.START,\n isCollapsed: externalIsCollapsed,\n onToggleCollapse,\n } = options;\n\n const navBehaviors = useNavigationBehaviors();\n // Raw per-item active check (`NavigationUtils.isActiveRoute` against the current\n // pathname). It marks BOTH a parent route and its child active on a child URL;\n // `getMostSpecificActiveRoute` below narrows that to the single most precise item.\n const { isNavigationItemActive: isItemActiveByRoute } = navBehaviors;\n\n // --- New per-launcher resolution context ---\n const resolutionCtx = useLauncherResolutionContext();\n\n // --- Mode + scope contexts for section filtering ---\n const appScope = useAppScopeSafe();\n const runtimeAvailabilityContext = useLauncherRuntimeAvailabilityContext();\n\n // --- Config from UI context ---\n const { UIConfig, appComponentsConfiguration, sidebarCompactLabelMode , navigationLayout, suppressedEngineNavigationEntries } = useUI();\n const { navigate, navigateToResource } = useNavigationController();\n const { registry } = useResourceRegistry();\n\n const config = appComponentsConfiguration?.[ApplicationLevelComponentType.SIDEBAR] as unknown;\n const sidebarEnabled = config !== false;\n const currentBreakpoint = UIConfig?.currentBreakpoint;\n const { on } = useEventBus();\n\n // The engine's own rows join the application's sections before anything is filtered or resolved, so they are drawn,\n // gated and highlighted exactly as an application's are: the decision inbox (#2527), when the application routes\n // decisions to reviewers, and the Clients list (#2589), unless the application suppresses it.\n const decisionInboxOffer = useApplication().appConfig.decisionInbox;\n const declaredContentSections: SidebarSection[] | undefined = isSidebarConfigObject(config)\n ? (config as { contentSections?: SidebarSection[] }).contentSections\n : undefined;\n const rawContentSections: SidebarSection[] | undefined = useMemo(\n () => (sidebarEnabled\n ? withEngineClientsEntry(withEngineDecisionInbox(declaredContentSections, decisionInboxOffer), suppressedEngineNavigationEntries)\n : declaredContentSections),\n [sidebarEnabled, declaredContentSections, decisionInboxOffer, suppressedEngineNavigationEntries],\n );\n\n const defaultSection = isSidebarConfigObject(config) ? config.defaultSection : undefined;\n\n // How HOME is surfaced (hidden / pinned brand header / navigation row). The\n // schema defaults this, but a `true`-shaped or absent sidebar config never\n // passes through the object branch — so the framework default is restated\n // here rather than assumed present.\n const homeDisplayMode: SidebarHomeDisplayMode = (isSidebarConfigObject(config) ? config.homeDisplayMode : undefined)\n ?? SidebarHomeDisplayMode.NAVIGATION_ITEM;\n\n // Brand identity is read unconditionally (rules of hooks) but only EXPOSED in\n // brand-header mode, so a preset cannot accidentally render an app mark on a\n // surface the app did not opt into. `brandMarkTheme` pins the variant\n // (monochrome, or a forced light/dark side); omitted, the mark adapts to the\n // active UI theme.\n const brandMarkTheme = isSidebarConfigObject(config) ? config.brandMarkTheme : undefined;\n const brandIdentity = useBrandIdentity({ theme: brandMarkTheme });\n const brandHeader = homeDisplayMode === SidebarHomeDisplayMode.BRAND_HEADER ? brandIdentity : undefined;\n\n // Container-inversion: components hosted inside the sidebar, resolved through\n // the SAME shared pipeline the menubar uses (surface-qualified instance ids so\n // the shell-level interaction owner can disambiguate a command-menu trigger\n // hosted in both surfaces at once).\n const hostedComponents = useMemo<ResolvedHostedComponent[]>(() => {\n const hosted = isSidebarConfigObject(config) ? config.hostedComponents : undefined;\n return resolveHostedComponents(\n ApplicationLevelComponentType.SIDEBAR,\n hosted,\n appComponentsConfiguration as Record<string, unknown> | undefined,\n currentBreakpoint,\n VerticalPlacement.TOP,\n navigationLayout,\n );\n }, [config, appComponentsConfiguration, currentBreakpoint, navigationLayout]);\n\n // Filter sections by mode + scope BEFORE resolution (skip resolving hidden sections)\n const activeMode = runtimeAvailabilityContext.activeMode;\n const availableModes = runtimeAvailabilityContext.availableModes;\n const allScopeValues = runtimeAvailabilityContext.allScopeValues;\n\n const contentSections: SidebarSection[] | undefined = useMemo(() => {\n if (!rawContentSections) return undefined;\n const scopeParams = buildScopeConditionParams(allScopeValues, activeMode, availableModes);\n const visible = filterVisibleSections(\n rawContentSections,\n activeMode,\n scopeParams,\n envLoader.isDevelopment(),\n );\n return filterSidebarSectionsByRuntimeAvailability(visible, runtimeAvailabilityContext);\n }, [rawContentSections, activeMode, availableModes, allScopeValues, runtimeAvailabilityContext]);\n\n // DEV-only: log visibility table when window.__WILDO_DEBUG_SIDEBAR__ is set.\n // Runs as an effect so toggling the flag in DevTools takes effect on the\n // next mode/scope/sections change without needing a manual refresh.\n useEffect(() => {\n if (!envLoader.isDevelopment() || !rawContentSections) return;\n if (!(window as { __WILDO_DEBUG_SIDEBAR__?: boolean }).__WILDO_DEBUG_SIDEBAR__) return;\n const scopeParams = buildScopeConditionParams(allScopeValues, activeMode, availableModes);\n debugSectionVisibility(rawContentSections, activeMode, scopeParams);\n }, [rawContentSections, activeMode, availableModes, allScopeValues]);\n\n // ===================================================================\n // State Management\n // ===================================================================\n\n // Rail collapse state, persisted (E6). Hydrated SYNCHRONOUSLY via the lazy\n // initializer so the first paint already renders the persisted width — an\n // effect-based hydration would flash expanded→collapsed on every reload.\n //\n // A visitor with NO stored preference falls back to the config's\n // `defaultCollapsed`, which is how an application declares a RAIL-FIRST shell.\n // Before that axis existed the fallback was a hard `false`, so expanded was\n // the only reachable starting state for every application ever built on the\n // framework — a rail-first product could only be reached by the user clicking\n // the chevron once per machine.\n //\n // The stored preference WINS, deliberately: this is a starting position, not a\n // lock. Note the comparison is against the string `'true'`, so a stored\n // `'false'` is a real preference (expanded) and correctly overrides a config\n // asking for collapsed — only ABSENCE reaches the config value.\n //\n // Read ONCE, into a ref: `null` covers both \"never chose\" and \"storage unreadable\"\n // (SSR, a private window, blocked site data). Nothing outside this tab writes the\n // key, so re-reading it per render could only ever return the same answer.\n const storedRailCollapsePreference = useRef<boolean | null>(readStoredRailCollapse());\n\n // The rail state is DERIVED, in three tiers: the user's preference, else the\n // application's declared starting position, else expanded.\n //\n // Derived rather than initialized-once, because the config is NOT AVAILABLE on the\n // first render. `useUI()` resolves `appComponentsConfiguration` asynchronously, so a\n // lazy `useState` initializer reads `undefined`, settles on `false`, and never looks\n // again — which is exactly how the first version of `defaultCollapsed` shipped\n // inert. Measured in a real browser against the workbench: the rail rendered at\n // 256px with `data-collapsed=\"false\"` while the config asked for a collapsed rail.\n const configuredDefaultCollapsed = isSidebarConfigObject(config) ? config.defaultCollapsed : undefined;\n const [railCollapseOverride, setRailCollapseOverride] = useState<boolean | null>(\n storedRailCollapsePreference.current,\n );\n const internalIsCollapsed = railCollapseOverride ?? configuredDefaultCollapsed ?? false;\n\n /**\n * The ONLY writer of the rail-collapse preference.\n *\n * Persistence lives here — in the act that expresses a choice — and NOT in an effect\n * keyed on the state, which is where it used to live. That effect ran on MOUNT and\n * wrote `String(false)` before the config had resolved, manufacturing a stored\n * \"preference\" the user never expressed. Measured on a virgin browser context: the\n * key was `null` through login and `\"false\"` the moment the shell painted, after\n * which it shadowed `defaultCollapsed` on every subsequent load, forever. A stored\n * value must mean somebody chose it.\n */\n const setRailCollapsed = useCallback((next: boolean): void => {\n setRailCollapseOverride(next);\n setLocalStorageItem(LOCAL_STORAGE_KEYS.SIDEBAR_COLLAPSED, String(next));\n }, []);\n const isCollapsed = externalIsCollapsed !== undefined ? externalIsCollapsed : internalIsCollapsed;\n\n // Mobile overlay-drawer mode (F1) — DERIVED from config + breakpoint, never stored,\n // so it cannot race the breakpoint read. While in drawer mode the rail-collapse\n // state is untouched (a drawer always shows the full expanded sidebar) and the\n // persisted desktop preference survives the excursion through mobile.\n const isMobileDrawerMode = sidebarEnabled && resolveSidebarMobileDrawerMode(config, currentBreakpoint);\n const [isMobileDrawerOpen, setIsMobileDrawerOpen] = useState(false);\n\n // Leaving drawer mode (viewport grew) must not leave a stale \"open\" flag behind:\n // the next excursion into mobile would then start with the drawer already open.\n useEffect(() => {\n if (!isMobileDrawerMode) setIsMobileDrawerOpen(false);\n }, [isMobileDrawerMode]);\n\n const [collapsedSections, setCollapsedSections] = useState<Record<string, boolean>>(() => {\n try {\n const stored = localStorage.getItem(LOCAL_STORAGE_KEYS.SIDEBAR_SECTION_COLLAPSED);\n return stored ? JSON.parse(stored) : {};\n } catch {\n return {};\n }\n });\n\n const [collapsedItems, setCollapsedItems] = useState<Record<string, boolean>>({});\n\n const [inlineCreateActive, setInlineCreateActive] = useState<string | null>(null);\n const [inlineCreateValue, setInlineCreateValue] = useState('');\n\n // User-curated favorites (star affordance), persisted like the rail-collapse\n // state. The stored keys are resolved launcher item ids, which are\n // deterministic across sessions (`resolved-<resourceType>-<op>-<variant>`,\n // `resolved-view-<ref>`, …). Hydrated synchronously (lazy initializer) so the\n // first paint already shows the favorites section. Unresolvable stored ids are\n // KEPT in storage (an item may be temporarily feature/mode-gated) — they are\n // simply not rendered until their item resolves again.\n const [favoriteIds, setFavoriteIds] = useState<string[]>(() => {\n try {\n const stored = getLocalStorageItem(LOCAL_STORAGE_KEYS.SIDEBAR_FAVORITES);\n const parsed: unknown = stored ? JSON.parse(stored) : [];\n return Array.isArray(parsed) ? parsed.filter((value): value is string => typeof value === 'string') : [];\n } catch {\n return [];\n }\n });\n\n useEffect(() => {\n setLocalStorageItem(LOCAL_STORAGE_KEYS.SIDEBAR_FAVORITES, JSON.stringify(favoriteIds));\n }, [favoriteIds]);\n\n // Persist section collapse state\n useEffect(() => {\n try {\n localStorage.setItem(LOCAL_STORAGE_KEYS.SIDEBAR_SECTION_COLLAPSED, JSON.stringify(collapsedSections));\n } catch { /* ignore localStorage errors */ }\n }, [collapsedSections]);\n\n // ===================================================================\n // Configuration Processing\n // ===================================================================\n\n const dimensions = useMemo(() => {\n const isMobile = currentBreakpoint === ViewportBreakpoint.MOBILE;\n const sidebarObj = isSidebarConfigObject(config) ? config : undefined;\n // Theme design policy: an ICON_AND_LABEL compact rail renders a centered\n // label under each icon, so the default collapsed width must leave room\n // for readable (wrapping) text. Explicit app config still wins.\n const labeledRail = sidebarCompactLabelMode === SidebarCompactLabelMode.ICON_AND_LABEL;\n return {\n width: isMobile\n ? (sidebarObj?.mobileWidth ?? 280)\n : (sidebarObj?.width ?? 256),\n collapsedWidth: isMobile\n ? (sidebarObj?.mobileCollapsedWidth ?? (labeledRail ? 80 : 56))\n : (sidebarObj?.collapsedWidth ?? (labeledRail ? 88 : 64)),\n };\n }, [currentBreakpoint, config, sidebarCompactLabelMode]);\n\n // DRAWER-policy auto-expand — the enum's documented semantics, \"stays visible but\n // auto-expands on desktop\".\n //\n // Fires ONLY on an upward CROSSING of the responsive threshold, never on mount. The\n // effect used to expand on every render where the viewport sat above the threshold,\n // which on a desktop meant every page load: it overrode the user's persisted\n // collapse AND any `defaultCollapsed` the application declared, so a DRAWER-policy\n // app could not ship or remember a collapsed rail at all. Its own comment claimed\n // the removal of the BURGER half meant it \"no longer clobbers the persisted\n // rail-collapse preference\" — true of the mobile half that was deleted, false of\n // this half, which was never re-examined.\n //\n // \"Auto-expand on desktop\" only ever meant undoing a collapse the NARROW viewport\n // imposed. A crossing is the event that carries that meaning; a render is not.\n const wasBelowResponsiveThresholdRef = useRef<boolean | null>(null);\n useEffect(() => {\n const sidebarObj = isSidebarConfigObject(config) ? config : undefined;\n if (sidebarObj?.policy !== SidebarResponsivePolicy.DRAWER || !currentBreakpoint) return;\n const threshold = sidebarObj.responsiveBreakpoint ?? ViewportBreakpoint.MOBILE;\n const isBelowThreshold = isBreakpointAtOrBelow(currentBreakpoint, threshold);\n const wasBelowThreshold = wasBelowResponsiveThresholdRef.current;\n wasBelowResponsiveThresholdRef.current = isBelowThreshold;\n // `null` is \"first observation\" — a starting viewport is not a crossing.\n if (wasBelowThreshold === true && !isBelowThreshold && externalIsCollapsed === undefined) {\n setRailCollapsed(false);\n }\n }, [currentBreakpoint, config, externalIsCollapsed, setRailCollapsed]);\n\n // ===================================================================\n // Section Grouping Logic\n // ===================================================================\n\n // ===================================================================\n // New per-launcher resolution path\n // ===================================================================\n\n const resolvedSections = useMemo((): ResolvedSidebarSection[] => {\n if (!contentSections || !resolutionCtx) return [];\n return resolveSidebarSections(contentSections, resolutionCtx);\n }, [contentSections, resolutionCtx]);\n\n // ===================================================================\n // Section Grouping Logic (per-launcher resolution)\n // ===================================================================\n\n const groupedSections = useMemo((): SectionGroup[] => {\n const groups = resolvedSections.map((resolved, idx) =>\n mapResolvedSectionToSectionGroup(resolved, idx),\n );\n\n // ── Favorites population ────────────────────────────────────────────────\n // A FAVORITES-behavior section renders the user's favorited items, looked\n // up among every OTHER navigation section's resolved items (favoriting is\n // a projection, not a second declaration). Copies are flat (children\n // stripped — favoriting a node must not duplicate its subtree), carry a\n // distinct id so the exactly-one-active invariant still elects a single\n // row, and carry `favoriteId` = the origin id for the star toggle.\n const favoriteLookup = new Map<string, HierarchicalNavigationItem>();\n const collectItems = (items: HierarchicalNavigationItem[]): void => {\n for (const item of items) {\n if (!favoriteLookup.has(item.id)) favoriteLookup.set(item.id, item);\n if (item.children?.length) collectItems(item.children as HierarchicalNavigationItem[]);\n }\n };\n for (const group of groups) {\n if (group.contentKind !== SidebarSectionContentKind.NAVIGATION_LIST) continue;\n if (group.section.behavior === SidebarSectionBehavior.FAVORITES) continue;\n collectItems(group.items);\n // A row tucked into its section's \"More\" menu can be starred like any other, so it must be findable here too.\n collectItems(group.moreMenuItems);\n }\n\n const withFavorites = groups\n .map((group): SectionGroup => {\n if (\n group.contentKind !== SidebarSectionContentKind.NAVIGATION_LIST\n || group.section.behavior !== SidebarSectionBehavior.FAVORITES\n ) {\n return group;\n }\n const items: HierarchicalNavigationItem[] = favoriteIds\n .map(id => favoriteLookup.get(id))\n .filter((item): item is HierarchicalNavigationItem => item !== undefined)\n .map(origin => ({\n ...origin,\n id: `favorite-${origin.id}`,\n favoriteId: origin.id,\n children: undefined,\n }));\n return { ...group, items };\n })\n // ── An EMPTY navigation section is not a section ────────────────────────\n //\n // Omitted entirely, in BOTH the expanded column and the collapsed rail.\n // This used to hold only for FAVORITES (the star affordance on every row\n // is the discoverability cue, not a permanently empty header) while the\n // sidebar PRESET dropped empty sections in the collapsed rail alone,\n // keeping them expanded on the stated grounds that \"their titled header is\n // the 'drop things here' cue\".\n //\n // Nothing drops. A navigation section's items come from `contentSections`\n // children plus module `sidebarSectionItems` contributions, both resolved\n // at config-merge time — there is no runtime affordance that fills an empty\n // one, so its header was an authoring-time fiction rendered to end users.\n // Measured cost: the preset shells declare `tools`, `settings`, `team` and\n // `assistant` sections with `children: []`, and NOTHING in this repository\n // contributes items into any of them, so every application built on\n // `APP_SHELL_SIDEBAR` shipped two-to-four permanently empty headers. The\n // same shape bites an app whose section is conditionally filled: Wonder\n // Todos' `labs` section is populated by a DEV-only module contribution, so\n // its production build rendered a bare \"LABS\" heading.\n //\n // The sockets STAY in the presets. `appendNavChildrenToSidebarSection`\n // silently drops a contribution whose `sectionRef` is not in\n // `contentSections`, so a declared-but-empty section is what makes the\n // contribution point exist; the fix is that it costs no chrome until\n // something fills it, not that it stops existing.\n //\n // Scoped to NAVIGATION_LIST: a RESOURCE_BROWSER / GUIDANCE_WIDGET /\n // CUSTOM_COMPONENT section carries no `items` by construction (they always\n // map to `items: []`) and renders its content another way, so filtering on\n // emptiness would erase them outright.\n //\n // An INLINE-CREATE section survives while empty: its \"+\" affordance is a\n // real runtime way to fill it, which is precisely the thing the retired\n // \"drop things here\" rationale claimed and did not have.\n .filter(group =>\n group.contentKind !== SidebarSectionContentKind.NAVIGATION_LIST\n || group.items.length > 0\n // A section whose rows are all tucked into its \"More\" menu still has rows.\n || group.moreMenuItems.length > 0\n || group.section.inlineCreate !== SidebarSectionInlineCreate.NONE);\n\n // ── Engine ordering policy ──────────────────────────────────────────────\n // Primary section(s) first (they head the sidebar, sharing their group with\n // the Home row when `homeDisplayMode` is NAVIGATION_ITEM), then favorites,\n // then everything else in declared order. This is deliberate\n // framework IA policy: modules append their sections during config merge,\n // so declaration order cannot express \"primary nav above app sections\".\n const sectionRank = (group: SectionGroup): number => {\n if (group.section.isPrimary) return 0;\n if (group.section.behavior === SidebarSectionBehavior.FAVORITES) return 1;\n return 2;\n };\n return withFavorites\n .map((group, declaredIndex) => ({ group, declaredIndex }))\n .sort((a, b) => sectionRank(a.group) - sectionRank(b.group) || a.declaredIndex - b.declaredIndex)\n .map(entry => entry.group);\n }, [resolvedSections, favoriteIds]);\n\n // ===================================================================\n // Active-item resolution — MOST-SPECIFIC match wins\n // ===================================================================\n //\n // The raw per-item checker (`NavigationUtils.isActiveRoute`) marks a pattern\n // active when the current path equals OR is a CHILD of it. A menu that lists\n // both a parent route (`…/todo-lists`) and a child route\n // (`…/todo-lists/:listId/todos`) therefore highlights BOTH on the child URL.\n // We own the full candidate set here, so resolve the single most-specific\n // active urlPath across every rendered item (incl. nested children) and mark\n // only that one active.\n // Ordered inventory of every rendered item's IDENTITY + path (depth-first, in\n // section order). The identity axis matters beyond path specificity: two items may\n // share an IDENTICAL urlPath (e.g. the same list surfaced in two sections), and a\n // path-keyed active check would highlight both (frontend-ux-quality-audit E2).\n const allItemEntries = useMemo(() => {\n const entries: Array<{ id: string; urlPath: string }> = [];\n const collect = (items: HierarchicalNavigationItem[]): void => {\n for (const item of items) {\n if (item.urlPath) entries.push({ id: item.id, urlPath: item.urlPath });\n if (item.children?.length) collect(item.children);\n }\n };\n // Rows tucked into a section's \"More\" menu are destinations too, and one of them may be the current page.\n for (const group of groupedSections) { collect(group.items); collect(group.moreMenuItems); }\n return entries;\n }, [groupedSections]);\n\n const mostSpecificActiveUrlPath = useMemo(\n () => NavigationUtils.getMostSpecificActiveRoute(allItemEntries.map(entry => entry.urlPath), isItemActiveByRoute),\n [allItemEntries, isItemActiveByRoute],\n );\n\n // Exactly ONE item may be active. Among items carrying the winning (most-specific\n // active) path, the FIRST in section order wins — a deterministic tie-break for\n // duplicate launcher targets.\n const activeItemId = useMemo(() => {\n if (!mostSpecificActiveUrlPath) return undefined;\n return allItemEntries.find(entry => entry.urlPath === mostSpecificActiveUrlPath)?.id;\n }, [allItemEntries, mostSpecificActiveUrlPath]);\n\n const isNavigationItemActive = useCallback(\n (item: { id: string; urlPath?: string }): boolean => !!activeItemId && item.id === activeItemId,\n [activeItemId],\n );\n\n // ===================================================================\n // Computed Properties\n // ===================================================================\n\n // The drawer always presents the FULL sidebar (a 45%-wide icon rail floating over\n // content is nobody's drawer) — so in drawer mode the exposed collapse state is\n // pinned expanded while the persisted desktop preference is preserved untouched.\n const effectiveIsCollapsed = isMobileDrawerMode ? false : isCollapsed;\n\n const sidebarConfig = useMemo(() => {\n const isCollapsible = isSidebarConfigObject(config) ? config.collapsible !== false : true;\n const placementClass = placement === HorizontalPlacement.START ? 'border-e' : 'border-s';\n const policy = isSidebarConfigObject(config) ? config.policy : SidebarResponsivePolicy.BURGER;\n\n return {\n isCollapsible,\n placementClass,\n responsivePolicy: policy,\n currentWidth: effectiveIsCollapsed ? dimensions.collapsedWidth : dimensions.width,\n };\n }, [config, placement, effectiveIsCollapsed, dimensions]);\n\n // ===================================================================\n // Event Handlers\n // ===================================================================\n\n const handleToggleCollapse = useCallback(() => {\n // In drawer mode the toggle surface (burger button / HOTKEY_SIDEBAR_TOGGLE)\n // opens and closes the overlay drawer — rail collapse is a desktop concept.\n if (isMobileDrawerMode) {\n setIsMobileDrawerOpen(prev => !prev);\n return;\n }\n if (onToggleCollapse) {\n onToggleCollapse();\n } else {\n setRailCollapsed(!isCollapsed);\n }\n }, [isMobileDrawerMode, isCollapsed, onToggleCollapse, setRailCollapsed]);\n\n const closeMobileDrawer = useCallback(() => {\n setIsMobileDrawerOpen(false);\n }, []);\n\n const handleToggleCollapseRef = useRef(handleToggleCollapse);\n handleToggleCollapseRef.current = handleToggleCollapse;\n\n useEffect(() => {\n if (!sidebarEnabled) return;\n return on(FrontendEvents.HOTKEY_SIDEBAR_TOGGLE, () => {\n handleToggleCollapseRef.current();\n });\n }, [on, sidebarEnabled]);\n\n /**\n * Record a section's collapsed state. A SETTER, not a toggle, and that is the fix for #631.\n *\n * It used to be `setCollapsedSections(prev => ({ ...prev, [ref]: !prev[ref] }))` — negating the\n * STORED value. But `isSectionCollapsed` below resolves an EFFECTIVE value from three sources,\n * and the stored entry is only the first of them: an unstored section falls through to\n * `defaultSection` and then to `section.defaultCollapsed`. So for any section declaring\n * `defaultCollapsed: true`, the first interaction computed `!undefined === true` and wrote\n * `true` — the state it was already in. The section ignored its first click and opened on the\n * second, deterministically, on every fresh browser.\n *\n * That cost Wonder CRM its entire navigation: `settings` (which declares `defaultCollapsed:\n * true`) was the only group in its sidebar, so the app's one navigation control did nothing\n * when a user clicked it.\n *\n * A toggle is the wrong shape here, not merely a buggy one — it has to re-derive a value the\n * caller already holds, and re-deriving it from the wrong source is exactly what happened.\n * Radix hands `onOpenChange` the desired next state, computed from the CONTROLLED `open` prop,\n * which is the effective value. Taking that value makes the defect unrepresentable rather than\n * fixed in one place. (`handleToggleItemCollapse` below keeps the negating form and is correct:\n * `isItemCollapsed` is `collapsedItems[id] ?? false`, a single source whose unstored value is\n * always `false`, so there is no effective/stored gap to fall into.)\n */\n const handleSetSectionCollapsed = useCallback((sectionRef: string, collapsed: boolean) => {\n setCollapsedSections(prev => ({ ...prev, [sectionRef]: collapsed }));\n }, []);\n\n const isSectionCollapsed = useCallback(\n (section: SectionRenderProps): boolean => {\n if (!section.collapsible) return false;\n const stored = collapsedSections[section.ref];\n if (stored !== undefined) return stored;\n if (defaultSection && section.ref === defaultSection) return false;\n return section.defaultCollapsed ?? false;\n },\n [collapsedSections, defaultSection],\n );\n\n const handleToggleItemCollapse = useCallback((itemId: string) => {\n setCollapsedItems(prev => ({ ...prev, [itemId]: !prev[itemId] }));\n }, []);\n\n const handleNavigationClick = useCallback(\n (item: AnyNavigationItem) => {\n logDebug('handleNavigationClick', {\n itemId: item.id,\n itemLabel: item.label,\n urlPath: item.urlPath,\n });\n navBehaviors.handleNavigationClick(item, ApplicationLevelComponentType.SIDEBAR);\n // A navigation from inside the mobile drawer dismisses it — leaving the\n // overlay open would cover the very content the user just navigated to.\n if (isMobileDrawerMode) setIsMobileDrawerOpen(false);\n },\n [navBehaviors.handleNavigationClick, isMobileDrawerMode],\n );\n\n const handleHomeClick = useCallback(() => {\n logDebug('handleHomeClick: START');\n navBehaviors.handleHomeClick();\n if (isMobileDrawerMode) setIsMobileDrawerOpen(false);\n logDebug('handleHomeClick: DONE');\n }, [navBehaviors.handleHomeClick, isMobileDrawerMode]);\n\n // --- Inline create handlers ---\n const handleStartInlineCreate = useCallback((sectionRef: string) => {\n setInlineCreateActive(sectionRef);\n setInlineCreateValue('');\n }, []);\n\n const handleCancelInlineCreate = useCallback(() => {\n setInlineCreateActive(null);\n setInlineCreateValue('');\n }, []);\n\n const handleSubmitInlineCreate = useCallback(\n (sectionRef: string, resourceType?: string) => {\n if (!resourceType) return;\n\n const rawSections: SidebarSection[] | undefined = isSidebarConfigObject(config)\n ? (config as { contentSections?: SidebarSection[] }).contentSections\n : undefined;\n const section = rawSections?.find(s => s.ref === sectionRef);\n /*\n * `DIALOG` collects NOTHING inline — it opens the create form. This handler used to demand a\n * typed value for both modes and return on an empty one, so every `DIALOG` section's button\n * submitted `''` and did nothing, with no log. The mode is read off the section, which is\n * where the author declared it.\n */\n // Only a navigation-list section declares an inline-create mode; the narrow is the same one the\n // field name below already takes.\n const opensDialog = section?.contentKind === SidebarSectionContentKind.NAVIGATION_LIST\n && section.inlineCreate === SidebarSectionInlineCreate.DIALOG;\n if (!opensDialog && !inlineCreateValue.trim()) return;\n const fieldName = (section?.contentKind === SidebarSectionContentKind.NAVIGATION_LIST\n ? section.inlineCreateField\n : undefined) ?? 'title';\n const resourceConfig = registry.resourceConfigurations[resourceType];\n const createOperation = resourceConfig?.operations?.find(\n (operation) => String(operation.operationIdentifier) === CoreResourceOperation.CREATE\n );\n if (!resourceConfig || !createOperation) {\n return;\n }\n\n const resourceContext = frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n resourceType,\n operation: createOperation,\n contextResourceIdentifiers: appScope?.buildContextResourceIdentifiers() ?? {},\n ...(opensDialog ? {} : { additionalContext: { defaultValuesOverride: { [fieldName]: inlineCreateValue.trim() } } }),\n });\n\n if (opensDialog) {\n /*\n * The section declared a DIALOG, so the form opens as one whatever the layout's app-level map\n * says for CREATE — otherwise the same button would open a dialog in one application and a\n * full page in the next.\n */\n navigateToResource(\n resourceContext,\n NavigationUtils.createAppLevelInitiator(ApplicationLevelComponentType.SIDEBAR),\n undefined,\n NavigationTransition.OVERLAY,\n );\n return;\n }\n\n navigate({\n content: {\n contentType: NavigationContentType.RESOURCE_OPERATION,\n resourceContext,\n },\n initiator: NavigationUtils.createAppLevelInitiator(ApplicationLevelComponentType.SIDEBAR),\n });\n\n handleCancelInlineCreate();\n },\n [inlineCreateValue, navigate, navigateToResource, handleCancelInlineCreate, config, registry, appScope],\n );\n\n const isItemCollapsedFn = useCallback(\n (itemId: string) => collapsedItems[itemId] ?? false,\n [collapsedItems],\n );\n\n // --- Favorites handlers ---\n // Both accept origin items (key = own `id`) and favorites-section copies\n // (key = `favoriteId`), so one star toggle serves both render sites.\n const isItemFavorite = useCallback(\n (item: Pick<HierarchicalNavigationItem, 'id' | 'favoriteId'>): boolean =>\n favoriteIds.includes(item.favoriteId ?? item.id),\n [favoriteIds],\n );\n\n const handleToggleItemFavorite = useCallback(\n (item: Pick<HierarchicalNavigationItem, 'id' | 'favoriteId'>) => {\n const key = item.favoriteId ?? item.id;\n setFavoriteIds(prev =>\n prev.includes(key) ? prev.filter(id => id !== key) : [...prev, key]);\n },\n [],\n );\n\n // Star affordance only makes sense when favoriting has a destination — a\n // configured FAVORITES-behavior section (checked on the CONFIG, not on the\n // rendered groups, which omit the section while it is empty).\n const hasFavoritesSection = useMemo(\n () => (contentSections ?? []).some(section =>\n section.contentKind === SidebarSectionContentKind.NAVIGATION_LIST\n && section.behavior === SidebarSectionBehavior.FAVORITES),\n [contentSections],\n );\n\n // ===================================================================\n // Return\n // ===================================================================\n\n return {\n groupedSections,\n hostedComponents,\n isCollapsed: effectiveIsCollapsed,\n isHomeActive: navBehaviors.isHomeActive,\n dimensions,\n sidebarConfig,\n isNavigationLoading: !resolutionCtx,\n // Counted on what RENDERS: the sections that survived the empty-section rule above. It was counted on the\n // resolved sections before that rule, so a sidebar whose sections were all empty showed neither a row nor\n // its \"nothing here\" message. A Home row is a row, so it counts too.\n hasItems: groupedSections.length > 0 || homeDisplayMode === SidebarHomeDisplayMode.NAVIGATION_ITEM,\n placement,\n\n isMobileDrawerMode,\n isMobileDrawerOpen,\n closeMobileDrawer,\n\n homeDisplayMode,\n brandHeader,\n\n isNavigationItemActive,\n isSectionCollapsed,\n isItemCollapsed: isItemCollapsedFn,\n\n handleNavigationClick,\n handleHomeClick,\n handleToggleCollapse,\n handleSetSectionCollapsed,\n handleToggleItemCollapse,\n\n isItemFavorite,\n handleToggleItemFavorite,\n hasFavoritesSection,\n\n inlineCreate: {\n activeSection: inlineCreateActive,\n value: inlineCreateValue,\n start: handleStartInlineCreate,\n cancel: handleCancelInlineCreate,\n submit: handleSubmitInlineCreate,\n setValue: setInlineCreateValue,\n },\n };\n}\n\n\n// ════════════════════════════════════════════════════════════════\n// Helpers: Map resolved sections to SectionGroup\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Maps a `ResolvedSidebarSection` (from the new per-launcher resolution) to\n * the existing `SectionGroup` interface so consumers don't need to change.\n *\n * For `NAVIGATION_LIST`, resolved items are mapped to `HierarchicalNavigationItem`.\n * For other content kinds, `items` is empty and the content-specific fields\n * are set on `SectionGroup` for the rendering layer to dispatch on.\n */\nfunction mapResolvedSectionToSectionGroup(\n resolved: ResolvedSidebarSection,\n index: number,\n): SectionGroup {\n const baseProps: SectionRenderProps = {\n ref: resolved.ref,\n label: resolved.label,\n showLabel: resolved.showLabel !== false,\n collapsible: resolved.collapsible ?? false,\n defaultCollapsed: resolved.defaultCollapsed ?? false,\n behavior: SidebarSectionBehavior.STATIC,\n inlineCreate: SidebarSectionInlineCreate.NONE,\n nested: false,\n maxNestingDepth: 1,\n };\n\n switch (resolved.contentKind) {\n case SidebarSectionContentKind.NAVIGATION_LIST: {\n const sectionProps: SectionRenderProps = {\n ...baseProps,\n behavior: resolved.behavior ?? SidebarSectionBehavior.STATIC,\n inlineCreate: resolved.inlineCreate ?? SidebarSectionInlineCreate.NONE,\n inlineCreateResourceType: resolved.inlineCreateResourceType,\n // A declared hierarchy is drawn as one unless the section says `nested: false` (see `shapeSectionNesting`).\n nested: resolved.nested ?? true,\n maxNestingDepth: resolved.maxNestingDepth ?? 1,\n // Primary sections head the sidebar (and share their group with the\n // Home row under NAVIGATION_ITEM): headerless and non-collapsible BY\n // CONTRACT — enforced here so a config authoring `isPrimary: true` +\n // `collapsible: true` cannot produce a collapsible primary group.\n isPrimary: resolved.isPrimary ?? false,\n ...(resolved.isPrimary ? { showLabel: false, collapsible: false } : {}),\n };\n\n /*\n * The null filter is NOT optional, and `strict: false` will not tell you so.\n *\n * `mapResolvedItemToHierarchical` drops a malformed item of a known kind by answering `null`.\n * The nested `children` map filtered those out; this one did not, and under\n * `engine/tsconfig.common.json`'s `\"strict\": false` a `(T | null)[]` assigns to `T[]` with no\n * diagnostic — so the typecheck said nothing. `renderHierarchicalItem` then reads\n * `item.children` off `null` and takes the WHOLE SIDEBAR down.\n *\n * That is worse than the defect the drop was added for: before it, a malformed ENGINE_PAGE\n * degraded into a view link that resolved to nothing. Introduced and caught the same day\n * (2026-09-25), by a review pass over the change that introduced it.\n */\n const mapped: HierarchicalNavigationItem[] = shapeSectionNesting(\n resolved.items\n .map(item => mapResolvedItemToHierarchical(item))\n .filter((item): item is HierarchicalNavigationItem => item !== null),\n sectionProps.nested ?? true,\n sectionProps.maxNestingDepth ?? 1,\n );\n\n /*\n * `SidebarItemDisplayPolicy.SECTION_MORE_MENU` tucks a row into its section's \"More\" menu instead of listing it.\n * The policy was carried onto every item and then ignored here — `moreMenuItems` was always `[]` — so the\n * preset's More menu could never appear and an item that asked to be tucked away was listed like any other.\n */\n const items = mapped.filter(item => item.displayPolicy !== SidebarItemDisplayPolicy.SECTION_MORE_MENU);\n const moreMenuItems = mapped.filter(item => item.displayPolicy === SidebarItemDisplayPolicy.SECTION_MORE_MENU);\n\n return {\n section: sectionProps,\n items,\n moreMenuItems,\n contentKind: SidebarSectionContentKind.NAVIGATION_LIST,\n };\n }\n\n case SidebarSectionContentKind.RESOURCE_BROWSER:\n return {\n section: baseProps,\n items: [],\n moreMenuItems: [],\n contentKind: SidebarSectionContentKind.RESOURCE_BROWSER,\n resourceType: resolved.resourceType,\n operation: resolved.operation,\n operationVariant: resolved.operationVariant,\n navigateOperation: resolved.navigateOperation,\n navigateOperationVariant: resolved.navigateOperationVariant,\n instanceFilter: resolved.instanceFilter,\n onInstanceClick: resolved.onInstanceClick,\n };\n\n case SidebarSectionContentKind.GUIDANCE_WIDGET:\n return {\n section: baseProps,\n items: [],\n moreMenuItems: [],\n contentKind: SidebarSectionContentKind.GUIDANCE_WIDGET,\n guidanceRef: resolved.guidanceRef,\n };\n\n case SidebarSectionContentKind.CUSTOM_COMPONENT:\n return {\n section: baseProps,\n items: [],\n moreMenuItems: [],\n contentKind: SidebarSectionContentKind.CUSTOM_COMPONENT,\n componentRef: resolved.componentRef,\n };\n }\n}\n\n/**\n * Applies a navigation section's `nested` / `maxNestingDepth` to its rows.\n *\n * Both were declared, defaulted and carried onto the section, and nothing read them: the sidebar drew whatever\n * children an item had, one level deep, and silently dropped every grandchild. Two settings that look like a control\n * and do nothing (#2331). They now mean:\n *\n * - `nested: false` — the section is a flat list (the section's choice; an unset `nested` keeps the hierarchy). An item's children are listed after it, in order, at the same level.\n * - `nested: true` — children are drawn as a disclosure list under their parent, `maxNestingDepth` levels deep (1: a\n * row's children nest, their children do not). A row deeper than the cap is drawn at the deepest level, after its\n * ancestor, in order.\n *\n * Neither setting ever DROPS a row: hiding a declared destination because of a presentation cap would make a page\n * unreachable from the sidebar with nothing saying why. A cap below 1 is read as 1, since `nested: true` with no level\n * to nest is `nested: false` spelled differently.\n */\nexport function shapeSectionNesting(\n items: HierarchicalNavigationItem[],\n nested: boolean,\n maxNestingDepth: number,\n): HierarchicalNavigationItem[] {\n const levels = nested ? Math.max(1, Math.floor(maxNestingDepth)) : 0;\n\n const flatten = (rows: HierarchicalNavigationItem[]): HierarchicalNavigationItem[] =>\n rows.flatMap(row => [{ ...row, children: undefined }, ...flatten((row.children ?? []) as HierarchicalNavigationItem[])]);\n\n /** `remaining` is how many more child levels may still be drawn under these rows. */\n const shape = (rows: HierarchicalNavigationItem[], remaining: number): HierarchicalNavigationItem[] =>\n rows.flatMap(row => {\n const children = (row.children ?? []) as HierarchicalNavigationItem[];\n if (children.length === 0) return [row];\n if (remaining === 0) return [{ ...row, children: undefined }, ...flatten(children)];\n return [{ ...row, children: shape(children, remaining - 1) }];\n });\n\n return shape(items, levels);\n}\n\n/**\n * Maps a `ResolvedSidebarItem` to `HierarchicalNavigationItem`.\n * Bridges the new resolved types to the old navigation item interface\n * so existing rendering components continue to work.\n *\n * Dispatches on presence of `operation`/`resourceContext` to build a\n * `ResourceNavigationItem`, otherwise builds a `ViewNavigationItem`.\n */\n/**\n * Report a navigation item that declares a KNOWN kind and lacks what that kind requires.\n *\n * Through the logger rather than `console.warn`, and outside `isDevelopment()`, because a dropped\n * sidebar entry is a defect an operator should see wherever the application runs — the pre-existing\n * RESOURCE diagnostics beside it are dev-only, which is why the ENGINE_PAGE case went unreported for\n * as long as it existed.\n */\nfunction logMalformedNavigationItem(item: ResolvedSidebarItem, problem: string): void {\n logger.warn(`Navigation item \"${item.id}\" ${problem} — dropped from the sidebar`, {\n itemId: item.id, ref: item.ref, contentType: item.contentType,\n });\n}\n\nfunction mapResolvedItemToHierarchical(\n item: ResolvedSidebarItem,\n): HierarchicalNavigationItem | null {\n const base = {\n id: item.id,\n ref: item.ref,\n label: item.label,\n urlPath: item.urlPath,\n icon: item.icon,\n displayPolicy: item.displayPolicy,\n notificationBadgeRef: item.notificationBadgeRef,\n children: item.children\n ?.map(mapResolvedItemToHierarchical)\n .filter((child): child is HierarchicalNavigationItem => child !== null),\n };\n\n if (item.operation && item.resourceContext) {\n if (envLoader.isDevelopment()) {\n if (!item.resourceType) console.warn(`[SidebarBehavior] Resource item \"${item.id}\" missing resourceType`);\n if (!item.operationIdentifier) console.warn(`[SidebarBehavior] Resource item \"${item.id}\" missing operationIdentifier`);\n }\n return {\n ...base,\n itemType: NavigationItemType.RESOURCE,\n resourceType: item.resourceType ?? '',\n operationIdentifier: item.operationIdentifier ?? '',\n operation: item.operation,\n resourceContext: item.resourceContext,\n } as HierarchicalNavigationItem;\n }\n\n if (item.contentType === NavigationContentType.ENGINE_PAGE) {\n /*\n * The `pageRef` guard used to be part of this condition (`&& item.pageRef`), so an ENGINE_PAGE\n * item that declared no `pageRef` fell through every branch below into the terminal VIEW\n * fallback — emitting a VIEW item that carries `contentType: ENGINE_PAGE` and a `viewRef` taken\n * from the item's own ref. The sidebar entry then navigated to a view reference that resolves to\n * nothing, silently: the dev-mode diagnostics below exist only for the RESOURCE branch.\n *\n * A malformed item of a KNOWN content type is a declaration defect, not a view. It is reported\n * and dropped rather than degraded into a different kind of thing.\n */\n if (!item.pageRef) {\n logMalformedNavigationItem(item, 'declares contentType ENGINE_PAGE with no `pageRef`');\n return null;\n }\n return {\n ...base,\n itemType: NavigationItemType.ENGINE_PAGE,\n pageRef: item.pageRef,\n } as HierarchicalNavigationItem;\n }\n\n if (item.contentType === NavigationContentType.SETTINGS_HUB) {\n return {\n ...base,\n itemType: NavigationItemType.SETTINGS_HUB,\n sectionRef: item.sectionRef,\n } as HierarchicalNavigationItem;\n }\n\n if (item.componentRef) {\n return {\n ...base,\n itemType: NavigationItemType.CUSTOM_COMPONENT,\n componentRef: item.componentRef,\n contextResourceIdentifiers: item.contextResourceIdentifiers,\n } as HierarchicalNavigationItem;\n }\n\n /*\n * The terminal fallback is the VIEW FAMILY — a composite view, a chart, an execution, a flows\n * actors view, a full custom view. It is reached by an item whose contentType is one of those, or\n * by one that declares none at all.\n *\n * It is NOT a place for an item of a different known kind to land. Each branch above now reports\n * and drops a malformed item of its own kind rather than letting it arrive here wearing a\n * `viewRef` that resolves to nothing.\n */\n return {\n ...base,\n itemType: NavigationItemType.VIEW,\n viewRef: item.viewRef ?? item.ref,\n contentType: item.contentType ?? NavigationContentType.COMPOSITE_VIEW,\n contextResourceIdentifiers: item.contextResourceIdentifiers,\n flowsActorsSystemRef: item.flowsActorsSystemRef,\n fullCustomComponentRef: item.fullCustomComponentRef,\n requiredFeatures: item.requiredFeatures,\n } as HierarchicalNavigationItem;\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import type { ComponentRegistryRef } from '../../../core/components-registry/component-registry.frontend.schemas';
2
2
  import type { UtilityPanelItem } from '../../../core/config/launcher-items.frontend.schemas';
3
+ import { type NavigationState } from '../../../core/navigation/navigation.schemas';
3
4
  import { type UtilityPanelBehavior, type UtilityPanelDisplayItem, type UtilityPanelPlacement } from '../../../core/app-shell/app-shell.schemas';
4
5
  /**
5
6
  * Whether the panel can host a `componentRef`: is something registered under it, in the preset the
@@ -27,20 +28,24 @@ export declare function isUtilityPanelComponentRegistered(componentRef: Componen
27
28
  export declare function resolveUtilityPanelItems(items: readonly UtilityPanelItem[], declaredViewRefs: readonly string[],
28
29
  /** Injected so a caller can resolve against a registry snapshot; defaults to the live registry. */
29
30
  isComponentRegistered?: (componentRef: ComponentRegistryRef) => boolean): UtilityPanelDisplayItem[];
31
+ /**
32
+ * What the workspace beneath the panel shows, as one comparable value: every structural zone's entries by their ids, and
33
+ * its active tab. An entry's id is minted by a navigation and kept by a refresh of the same entry, so this changes when
34
+ * the person goes somewhere — a link in the panel, the command palette, Back — and not when a page re-reads its data.
35
+ * It also changes when a window resize crosses a collapse threshold and the layout moves entries between zones
36
+ * (`useResponsiveZoneMigration`): the panel then closes over a re-flowed workspace, which is accepted.
37
+ * The OVERLAY is left out: it is drawn ABOVE the panel, so what opens there is seen without closing anything.
38
+ *
39
+ * `undefined` when there is no navigation to follow (the panel rendered outside a `NavigationProvider`, as in a test).
40
+ */
41
+ export declare function utilityPanelWorkspaceSignature(state: NavigationState | undefined): string | undefined;
30
42
  /**
31
43
  * Behavior hook for UtilityPanel — manages panel open/close state and
32
44
  * provides resolved items from config.
33
45
  *
34
- * **The panel does not navigate (#504).** It resolves an open/close state and a list of components,
35
- * and the preset renders each one inline. "For now, components render inline OR USE STANDARD
36
- * NAVIGATION" was the misleading half of the previous note: no item uses standard navigation,
37
- * because no item navigates.
38
- *
39
- * That matters for what the deferred work is. A dedicated utility-panel navigation zone contains
40
- * in-panel navigation — and there is none to contain, so adding the zone first would add a member to
41
- * a closed vocabulary with no producer and no reader. The zone becomes real the moment a panel item
42
- * pushes a view; until then it would be scaffolding for a feature nobody has asked this surface to
43
- * grow.
46
+ * **The panel holds no navigation of its own.** It resolves an open/close state and a list of items, and the preset
47
+ * renders each one inline. A link inside an item opens the workspace, and the panel then closes (see the rule beside
48
+ * `isOpen` below), so there is no in-panel stack and no navigation zone for it.
44
49
  */
45
50
  export declare function useUtilityPanelBehavior(position?: UtilityPanelPlacement, itemsOverride?: UtilityPanelItem[]): UtilityPanelBehavior;
46
51
  //# sourceMappingURL=useUtilityPanelBehavior.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUtilityPanelBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useUtilityPanelBehavior.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kFAAkF,CAAC;AAG7H,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iEAAiE,CAAC;AAGxG,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAE3B,MAAM,sDAAsD,CAAC;AAE9D;;;;;;;;;;GAUG;AACH,wBAAgB,iCAAiC,CAAC,YAAY,EAAE,oBAAoB,GAAG,OAAO,CAE7F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,SAAS,gBAAgB,EAAE,EAClC,gBAAgB,EAAE,SAAS,MAAM,EAAE;AACnC,mGAAmG;AACnG,qBAAqB,GAAE,CAAC,YAAY,EAAE,oBAAoB,KAAK,OAA2C,GACzG,uBAAuB,EAAE,CA4C3B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,GAAE,qBAA+C,EACzD,aAAa,CAAC,EAAE,gBAAgB,EAAE,GACjC,oBAAoB,CA8BtB"}
1
+ {"version":3,"file":"useUtilityPanelBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useUtilityPanelBehavior.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kFAAkF,CAAC;AAG7H,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iEAAiE,CAAC;AAMxG,OAAO,EAA+B,KAAK,eAAe,EAAE,MAAM,wDAAwD,CAAC;AAE3H,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAE3B,MAAM,sDAAsD,CAAC;AAE9D;;;;;;;;;;GAUG;AACH,wBAAgB,iCAAiC,CAAC,YAAY,EAAE,oBAAoB,GAAG,OAAO,CAE7F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,SAAS,gBAAgB,EAAE,EAClC,gBAAgB,EAAE,SAAS,MAAM,EAAE;AACnC,mGAAmG;AACnG,qBAAqB,GAAE,CAAC,YAAY,EAAE,oBAAoB,KAAK,OAA2C,GACzG,uBAAuB,EAAE,CA4C3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKrG;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,GAAE,qBAA+C,EACzD,aAAa,CAAC,EAAE,gBAAgB,EAAE,GACjC,oBAAoB,CAiGtB"}
@@ -1,9 +1,14 @@
1
- import { useMemo, useState } from 'react';
2
- import { CorePresetNames, HorizontalPlacement } from '@wildo-ai/presets-components-models';
1
+ import { useContext, useEffect, useMemo, useRef, useState } from 'react';
2
+ import { CorePresetNames, FrontendComponentType, HorizontalPlacement, NavigationViewLabelFamily } from '@wildo-ai/presets-components-models';
3
3
  import { ComponentRegistryService } from '../../../core/components-registry/component-registry.frontend.service.js';
4
4
  import { ApplicationLevelComponentType } from '../../../core/config/app-level-components.frontend.schemas.js';
5
5
  import { LauncherItemTargetKind } from '../../../core/config/launcher-items.frontend.schemas.js';
6
6
  import { useUI } from '../../../core/ui/useUI.js';
7
+ import { useI18n } from '../../../core/i18n/useI18n.js';
8
+ import { resolveComponentLabel } from '../../../core/i18n/component-label-resolution.utils.js';
9
+ import { buildApplicationViewTranslationRef, buildNavigationViewLabelKey } from '../../../core/navigation/view-title-resolution.js';
10
+ import { NavigationContext } from '../../../core/navigation/NavigationContext.js';
11
+ import { NAVIGATION_STRUCTURAL_ZONES } from '../../../core/navigation/navigation.schemas.js';
7
12
  import { isUtilityPanelConfigObject, } from '../../../core/app-shell/app-shell.schemas.js';
8
13
  /**
9
14
  * Whether the panel can host a `componentRef`: is something registered under it, in the preset the
@@ -72,24 +77,71 @@ isComponentRegistered = isUtilityPanelComponentRegistered) {
72
77
  };
73
78
  });
74
79
  }
80
+ /**
81
+ * What the workspace beneath the panel shows, as one comparable value: every structural zone's entries by their ids, and
82
+ * its active tab. An entry's id is minted by a navigation and kept by a refresh of the same entry, so this changes when
83
+ * the person goes somewhere — a link in the panel, the command palette, Back — and not when a page re-reads its data.
84
+ * It also changes when a window resize crosses a collapse threshold and the layout moves entries between zones
85
+ * (`useResponsiveZoneMigration`): the panel then closes over a re-flowed workspace, which is accepted.
86
+ * The OVERLAY is left out: it is drawn ABOVE the panel, so what opens there is seen without closing anything.
87
+ *
88
+ * `undefined` when there is no navigation to follow (the panel rendered outside a `NavigationProvider`, as in a test).
89
+ */
90
+ export function utilityPanelWorkspaceSignature(state) {
91
+ if (!state)
92
+ return undefined;
93
+ return NAVIGATION_STRUCTURAL_ZONES
94
+ .map((zone) => `${zone}:${state.zones[zone].stack.map((entry) => entry.id).join(',')}#${state.zones[zone].activeTabId ?? ''}`)
95
+ .join('|');
96
+ }
75
97
  /**
76
98
  * Behavior hook for UtilityPanel — manages panel open/close state and
77
99
  * provides resolved items from config.
78
100
  *
79
- * **The panel does not navigate (#504).** It resolves an open/close state and a list of components,
80
- * and the preset renders each one inline. "For now, components render inline OR USE STANDARD
81
- * NAVIGATION" was the misleading half of the previous note: no item uses standard navigation,
82
- * because no item navigates.
83
- *
84
- * That matters for what the deferred work is. A dedicated utility-panel navigation zone contains
85
- * in-panel navigation — and there is none to contain, so adding the zone first would add a member to
86
- * a closed vocabulary with no producer and no reader. The zone becomes real the moment a panel item
87
- * pushes a view; until then it would be scaffolding for a feature nobody has asked this surface to
88
- * grow.
101
+ * **The panel holds no navigation of its own.** It resolves an open/close state and a list of items, and the preset
102
+ * renders each one inline. A link inside an item opens the workspace, and the panel then closes (see the rule beside
103
+ * `isOpen` below), so there is no in-panel stack and no navigation zone for it.
89
104
  */
90
105
  export function useUtilityPanelBehavior(position = HorizontalPlacement.END, itemsOverride) {
91
106
  const { UIConfig, appComponentsConfiguration, flowsActorsViews } = useUI();
92
107
  const [isOpen, setIsOpen] = useState(false);
108
+ /*
109
+ * THE PANEL STEPS ASIDE WHEN THE WORKSPACE BENEATH IT CHANGES (Wonder Todos, 2026-10-11).
110
+ *
111
+ * The panel is a modal sheet laid over the workspace, and its items do not navigate inside it: a record an item links
112
+ * to (the assistant's record cards) opens as the PAGE, where every addressable record lives. Left open, the sheet then
113
+ * covered the very record the person had just asked to see. So while it is open the panel follows what the workspace
114
+ * shows, and closes the moment that changes — whoever changed it, since the sheet covers the result either way.
115
+ *
116
+ * This is the rule the navigation system already applies to its own floating layer: from an overlay an ADDRESSABLE
117
+ * target "leaves the overlay and becomes the page", an app-level navigation clears the overlay, and an ephemeral
118
+ * overlay closes when the zone it came from changes. The panel is simply not a navigation entry, so it applies the
119
+ * rule itself, from the same state.
120
+ *
121
+ * Rejected: a navigation zone for the panel (`COMPANION`, or a fourth member), which this declaration used to name
122
+ * as the work owed "the moment a panel item navigates". It would show the record INSIDE a 36rem sheet, as a second
123
+ * home for a surface that already has one, and the person asked to see the record in the main interface. Also
124
+ * rejected: closing only for a link clicked inside the panel. That needs the panel to tag the requests its items
125
+ * emit, and leaves the sheet covering a page the command palette or Back just replaced.
126
+ *
127
+ * What it costs is nothing the person keeps: a hosted assistant reopens on the conversation it showed
128
+ * (`FlowsActorsView`'s held selection), and a turn still running keeps running, since its live state is app-wide.
129
+ */
130
+ const navigation = useContext(NavigationContext);
131
+ const workspace = utilityPanelWorkspaceSignature(navigation?.state);
132
+ const openedOverWorkspace = useRef(undefined);
133
+ useEffect(() => {
134
+ if (!isOpen) {
135
+ openedOverWorkspace.current = undefined;
136
+ return;
137
+ }
138
+ if (openedOverWorkspace.current === undefined) {
139
+ openedOverWorkspace.current = workspace;
140
+ return;
141
+ }
142
+ if (workspace !== openedOverWorkspace.current)
143
+ setIsOpen(false);
144
+ }, [isOpen, workspace]);
93
145
  const currentBreakpoint = UIConfig?.currentBreakpoint;
94
146
  const utilityPanelConfig = appComponentsConfiguration?.[ApplicationLevelComponentType.UTILITY_PANEL];
95
147
  const configObj = isUtilityPanelConfigObject(utilityPanelConfig) ? utilityPanelConfig : undefined;
@@ -97,12 +149,37 @@ export function useUtilityPanelBehavior(position = HorizontalPlacement.END, item
97
149
  const resolvedPosition = useMemo(() => {
98
150
  return configObj?.position ?? position;
99
151
  }, [configObj, position]);
152
+ /*
153
+ * The panel's NAME — the trigger's accessible name and tooltip, and the sheet's title. A panel holding ONE view is
154
+ * named by that view's own title (`views.flows_actors.app.<ref>.title`, generated like every view title), so the
155
+ * trigger says what it opens ("Todo Assistant") rather than the generic "Toggle utility panel". ONE custom
156
+ * component is named by its authored `label`, the only name it has. Several items share the panel's generic title.
157
+ */
158
+ const singleItem = items.length === 1 ? items[0] : undefined;
159
+ const viewTranslationRef = singleItem?.kind === LauncherItemTargetKind.VIEW
160
+ ? buildApplicationViewTranslationRef(singleItem.viewRef)
161
+ : undefined;
162
+ const panelLabelKeys = useMemo(() => (viewTranslationRef
163
+ ? [buildNavigationViewLabelKey({ family: NavigationViewLabelFamily.FLOWS_ACTORS, translationRef: viewTranslationRef })]
164
+ : []), [viewTranslationRef]);
165
+ const { tComponent, tView, isReady: isPanelNameReady } = useI18n({ component: FrontendComponentType.APPLICATION_LEVEL_UTILITY_PANEL, keys: panelLabelKeys });
166
+ const panelName = viewTranslationRef
167
+ ? tView(NavigationViewLabelFamily.FLOWS_ACTORS, viewTranslationRef, 'title')
168
+ : singleItem?.kind === LauncherItemTargetKind.CUSTOM_COMPONENT
169
+ ? singleItem.label
170
+ : resolveComponentLabel({ tComponent, componentType: FrontendComponentType.APPLICATION_LEVEL_UTILITY_PANEL, key: 'title' });
171
+ // The icon the application configured is the one it sees: the panel's own, else its single item's. The item's
172
+ // icon used to be resolved and then never drawn for a VIEW item, so a configured `'brain'` reached no pixel.
173
+ const triggerIcon = configObj?.icon ?? (items.length === 1 ? items[0].icon : undefined);
100
174
  return {
101
175
  isOpen,
102
176
  setIsOpen,
103
177
  items,
104
178
  itemCount: items.length,
105
179
  position: resolvedPosition,
180
+ triggerIcon,
181
+ panelName,
182
+ isPanelNameReady,
106
183
  currentBreakpoint,
107
184
  };
108
185
  }