@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":"useCommandMenuBehavior.js","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useCommandMenuBehavior.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EACL,6BAA6B,EAC7B,WAAW,EACX,WAAW,GACZ,MAAM,uEAAuE,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uEAAuE,CAAC;AACjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oEAAoE,CAAC;AAEtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6DAA6D,CAAC;AAChG,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AAC1H,OAAO,EACL,qCAAqC,EACrC,0CAA0C,GAE3C,MAAM,uEAAuE,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yDAAyD,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AACpG,OAAO,EACL,cAAc,GAEf,MAAM,yDAAyD,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EACL,8CAA8C,EAC9C,qCAAqC,GACtC,MAAM,mEAAmE,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAgC,MAAM,yDAAyD,CAAC;AACnI,OAAO,EAAE,4BAA4B,EAAE,MAAM,kEAAkE,CAAC;AAChH,OAAO,EAAE,uBAAuB,EAAE,MAAM,6DAA6D,CAAC;AACtG,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,uEAAuE,CAAC;AASlG,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AAEnG,MAAM,sBAAsB,GAAsB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAClC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC,8EAA8E;AAC9E,MAAM,0BAA0B,GAAG,GAAG,CAAC;AACvC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAEtC,MAAM,aAAa,GAA0B,qBAAqB,CAAC,SAAS,EAAE,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,2BAA2B,GAAmD;IAClF,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,gBAAgB;IAChD,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,gBAAgB;IACrD,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,cAAc;IAC5C,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,gBAAgB;IAChD,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,cAAc;IAC5C,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,gBAAgB;IAChD,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,gBAAgB;IACrD,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,gBAAgB;IAChD,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,gBAAgB;CACtD,CAAC;AAIF;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,UAAwB,EAAE,GAAW;IACnE,MAAM,aAAa,GAAG,qBAAqB,CAAC,8BAA8B,CAAC;IAC3E,MAAM,IAAI,GAAG,cAAc,aAAa,IAAI,GAAG,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAC9C,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,gFAAgF;AAChF,SAAS,wBAAwB,CAC/B,UAAwB,EACxB,SAAqD;IAErD,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,aAAa,GAAG,0CAA0C,CAAC,SAAS,CAAC,CAAC;IAC5E,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,OAAO,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,oBAAoB,CAC3B,UAA+G,EAC/G,QAAgB;IAEhB,OAAO,UAAU,CAAC,qBAAqB,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,yBAAyB,CAChC,MAAe;IAaf,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACjF,CAAC;AAED,kFAAkF;AAClF,MAAM,iCAAiC,GAAG,cAAc,CAAC;AAEzD;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,cAAwB,EACxB,YAAsC,EACtC,UAA0C,EAAE;IAE5C,MAAM,aAAa,GAAG,4BAA4B,EAAE,CAAC;IACrD,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,uBAAuB,EAAE,CAAC;IACnE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACxD,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,EAAE,0BAA0B,EAAE,GAAG,KAAK,EAAE,CAAC;IAC/C,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;IACnC,MAAM,EAAE,QAAQ,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACzC,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;QAC5D,SAAS,EAAE,qBAAqB,CAAC,8BAA8B;KAChE,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,0BAA0B,EAAE,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;IACnG,MAAM,cAAc,GAAG,yBAAyB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;IACpG,MAAM,YAAY,GAAG,cAAc,EAAE,YAAY,CAAC;IAClD,MAAM,UAAU,GAAG,cAAc,EAAE,UAAU,KAAK,KAAK,CAAC;IACxD,MAAM,cAAc,GAAG,cAAc,EAAE,cAAc,IAAI,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,cAAc,EAAE,aAAa,KAAK,KAAK,CAAC;IAC9D,MAAM,eAAe,GAAG,cAAc,EAAE,eAAe,IAAI,YAAY,CAAC;IACxE,MAAM,aAAa,GAAG,cAAc,EAAE,aAAa,IAAI,sBAAsB,CAAC;IAC9E,MAAM,SAAS,GAAG,cAAc,EAAE,MAAM,KAAK,gBAAgB,CAAC,OAAO,CAAC;IACtE,MAAM,eAAe,GAAG,cAAc,EAAE,eAAe,CAAC;IACxD,MAAM,WAAW,GAAG,cAAc,EAAE,WAAW,IAAI,iCAAiC,CAAC;IACrF,MAAM,0BAA0B,GAAG,qCAAqC,EAAE,CAAC;IAC3E,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CACnC,8CAA8C,CAC5C,cAAc,EAAE,QAAQ,EACxB,0BAA0B,CAC3B,CACF,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,0BAA0B,CAAC,CAAC,CAAC;IAE3D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAEvE,MAAM,YAAY,GAAG,cAAc,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,CAAC;IAChF,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;IAC9D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;IAC3B,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,KAAK,KAAK,CAAC;IAE5D,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAa,EAAE,EAAE;QACrD,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,cAAc,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAC9B,MAAM,WAAW,GAAG,EAAE,CAAC,cAAc,CAAC,wBAAwB,EAAE,GAAG,EAAE;YACnE,gBAAgB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;IACrB,CAAC,EAAE,CAAC,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAC9B,IAAI,CAAC,YAAY,IAAI,iBAAiB,KAAK,KAAK;YAAE,OAAO;QACzD,OAAO,QAAQ,CAAC;YACd,EAAE,EAAE,gCAAgC;YACpC,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,CAAC,CAAC,gCAAgC,CAAC;YAChD,KAAK,EAAE,WAAW,CAAC,MAAM;YACzB,KAAK,EAAE,WAAW,CAAC,UAAU;YAC7B,QAAQ,EAAE,6BAA6B,CAAC,YAAY;YACpD,cAAc,EAAE,IAAI;YACpB,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,cAAc,CAAC,wBAAwB,EAAE,EAAyC,CAAC,CAAC;YAC3F,CAAC;SACF,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE3E,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAA8B,EAAE;QAC/D,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QACjD,OAAO,0BAA0B,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACnE,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;IAEpC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAsB,EAAE;QACnD,OAAO,gBAAgB;aACpB,MAAM,CAAC,GAAG,CAAC,EAAE;YACZ,MAAM,EAAE,GAAG,GAAG,CAAC,aAAa,CAAC;YAC7B,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,wBAAwB,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YAC5E,IAAI,EAAE,KAAK,wBAAwB,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAC;YACxD,IAAI,EAAE,KAAK,wBAAwB,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACxD,IAAI,EAAE,KAAK,wBAAwB,CAAC,UAAU,EAAE,CAAC;gBAC/C,IAAI,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC;oBAC9B,OAAO,CAAC,IAAI,CAAC,2HAA2H,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;gBACrJ,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,wCAAwC,EAAE,kBAAkB,GAAG,CAAC,EAAE,wBAAwB,CAAC,CAAC;YAC3G,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACX,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;YACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,eAAe;YACzC,oEAAoE;YACpE,wEAAwE;YACxE,QAAQ,EAAE;gBACR,GAAG,wBAAwB,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC;gBACtD,GAAG,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;aAC9B;YACD,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,SAAS,EAAE,GAAG,EAAE;gBACd,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACxB,mBAAmB,CAAC,IAAI,CAAC,EAAE;oBACzB,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;gBACH,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBAChB,eAAe,CAAC,mCAAmC,CAAC,QAAQ,EAAE,GAAG,EAAE,6BAA6B,CAAC,YAAY,CAAC,CAAC;gBACjH,CAAC;YACH,CAAC;SACF,CAAC,CAAC,CAAC;IACR,CAAC,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC;IAEhG,MAAM,YAAY,GAAG,OAAO,CAAC,GAAuB,EAAE;QACpD,MAAM,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;QAEzD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,aAAa,KAAK,wBAAwB,CAAC,MAAM;gBAAE,SAAS;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,OAAO,GAAuB,EAAE,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,oBAAoB,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrF,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,oBAAoB,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IAE9C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAsB,CAAC;IAC3F,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAErC,sEAAsE;IACtE,gDAAgD;IAChD,sEAAsE;IACtE,EAAE;IACF,yEAAyE;IACzE,8EAA8E;IAC9E,+EAA+E;IAC/E,uEAAuE;IACvE,8DAA8D;IAC9D,4EAA4E;IAC5E,6EAA6E;IAC7E,6DAA6D;IAE7D,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAiC,EAAE,CAAC,CAAC;IACjG,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,oDAAoD;IACpD,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IACrC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC/B,MAAM,qBAAqB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACzD,qBAAqB,CAAC,OAAO,GAAG,kBAAkB,CAAC;IACnD,MAAM,mBAAmB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACrD,mBAAmB,CAAC,OAAO,GAAG,gBAAgB,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACjB,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;IACnC,MAAM,iBAAiB,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IACjD,iBAAiB,CAAC,OAAO,GAAG,cAAc,CAAC;IAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;IACnC,MAAM,kBAAkB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IACnD,kBAAkB,CAAC,OAAO,GAAG,eAAe,CAAC;IAC7C,MAAM,iBAAiB,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IAE7E;;;;;OAKG;IACH,MAAM,4BAA4B,GAAG,WAAW,CAAC,CAAC,oBAA6B,EAA0B,EAAE;QACzG,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC;QAClC,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;YACnE,MAAM,EAAE,KAAK,EAAE,aAAa;YAC5B,cAAc,EAAE,KAAK,EAAE,qBAAqB;YAC5C,aAAa,EAAE,KAAK,EAAE,oBAAoB;YAC1C,eAAe,EAAE,KAAK,EAAE,sBAAsB;SAC/C,CAAC,CAAC;QACH,OAAO;YACL,GAAG,iBAAiB,CAAC,gCAAgC,CACnD,wBAAwB;YACxB,8DAA8D;YAC9D,oBAA2B,CAC5B;YACD,GAAG,CAAC,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,CAAC;SACpD,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,iFAAiF;IACjF,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,YAAoB,EAAE,QAAgB,EAAQ,EAAE;QACpF,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC;QAC5C,MAAM,cAAc,GAAG,eAAe,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,MAAM,aAAa,GAAG,qCAAqC,CACzD,cAAc,CAAC,UAAU,IAAI,EAAE,EAC/B,qBAAqB,CAAC,IAAI,CAC3B,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,aAAa,CAAC,IAAI,CAAC,gEAAgE,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjH,OAAO;QACT,CAAC;QAED,MAAM,kBAAkB,GAA2B;YACjD,GAAG,4BAA4B,CAAC,cAAc,CAAC,oBAAoB,CAAC;YACpE,CAAC,YAAY,CAAC,EAAE,QAAQ;SACzB,CAAC;QACF,MAAM,2BAA2B,GAAG,qBAAqB,CAAC,gCAAgC;QACxF,8DAA8D;QAC9D,YAAmB,EACnB,kBAAkB,EAClB,eAAe,CAChB,CAAC;QACF,MAAM,eAAe,GAAG,qBAAqB,CAAC,mDAAmD,CAAC;YAChG,8DAA8D;YAC9D,YAAY,EAAE,YAAmB;YACjC,SAAS,EAAE,aAAa;YACxB,0BAA0B,EAAE,kBAAkB;YAC9C,2BAA2B;SAC5B,CAAC,CAAC;QAEH,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,qBAAqB,CAAC,OAAO,CAC3B,eAAe,EACf,eAAe,CAAC,uBAAuB,CAAC,6BAA6B,CAAC,YAAY,CAAC,CACpF,CAAC;IACJ,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAEnC,8EAA8E;IAC9E,uEAAuE;IACvE,MAAM,kBAAkB,GAAG,OAAO,CAChC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,IAAI,EAAE,CAAC,EAC3C,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,MAAM,gBAAgB,GAAG,SAAS,IAAI,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IAEtF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC9B,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACxC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;QACnC,CAAC;QAED,0EAA0E;QAC1E,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,wBAAwB,EAAE,CAAC;YACzF,qBAAqB,CAAC,EAAE,CAAC,CAAC;YAC1B,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QACjC,cAAc,CAAC,IAAI,CAAC,CAAC;QAErB,MAAM,SAAS,GAAG,KAAK,IAAmB,EAAE;YAC1C,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC;YAC5C,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,IAAI,EAAE,CAAC;YAEnD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAgD,EAAE;gBAC3G,MAAM,cAAc,GAAG,eAAe,CAAC,sBAAsB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAClF,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,aAAa,CAAC,IAAI,CAAC,gEAAgE,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;oBAC3H,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,IAAI,aAAqB,CAAC;gBAC1B,IAAI,CAAC;oBACH,aAAa,GAAG,qBAAqB,CAAC,kCAAkC,CAAC,KAAK,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;gBAChH,CAAC;gBAAC,MAAM,CAAC;oBACP,aAAa,CAAC,IAAI,CAAC,kFAAkF,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;oBAC7I,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,MAAM,YAAY,GAAG,qBAAqB,CAAC,2BAA2B,CACpE,KAAK,EACL,KAAK,CAAC,UAAU,IAAI,2BAA2B,CAChD,CAAC;gBAEF,IAAI,MAAe,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE;wBACnD,oBAAoB,EAAE,4BAA4B,CAAC,cAAc,CAAC,oBAAoB,CAAC;wBACvF,eAAe,EAAE,YAAY,CAAC,eAAe;qBAC9C,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,aAAa,CAAC,KAAK,CAAC,qCAAqC,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;oBACvI,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,IAAI,KAAK,GAA8B,EAAE,CAAC;gBAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1B,KAAK,GAAG,MAAmC,CAAC;gBAC9C,CAAC;qBAAM,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAChD,MAAM,SAAS,GAAG,MAAiF,CAAC;oBACpG,KAAK,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;gBAClD,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAEpC,MAAM,eAAe,GAAG,qBAAqB,CAAC,iCAAiC,CAAC,KAAK,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;gBACrH,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC;gBACtD,oEAAoE;gBACpE,0EAA0E;gBAC1E,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,KAAK,qBAAqB,CAAC,KAAK;uBAClE,KAAK,CAAC,aAAa,KAAK,qBAAqB,CAAC,EAAE;oBACnD,CAAC,CAAC,qBAAqB,CAAC,KAAK;oBAC7B,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC;gBAClC,qEAAqE;gBACrE,wEAAwE;gBACxE,kEAAkE;gBAClE,wEAAwE;gBACxE,gEAAgE;gBAChE,MAAM,YAAY,GAAG;oBACnB,KAAK;oBACL,GAAG,sBAAsB,CAAC,aAAa,CAAC,OAAO,EAAE,gBAAgB,CAAC;oBAClE,GAAG,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;iBAChC,CAAC;gBAEF,MAAM,WAAW,GAAkC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxE,MAAM,EAAE,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;oBAC5E,IAAI,CAAC,EAAE;wBAAE,OAAO,EAAE,CAAC;oBACnB,MAAM,KAAK,GAAG,qBAAqB,CAAC,4BAA4B,CAAC;wBAC/D,8DAA8D;wBAC9D,YAAY,EAAE,KAAK,CAAC,YAAmB;wBACvC,QAAQ,EAAE,eAAe;wBACzB,aAAa,EAAE,IAAI;wBACnB,CAAC,EAAE,IAAI,CAAC,OAAO;wBACf,UAAU,EAAE,aAAa,CAAC,OAAO;wBACjC,cAAc,EAAE,iBAAiB,CAAC,OAAO;qBAC1C,CAAC,IAAI,EAAE,CAAC;oBACT,OAAO,CAAC;4BACN,EAAE,EAAE,WAAW,KAAK,CAAC,YAAY,IAAI,EAAE,EAAE;4BACzC,YAAY,EAAE,KAAK,CAAC,YAAY;4BAChC,MAAM,EAAE,IAAI;4BACZ,KAAK;4BACL,QAAQ,EAAE,YAAY;4BACtB,SAAS,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC;yBAC1D,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC1C,OAAO;oBACL,QAAQ;oBACR,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC;oBAC5D,WAAW;oBACX,KAAK,EAAE,WAAW;iBACnB,CAAC;YACJ,CAAC,CAAC,CAAC,CAAC;YAEJ,IAAI,SAAS;gBAAE,OAAO;YACtB,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAyC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;YACvG,cAAc,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC,CAAC;QAEF,iBAAiB,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1C,KAAK,SAAS,EAAE,CAAC;QACnB,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAE/B,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;YACjB,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;gBAC9B,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBACxC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEhH,sEAAsE;IACtE,qEAAqE;IACrE,sEAAsE;IACtE,EAAE;IACF,uEAAuE;IACvE,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,yEAAyE;IACzE,+DAA+D;IAC/D,qEAAqE;IACrE,2CAA2C;IAC3C,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,EAAE;QACzC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;QACtC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC;YACtD,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,IAAI,uBAAuB,GAAG,KAAK,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,aAAa,GAAG,OAAO,CAAC,GAA8B,EAAE;QAC5D,MAAM,OAAO,GAA8B,EAAE,CAAC;QAC9C,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC1C,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,2BAA2B,CAAC,OAAO;gBACzC,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uBAAuB,GAAG,KAAK;gBACnF,KAAK;aACN,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACpC,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,2BAA2B,CAAC,QAAQ;gBAC1C,KAAK,EAAE,wBAAwB,GAAG,KAAK;gBACvC,KAAK;aACN,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,qEAAqE;QACrE,uDAAuD;QACvD,OAAO,OAAO;aACX,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;aACzC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aAClE,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,kBAAkB,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAE9D,OAAO;QACL,MAAM;QACN,gBAAgB;QAChB,WAAW;QACX,cAAc;QACd,YAAY;QACZ,YAAY;QACZ,WAAW;QACX,kBAAkB;QAClB,aAAa;QACb,WAAW;QACX,mBAAmB,EAAE,CAAC,aAAa;QACnC,UAAU;QACV,aAAa;QACb,YAAY;QACZ,WAAW;KACZ,CAAC;AACJ,CAAC","sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { FrontendComponentType } from '@wildo-ai/presets-components-models';\nimport { CoreResourceOperation } from '@wildo-ai/saas-models';\nimport { ForeignKeyDisplayMode } from '@wildo-ai/zod-decorators';\n\nimport {\n ApplicationLevelComponentType,\n HotkeyGroup,\n HotkeyScope,\n} from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { CommandMenuDisplayPolicy } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { CommandBarPolicy } from '~wildo-frontend-lib/core/config/app-configuration-frontend.schemas';\nimport type { CommandMenuCommand, CommandMenuSearchResource } from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { ScopeUtilsService } from '~wildo-frontend-lib/core/scope/scope.utils.frontend.service';\nimport { frontendResourceUtils, FrontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport {\n pickPreferredOperationForCoreSemantic,\n resolveEffectiveCoreOperationFromOperation,\n type ResourceOperationSemanticsLike,\n} from '~wildo-frontend-lib/core/resources/operation-semantics.frontend.utils';\nimport { extractErrorInfo } from '~wildo-frontend-lib/core/errors/errors.frontend.schemas';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport {\n FrontendEvents,\n type FrontendEvent_HotkeyCommandMenuOpen,\n} from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport {\n filterCommandMenuCommandsByRuntimeAvailability,\n useLauncherRuntimeAvailabilityContext,\n} from '~wildo-frontend-lib/core/navigation/launcher-runtime-availability';\nimport { NavigationUtils } from '~wildo-frontend-lib/core/navigation/navigation.utils';\nimport { resolveCommandMenuCommands, type ResolvedCommandMenuItem } from '~wildo-frontend-lib/core/navigation/launcher-resolution';\nimport { useLauncherResolutionContext } from '~wildo-frontend-lib/core/navigation/useLauncherResolutionContext';\nimport { useNavigationController } from '~wildo-frontend-lib/core/navigation/useNavigationController';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\nimport { useHotkeyRegistry } from '~wildo-frontend-lib/core/hotkey/useHotkey';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\n\nimport { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\nimport type {\n CommandMenuBehavior,\n CommandMenuItem,\n CommandMenuGroup,\n CommandMenuSearchResultItem,\n CommandMenuSearchResultGroup,\n CommandMenuPaletteGroup,\n} from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\nimport { CommandMenuPaletteGroupKind } from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\n\nconst DEFAULT_CATEGORY_ORDER: readonly string[] = ['navigation', 'actions'];\n\n/**\n * Order weights for the SINGLE palette ordering axis. Record groups occupy the\n * low band (0..), static command-category groups the high band (1000..), so\n * live record matches surface ABOVE static commands by default while searching.\n * An app overrides per record group via `CommandMenuSearchResource.order`.\n */\nconst RECORD_GROUP_ORDER_BASE = 0;\nconst COMMAND_GROUP_ORDER_BASE = 1000;\n\n/** Omnibox record-search tuning — mirrors `useResourceSearch` (FK picker). */\nconst OMNIBOX_SEARCH_DEBOUNCE_MS = 300;\nconst OMNIBOX_MIN_SEARCH_CHARS = 2;\nconst OMNIBOX_DEFAULT_MAX_RESULTS = 5;\n\nconst omniboxLogger: LoggerFrontendService = LoggerFrontendService.getLogger();\n\n/**\n * Maps a command's core operation semantic to the command-menu component label\n * key holding that operation's LOCALIZED search synonyms (a comma-separated\n * list). `_MANY` variants share their base action's synonyms. Operations\n * without a meaningful synonym set (COUNT) are omitted — they contribute no\n * extra keywords and the command's localized label still matches.\n */\nconst OPERATION_KEYWORD_LABEL_KEY: Partial<Record<CoreResourceOperation, string>> = {\n [CoreResourceOperation.CREATE]: 'keywordsCreate',\n [CoreResourceOperation.CREATE_MANY]: 'keywordsCreate',\n [CoreResourceOperation.LIST]: 'keywordsList',\n [CoreResourceOperation.SEARCH]: 'keywordsSearch',\n [CoreResourceOperation.READ]: 'keywordsRead',\n [CoreResourceOperation.UPDATE]: 'keywordsUpdate',\n [CoreResourceOperation.UPDATE_MANY]: 'keywordsUpdate',\n [CoreResourceOperation.DELETE]: 'keywordsDelete',\n [CoreResourceOperation.DELETE_MANY]: 'keywordsDelete',\n};\n\ntype TComponentFn = (component: FrontendComponentType, key: string, params?: Record<string, string | number>) => string;\n\n/**\n * Resolve a command-menu component keyword label into its list of localized\n * synonyms. The label is authored (and translated) as a comma-separated string;\n * we split it into individual match terms. Fails OPEN to `[]` when the key is\n * not yet generated (`tComponent` returns the raw key path) so a missing\n * translation never injects the literal key path as a bogus keyword.\n */\nfunction resolveKeywordSynonyms(tComponent: TComponentFn, key: string): string[] {\n const componentType = FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU;\n const base = `components.${componentType}.${key}`;\n const resolved = tComponent(componentType, key);\n if (!resolved || resolved === base) return [];\n return resolved.split(',').map(term => term.trim()).filter(Boolean);\n}\n\n/** Localized verb synonyms for a resource-operation command's core semantic. */\nfunction resolveOperationKeywords(\n tComponent: TComponentFn,\n operation: ResourceOperationSemanticsLike | undefined,\n): string[] {\n if (!operation) return [];\n const coreOperation = resolveEffectiveCoreOperationFromOperation(operation);\n const key = coreOperation ? OPERATION_KEYWORD_LABEL_KEY[coreOperation] : undefined;\n return key ? resolveKeywordSynonyms(tComponent, key) : [];\n}\n\n/**\n * The category heading a person reads, from the label tree and nowhere else.\n *\n * This was `resolved === baseKey ? humanizeCategory(category) : resolved` — the exact shape\n * `.claude/rules/display-text-comes-from-i18n.md` names as forbidden, and the reason it is forbidden\n * is visible here: the formatter ran ONLY when the label was missing, which is precisely the case\n * somebody needs to notice. The palette read as finished in every locale, so the keys were never\n * authored and a French user was shown English produced by code — invisible to a translator, because\n * it was never in the tree at all.\n *\n * `tComponent` already answers with the KEY when it cannot resolve one, so returning its answer\n * unchanged IS the missing-looks-missing behaviour. A category with no label now shows its key,\n * which is what makes somebody author it.\n */\nfunction resolveCategoryLabel(\n tComponent: (component: FrontendComponentType, key: string, params?: Record<string, string | number>) => string,\n category: string,\n): string {\n return tComponent(FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU, category);\n}\n\nfunction isCommandMenuConfigObject(\n config: unknown,\n): config is {\n policy?: CommandBarPolicy;\n showRecent?: boolean;\n maxRecentItems?: number;\n showShortcuts?: boolean;\n openShortcut?: string;\n defaultCategory?: string;\n categoryOrder?: string[];\n commands?: CommandMenuCommand[];\n searchResources?: CommandMenuSearchResource[];\n dialogWidth?: string;\n} {\n return typeof config === 'object' && config !== null && !Array.isArray(config);\n}\n\n/** Default desktop max-width class for the palette dialog (see `dialogWidth`). */\nconst DEFAULT_COMMAND_MENU_DIALOG_WIDTH = 'sm:max-w-2xl';\n\n/**\n * Behavior hook for CommandMenu — manages open state (controlled or\n * uncontrolled), search, recent commands, hotkey subscription, and\n * navigation items mapped to command menu entries.\n */\nexport function useCommandMenuBehavior(\n externalIsOpen?: boolean,\n onOpenChange?: (open: boolean) => void,\n options: { listenForHotkeys?: boolean } = {},\n): CommandMenuBehavior {\n const resolutionCtx = useLauncherResolutionContext();\n const { navigate, navigateToResource } = useNavigationController();\n const { registry, doOperation } = useResourceRegistry();\n const appScope = useAppScopeSafe();\n const { appComponentsConfiguration } = useUI();\n const { on, emit } = useEventBus();\n const { register } = useHotkeyRegistry();\n const { t, tComponent, formatDate, formatDateTime } = useI18n({\n component: FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU,\n });\n\n const commandMenuConfig = appComponentsConfiguration?.[ApplicationLevelComponentType.COMMAND_MENU];\n const commandMenuObj = isCommandMenuConfigObject(commandMenuConfig) ? commandMenuConfig : undefined;\n const openShortcut = commandMenuObj?.openShortcut;\n const showRecent = commandMenuObj?.showRecent !== false;\n const maxRecentItems = commandMenuObj?.maxRecentItems ?? 5;\n const showShortcuts = commandMenuObj?.showShortcuts !== false;\n const defaultCategory = commandMenuObj?.defaultCategory ?? 'navigation';\n const categoryOrder = commandMenuObj?.categoryOrder ?? DEFAULT_CATEGORY_ORDER;\n const isOmnibox = commandMenuObj?.policy === CommandBarPolicy.OMNIBOX;\n const searchResources = commandMenuObj?.searchResources;\n const dialogWidth = commandMenuObj?.dialogWidth ?? DEFAULT_COMMAND_MENU_DIALOG_WIDTH;\n const runtimeAvailabilityContext = useLauncherRuntimeAvailabilityContext();\n const configCommands = useMemo(() => (\n filterCommandMenuCommandsByRuntimeAvailability(\n commandMenuObj?.commands,\n runtimeAvailabilityContext,\n )\n ), [commandMenuObj?.commands, runtimeAvailabilityContext]);\n\n const [internalIsOpen, setInternalIsOpen] = useState(false);\n const [searchQuery, setSearchQuery] = useState('');\n const [recentCommandIds, setRecentCommandIds] = useState<string[]>([]);\n\n const isControlled = externalIsOpen !== undefined && onOpenChange !== undefined;\n const isOpen = isControlled ? externalIsOpen : internalIsOpen;\n const isOpenRef = useRef(isOpen);\n isOpenRef.current = isOpen;\n const listenForHotkeys = options.listenForHotkeys !== false;\n\n const handleOpenChange = useCallback((open: boolean) => {\n if (isControlled && onOpenChange) {\n onOpenChange(open);\n } else {\n setInternalIsOpen(open);\n }\n if (!open) {\n setSearchQuery('');\n }\n }, [isControlled, onOpenChange]);\n\n useEffect(() => {\n if (!listenForHotkeys) return;\n const unsubscribe = on(FrontendEvents.HOTKEY_COMMAND_MENU_OPEN, () => {\n handleOpenChange(!isOpenRef.current);\n });\n return unsubscribe;\n }, [on, handleOpenChange, listenForHotkeys]);\n\n useEffect(() => {\n if (!listenForHotkeys) return;\n if (!openShortcut || commandMenuConfig === false) return;\n return register({\n id: 'app-command-menu-open-shortcut',\n shortcut: openShortcut,\n description: t('engine.hotkeys.commandMenuOpen'),\n scope: HotkeyScope.GLOBAL,\n group: HotkeyGroup.NAVIGATION,\n launcher: ApplicationLevelComponentType.COMMAND_MENU,\n preventDefault: true,\n handler: () => {\n emit(FrontendEvents.HOTKEY_COMMAND_MENU_OPEN, {} as FrontendEvent_HotkeyCommandMenuOpen);\n },\n });\n }, [openShortcut, commandMenuConfig, register, emit, t, listenForHotkeys]);\n\n const resolvedCommands = useMemo((): ResolvedCommandMenuItem[] => {\n if (!configCommands || !resolutionCtx) return [];\n return resolveCommandMenuCommands(configCommands, resolutionCtx);\n }, [configCommands, resolutionCtx]);\n\n const commandItems = useMemo((): CommandMenuItem[] => {\n return resolvedCommands\n .filter(cmd => {\n const dp = cmd.displayPolicy;\n if (dp === undefined || dp === CommandMenuDisplayPolicy.ALWAYS) return true;\n if (dp === CommandMenuDisplayPolicy.NEVER) return false;\n if (dp === CommandMenuDisplayPolicy.RECENT) return true;\n if (dp === CommandMenuDisplayPolicy.CONTEXTUAL) {\n if (envLoader.isDevelopment()) {\n console.warn(`[CommandMenu] CONTEXTUAL displayPolicy requires a contextual source and is excluded from the global app-level menu for \"${cmd.id}\"`);\n }\n return false;\n }\n if (envLoader.isDevelopment()) {\n console.warn(`[CommandMenu] Unknown displayPolicy \"${dp}\" for command \"${cmd.id}\" — treating as ALWAYS`);\n }\n return true;\n })\n .map(cmd => ({\n id: cmd.id,\n label: cmd.label,\n shortcut: cmd.shortcut ?? '',\n icon: cmd.icon ?? null,\n category: cmd.category ?? defaultCategory,\n // Localized operation-verb synonyms (translated) + any app-specific\n // literal supplements. The command's localized `label` covers the noun.\n keywords: [\n ...resolveOperationKeywords(tComponent, cmd.operation),\n ...(cmd.searchKeywords ?? []),\n ],\n displayPolicy: cmd.displayPolicy,\n onExecute: () => {\n handleOpenChange(false);\n setRecentCommandIds(prev => {\n const next = [cmd.id, ...prev.filter(id => id !== cmd.id)];\n return next.slice(0, maxRecentItems);\n });\n if (cmd.urlPath) {\n NavigationUtils.dispatchNavigationForResolvedTarget(navigate, cmd, ApplicationLevelComponentType.COMMAND_MENU);\n }\n },\n }));\n }, [resolvedCommands, handleOpenChange, navigate, maxRecentItems, defaultCategory, tComponent]);\n\n const groupedItems = useMemo((): CommandMenuGroup[] => {\n const categoryMap = new Map<string, CommandMenuItem[]>();\n\n for (const item of commandItems) {\n if (item.displayPolicy === CommandMenuDisplayPolicy.RECENT) continue;\n const category = item.category;\n const existing = categoryMap.get(category) ?? [];\n existing.push(item);\n categoryMap.set(category, existing);\n }\n\n for (const items of categoryMap.values()) {\n items.sort((a, b) => a.label.localeCompare(b.label));\n }\n\n const ordered: CommandMenuGroup[] = [];\n for (const cat of categoryOrder) {\n const items = categoryMap.get(cat);\n if (items) {\n ordered.push({ category: cat, label: resolveCategoryLabel(tComponent, cat), items });\n categoryMap.delete(cat);\n }\n }\n for (const [cat, items] of categoryMap.entries()) {\n ordered.push({ category: cat, label: resolveCategoryLabel(tComponent, cat), items });\n }\n\n return ordered;\n }, [commandItems, categoryOrder, tComponent]);\n\n const recentItems = useMemo(() => {\n if (recentCommandIds.length === 0) return [];\n const itemById = new Map(commandItems.map(item => [item.id, item]));\n return recentCommandIds.map(id => itemById.get(id)).filter(Boolean) as CommandMenuItem[];\n }, [commandItems, recentCommandIds]);\n\n // ===================================================================\n // Omnibox record-search layer (policy: OMNIBOX)\n // ===================================================================\n //\n // A live, debounced query against each configured resource's addressable\n // SEARCH operation (falling back to LIST). This is the ONLY query-driven data\n // path in the command menu — static commands remain a synchronous, config-only\n // source. Scope + navigation reuse the proven `SidebarResourceBrowser`\n // precedent: the current org/user/app scope is projected into\n // `contextualParameters` (and `ScopedResourceRegistryProvider` additionally\n // injects the field-identifier-keyed org id onto every `doOperation`), and a\n // selection navigates to the record's addressable READ view.\n\n const [searchResultGroups, setSearchResultGroups] = useState<CommandMenuSearchResultGroup[]>([]);\n const [isSearching, setIsSearching] = useState(false);\n\n // Read mutable dependencies through refs so the debounced fetch effect only\n // re-fires on a genuine (isOpen, query, policy, resource-set) change — never\n // on incidental identity churn of the registry / scope / navigation handles\n // (see the react-effect-identity-churn discipline).\n const doOperationRef = useRef(doOperation);\n doOperationRef.current = doOperation;\n const registryRef = useRef(registry);\n registryRef.current = registry;\n const appScopeRef = useRef(appScope);\n appScopeRef.current = appScope;\n const navigateToResourceRef = useRef(navigateToResource);\n navigateToResourceRef.current = navigateToResource;\n const handleOpenChangeRef = useRef(handleOpenChange);\n handleOpenChangeRef.current = handleOpenChange;\n const tRef = useRef(t);\n tRef.current = t;\n const formatDateRef = useRef(formatDate);\n formatDateRef.current = formatDate;\n const formatDateTimeRef = useRef(formatDateTime);\n formatDateTimeRef.current = formatDateTime;\n const tComponentRef = useRef(tComponent);\n tComponentRef.current = tComponent;\n const searchResourcesRef = useRef(searchResources);\n searchResourcesRef.current = searchResources;\n const omniboxTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n /**\n * Project the current primary scope (user/org/app/anon) into the resource's\n * scope-filtered context identifiers — the same shape `SidebarResourceBrowser`\n * passes to `doOperation`. Keyed by resource type; the scoped provider maps\n * the org id to its field identifier (`organizationId`) on the wire.\n */\n const buildOmniboxScopeIdentifiers = useCallback((resourcePrimaryScope: unknown): Record<string, string> => {\n const scope = appScopeRef.current;\n const primaryScopeInitiatorIds = ScopeUtilsService.buildInitiatorIds({\n userId: scope?.currentUserId,\n organizationId: scope?.currentOrganizationId,\n applicationId: scope?.currentApplicationId,\n anonymousUserId: scope?.currentAnonymousUserId,\n });\n return {\n ...ScopeUtilsService.primaryScopeToContextIdentifiers(\n primaryScopeInitiatorIds,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n resourcePrimaryScope as any,\n ),\n ...(scope?.buildContextResourceIdentifiers() ?? {}),\n };\n }, []);\n\n /** Navigate to a matched record's addressable READ view, then close the menu. */\n const navigateToRecord = useCallback((resourceType: string, recordId: string): void => {\n const currentRegistry = registryRef.current;\n const resourceConfig = currentRegistry.resourceConfigurations[resourceType];\n if (!resourceConfig) return;\n\n const readOperation = pickPreferredOperationForCoreSemantic(\n resourceConfig.operations ?? [],\n CoreResourceOperation.READ,\n );\n if (!readOperation) {\n omniboxLogger.warn('[CommandMenu] Omnibox result has no addressable READ operation', { resourceType, recordId });\n return;\n }\n\n const contextIdentifiers: Record<string, string> = {\n ...buildOmniboxScopeIdentifiers(resourceConfig.resourcePrimaryScope),\n [resourceType]: recordId,\n };\n const parentResourcesRequirements = frontendResourceUtils.buildParentResourcesRequirements(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n resourceType as any,\n contextIdentifiers,\n currentRegistry,\n );\n const resourceContext = frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n resourceType: resourceType as any,\n operation: readOperation,\n contextResourceIdentifiers: contextIdentifiers,\n parentResourcesRequirements,\n });\n\n handleOpenChangeRef.current(false);\n navigateToResourceRef.current(\n resourceContext,\n NavigationUtils.createAppLevelInitiator(ApplicationLevelComponentType.COMMAND_MENU),\n );\n }, [buildOmniboxScopeIdentifiers]);\n\n // Stable key over the configured resource set — the fetch effect re-arms only\n // when the app changes which resources are searchable, not per render.\n const searchResourcesKey = useMemo(\n () => JSON.stringify(searchResources ?? []),\n [searchResources],\n );\n\n const shouldRunOmnibox = isOmnibox && !!searchResources && searchResources.length > 0;\n\n useEffect(() => {\n if (omniboxTimeoutRef.current) {\n clearTimeout(omniboxTimeoutRef.current);\n omniboxTimeoutRef.current = null;\n }\n\n // Below threshold, closed, or omnibox disabled → no query-driven results.\n if (!isOpen || !shouldRunOmnibox || searchQuery.trim().length < OMNIBOX_MIN_SEARCH_CHARS) {\n setSearchResultGroups([]);\n setIsSearching(false);\n return;\n }\n\n let cancelled = false;\n const query = searchQuery.trim();\n setIsSearching(true);\n\n const runSearch = async (): Promise<void> => {\n const currentRegistry = registryRef.current;\n const resources = searchResourcesRef.current ?? [];\n\n const groups = await Promise.all(resources.map(async (entry): Promise<CommandMenuSearchResultGroup | null> => {\n const resourceConfig = currentRegistry.resourceConfigurations[entry.resourceType];\n if (!resourceConfig) {\n omniboxLogger.warn('[CommandMenu] Omnibox searchResource not in registry — skipped', { resourceType: entry.resourceType });\n return null;\n }\n\n let operationPath: string;\n try {\n operationPath = FrontendResourceUtils.buildForeignKeySearchOperationPath(entry.resourceType, currentRegistry);\n } catch {\n omniboxLogger.warn('[CommandMenu] Omnibox resource has no searchable SEARCH/LIST operation — skipped', { resourceType: entry.resourceType });\n return null;\n }\n\n const searchParams = FrontendResourceUtils.buildForeignKeySearchParams(\n query,\n entry.maxResults ?? OMNIBOX_DEFAULT_MAX_RESULTS,\n );\n\n let result: unknown;\n try {\n result = await doOperationRef.current(operationPath, {\n contextualParameters: buildOmniboxScopeIdentifiers(resourceConfig.resourcePrimaryScope),\n queryParameters: searchParams.queryParameters,\n });\n } catch (err) {\n omniboxLogger.error('[CommandMenu] Omnibox search failed', { resourceType: entry.resourceType, ...extractErrorInfo(err), error: err });\n return null;\n }\n\n let items: Record<string, unknown>[] = [];\n if (Array.isArray(result)) {\n items = result as Record<string, unknown>[];\n } else if (result && typeof result === 'object') {\n const resultObj = result as { data?: Record<string, unknown>[]; items?: Record<string, unknown>[] };\n items = resultObj.data ?? resultObj.items ?? [];\n }\n if (items.length === 0) return null;\n\n const fieldIdentifier = FrontendResourceUtils.getResourceFieldIdentifierForType(entry.resourceType, currentRegistry);\n const category = entry.category ?? entry.resourceType;\n // Default to the richer SUMMARY view (the resource's summary card);\n // apps opt out to a one-line LABEL per resource. `ID` collapses to LABEL.\n const displayMode = entry.resultDisplay === ForeignKeyDisplayMode.LABEL\n || entry.resultDisplay === ForeignKeyDisplayMode.ID\n ? ForeignKeyDisplayMode.LABEL\n : ForeignKeyDisplayMode.SUMMARY;\n // The raw query is always carried as a keyword so cmdk's client-side\n // filter never drops a legitimate server hit (matches may be on a field\n // absent from the label, e.g. `description`). We also fold in the\n // LOCALIZED \"search\" verb synonyms so typing a translated synonym keeps\n // the group visible, plus any app-specific literal supplements.\n const baseKeywords = [\n query,\n ...resolveKeywordSynonyms(tComponentRef.current, 'keywordsSearch'),\n ...(entry.searchKeywords ?? []),\n ];\n\n const resultItems: CommandMenuSearchResultItem[] = items.flatMap((item) => {\n const id = FrontendResourceUtils.getResourceObjectId(item, fieldIdentifier);\n if (!id) return [];\n const label = FrontendResourceUtils.computeFrontendResourceLabel({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n resourceType: entry.resourceType as any,\n registry: currentRegistry,\n currentObject: item,\n t: tRef.current,\n formatDate: formatDateRef.current,\n formatDateTime: formatDateTimeRef.current,\n }) ?? id;\n return [{\n id: `omnibox:${entry.resourceType}:${id}`,\n resourceType: entry.resourceType,\n record: item,\n label,\n keywords: baseKeywords,\n onExecute: () => navigateToRecord(entry.resourceType, id),\n }];\n });\n\n if (resultItems.length === 0) return null;\n return {\n category,\n label: resolveCategoryLabel(tComponentRef.current, category),\n displayMode,\n items: resultItems,\n };\n }));\n\n if (cancelled) return;\n setSearchResultGroups(groups.filter((group): group is CommandMenuSearchResultGroup => group !== null));\n setIsSearching(false);\n };\n\n omniboxTimeoutRef.current = setTimeout(() => {\n void runSearch();\n }, OMNIBOX_SEARCH_DEBOUNCE_MS);\n\n return () => {\n cancelled = true;\n if (omniboxTimeoutRef.current) {\n clearTimeout(omniboxTimeoutRef.current);\n omniboxTimeoutRef.current = null;\n }\n };\n }, [isOpen, searchQuery, shouldRunOmnibox, searchResourcesKey, buildOmniboxScopeIdentifiers, navigateToRecord]);\n\n // ===================================================================\n // Unified, ordered palette group list (records + commands, one axis)\n // ===================================================================\n //\n // A single ordering model: every renderable group (live record group +\n // static command-category group) is assigned ONE numeric `order` weight and\n // the merged list is sorted by it. Record groups take the low band (default\n // above commands, so live matches surface first while searching); the app\n // overrides a record group's slot via `CommandMenuSearchResource.order`.\n // Command categories keep their pre-existing relative sequence\n // (`categoryOrder`) inside the high band. The recent group is pinned\n // separately and is not part of this list.\n const recordOrderByCategory = useMemo(() => {\n const map = new Map<string, number>();\n (searchResources ?? []).forEach((entry, index) => {\n const category = entry.category ?? entry.resourceType;\n map.set(category, entry.order ?? RECORD_GROUP_ORDER_BASE + index);\n });\n return map;\n }, [searchResources]);\n\n const orderedGroups = useMemo((): CommandMenuPaletteGroup[] => {\n const entries: CommandMenuPaletteGroup[] = [];\n searchResultGroups.forEach((group, index) => {\n entries.push({\n kind: CommandMenuPaletteGroupKind.RECORDS,\n order: recordOrderByCategory.get(group.category) ?? RECORD_GROUP_ORDER_BASE + index,\n group,\n });\n });\n groupedItems.forEach((group, index) => {\n entries.push({\n kind: CommandMenuPaletteGroupKind.COMMANDS,\n order: COMMAND_GROUP_ORDER_BASE + index,\n group,\n });\n });\n // Stable sort by the single order axis (index tiebreak preserves the\n // per-source sequence when two groups share a weight).\n return entries\n .map((entry, index) => ({ entry, index }))\n .sort((a, b) => a.entry.order - b.entry.order || a.index - b.index)\n .map(({ entry }) => entry);\n }, [searchResultGroups, groupedItems, recordOrderByCategory]);\n\n return {\n isOpen,\n handleOpenChange,\n searchQuery,\n setSearchQuery,\n commandItems,\n groupedItems,\n recentItems,\n searchResultGroups,\n orderedGroups,\n isSearching,\n isNavigationLoading: !resolutionCtx,\n showRecent,\n showShortcuts,\n openShortcut,\n dialogWidth,\n };\n}\n"]}
1
+ {"version":3,"file":"useCommandMenuBehavior.js","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useCommandMenuBehavior.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EACL,6BAA6B,EAC7B,WAAW,EACX,WAAW,GACZ,MAAM,uEAAuE,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uEAAuE,CAAC;AACjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oEAAoE,CAAC;AAEtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6DAA6D,CAAC;AAChG,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AAC1H,OAAO,EACL,qCAAqC,EACrC,0CAA0C,GAE3C,MAAM,uEAAuE,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yDAAyD,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AACpG,OAAO,EACL,cAAc,GAEf,MAAM,yDAAyD,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EACL,8CAA8C,EAC9C,qCAAqC,GACtC,MAAM,mEAAmE,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAgC,MAAM,yDAAyD,CAAC;AACnI,OAAO,EAAE,kBAAkB,EAAE,MAAM,4DAA4D,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,MAAM,6EAA6E,CAAC;AACvJ,OAAO,EAAE,4BAA4B,EAAE,MAAM,kEAAkE,CAAC;AAChH,OAAO,EAAE,uBAAuB,EAAE,MAAM,6DAA6D,CAAC;AACtG,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,uEAAuE,CAAC;AASlG,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AAEnG,MAAM,sBAAsB,GAAsB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAClC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC,8EAA8E;AAC9E,MAAM,0BAA0B,GAAG,GAAG,CAAC;AACvC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAEtC,MAAM,aAAa,GAA0B,qBAAqB,CAAC,SAAS,EAAE,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,2BAA2B,GAAmD;IAClF,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,gBAAgB;IAChD,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,gBAAgB;IACrD,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,cAAc;IAC5C,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,gBAAgB;IAChD,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,cAAc;IAC5C,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,gBAAgB;IAChD,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,gBAAgB;IACrD,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,gBAAgB;IAChD,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,gBAAgB;CACtD,CAAC;AAIF;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,UAAwB,EAAE,GAAW;IACnE,MAAM,aAAa,GAAG,qBAAqB,CAAC,8BAA8B,CAAC;IAC3E,MAAM,IAAI,GAAG,cAAc,aAAa,IAAI,GAAG,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAC9C,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,gFAAgF;AAChF,SAAS,wBAAwB,CAC/B,UAAwB,EACxB,SAAqD;IAErD,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,aAAa,GAAG,0CAA0C,CAAC,SAAS,CAAC,CAAC;IAC5E,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,OAAO,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,oBAAoB,CAC3B,UAA+G,EAC/G,QAAgB;IAEhB,OAAO,UAAU,CAAC,qBAAqB,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,yBAAyB,CAChC,MAAe;IAaf,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACjF,CAAC;AAED,kFAAkF;AAClF,MAAM,iCAAiC,GAAG,cAAc,CAAC;AAEzD;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,cAAwB,EACxB,YAAsC,EACtC,UAA0C,EAAE;IAE5C,MAAM,aAAa,GAAG,4BAA4B,EAAE,CAAC;IACrD,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,uBAAuB,EAAE,CAAC;IACnE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACxD,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,EAAE,0BAA0B,EAAE,iCAAiC,EAAE,GAAG,KAAK,EAAE,CAAC;IAClF,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;IACnC,MAAM,EAAE,QAAQ,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACzC,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;QAC5D,SAAS,EAAE,qBAAqB,CAAC,8BAA8B;KAChE,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,0BAA0B,EAAE,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;IACnG,MAAM,cAAc,GAAG,yBAAyB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;IACpG,MAAM,YAAY,GAAG,cAAc,EAAE,YAAY,CAAC;IAClD,MAAM,UAAU,GAAG,cAAc,EAAE,UAAU,KAAK,KAAK,CAAC;IACxD,MAAM,cAAc,GAAG,cAAc,EAAE,cAAc,IAAI,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,cAAc,EAAE,aAAa,KAAK,KAAK,CAAC;IAC9D,MAAM,eAAe,GAAG,cAAc,EAAE,eAAe,IAAI,YAAY,CAAC;IACxE,MAAM,aAAa,GAAG,cAAc,EAAE,aAAa,IAAI,sBAAsB,CAAC;IAC9E,MAAM,SAAS,GAAG,cAAc,EAAE,MAAM,KAAK,gBAAgB,CAAC,OAAO,CAAC;IACtE,MAAM,eAAe,GAAG,cAAc,EAAE,eAAe,CAAC;IACxD,MAAM,WAAW,GAAG,cAAc,EAAE,WAAW,IAAI,iCAAiC,CAAC;IACrF,MAAM,0BAA0B,GAAG,qCAAqC,EAAE,CAAC;IAC3E,oHAAoH;IACpH,0GAA0G;IAC1G,MAAM,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC;IACpF,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CACnC,8CAA8C,CAC5C,wBAAwB,CAAC,8BAA8B,CAAC,cAAc,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EAAE,iCAAiC,CAAC,EACzI,0BAA0B,CAC3B,CACF,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAE,iCAAiC,EAAE,0BAA0B,CAAC,CAAC,CAAC;IAElH,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAEvE,MAAM,YAAY,GAAG,cAAc,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,CAAC;IAChF,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;IAC9D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;IAC3B,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,KAAK,KAAK,CAAC;IAE5D,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,IAAa,EAAE,EAAE;QACrD,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,cAAc,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAC9B,MAAM,WAAW,GAAG,EAAE,CAAC,cAAc,CAAC,wBAAwB,EAAE,GAAG,EAAE;YACnE,gBAAgB,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;IACrB,CAAC,EAAE,CAAC,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAC9B,IAAI,CAAC,YAAY,IAAI,iBAAiB,KAAK,KAAK;YAAE,OAAO;QACzD,OAAO,QAAQ,CAAC;YACd,EAAE,EAAE,gCAAgC;YACpC,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,CAAC,CAAC,gCAAgC,CAAC;YAChD,KAAK,EAAE,WAAW,CAAC,MAAM;YACzB,KAAK,EAAE,WAAW,CAAC,UAAU;YAC7B,QAAQ,EAAE,6BAA6B,CAAC,YAAY;YACpD,cAAc,EAAE,IAAI;YACpB,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,cAAc,CAAC,wBAAwB,EAAE,EAAyC,CAAC,CAAC;YAC3F,CAAC;SACF,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE3E,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAA8B,EAAE;QAC/D,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QACjD,OAAO,0BAA0B,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACnE,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;IAEpC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAsB,EAAE;QACnD,OAAO,gBAAgB;aACpB,MAAM,CAAC,GAAG,CAAC,EAAE;YACZ,MAAM,EAAE,GAAG,GAAG,CAAC,aAAa,CAAC;YAC7B,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,wBAAwB,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YAC5E,IAAI,EAAE,KAAK,wBAAwB,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAC;YACxD,IAAI,EAAE,KAAK,wBAAwB,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACxD,IAAI,EAAE,KAAK,wBAAwB,CAAC,UAAU,EAAE,CAAC;gBAC/C,IAAI,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC;oBAC9B,OAAO,CAAC,IAAI,CAAC,2HAA2H,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;gBACrJ,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,wCAAwC,EAAE,kBAAkB,GAAG,CAAC,EAAE,wBAAwB,CAAC,CAAC;YAC3G,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACX,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;YACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,eAAe;YACzC,oEAAoE;YACpE,wEAAwE;YACxE,QAAQ,EAAE;gBACR,GAAG,wBAAwB,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC;gBACtD,GAAG,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;aAC9B;YACD,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,SAAS,EAAE,GAAG,EAAE;gBACd,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACxB,mBAAmB,CAAC,IAAI,CAAC,EAAE;oBACzB,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;gBACH,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBAChB,eAAe,CAAC,mCAAmC,CAAC,QAAQ,EAAE,GAAG,EAAE,6BAA6B,CAAC,YAAY,CAAC,CAAC;gBACjH,CAAC;YACH,CAAC;SACF,CAAC,CAAC,CAAC;IACR,CAAC,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC;IAEhG,MAAM,YAAY,GAAG,OAAO,CAAC,GAAuB,EAAE;QACpD,MAAM,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;QAEzD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,aAAa,KAAK,wBAAwB,CAAC,MAAM;gBAAE,SAAS;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,OAAO,GAAuB,EAAE,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,oBAAoB,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrF,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,oBAAoB,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IAE9C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAsB,CAAC;IAC3F,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAErC,sEAAsE;IACtE,gDAAgD;IAChD,sEAAsE;IACtE,EAAE;IACF,yEAAyE;IACzE,8EAA8E;IAC9E,+EAA+E;IAC/E,uEAAuE;IACvE,8DAA8D;IAC9D,4EAA4E;IAC5E,6EAA6E;IAC7E,6DAA6D;IAE7D,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAiC,EAAE,CAAC,CAAC;IACjG,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,oDAAoD;IACpD,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IACrC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC/B,MAAM,qBAAqB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACzD,qBAAqB,CAAC,OAAO,GAAG,kBAAkB,CAAC;IACnD,MAAM,mBAAmB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACrD,mBAAmB,CAAC,OAAO,GAAG,gBAAgB,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACjB,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;IACnC,MAAM,iBAAiB,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IACjD,iBAAiB,CAAC,OAAO,GAAG,cAAc,CAAC;IAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;IACnC,MAAM,kBAAkB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IACnD,kBAAkB,CAAC,OAAO,GAAG,eAAe,CAAC;IAC7C,MAAM,iBAAiB,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IAE7E;;;;;OAKG;IACH,MAAM,4BAA4B,GAAG,WAAW,CAAC,CAAC,oBAA6B,EAA0B,EAAE;QACzG,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC;QAClC,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;YACnE,MAAM,EAAE,KAAK,EAAE,aAAa;YAC5B,cAAc,EAAE,KAAK,EAAE,qBAAqB;YAC5C,aAAa,EAAE,KAAK,EAAE,oBAAoB;YAC1C,eAAe,EAAE,KAAK,EAAE,sBAAsB;SAC/C,CAAC,CAAC;QACH,OAAO;YACL,GAAG,iBAAiB,CAAC,gCAAgC,CACnD,wBAAwB;YACxB,8DAA8D;YAC9D,oBAA2B,CAC5B;YACD,GAAG,CAAC,KAAK,EAAE,+BAA+B,EAAE,IAAI,EAAE,CAAC;SACpD,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,iFAAiF;IACjF,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,YAAoB,EAAE,QAAgB,EAAQ,EAAE;QACpF,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC;QAC5C,MAAM,cAAc,GAAG,eAAe,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,MAAM,aAAa,GAAG,qCAAqC,CACzD,cAAc,CAAC,UAAU,IAAI,EAAE,EAC/B,qBAAqB,CAAC,IAAI,CAC3B,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,aAAa,CAAC,IAAI,CAAC,gEAAgE,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjH,OAAO;QACT,CAAC;QAED,MAAM,kBAAkB,GAA2B;YACjD,GAAG,4BAA4B,CAAC,cAAc,CAAC,oBAAoB,CAAC;YACpE,CAAC,YAAY,CAAC,EAAE,QAAQ;SACzB,CAAC;QACF,MAAM,2BAA2B,GAAG,qBAAqB,CAAC,gCAAgC;QACxF,8DAA8D;QAC9D,YAAmB,EACnB,kBAAkB,EAClB,eAAe,CAChB,CAAC;QACF,MAAM,eAAe,GAAG,qBAAqB,CAAC,mDAAmD,CAAC;YAChG,8DAA8D;YAC9D,YAAY,EAAE,YAAmB;YACjC,SAAS,EAAE,aAAa;YACxB,0BAA0B,EAAE,kBAAkB;YAC9C,2BAA2B;SAC5B,CAAC,CAAC;QAEH,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,qBAAqB,CAAC,OAAO,CAC3B,eAAe,EACf,eAAe,CAAC,uBAAuB,CAAC,6BAA6B,CAAC,YAAY,CAAC,CACpF,CAAC;IACJ,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAEnC,8EAA8E;IAC9E,uEAAuE;IACvE,MAAM,kBAAkB,GAAG,OAAO,CAChC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,IAAI,EAAE,CAAC,EAC3C,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,MAAM,gBAAgB,GAAG,SAAS,IAAI,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IAEtF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC9B,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACxC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;QACnC,CAAC;QAED,0EAA0E;QAC1E,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,wBAAwB,EAAE,CAAC;YACzF,qBAAqB,CAAC,EAAE,CAAC,CAAC;YAC1B,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QACjC,cAAc,CAAC,IAAI,CAAC,CAAC;QAErB,MAAM,SAAS,GAAG,KAAK,IAAmB,EAAE;YAC1C,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC;YAC5C,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,IAAI,EAAE,CAAC;YAEnD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAgD,EAAE;gBAC3G,MAAM,cAAc,GAAG,eAAe,CAAC,sBAAsB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAClF,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,aAAa,CAAC,IAAI,CAAC,gEAAgE,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;oBAC3H,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,IAAI,aAAqB,CAAC;gBAC1B,IAAI,CAAC;oBACH,aAAa,GAAG,qBAAqB,CAAC,kCAAkC,CAAC,KAAK,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;gBAChH,CAAC;gBAAC,MAAM,CAAC;oBACP,aAAa,CAAC,IAAI,CAAC,kFAAkF,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;oBAC7I,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,MAAM,YAAY,GAAG,qBAAqB,CAAC,2BAA2B,CACpE,KAAK,EACL,KAAK,CAAC,UAAU,IAAI,2BAA2B,CAChD,CAAC;gBAEF,IAAI,MAAe,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE;wBACnD,oBAAoB,EAAE,4BAA4B,CAAC,cAAc,CAAC,oBAAoB,CAAC;wBACvF,eAAe,EAAE,YAAY,CAAC,eAAe;qBAC9C,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,aAAa,CAAC,KAAK,CAAC,qCAAqC,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;oBACvI,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,IAAI,KAAK,GAA8B,EAAE,CAAC;gBAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1B,KAAK,GAAG,MAAmC,CAAC;gBAC9C,CAAC;qBAAM,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAChD,MAAM,SAAS,GAAG,MAAiF,CAAC;oBACpG,KAAK,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;gBAClD,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAEpC,MAAM,eAAe,GAAG,qBAAqB,CAAC,iCAAiC,CAAC,KAAK,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;gBACrH,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC;gBACtD,oEAAoE;gBACpE,0EAA0E;gBAC1E,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,KAAK,qBAAqB,CAAC,KAAK;uBAClE,KAAK,CAAC,aAAa,KAAK,qBAAqB,CAAC,EAAE;oBACnD,CAAC,CAAC,qBAAqB,CAAC,KAAK;oBAC7B,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC;gBAClC,qEAAqE;gBACrE,wEAAwE;gBACxE,kEAAkE;gBAClE,wEAAwE;gBACxE,gEAAgE;gBAChE,MAAM,YAAY,GAAG;oBACnB,KAAK;oBACL,GAAG,sBAAsB,CAAC,aAAa,CAAC,OAAO,EAAE,gBAAgB,CAAC;oBAClE,GAAG,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;iBAChC,CAAC;gBAEF,MAAM,WAAW,GAAkC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxE,MAAM,EAAE,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;oBAC5E,IAAI,CAAC,EAAE;wBAAE,OAAO,EAAE,CAAC;oBACnB,MAAM,KAAK,GAAG,qBAAqB,CAAC,4BAA4B,CAAC;wBAC/D,8DAA8D;wBAC9D,YAAY,EAAE,KAAK,CAAC,YAAmB;wBACvC,QAAQ,EAAE,eAAe;wBACzB,aAAa,EAAE,IAAI;wBACnB,CAAC,EAAE,IAAI,CAAC,OAAO;wBACf,UAAU,EAAE,aAAa,CAAC,OAAO;wBACjC,cAAc,EAAE,iBAAiB,CAAC,OAAO;qBAC1C,CAAC,IAAI,EAAE,CAAC;oBACT,OAAO,CAAC;4BACN,EAAE,EAAE,WAAW,KAAK,CAAC,YAAY,IAAI,EAAE,EAAE;4BACzC,YAAY,EAAE,KAAK,CAAC,YAAY;4BAChC,MAAM,EAAE,IAAI;4BACZ,KAAK;4BACL,QAAQ,EAAE,YAAY;4BACtB,SAAS,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC;yBAC1D,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC1C,OAAO;oBACL,QAAQ;oBACR,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC;oBAC5D,WAAW;oBACX,KAAK,EAAE,WAAW;iBACnB,CAAC;YACJ,CAAC,CAAC,CAAC,CAAC;YAEJ,IAAI,SAAS;gBAAE,OAAO;YACtB,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAyC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;YACvG,cAAc,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC,CAAC;QAEF,iBAAiB,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1C,KAAK,SAAS,EAAE,CAAC;QACnB,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAE/B,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;YACjB,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;gBAC9B,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBACxC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEhH,sEAAsE;IACtE,qEAAqE;IACrE,sEAAsE;IACtE,EAAE;IACF,uEAAuE;IACvE,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,yEAAyE;IACzE,+DAA+D;IAC/D,qEAAqE;IACrE,2CAA2C;IAC3C,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,EAAE;QACzC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;QACtC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC;YACtD,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,IAAI,uBAAuB,GAAG,KAAK,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,aAAa,GAAG,OAAO,CAAC,GAA8B,EAAE;QAC5D,MAAM,OAAO,GAA8B,EAAE,CAAC;QAC9C,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC1C,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,2BAA2B,CAAC,OAAO;gBACzC,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,uBAAuB,GAAG,KAAK;gBACnF,KAAK;aACN,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACpC,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,2BAA2B,CAAC,QAAQ;gBAC1C,KAAK,EAAE,wBAAwB,GAAG,KAAK;gBACvC,KAAK;aACN,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,qEAAqE;QACrE,uDAAuD;QACvD,OAAO,OAAO;aACX,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;aACzC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aAClE,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,kBAAkB,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAE9D,OAAO;QACL,MAAM;QACN,gBAAgB;QAChB,WAAW;QACX,cAAc;QACd,YAAY;QACZ,YAAY;QACZ,WAAW;QACX,kBAAkB;QAClB,aAAa;QACb,WAAW;QACX,mBAAmB,EAAE,CAAC,aAAa;QACnC,UAAU;QACV,aAAa;QACb,YAAY;QACZ,WAAW;KACZ,CAAC;AACJ,CAAC","sourcesContent":["import { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { FrontendComponentType } from '@wildo-ai/presets-components-models';\nimport { CoreResourceOperation } from '@wildo-ai/saas-models';\nimport { ForeignKeyDisplayMode } from '@wildo-ai/zod-decorators';\n\nimport {\n ApplicationLevelComponentType,\n HotkeyGroup,\n HotkeyScope,\n} from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { CommandMenuDisplayPolicy } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { CommandBarPolicy } from '~wildo-frontend-lib/core/config/app-configuration-frontend.schemas';\nimport type { CommandMenuCommand, CommandMenuSearchResource } from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { ScopeUtilsService } from '~wildo-frontend-lib/core/scope/scope.utils.frontend.service';\nimport { frontendResourceUtils, FrontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport {\n pickPreferredOperationForCoreSemantic,\n resolveEffectiveCoreOperationFromOperation,\n type ResourceOperationSemanticsLike,\n} from '~wildo-frontend-lib/core/resources/operation-semantics.frontend.utils';\nimport { extractErrorInfo } from '~wildo-frontend-lib/core/errors/errors.frontend.schemas';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\nimport {\n FrontendEvents,\n type FrontendEvent_HotkeyCommandMenuOpen,\n} from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport {\n filterCommandMenuCommandsByRuntimeAvailability,\n useLauncherRuntimeAvailabilityContext,\n} from '~wildo-frontend-lib/core/navigation/launcher-runtime-availability';\nimport { NavigationUtils } from '~wildo-frontend-lib/core/navigation/navigation.utils';\nimport { resolveCommandMenuCommands, type ResolvedCommandMenuItem } from '~wildo-frontend-lib/core/navigation/launcher-resolution';\nimport { ApplicationContext } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport { withEngineClientsCommand, withEngineDecisionInboxCommand } from '~wildo-frontend-lib/components/navigation/app-level/engine-launcher-entries';\nimport { useLauncherResolutionContext } from '~wildo-frontend-lib/core/navigation/useLauncherResolutionContext';\nimport { useNavigationController } from '~wildo-frontend-lib/core/navigation/useNavigationController';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\nimport { useHotkeyRegistry } from '~wildo-frontend-lib/core/hotkey/useHotkey';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\n\nimport { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\nimport type {\n CommandMenuBehavior,\n CommandMenuItem,\n CommandMenuGroup,\n CommandMenuSearchResultItem,\n CommandMenuSearchResultGroup,\n CommandMenuPaletteGroup,\n} from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\nimport { CommandMenuPaletteGroupKind } from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\n\nconst DEFAULT_CATEGORY_ORDER: readonly string[] = ['navigation', 'actions'];\n\n/**\n * Order weights for the SINGLE palette ordering axis. Record groups occupy the\n * low band (0..), static command-category groups the high band (1000..), so\n * live record matches surface ABOVE static commands by default while searching.\n * An app overrides per record group via `CommandMenuSearchResource.order`.\n */\nconst RECORD_GROUP_ORDER_BASE = 0;\nconst COMMAND_GROUP_ORDER_BASE = 1000;\n\n/** Omnibox record-search tuning — mirrors `useResourceSearch` (FK picker). */\nconst OMNIBOX_SEARCH_DEBOUNCE_MS = 300;\nconst OMNIBOX_MIN_SEARCH_CHARS = 2;\nconst OMNIBOX_DEFAULT_MAX_RESULTS = 5;\n\nconst omniboxLogger: LoggerFrontendService = LoggerFrontendService.getLogger();\n\n/**\n * Maps a command's core operation semantic to the command-menu component label\n * key holding that operation's LOCALIZED search synonyms (a comma-separated\n * list). `_MANY` variants share their base action's synonyms. Operations\n * without a meaningful synonym set (COUNT) are omitted — they contribute no\n * extra keywords and the command's localized label still matches.\n */\nconst OPERATION_KEYWORD_LABEL_KEY: Partial<Record<CoreResourceOperation, string>> = {\n [CoreResourceOperation.CREATE]: 'keywordsCreate',\n [CoreResourceOperation.CREATE_MANY]: 'keywordsCreate',\n [CoreResourceOperation.LIST]: 'keywordsList',\n [CoreResourceOperation.SEARCH]: 'keywordsSearch',\n [CoreResourceOperation.READ]: 'keywordsRead',\n [CoreResourceOperation.UPDATE]: 'keywordsUpdate',\n [CoreResourceOperation.UPDATE_MANY]: 'keywordsUpdate',\n [CoreResourceOperation.DELETE]: 'keywordsDelete',\n [CoreResourceOperation.DELETE_MANY]: 'keywordsDelete',\n};\n\ntype TComponentFn = (component: FrontendComponentType, key: string, params?: Record<string, string | number>) => string;\n\n/**\n * Resolve a command-menu component keyword label into its list of localized\n * synonyms. The label is authored (and translated) as a comma-separated string;\n * we split it into individual match terms. Fails OPEN to `[]` when the key is\n * not yet generated (`tComponent` returns the raw key path) so a missing\n * translation never injects the literal key path as a bogus keyword.\n */\nfunction resolveKeywordSynonyms(tComponent: TComponentFn, key: string): string[] {\n const componentType = FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU;\n const base = `components.${componentType}.${key}`;\n const resolved = tComponent(componentType, key);\n if (!resolved || resolved === base) return [];\n return resolved.split(',').map(term => term.trim()).filter(Boolean);\n}\n\n/** Localized verb synonyms for a resource-operation command's core semantic. */\nfunction resolveOperationKeywords(\n tComponent: TComponentFn,\n operation: ResourceOperationSemanticsLike | undefined,\n): string[] {\n if (!operation) return [];\n const coreOperation = resolveEffectiveCoreOperationFromOperation(operation);\n const key = coreOperation ? OPERATION_KEYWORD_LABEL_KEY[coreOperation] : undefined;\n return key ? resolveKeywordSynonyms(tComponent, key) : [];\n}\n\n/**\n * The category heading a person reads, from the label tree and nowhere else.\n *\n * This was `resolved === baseKey ? humanizeCategory(category) : resolved` — the exact shape\n * `.claude/rules/display-text-comes-from-i18n.md` names as forbidden, and the reason it is forbidden\n * is visible here: the formatter ran ONLY when the label was missing, which is precisely the case\n * somebody needs to notice. The palette read as finished in every locale, so the keys were never\n * authored and a French user was shown English produced by code — invisible to a translator, because\n * it was never in the tree at all.\n *\n * `tComponent` already answers with the KEY when it cannot resolve one, so returning its answer\n * unchanged IS the missing-looks-missing behaviour. A category with no label now shows its key,\n * which is what makes somebody author it.\n */\nfunction resolveCategoryLabel(\n tComponent: (component: FrontendComponentType, key: string, params?: Record<string, string | number>) => string,\n category: string,\n): string {\n return tComponent(FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU, category);\n}\n\nfunction isCommandMenuConfigObject(\n config: unknown,\n): config is {\n policy?: CommandBarPolicy;\n showRecent?: boolean;\n maxRecentItems?: number;\n showShortcuts?: boolean;\n openShortcut?: string;\n defaultCategory?: string;\n categoryOrder?: string[];\n commands?: CommandMenuCommand[];\n searchResources?: CommandMenuSearchResource[];\n dialogWidth?: string;\n} {\n return typeof config === 'object' && config !== null && !Array.isArray(config);\n}\n\n/** Default desktop max-width class for the palette dialog (see `dialogWidth`). */\nconst DEFAULT_COMMAND_MENU_DIALOG_WIDTH = 'sm:max-w-2xl';\n\n/**\n * Behavior hook for CommandMenu — manages open state (controlled or\n * uncontrolled), search, recent commands, hotkey subscription, and\n * navigation items mapped to command menu entries.\n */\nexport function useCommandMenuBehavior(\n externalIsOpen?: boolean,\n onOpenChange?: (open: boolean) => void,\n options: { listenForHotkeys?: boolean } = {},\n): CommandMenuBehavior {\n const resolutionCtx = useLauncherResolutionContext();\n const { navigate, navigateToResource } = useNavigationController();\n const { registry, doOperation } = useResourceRegistry();\n const appScope = useAppScopeSafe();\n const { appComponentsConfiguration, suppressedEngineNavigationEntries } = useUI();\n const { on, emit } = useEventBus();\n const { register } = useHotkeyRegistry();\n const { t, tComponent, formatDate, formatDateTime } = useI18n({\n component: FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU,\n });\n\n const commandMenuConfig = appComponentsConfiguration?.[ApplicationLevelComponentType.COMMAND_MENU];\n const commandMenuObj = isCommandMenuConfigObject(commandMenuConfig) ? commandMenuConfig : undefined;\n const openShortcut = commandMenuObj?.openShortcut;\n const showRecent = commandMenuObj?.showRecent !== false;\n const maxRecentItems = commandMenuObj?.maxRecentItems ?? 5;\n const showShortcuts = commandMenuObj?.showShortcuts !== false;\n const defaultCategory = commandMenuObj?.defaultCategory ?? 'navigation';\n const categoryOrder = commandMenuObj?.categoryOrder ?? DEFAULT_CATEGORY_ORDER;\n const isOmnibox = commandMenuObj?.policy === CommandBarPolicy.OMNIBOX;\n const searchResources = commandMenuObj?.searchResources;\n const dialogWidth = commandMenuObj?.dialogWidth ?? DEFAULT_COMMAND_MENU_DIALOG_WIDTH;\n const runtimeAvailabilityContext = useLauncherRuntimeAvailabilityContext();\n // The engine's own command (#2527): the decision inbox, beside the application's, gated like its sidebar twin. Read\n // optionally: the command menu needs no application otherwise, and without one it simply offers no inbox.\n const decisionInboxOffer = useContext(ApplicationContext)?.appConfig?.decisionInbox;\n const configCommands = useMemo(() => (\n filterCommandMenuCommandsByRuntimeAvailability(\n withEngineClientsCommand(withEngineDecisionInboxCommand(commandMenuObj?.commands, decisionInboxOffer), suppressedEngineNavigationEntries),\n runtimeAvailabilityContext,\n )\n ), [commandMenuObj?.commands, decisionInboxOffer, suppressedEngineNavigationEntries, runtimeAvailabilityContext]);\n\n const [internalIsOpen, setInternalIsOpen] = useState(false);\n const [searchQuery, setSearchQuery] = useState('');\n const [recentCommandIds, setRecentCommandIds] = useState<string[]>([]);\n\n const isControlled = externalIsOpen !== undefined && onOpenChange !== undefined;\n const isOpen = isControlled ? externalIsOpen : internalIsOpen;\n const isOpenRef = useRef(isOpen);\n isOpenRef.current = isOpen;\n const listenForHotkeys = options.listenForHotkeys !== false;\n\n const handleOpenChange = useCallback((open: boolean) => {\n if (isControlled && onOpenChange) {\n onOpenChange(open);\n } else {\n setInternalIsOpen(open);\n }\n if (!open) {\n setSearchQuery('');\n }\n }, [isControlled, onOpenChange]);\n\n useEffect(() => {\n if (!listenForHotkeys) return;\n const unsubscribe = on(FrontendEvents.HOTKEY_COMMAND_MENU_OPEN, () => {\n handleOpenChange(!isOpenRef.current);\n });\n return unsubscribe;\n }, [on, handleOpenChange, listenForHotkeys]);\n\n useEffect(() => {\n if (!listenForHotkeys) return;\n if (!openShortcut || commandMenuConfig === false) return;\n return register({\n id: 'app-command-menu-open-shortcut',\n shortcut: openShortcut,\n description: t('engine.hotkeys.commandMenuOpen'),\n scope: HotkeyScope.GLOBAL,\n group: HotkeyGroup.NAVIGATION,\n launcher: ApplicationLevelComponentType.COMMAND_MENU,\n preventDefault: true,\n handler: () => {\n emit(FrontendEvents.HOTKEY_COMMAND_MENU_OPEN, {} as FrontendEvent_HotkeyCommandMenuOpen);\n },\n });\n }, [openShortcut, commandMenuConfig, register, emit, t, listenForHotkeys]);\n\n const resolvedCommands = useMemo((): ResolvedCommandMenuItem[] => {\n if (!configCommands || !resolutionCtx) return [];\n return resolveCommandMenuCommands(configCommands, resolutionCtx);\n }, [configCommands, resolutionCtx]);\n\n const commandItems = useMemo((): CommandMenuItem[] => {\n return resolvedCommands\n .filter(cmd => {\n const dp = cmd.displayPolicy;\n if (dp === undefined || dp === CommandMenuDisplayPolicy.ALWAYS) return true;\n if (dp === CommandMenuDisplayPolicy.NEVER) return false;\n if (dp === CommandMenuDisplayPolicy.RECENT) return true;\n if (dp === CommandMenuDisplayPolicy.CONTEXTUAL) {\n if (envLoader.isDevelopment()) {\n console.warn(`[CommandMenu] CONTEXTUAL displayPolicy requires a contextual source and is excluded from the global app-level menu for \"${cmd.id}\"`);\n }\n return false;\n }\n if (envLoader.isDevelopment()) {\n console.warn(`[CommandMenu] Unknown displayPolicy \"${dp}\" for command \"${cmd.id}\" — treating as ALWAYS`);\n }\n return true;\n })\n .map(cmd => ({\n id: cmd.id,\n label: cmd.label,\n shortcut: cmd.shortcut ?? '',\n icon: cmd.icon ?? null,\n category: cmd.category ?? defaultCategory,\n // Localized operation-verb synonyms (translated) + any app-specific\n // literal supplements. The command's localized `label` covers the noun.\n keywords: [\n ...resolveOperationKeywords(tComponent, cmd.operation),\n ...(cmd.searchKeywords ?? []),\n ],\n displayPolicy: cmd.displayPolicy,\n onExecute: () => {\n handleOpenChange(false);\n setRecentCommandIds(prev => {\n const next = [cmd.id, ...prev.filter(id => id !== cmd.id)];\n return next.slice(0, maxRecentItems);\n });\n if (cmd.urlPath) {\n NavigationUtils.dispatchNavigationForResolvedTarget(navigate, cmd, ApplicationLevelComponentType.COMMAND_MENU);\n }\n },\n }));\n }, [resolvedCommands, handleOpenChange, navigate, maxRecentItems, defaultCategory, tComponent]);\n\n const groupedItems = useMemo((): CommandMenuGroup[] => {\n const categoryMap = new Map<string, CommandMenuItem[]>();\n\n for (const item of commandItems) {\n if (item.displayPolicy === CommandMenuDisplayPolicy.RECENT) continue;\n const category = item.category;\n const existing = categoryMap.get(category) ?? [];\n existing.push(item);\n categoryMap.set(category, existing);\n }\n\n for (const items of categoryMap.values()) {\n items.sort((a, b) => a.label.localeCompare(b.label));\n }\n\n const ordered: CommandMenuGroup[] = [];\n for (const cat of categoryOrder) {\n const items = categoryMap.get(cat);\n if (items) {\n ordered.push({ category: cat, label: resolveCategoryLabel(tComponent, cat), items });\n categoryMap.delete(cat);\n }\n }\n for (const [cat, items] of categoryMap.entries()) {\n ordered.push({ category: cat, label: resolveCategoryLabel(tComponent, cat), items });\n }\n\n return ordered;\n }, [commandItems, categoryOrder, tComponent]);\n\n const recentItems = useMemo(() => {\n if (recentCommandIds.length === 0) return [];\n const itemById = new Map(commandItems.map(item => [item.id, item]));\n return recentCommandIds.map(id => itemById.get(id)).filter(Boolean) as CommandMenuItem[];\n }, [commandItems, recentCommandIds]);\n\n // ===================================================================\n // Omnibox record-search layer (policy: OMNIBOX)\n // ===================================================================\n //\n // A live, debounced query against each configured resource's addressable\n // SEARCH operation (falling back to LIST). This is the ONLY query-driven data\n // path in the command menu — static commands remain a synchronous, config-only\n // source. Scope + navigation reuse the proven `SidebarResourceBrowser`\n // precedent: the current org/user/app scope is projected into\n // `contextualParameters` (and `ScopedResourceRegistryProvider` additionally\n // injects the field-identifier-keyed org id onto every `doOperation`), and a\n // selection navigates to the record's addressable READ view.\n\n const [searchResultGroups, setSearchResultGroups] = useState<CommandMenuSearchResultGroup[]>([]);\n const [isSearching, setIsSearching] = useState(false);\n\n // Read mutable dependencies through refs so the debounced fetch effect only\n // re-fires on a genuine (isOpen, query, policy, resource-set) change — never\n // on incidental identity churn of the registry / scope / navigation handles\n // (see the react-effect-identity-churn discipline).\n const doOperationRef = useRef(doOperation);\n doOperationRef.current = doOperation;\n const registryRef = useRef(registry);\n registryRef.current = registry;\n const appScopeRef = useRef(appScope);\n appScopeRef.current = appScope;\n const navigateToResourceRef = useRef(navigateToResource);\n navigateToResourceRef.current = navigateToResource;\n const handleOpenChangeRef = useRef(handleOpenChange);\n handleOpenChangeRef.current = handleOpenChange;\n const tRef = useRef(t);\n tRef.current = t;\n const formatDateRef = useRef(formatDate);\n formatDateRef.current = formatDate;\n const formatDateTimeRef = useRef(formatDateTime);\n formatDateTimeRef.current = formatDateTime;\n const tComponentRef = useRef(tComponent);\n tComponentRef.current = tComponent;\n const searchResourcesRef = useRef(searchResources);\n searchResourcesRef.current = searchResources;\n const omniboxTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n /**\n * Project the current primary scope (user/org/app/anon) into the resource's\n * scope-filtered context identifiers — the same shape `SidebarResourceBrowser`\n * passes to `doOperation`. Keyed by resource type; the scoped provider maps\n * the org id to its field identifier (`organizationId`) on the wire.\n */\n const buildOmniboxScopeIdentifiers = useCallback((resourcePrimaryScope: unknown): Record<string, string> => {\n const scope = appScopeRef.current;\n const primaryScopeInitiatorIds = ScopeUtilsService.buildInitiatorIds({\n userId: scope?.currentUserId,\n organizationId: scope?.currentOrganizationId,\n applicationId: scope?.currentApplicationId,\n anonymousUserId: scope?.currentAnonymousUserId,\n });\n return {\n ...ScopeUtilsService.primaryScopeToContextIdentifiers(\n primaryScopeInitiatorIds,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n resourcePrimaryScope as any,\n ),\n ...(scope?.buildContextResourceIdentifiers() ?? {}),\n };\n }, []);\n\n /** Navigate to a matched record's addressable READ view, then close the menu. */\n const navigateToRecord = useCallback((resourceType: string, recordId: string): void => {\n const currentRegistry = registryRef.current;\n const resourceConfig = currentRegistry.resourceConfigurations[resourceType];\n if (!resourceConfig) return;\n\n const readOperation = pickPreferredOperationForCoreSemantic(\n resourceConfig.operations ?? [],\n CoreResourceOperation.READ,\n );\n if (!readOperation) {\n omniboxLogger.warn('[CommandMenu] Omnibox result has no addressable READ operation', { resourceType, recordId });\n return;\n }\n\n const contextIdentifiers: Record<string, string> = {\n ...buildOmniboxScopeIdentifiers(resourceConfig.resourcePrimaryScope),\n [resourceType]: recordId,\n };\n const parentResourcesRequirements = frontendResourceUtils.buildParentResourcesRequirements(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n resourceType as any,\n contextIdentifiers,\n currentRegistry,\n );\n const resourceContext = frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n resourceType: resourceType as any,\n operation: readOperation,\n contextResourceIdentifiers: contextIdentifiers,\n parentResourcesRequirements,\n });\n\n handleOpenChangeRef.current(false);\n navigateToResourceRef.current(\n resourceContext,\n NavigationUtils.createAppLevelInitiator(ApplicationLevelComponentType.COMMAND_MENU),\n );\n }, [buildOmniboxScopeIdentifiers]);\n\n // Stable key over the configured resource set — the fetch effect re-arms only\n // when the app changes which resources are searchable, not per render.\n const searchResourcesKey = useMemo(\n () => JSON.stringify(searchResources ?? []),\n [searchResources],\n );\n\n const shouldRunOmnibox = isOmnibox && !!searchResources && searchResources.length > 0;\n\n useEffect(() => {\n if (omniboxTimeoutRef.current) {\n clearTimeout(omniboxTimeoutRef.current);\n omniboxTimeoutRef.current = null;\n }\n\n // Below threshold, closed, or omnibox disabled → no query-driven results.\n if (!isOpen || !shouldRunOmnibox || searchQuery.trim().length < OMNIBOX_MIN_SEARCH_CHARS) {\n setSearchResultGroups([]);\n setIsSearching(false);\n return;\n }\n\n let cancelled = false;\n const query = searchQuery.trim();\n setIsSearching(true);\n\n const runSearch = async (): Promise<void> => {\n const currentRegistry = registryRef.current;\n const resources = searchResourcesRef.current ?? [];\n\n const groups = await Promise.all(resources.map(async (entry): Promise<CommandMenuSearchResultGroup | null> => {\n const resourceConfig = currentRegistry.resourceConfigurations[entry.resourceType];\n if (!resourceConfig) {\n omniboxLogger.warn('[CommandMenu] Omnibox searchResource not in registry — skipped', { resourceType: entry.resourceType });\n return null;\n }\n\n let operationPath: string;\n try {\n operationPath = FrontendResourceUtils.buildForeignKeySearchOperationPath(entry.resourceType, currentRegistry);\n } catch {\n omniboxLogger.warn('[CommandMenu] Omnibox resource has no searchable SEARCH/LIST operation — skipped', { resourceType: entry.resourceType });\n return null;\n }\n\n const searchParams = FrontendResourceUtils.buildForeignKeySearchParams(\n query,\n entry.maxResults ?? OMNIBOX_DEFAULT_MAX_RESULTS,\n );\n\n let result: unknown;\n try {\n result = await doOperationRef.current(operationPath, {\n contextualParameters: buildOmniboxScopeIdentifiers(resourceConfig.resourcePrimaryScope),\n queryParameters: searchParams.queryParameters,\n });\n } catch (err) {\n omniboxLogger.error('[CommandMenu] Omnibox search failed', { resourceType: entry.resourceType, ...extractErrorInfo(err), error: err });\n return null;\n }\n\n let items: Record<string, unknown>[] = [];\n if (Array.isArray(result)) {\n items = result as Record<string, unknown>[];\n } else if (result && typeof result === 'object') {\n const resultObj = result as { data?: Record<string, unknown>[]; items?: Record<string, unknown>[] };\n items = resultObj.data ?? resultObj.items ?? [];\n }\n if (items.length === 0) return null;\n\n const fieldIdentifier = FrontendResourceUtils.getResourceFieldIdentifierForType(entry.resourceType, currentRegistry);\n const category = entry.category ?? entry.resourceType;\n // Default to the richer SUMMARY view (the resource's summary card);\n // apps opt out to a one-line LABEL per resource. `ID` collapses to LABEL.\n const displayMode = entry.resultDisplay === ForeignKeyDisplayMode.LABEL\n || entry.resultDisplay === ForeignKeyDisplayMode.ID\n ? ForeignKeyDisplayMode.LABEL\n : ForeignKeyDisplayMode.SUMMARY;\n // The raw query is always carried as a keyword so cmdk's client-side\n // filter never drops a legitimate server hit (matches may be on a field\n // absent from the label, e.g. `description`). We also fold in the\n // LOCALIZED \"search\" verb synonyms so typing a translated synonym keeps\n // the group visible, plus any app-specific literal supplements.\n const baseKeywords = [\n query,\n ...resolveKeywordSynonyms(tComponentRef.current, 'keywordsSearch'),\n ...(entry.searchKeywords ?? []),\n ];\n\n const resultItems: CommandMenuSearchResultItem[] = items.flatMap((item) => {\n const id = FrontendResourceUtils.getResourceObjectId(item, fieldIdentifier);\n if (!id) return [];\n const label = FrontendResourceUtils.computeFrontendResourceLabel({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n resourceType: entry.resourceType as any,\n registry: currentRegistry,\n currentObject: item,\n t: tRef.current,\n formatDate: formatDateRef.current,\n formatDateTime: formatDateTimeRef.current,\n }) ?? id;\n return [{\n id: `omnibox:${entry.resourceType}:${id}`,\n resourceType: entry.resourceType,\n record: item,\n label,\n keywords: baseKeywords,\n onExecute: () => navigateToRecord(entry.resourceType, id),\n }];\n });\n\n if (resultItems.length === 0) return null;\n return {\n category,\n label: resolveCategoryLabel(tComponentRef.current, category),\n displayMode,\n items: resultItems,\n };\n }));\n\n if (cancelled) return;\n setSearchResultGroups(groups.filter((group): group is CommandMenuSearchResultGroup => group !== null));\n setIsSearching(false);\n };\n\n omniboxTimeoutRef.current = setTimeout(() => {\n void runSearch();\n }, OMNIBOX_SEARCH_DEBOUNCE_MS);\n\n return () => {\n cancelled = true;\n if (omniboxTimeoutRef.current) {\n clearTimeout(omniboxTimeoutRef.current);\n omniboxTimeoutRef.current = null;\n }\n };\n }, [isOpen, searchQuery, shouldRunOmnibox, searchResourcesKey, buildOmniboxScopeIdentifiers, navigateToRecord]);\n\n // ===================================================================\n // Unified, ordered palette group list (records + commands, one axis)\n // ===================================================================\n //\n // A single ordering model: every renderable group (live record group +\n // static command-category group) is assigned ONE numeric `order` weight and\n // the merged list is sorted by it. Record groups take the low band (default\n // above commands, so live matches surface first while searching); the app\n // overrides a record group's slot via `CommandMenuSearchResource.order`.\n // Command categories keep their pre-existing relative sequence\n // (`categoryOrder`) inside the high band. The recent group is pinned\n // separately and is not part of this list.\n const recordOrderByCategory = useMemo(() => {\n const map = new Map<string, number>();\n (searchResources ?? []).forEach((entry, index) => {\n const category = entry.category ?? entry.resourceType;\n map.set(category, entry.order ?? RECORD_GROUP_ORDER_BASE + index);\n });\n return map;\n }, [searchResources]);\n\n const orderedGroups = useMemo((): CommandMenuPaletteGroup[] => {\n const entries: CommandMenuPaletteGroup[] = [];\n searchResultGroups.forEach((group, index) => {\n entries.push({\n kind: CommandMenuPaletteGroupKind.RECORDS,\n order: recordOrderByCategory.get(group.category) ?? RECORD_GROUP_ORDER_BASE + index,\n group,\n });\n });\n groupedItems.forEach((group, index) => {\n entries.push({\n kind: CommandMenuPaletteGroupKind.COMMANDS,\n order: COMMAND_GROUP_ORDER_BASE + index,\n group,\n });\n });\n // Stable sort by the single order axis (index tiebreak preserves the\n // per-source sequence when two groups share a weight).\n return entries\n .map((entry, index) => ({ entry, index }))\n .sort((a, b) => a.entry.order - b.entry.order || a.index - b.index)\n .map(({ entry }) => entry);\n }, [searchResultGroups, groupedItems, recordOrderByCategory]);\n\n return {\n isOpen,\n handleOpenChange,\n searchQuery,\n setSearchQuery,\n commandItems,\n groupedItems,\n recentItems,\n searchResultGroups,\n orderedGroups,\n isSearching,\n isNavigationLoading: !resolutionCtx,\n showRecent,\n showShortcuts,\n openShortcut,\n dialogWidth,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuUserOrgBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useMenuUserOrgBehavior.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,6BAA6B,EAAE,MAAM,uEAAuE,CAAC;AACtH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAqB7F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAsDhG;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,CAAC,EAAE,6BAA6B,EAC7C,kBAAkB,CAAC,EAAE,mBAAmB,GAAG,iBAAiB,GAC3D,mBAAmB,CAmNrB"}
1
+ {"version":3,"file":"useMenuUserOrgBehavior.d.ts","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useMenuUserOrgBehavior.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,6BAA6B,EAAE,MAAM,uEAAuE,CAAC;AACtH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAuB7F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAsDhG;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,CAAC,EAAE,6BAA6B,EAC7C,kBAAkB,CAAC,EAAE,mBAAmB,GAAG,iBAAiB,GAC3D,mBAAmB,CAmOrB"}
@@ -11,11 +11,13 @@ import { LauncherItemTargetKind } from '../../../core/config/launcher-items.fron
11
11
  import { resolveItemRef } from '../../../core/navigation/launcher-resolution.js';
12
12
  import { useLauncherResolutionContext } from '../../../core/navigation/useLauncherResolutionContext.js';
13
13
  import { useUserOrgs } from '../../../core/security/useUserOrgs.js';
14
+ import { accessProfileSwitchableOrganizationIds } from '../../../core/security/effective-permissions.frontend.utils.js';
15
+ import { useOwnOrganizationSearch } from './useOwnOrganizationSearch.js';
14
16
  import { useResourceRegistry } from '../../../core/resources/useResourceRegistry.js';
15
17
  import { FrontendResourceUtils } from '../../../core/resources/frontend-resource.utils.js';
16
18
  import { buildResourceFileServeBaseUrl, buildFileServeThumbnailUrl } from '../../../core/resources/file-serve-url.frontend.utils.js';
17
19
  import { useAuthedFileObjectUrl } from '../../../core/resources/useAuthedFileObjectUrl.frontend.hook.js';
18
- import { CoreResourceType, isServiceProviderMembership } from '@wildo-ai/saas-models';
20
+ import { CoreResourceType, isRelationshipMembership } from '@wildo-ai/saas-models';
19
21
  import { envLoader } from '../../../core/runtime/env-variable-loader.frontend.service.js';
20
22
  import { CommonRoutePaths } from '../../../core/runtime/routes.frontend.definitions.js';
21
23
  /**
@@ -24,7 +26,7 @@ import { CommonRoutePaths } from '../../../core/runtime/routes.frontend.definiti
24
26
  * A literal `?? []` allocates a NEW array on every render, and `settingsTargets`
25
27
  * memoizes on this value — so an application that configures `USER_DROPDOWN` as a
26
28
  * plain boolean (no config object, so `dropdownConfig` is undefined) would churn
27
- * the memo, its dependent `settingsTarget`, and every consumer of the returned
29
+ * the `settingsTargets` memo and every consumer of the returned
28
30
  * behavior, forever. The code this replaced depended on a boolean and a string,
29
31
  * which are stable by construction; an array is not.
30
32
  */
@@ -44,7 +46,7 @@ const DEFAULT_SECTIONS = [
44
46
  */
45
47
  export function useMenuUserOrgBehavior(containerType, containerPlacement) {
46
48
  const { appComponentsConfiguration } = useUI();
47
- const { user, organizations, getCurrentOrganization, setCurrentOrganization, logout, isAuthenticated, } = useUserOrgs();
49
+ const { user, organizations, getCurrentOrganization, setCurrentOrganization, logout, isAuthenticated, permissions, } = useUserOrgs();
48
50
  const { registry } = useResourceRegistry();
49
51
  const resolutionCtx = useLauncherResolutionContext();
50
52
  const routerNavigate = useNavigate();
@@ -94,8 +96,8 @@ export function useMenuUserOrgBehavior(containerType, containerPlacement) {
94
96
  * Every entry converges on the unified Settings Hub through the existing
95
97
  * typed `SETTINGS_SECTION` launcher ref, so the dropdown gains no navigation
96
98
  * semantics of its own — it just names sections. An entry the hub does not
97
- * declare resolves to nothing and is dropped here; the DEV-startup verifier is
98
- * where an author is told about it.
99
+ * declare still resolves: its row reads its section's label key, which then shows
100
+ * as the missing key it is. The DEV-startup verifier is where an author is told.
99
101
  */
100
102
  const settingsTargets = useMemo(() => {
101
103
  if (!resolutionCtx)
@@ -105,16 +107,19 @@ export function useMenuUserOrgBehavior(containerType, containerPlacement) {
105
107
  return resolved ? [resolved] : [];
106
108
  });
107
109
  }, [resolutionCtx, settingsEntries]);
110
+ /**
111
+ * The hub ITSELF — always, whatever shortcuts the application authored.
112
+ *
113
+ * It used to be the first authored entry, so an application that added a Profile shortcut lost the way into the rest
114
+ * of Settings from the identity menu, which is where settings live now that no preset puts them in the sidebar.
115
+ * Authored entries are shortcuts INTO the hub; this is the hub.
116
+ */
108
117
  const settingsTarget = useMemo(() => {
109
118
  if (!resolutionCtx) {
110
119
  return null;
111
120
  }
112
- const firstAuthored = settingsTargets[0];
113
- if (firstAuthored) {
114
- return firstAuthored;
115
- }
116
121
  return resolveItemRef({ kind: LauncherItemTargetKind.SETTINGS_SECTION }, resolutionCtx);
117
- }, [resolutionCtx, settingsTargets]);
122
+ }, [resolutionCtx]);
118
123
  const userProfile = user?.userSelfProfile;
119
124
  const userInitials = useMemo(() => {
120
125
  if (!userProfile) {
@@ -132,6 +137,15 @@ export function useMenuUserOrgBehavior(containerType, containerPlacement) {
132
137
  }
133
138
  return user.email ?? '';
134
139
  }, [user, userProfile]);
140
+ // The person's organizations the list does not hold (#2452): the user context carries only the newest 20
141
+ // memberships. Counted from the access profile's organization-wide entries — the population the search returns.
142
+ const unlistedOrganizationCount = useMemo(() => {
143
+ const listed = new Set((organizations ?? []).map((organization) => String(organization._id)));
144
+ return accessProfileSwitchableOrganizationIds(permissions?.accessProfile)
145
+ .filter((organizationId) => !listed.has(organizationId)).length;
146
+ }, [organizations, permissions?.accessProfile]);
147
+ // Searching applies only while the menu is open and something is unlisted; closing it clears the query.
148
+ const organizationSearch = useOwnOrganizationSearch(isOpen && unlistedOrganizationCount > 0);
135
149
  const handleLogout = useCallback(() => {
136
150
  setIsOpen(false);
137
151
  logout();
@@ -143,7 +157,7 @@ export function useMenuUserOrgBehavior(containerType, containerPlacement) {
143
157
  const handleNavigateToSettingsTarget = useCallback((target) => {
144
158
  setIsOpen(false);
145
159
  // Every settings entry converges on the unified Settings Hub. The hub is
146
- // URL-driven (`useSettingsHubRouterSync` reconstructs it from `/settings`),
160
+ // URL-driven (`useSettingsHubOverlaySync` reconstructs it from `/settings`),
147
161
  // so navigate by URL only — do NOT push content into PRIMARY, which would
148
162
  // double-render the section's panel behind the hub overlay.
149
163
  routerNavigate(target.urlPath || CommonRoutePaths.settings);
@@ -186,16 +200,17 @@ export function useMenuUserOrgBehavior(containerType, containerPlacement) {
186
200
  }, [registry, user, userProfile, avatarFile?.fileId]);
187
201
  const avatarUrl = useAuthedFileObjectUrl(avatarServeUrl) ?? undefined;
188
202
  const email = user?.email ?? '';
189
- // The client organizations this person works in through a service firm (#1597), keyed to the firm's name
190
- // the membership recorded. Read from the memberships the user context already carries — no request.
191
- const providerNameByOrganizationId = useMemo(() => {
203
+ // The granting organizations this person works in through a representing organization (#1597), keyed to the
204
+ // representing organization's name the membership recorded. Read from the memberships the user context already
205
+ // carries — no request.
206
+ const representingNameByOrganizationId = useMemo(() => {
192
207
  const byOrganization = new Map();
193
208
  for (const membership of user?.organizationMembers ?? []) {
194
- if (!isServiceProviderMembership(membership))
209
+ if (!isRelationshipMembership(membership))
195
210
  continue;
196
- const firmName = membership.providerOrganizationName;
197
- if (typeof firmName === 'string' && firmName.length > 0)
198
- byOrganization.set(String(membership.organizationId), firmName);
211
+ const representingName = membership.representingOrganizationName;
212
+ if (typeof representingName === 'string' && representingName.length > 0)
213
+ byOrganization.set(String(membership.organizationId), representingName);
199
214
  }
200
215
  return byOrganization;
201
216
  }, [user?.organizationMembers]);
@@ -209,9 +224,15 @@ export function useMenuUserOrgBehavior(containerType, containerPlacement) {
209
224
  avatarUrl,
210
225
  currentOrganization: currentOrganization ? { _id: currentOrganization._id, name: currentOrganization.name } : undefined,
211
226
  organizations: (organizations ?? []).map(org => {
212
- const viaProviderOrganizationName = providerNameByOrganizationId.get(String(org._id));
213
- return { _id: org._id, name: org.name, ...(viaProviderOrganizationName ? { viaProviderOrganizationName } : {}) };
227
+ const viaOrganizationName = representingNameByOrganizationId.get(String(org._id));
228
+ return { _id: org._id, name: org.name, ...(viaOrganizationName ? { viaOrganizationName } : {}) };
214
229
  }),
230
+ unlistedOrganizationCount,
231
+ organizationSearchQuery: organizationSearch.query,
232
+ setOrganizationSearchQuery: organizationSearch.setQuery,
233
+ organizationSearchResults: organizationSearch.results,
234
+ isSearchingOrganizations: organizationSearch.isSearching,
235
+ organizationSearchFailed: organizationSearch.failed,
215
236
  sections,
216
237
  avatarDisplay,
217
238
  showOrgSwitcher,
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuUserOrgBehavior.js","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useMenuUserOrgBehavior.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,6BAA6B,EAAE,MAAM,uEAAuE,CAAC;AACtH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7F,OAAO,EACL,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,oEAAoE,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAqB,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,qCAAqC,EAAE,MAAM,mEAAmE,CAAC;AAC1H,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAC;AACzG,OAAO,EAAE,cAAc,EAAiC,MAAM,yDAAyD,CAAC;AACxH,OAAO,EAAE,4BAA4B,EAAE,MAAM,kEAAkE,CAAC;AAChH,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AACnG,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AAC7I,OAAO,EAAE,sBAAsB,EAAE,MAAM,yEAAyE,CAAC;AACjH,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,uEAAuE,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAgChG;;;;;;;;;GASG;AACH,MAAM,mBAAmB,GAAsB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEjE,SAAS,0BAA0B,CAAC,MAAe;IACjD,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC;AACvD,CAAC;AAED,MAAM,gBAAgB,GAA0B;IAC9C,mBAAmB,CAAC,SAAS;IAC7B,mBAAmB,CAAC,YAAY;IAChC,mBAAmB,CAAC,QAAQ;IAC5B,mBAAmB,CAAC,MAAM;CAC3B,CAAC;AAGF;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,aAA6C,EAC7C,kBAA4D;IAE5D,MAAM,EAAE,0BAA0B,EAAE,GAAG,KAAK,EAAE,CAAC;IAC/C,MAAM,EACJ,IAAI,EACJ,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,MAAM,EACN,eAAe,GAChB,GAAG,WAAW,EAAE,CAAC;IAClB,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAC3C,MAAM,aAAa,GAAG,4BAA4B,EAAE,CAAC;IACrD,MAAM,cAAc,GAAG,WAAW,EAAE,CAAC;IACrC,MAAM,0BAA0B,GAAG,qCAAqC,EAAE,CAAC;IAE3E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,0BAA0B,EAAE,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC;IAEzF,MAAM,cAAc,GAAG,OAAO,CAAC,GAA0C,EAAE;QACzE,MAAM,eAAe,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAEhF,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,aAAa,EAAE,eAAe,CAAC,aAAa,IAAI,yBAAyB,CAAC,WAAW;YACrF,QAAQ,EAAE,eAAe,CAAC,QAAQ,IAAI,gBAAgB;YACtD,eAAe,EAAE,eAAe,CAAC,eAAe,IAAI,IAAI;YACxD,UAAU,EAAE,eAAe,CAAC,UAAU,IAAI,IAAI;YAC9C,eAAe,EAAE,eAAe,CAAC,eAAe,IAAI,mBAAmB;SACxE,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAC;IAErD,MAAM,QAAQ,GAAG,cAAc,EAAE,QAAQ,IAAI,gBAAgB,CAAC;IAC9D,MAAM,aAAa,GAAG,cAAc,EAAE,aAAa,IAAI,yBAAyB,CAAC,WAAW,CAAC;IAC7F,MAAM,eAAe,GAAG,cAAc,EAAE,eAAe,KAAK,KAAK,CAAC;IAClE,MAAM,UAAU,GAAG,cAAc,EAAE,UAAU,KAAK,KAAK,CAAC;IACxD,MAAM,eAAe,GAAG,cAAc,EAAE,eAAe,IAAI,mBAAmB,CAAC;IAC/E,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,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,IAAI,aAAa,KAAK,6BAA6B,CAAC,OAAO,EAAE,CAAC;YAC5D,IAAI,kBAAkB,KAAK,mBAAmB,CAAC,GAAG,EAAE,CAAC;gBACnD,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;YACpE,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;QACtE,CAAC;QAED,IAAI,aAAa,KAAK,6BAA6B,CAAC,OAAO,EAAE,CAAC;YAC5D,IAAI,kBAAkB,KAAK,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBACpD,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC;YACjE,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC;QACnE,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;IACpE,CAAC,EAAE,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAGxC;;;;;;;;OAQG;IACH,MAAM,eAAe,GAAG,OAAO,CAAC,GAA+B,EAAE;QAC/D,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QAE9B,OAAO,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC1C,MAAM,QAAQ,GAAG,cAAc,CAC7B,EAAE,IAAI,EAAE,sBAAsB,CAAC,gBAAgB,EAAE,UAAU,EAAE,EAC7D,aAAa,CACd,CAAC;YACF,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;IAErC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAoC,EAAE;QACnE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,OAAO,cAAc,CACnB,EAAE,IAAI,EAAE,sBAAsB,CAAC,gBAAgB,EAAE,EACjD,aAAa,CACd,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;IAErC,MAAM,WAAW,GAAG,IAAI,EAAE,eAAe,CAAC;IAE1C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC;QACrD,CAAC;QACD,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC5C,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC;IACpH,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAExB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,IAAI,WAAW,EAAE,SAAS,IAAI,WAAW,EAAE,QAAQ,EAAE,CAAC;YACpD,OAAO,GAAG,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC1B,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAExB,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,EAAE,CAAC;IACX,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,KAAa,EAAE,EAAE;QACpD,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAE7B,MAAM,8BAA8B,GAAG,WAAW,CAAC,CAAC,MAAgC,EAAE,EAAE;QACtF,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,yEAAyE;QACzE,4EAA4E;QAC5E,0EAA0E;QAC1E,4DAA4D;QAC5D,cAAc,CAAC,MAAM,CAAC,OAAO,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9D,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,qFAAqF;IACrF,kFAAkF;IAClF,qFAAqF;IACrF,oFAAoF;IACpF,0FAA0F;IAC1F,uFAAuF;IACvF,kDAAkD;IAClD,MAAM,UAAU,GAAG,WAAW,EAAE,MAA6C,CAAC;IAC9E,MAAM,cAAc,GAAG,OAAO,CAAgB,GAAG,EAAE;QACjD,MAAM,MAAM,GAAG,MAAM,CAAE,WAAmD,EAAE,MAAM,IAAK,IAA4C,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QAChJ,MAAM,SAAS,GAAG,MAAM,CAAE,WAAmD,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QAC1F,MAAM,YAAY,GAAG,UAAU,EAAE,MAAM,CAAC;QACxC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QACrE,MAAM,cAAc,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QAC9F,MAAM,MAAM,GAAG,qBAAqB,CAAC,kCAAkC,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QACvH,IAAI,CAAC,cAAc,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC5C,MAAM,0BAA0B,GAAG,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5E,MAAM,SAAS,GAAG,6BAA6B,CAAC;YAC9C,QAAQ;YACR,cAAc;YACd,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,gBAAgB,CAAC,kBAAkB;YACjD,SAAS,EAAE,QAAQ;YACnB,QAAQ,EAAE,SAAS;YACnB,0BAA0B;YAC1B,oBAAoB,EAAE,qBAAqB,CAAC,yBAAyB,CAAC,0BAA0B,EAAE,QAAQ,CAAC;YAC3G,UAAU,EAAE,SAAS,CAAC,SAAS,EAAE;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,iFAAiF;QACjF,0CAA0C;QAC1C,OAAO,0BAA0B,CAAC,GAAG,SAAS,IAAI,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,sBAAsB,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC;IACtE,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;IAChC,yGAAyG;IACzG,oGAAoG;IACpG,MAAM,4BAA4B,GAAG,OAAO,CAAC,GAAG,EAAE;QAChD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;QACjD,KAAK,MAAM,UAAU,IAAI,IAAI,EAAE,mBAAmB,IAAI,EAAE,EAAE,CAAC;YACzD,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC;gBAAE,SAAS;YACvD,MAAM,QAAQ,GAAI,UAAqD,CAAC,wBAAwB,CAAC;YACjG,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAAE,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC3H,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAEhC,OAAO;QACL,MAAM;QACN,SAAS;QACT,mBAAmB,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,IAAI;QAChD,YAAY;QACZ,WAAW;QACX,KAAK;QACL,SAAS;QACT,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;QACvH,aAAa,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC7C,MAAM,2BAA2B,GAAG,4BAA4B,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACtF,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACnH,CAAC,CAAC;QACF,QAAQ;QACR,aAAa;QACb,eAAe;QACf,UAAU;QACV,cAAc;QACd,eAAe;QACf,cAAc;QACd,YAAY;QACZ,eAAe;QACf,8BAA8B;KAC/B,CAAC;AACJ,CAAC","sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\n\nimport { ApplicationLevelComponentType } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { HorizontalPlacement, VerticalPlacement } from '@wildo-ai/presets-components-models';\nimport {\n UserDropdownAvatarDisplay,\n UserDropdownSection,\n} from '~wildo-frontend-lib/core/config/app-configuration-frontend.schemas';\nimport { HorizontalAlign, type FileMetadata } from '@wildo-ai/zod-decorators';\nimport { PlacementSide } from '@wildo-ai/presets-components-models';\nimport { useLauncherRuntimeAvailabilityContext } from '~wildo-frontend-lib/core/navigation/launcher-runtime-availability';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\nimport { LauncherItemTargetKind } from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport { resolveItemRef, type ResolvedNavigationTarget } from '~wildo-frontend-lib/core/navigation/launcher-resolution';\nimport { useLauncherResolutionContext } from '~wildo-frontend-lib/core/navigation/useLauncherResolutionContext';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { FrontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport { buildResourceFileServeBaseUrl, buildFileServeThumbnailUrl } from '~wildo-frontend-lib/core/resources/file-serve-url.frontend.utils';\nimport { useAuthedFileObjectUrl } from '~wildo-frontend-lib/core/resources/useAuthedFileObjectUrl.frontend.hook';\nimport { CoreResourceType, isServiceProviderMembership } from '@wildo-ai/saas-models';\nimport { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\nimport { CommonRoutePaths } from '~wildo-frontend-lib/core/runtime/routes.frontend.definitions';\n\nimport type { MenuUserOrgBehavior } from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\n\n/** Dropdown config shape extracted from component config (avatarDisplay, sections, etc.). */\ninterface UserDropdownConfiguration {\n avatarDisplay?: UserDropdownAvatarDisplay;\n /**\n * `PREFERENCES` and `SETTINGS` currently affect the same effective settings\n * block. `PREFERENCES` changes labeling when `SETTINGS` is absent; it does not\n * introduce a second independent destination.\n */\n sections?: UserDropdownSection[];\n showOrgSwitcher?: boolean;\n showLogout?: boolean;\n /**\n * Settings-hub section refs to surface inline in the dropdown, in order.\n *\n * Names the SETTINGS vocabulary directly. The previous design took a SIDEBAR\n * section ref and string-matched it (`s.ref === settingsSectionRef`), which\n * made the dropdown's contents a side effect of how the sidebar happened to be\n * arranged — two separate vocabularies joined by a magic string, so moving a\n * sidebar section silently emptied the dropdown.\n *\n * Empty or omitted renders the single \"Settings\" button that opens the hub.\n * There is deliberately no separate `mergeSettings` flag: the presence of\n * entries IS the intent, and a boolean beside a list can only ever disagree\n * with it.\n */\n settingsEntries?: readonly string[];\n}\n\n/**\n * Stable empty entries, shared by both read sites.\n *\n * A literal `?? []` allocates a NEW array on every render, and `settingsTargets`\n * memoizes on this value — so an application that configures `USER_DROPDOWN` as a\n * plain boolean (no config object, so `dropdownConfig` is undefined) would churn\n * the memo, its dependent `settingsTarget`, and every consumer of the returned\n * behavior, forever. The code this replaced depended on a boolean and a string,\n * which are stable by construction; an array is not.\n */\nconst NO_SETTINGS_ENTRIES: readonly string[] = Object.freeze([]);\n\nfunction isUserDropdownConfigObject(config: unknown): config is UserDropdownConfiguration {\n return typeof config === 'object' && config !== null;\n}\n\nconst DEFAULT_SECTIONS: UserDropdownSection[] = [\n UserDropdownSection.USER_INFO,\n UserDropdownSection.ORG_SWITCHER,\n UserDropdownSection.SETTINGS,\n UserDropdownSection.LOGOUT,\n];\n\n\n/**\n * Behavior hook for MenuUserOrg — manages user/org data, dropdown config\n * resolution, popup alignment computation, and navigation handlers.\n */\nexport function useMenuUserOrgBehavior(\n containerType?: ApplicationLevelComponentType,\n containerPlacement?: HorizontalPlacement | VerticalPlacement\n): MenuUserOrgBehavior {\n const { appComponentsConfiguration } = useUI();\n const {\n user,\n organizations,\n getCurrentOrganization,\n setCurrentOrganization,\n logout,\n isAuthenticated,\n } = useUserOrgs();\n const { registry } = useResourceRegistry();\n const resolutionCtx = useLauncherResolutionContext();\n const routerNavigate = useNavigate();\n const runtimeAvailabilityContext = useLauncherRuntimeAvailabilityContext();\n\n const [isOpen, setIsOpen] = useState(false);\n\n const config = appComponentsConfiguration?.[ApplicationLevelComponentType.USER_DROPDOWN];\n\n const dropdownConfig = useMemo((): UserDropdownConfiguration | undefined => {\n const componentConfig = isUserDropdownConfigObject(config) ? config : undefined;\n\n if (!componentConfig) {\n return undefined;\n }\n\n return {\n avatarDisplay: componentConfig.avatarDisplay ?? UserDropdownAvatarDisplay.AVATAR_ONLY,\n sections: componentConfig.sections ?? DEFAULT_SECTIONS,\n showOrgSwitcher: componentConfig.showOrgSwitcher ?? true,\n showLogout: componentConfig.showLogout ?? true,\n settingsEntries: componentConfig.settingsEntries ?? NO_SETTINGS_ENTRIES,\n };\n }, [config]);\n\n const currentOrganization = getCurrentOrganization();\n\n const sections = dropdownConfig?.sections ?? DEFAULT_SECTIONS;\n const avatarDisplay = dropdownConfig?.avatarDisplay ?? UserDropdownAvatarDisplay.AVATAR_ONLY;\n const showOrgSwitcher = dropdownConfig?.showOrgSwitcher !== false;\n const showLogout = dropdownConfig?.showLogout !== false;\n const settingsEntries = dropdownConfig?.settingsEntries ?? NO_SETTINGS_ENTRIES;\n const activeMode = runtimeAvailabilityContext.activeMode;\n const availableModes = runtimeAvailabilityContext.availableModes;\n const allScopeValues = runtimeAvailabilityContext.allScopeValues;\n\n const popupAlignment = useMemo(() => {\n if (containerType === ApplicationLevelComponentType.MENUBAR) {\n if (containerPlacement === HorizontalPlacement.END) {\n return { align: HorizontalAlign.END, side: PlacementSide.BOTTOM };\n }\n return { align: HorizontalAlign.START, side: PlacementSide.BOTTOM };\n }\n\n if (containerType === ApplicationLevelComponentType.SIDEBAR) {\n if (containerPlacement === VerticalPlacement.BOTTOM) {\n return { align: HorizontalAlign.END, side: PlacementSide.END };\n }\n return { align: HorizontalAlign.START, side: PlacementSide.END };\n }\n\n return { align: HorizontalAlign.END, side: PlacementSide.BOTTOM };\n }, [containerType, containerPlacement]);\n\n\n /**\n * Resolve each authored settings-hub section ref to a navigation target.\n *\n * Every entry converges on the unified Settings Hub through the existing\n * typed `SETTINGS_SECTION` launcher ref, so the dropdown gains no navigation\n * semantics of its own — it just names sections. An entry the hub does not\n * declare resolves to nothing and is dropped here; the DEV-startup verifier is\n * where an author is told about it.\n */\n const settingsTargets = useMemo((): ResolvedNavigationTarget[] => {\n if (!resolutionCtx) return [];\n\n return settingsEntries.flatMap(sectionRef => {\n const resolved = resolveItemRef(\n { kind: LauncherItemTargetKind.SETTINGS_SECTION, sectionRef },\n resolutionCtx,\n );\n return resolved ? [resolved] : [];\n });\n }, [resolutionCtx, settingsEntries]);\n\n const settingsTarget = useMemo((): ResolvedNavigationTarget | null => {\n if (!resolutionCtx) {\n return null;\n }\n\n const firstAuthored = settingsTargets[0];\n if (firstAuthored) {\n return firstAuthored;\n }\n\n return resolveItemRef(\n { kind: LauncherItemTargetKind.SETTINGS_SECTION },\n resolutionCtx,\n );\n }, [resolutionCtx, settingsTargets]);\n\n const userProfile = user?.userSelfProfile;\n\n const userInitials = useMemo(() => {\n if (!userProfile) {\n return user?.email?.charAt(0).toUpperCase() || '?';\n }\n const firstName = userProfile.firstName ?? '';\n const lastName = userProfile.lastName ?? '';\n return `${firstName.charAt(0)}${lastName.charAt(0)}`.toUpperCase() || user?.email?.charAt(0).toUpperCase() || '?';\n }, [user, userProfile]);\n\n const displayName = useMemo(() => {\n if (!user) return '';\n if (userProfile?.firstName && userProfile?.lastName) {\n return `${userProfile.firstName} ${userProfile.lastName}`;\n }\n return user.email ?? '';\n }, [user, userProfile]);\n\n const handleLogout = useCallback(() => {\n setIsOpen(false);\n logout();\n }, [logout]);\n\n const handleSwitchOrg = useCallback((orgId: string) => {\n setIsOpen(false);\n setCurrentOrganization(orgId);\n }, [setCurrentOrganization]);\n\n const handleNavigateToSettingsTarget = useCallback((target: ResolvedNavigationTarget) => {\n setIsOpen(false);\n // Every settings entry converges on the unified Settings Hub. The hub is\n // URL-driven (`useSettingsHubRouterSync` reconstructs it from `/settings`),\n // so navigate by URL only — do NOT push content into PRIMARY, which would\n // double-render the section's panel behind the hub overlay.\n routerNavigate(target.urlPath || CommonRoutePaths.settings);\n }, [routerNavigate]);\n\n // Avatar image for the nav. `avatar` is a `z_file()` ref/metadata carrying `fileId`,\n // but its bytes live behind the AUTHENTICATED resource-integrated serve route (an\n // `<img>` can't send the bearer, and the persisted `url`/`thumbnailUrl` are unused).\n // So build the same serve URL the profile display uses — for the CURRENT user's own\n // profile: `/user-user-self/{userId}/user-self-profile/{profileId}/files/avatar/{fileId}`\n // — then fetch the bytes → object URL. Falls back to `undefined` (→ initials) when the\n // avatar is unset or the route can't be resolved.\n const avatarFile = userProfile?.avatar as unknown as FileMetadata | undefined;\n const avatarServeUrl = useMemo<string | null>(() => {\n const userId = String((userProfile as Record<string, unknown> | undefined)?.userId ?? (user as Record<string, unknown> | undefined)?._id ?? '');\n const profileId = String((userProfile as Record<string, unknown> | undefined)?._id ?? '');\n const avatarFileId = avatarFile?.fileId;\n if (!registry || !userId || !profileId || !avatarFileId) return null;\n const resourceConfig = registry.resourceConfigurations?.[CoreResourceType.USER_SELF_PROFILES];\n const readOp = FrontendResourceUtils.resolveSingleResourceReadOperation(CoreResourceType.USER_SELF_PROFILES, registry);\n if (!resourceConfig || !readOp) return null;\n const contextResourceIdentifiers = { [CoreResourceType.USER_SELF]: userId };\n const serveBase = buildResourceFileServeBaseUrl({\n registry,\n resourceConfig,\n operation: readOp,\n resourceType: CoreResourceType.USER_SELF_PROFILES,\n fieldName: 'avatar',\n recordId: profileId,\n contextResourceIdentifiers,\n contextualParameters: FrontendResourceUtils.buildContextualParameters(contextResourceIdentifiers, registry),\n apiBaseUrl: envLoader.getApiUrl(),\n });\n if (!serveBase) return null;\n // The nav avatar is tiny — request the downscaled `?variant=thumbnail` rendition\n // rather than pulling the original bytes.\n return buildFileServeThumbnailUrl(`${serveBase}/${encodeURIComponent(avatarFileId)}`);\n }, [registry, user, userProfile, avatarFile?.fileId]);\n const avatarUrl = useAuthedFileObjectUrl(avatarServeUrl) ?? undefined;\n const email = user?.email ?? '';\n // The client organizations this person works in through a service firm (#1597), keyed to the firm's name\n // the membership recorded. Read from the memberships the user context already carries — no request.\n const providerNameByOrganizationId = useMemo(() => {\n const byOrganization = new Map<string, string>();\n for (const membership of user?.organizationMembers ?? []) {\n if (!isServiceProviderMembership(membership)) continue;\n const firmName = (membership as { providerOrganizationName?: unknown }).providerOrganizationName;\n if (typeof firmName === 'string' && firmName.length > 0) byOrganization.set(String(membership.organizationId), firmName);\n }\n return byOrganization;\n }, [user?.organizationMembers]);\n\n return {\n isOpen,\n setIsOpen,\n isUserAuthenticated: isAuthenticated() && !!user,\n userInitials,\n displayName,\n email,\n avatarUrl,\n currentOrganization: currentOrganization ? { _id: currentOrganization._id, name: currentOrganization.name } : undefined,\n organizations: (organizations ?? []).map(org => {\n const viaProviderOrganizationName = providerNameByOrganizationId.get(String(org._id));\n return { _id: org._id, name: org.name, ...(viaProviderOrganizationName ? { viaProviderOrganizationName } : {}) };\n }),\n sections,\n avatarDisplay,\n showOrgSwitcher,\n showLogout,\n settingsTarget,\n settingsTargets,\n popupAlignment,\n handleLogout,\n handleSwitchOrg,\n handleNavigateToSettingsTarget,\n };\n}\n"]}
1
+ {"version":3,"file":"useMenuUserOrgBehavior.js","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useMenuUserOrgBehavior.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\n\nimport { ApplicationLevelComponentType } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { HorizontalPlacement, VerticalPlacement } from '@wildo-ai/presets-components-models';\nimport {\n UserDropdownAvatarDisplay,\n UserDropdownSection,\n} from '~wildo-frontend-lib/core/config/app-configuration-frontend.schemas';\nimport { HorizontalAlign, type FileMetadata } from '@wildo-ai/zod-decorators';\nimport { PlacementSide } from '@wildo-ai/presets-components-models';\nimport { useLauncherRuntimeAvailabilityContext } from '~wildo-frontend-lib/core/navigation/launcher-runtime-availability';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\nimport { LauncherItemTargetKind } from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport { resolveItemRef, type ResolvedNavigationTarget } from '~wildo-frontend-lib/core/navigation/launcher-resolution';\nimport { useLauncherResolutionContext } from '~wildo-frontend-lib/core/navigation/useLauncherResolutionContext';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { accessProfileSwitchableOrganizationIds } from '~wildo-frontend-lib/core/security/effective-permissions.frontend.utils';\nimport { useOwnOrganizationSearch } from './useOwnOrganizationSearch';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { FrontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport { buildResourceFileServeBaseUrl, buildFileServeThumbnailUrl } from '~wildo-frontend-lib/core/resources/file-serve-url.frontend.utils';\nimport { useAuthedFileObjectUrl } from '~wildo-frontend-lib/core/resources/useAuthedFileObjectUrl.frontend.hook';\nimport { CoreResourceType, isRelationshipMembership } from '@wildo-ai/saas-models';\nimport { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\nimport { CommonRoutePaths } from '~wildo-frontend-lib/core/runtime/routes.frontend.definitions';\n\nimport type { MenuUserOrgBehavior } from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\n\n/** Dropdown config shape extracted from component config (avatarDisplay, sections, etc.). */\ninterface UserDropdownConfiguration {\n avatarDisplay?: UserDropdownAvatarDisplay;\n /**\n * `PREFERENCES` and `SETTINGS` currently affect the same effective settings\n * block. `PREFERENCES` changes labeling when `SETTINGS` is absent; it does not\n * introduce a second independent destination.\n */\n sections?: UserDropdownSection[];\n showOrgSwitcher?: boolean;\n showLogout?: boolean;\n /**\n * Settings-hub section refs to surface inline in the dropdown, in order.\n *\n * Names the SETTINGS vocabulary directly. The previous design took a SIDEBAR\n * section ref and string-matched it (`s.ref === settingsSectionRef`), which\n * made the dropdown's contents a side effect of how the sidebar happened to be\n * arranged — two separate vocabularies joined by a magic string, so moving a\n * sidebar section silently emptied the dropdown.\n *\n * Empty or omitted renders the single \"Settings\" button that opens the hub.\n * There is deliberately no separate `mergeSettings` flag: the presence of\n * entries IS the intent, and a boolean beside a list can only ever disagree\n * with it.\n */\n settingsEntries?: readonly string[];\n}\n\n/**\n * Stable empty entries, shared by both read sites.\n *\n * A literal `?? []` allocates a NEW array on every render, and `settingsTargets`\n * memoizes on this value — so an application that configures `USER_DROPDOWN` as a\n * plain boolean (no config object, so `dropdownConfig` is undefined) would churn\n * the `settingsTargets` memo and every consumer of the returned\n * behavior, forever. The code this replaced depended on a boolean and a string,\n * which are stable by construction; an array is not.\n */\nconst NO_SETTINGS_ENTRIES: readonly string[] = Object.freeze([]);\n\nfunction isUserDropdownConfigObject(config: unknown): config is UserDropdownConfiguration {\n return typeof config === 'object' && config !== null;\n}\n\nconst DEFAULT_SECTIONS: UserDropdownSection[] = [\n UserDropdownSection.USER_INFO,\n UserDropdownSection.ORG_SWITCHER,\n UserDropdownSection.SETTINGS,\n UserDropdownSection.LOGOUT,\n];\n\n\n/**\n * Behavior hook for MenuUserOrg — manages user/org data, dropdown config\n * resolution, popup alignment computation, and navigation handlers.\n */\nexport function useMenuUserOrgBehavior(\n containerType?: ApplicationLevelComponentType,\n containerPlacement?: HorizontalPlacement | VerticalPlacement\n): MenuUserOrgBehavior {\n const { appComponentsConfiguration } = useUI();\n const {\n user,\n organizations,\n getCurrentOrganization,\n setCurrentOrganization,\n logout,\n isAuthenticated,\n permissions,\n } = useUserOrgs();\n const { registry } = useResourceRegistry();\n const resolutionCtx = useLauncherResolutionContext();\n const routerNavigate = useNavigate();\n const runtimeAvailabilityContext = useLauncherRuntimeAvailabilityContext();\n\n const [isOpen, setIsOpen] = useState(false);\n\n const config = appComponentsConfiguration?.[ApplicationLevelComponentType.USER_DROPDOWN];\n\n const dropdownConfig = useMemo((): UserDropdownConfiguration | undefined => {\n const componentConfig = isUserDropdownConfigObject(config) ? config : undefined;\n\n if (!componentConfig) {\n return undefined;\n }\n\n return {\n avatarDisplay: componentConfig.avatarDisplay ?? UserDropdownAvatarDisplay.AVATAR_ONLY,\n sections: componentConfig.sections ?? DEFAULT_SECTIONS,\n showOrgSwitcher: componentConfig.showOrgSwitcher ?? true,\n showLogout: componentConfig.showLogout ?? true,\n settingsEntries: componentConfig.settingsEntries ?? NO_SETTINGS_ENTRIES,\n };\n }, [config]);\n\n const currentOrganization = getCurrentOrganization();\n\n const sections = dropdownConfig?.sections ?? DEFAULT_SECTIONS;\n const avatarDisplay = dropdownConfig?.avatarDisplay ?? UserDropdownAvatarDisplay.AVATAR_ONLY;\n const showOrgSwitcher = dropdownConfig?.showOrgSwitcher !== false;\n const showLogout = dropdownConfig?.showLogout !== false;\n const settingsEntries = dropdownConfig?.settingsEntries ?? NO_SETTINGS_ENTRIES;\n const activeMode = runtimeAvailabilityContext.activeMode;\n const availableModes = runtimeAvailabilityContext.availableModes;\n const allScopeValues = runtimeAvailabilityContext.allScopeValues;\n\n const popupAlignment = useMemo(() => {\n if (containerType === ApplicationLevelComponentType.MENUBAR) {\n if (containerPlacement === HorizontalPlacement.END) {\n return { align: HorizontalAlign.END, side: PlacementSide.BOTTOM };\n }\n return { align: HorizontalAlign.START, side: PlacementSide.BOTTOM };\n }\n\n if (containerType === ApplicationLevelComponentType.SIDEBAR) {\n if (containerPlacement === VerticalPlacement.BOTTOM) {\n return { align: HorizontalAlign.END, side: PlacementSide.END };\n }\n return { align: HorizontalAlign.START, side: PlacementSide.END };\n }\n\n return { align: HorizontalAlign.END, side: PlacementSide.BOTTOM };\n }, [containerType, containerPlacement]);\n\n\n /**\n * Resolve each authored settings-hub section ref to a navigation target.\n *\n * Every entry converges on the unified Settings Hub through the existing\n * typed `SETTINGS_SECTION` launcher ref, so the dropdown gains no navigation\n * semantics of its own — it just names sections. An entry the hub does not\n * declare still resolves: its row reads its section's label key, which then shows\n * as the missing key it is. The DEV-startup verifier is where an author is told.\n */\n const settingsTargets = useMemo((): ResolvedNavigationTarget[] => {\n if (!resolutionCtx) return [];\n\n return settingsEntries.flatMap(sectionRef => {\n const resolved = resolveItemRef(\n { kind: LauncherItemTargetKind.SETTINGS_SECTION, sectionRef },\n resolutionCtx,\n );\n return resolved ? [resolved] : [];\n });\n }, [resolutionCtx, settingsEntries]);\n\n /**\n * The hub ITSELF — always, whatever shortcuts the application authored.\n *\n * It used to be the first authored entry, so an application that added a Profile shortcut lost the way into the rest\n * of Settings from the identity menu, which is where settings live now that no preset puts them in the sidebar.\n * Authored entries are shortcuts INTO the hub; this is the hub.\n */\n const settingsTarget = useMemo((): ResolvedNavigationTarget | null => {\n if (!resolutionCtx) {\n return null;\n }\n return resolveItemRef({ kind: LauncherItemTargetKind.SETTINGS_SECTION }, resolutionCtx);\n }, [resolutionCtx]);\n\n const userProfile = user?.userSelfProfile;\n\n const userInitials = useMemo(() => {\n if (!userProfile) {\n return user?.email?.charAt(0).toUpperCase() || '?';\n }\n const firstName = userProfile.firstName ?? '';\n const lastName = userProfile.lastName ?? '';\n return `${firstName.charAt(0)}${lastName.charAt(0)}`.toUpperCase() || user?.email?.charAt(0).toUpperCase() || '?';\n }, [user, userProfile]);\n\n const displayName = useMemo(() => {\n if (!user) return '';\n if (userProfile?.firstName && userProfile?.lastName) {\n return `${userProfile.firstName} ${userProfile.lastName}`;\n }\n return user.email ?? '';\n }, [user, userProfile]);\n\n // The person's organizations the list does not hold (#2452): the user context carries only the newest 20\n // memberships. Counted from the access profile's organization-wide entries — the population the search returns.\n const unlistedOrganizationCount = useMemo(() => {\n const listed = new Set((organizations ?? []).map((organization) => String(organization._id)));\n return accessProfileSwitchableOrganizationIds(permissions?.accessProfile)\n .filter((organizationId) => !listed.has(organizationId)).length;\n }, [organizations, permissions?.accessProfile]);\n // Searching applies only while the menu is open and something is unlisted; closing it clears the query.\n const organizationSearch = useOwnOrganizationSearch(isOpen && unlistedOrganizationCount > 0);\n\n const handleLogout = useCallback(() => {\n setIsOpen(false);\n logout();\n }, [logout]);\n\n const handleSwitchOrg = useCallback((orgId: string) => {\n setIsOpen(false);\n setCurrentOrganization(orgId);\n }, [setCurrentOrganization]);\n\n const handleNavigateToSettingsTarget = useCallback((target: ResolvedNavigationTarget) => {\n setIsOpen(false);\n // Every settings entry converges on the unified Settings Hub. The hub is\n // URL-driven (`useSettingsHubOverlaySync` reconstructs it from `/settings`),\n // so navigate by URL only — do NOT push content into PRIMARY, which would\n // double-render the section's panel behind the hub overlay.\n routerNavigate(target.urlPath || CommonRoutePaths.settings);\n }, [routerNavigate]);\n\n // Avatar image for the nav. `avatar` is a `z_file()` ref/metadata carrying `fileId`,\n // but its bytes live behind the AUTHENTICATED resource-integrated serve route (an\n // `<img>` can't send the bearer, and the persisted `url`/`thumbnailUrl` are unused).\n // So build the same serve URL the profile display uses — for the CURRENT user's own\n // profile: `/user-user-self/{userId}/user-self-profile/{profileId}/files/avatar/{fileId}`\n // — then fetch the bytes → object URL. Falls back to `undefined` (→ initials) when the\n // avatar is unset or the route can't be resolved.\n const avatarFile = userProfile?.avatar as unknown as FileMetadata | undefined;\n const avatarServeUrl = useMemo<string | null>(() => {\n const userId = String((userProfile as Record<string, unknown> | undefined)?.userId ?? (user as Record<string, unknown> | undefined)?._id ?? '');\n const profileId = String((userProfile as Record<string, unknown> | undefined)?._id ?? '');\n const avatarFileId = avatarFile?.fileId;\n if (!registry || !userId || !profileId || !avatarFileId) return null;\n const resourceConfig = registry.resourceConfigurations?.[CoreResourceType.USER_SELF_PROFILES];\n const readOp = FrontendResourceUtils.resolveSingleResourceReadOperation(CoreResourceType.USER_SELF_PROFILES, registry);\n if (!resourceConfig || !readOp) return null;\n const contextResourceIdentifiers = { [CoreResourceType.USER_SELF]: userId };\n const serveBase = buildResourceFileServeBaseUrl({\n registry,\n resourceConfig,\n operation: readOp,\n resourceType: CoreResourceType.USER_SELF_PROFILES,\n fieldName: 'avatar',\n recordId: profileId,\n contextResourceIdentifiers,\n contextualParameters: FrontendResourceUtils.buildContextualParameters(contextResourceIdentifiers, registry),\n apiBaseUrl: envLoader.getApiUrl(),\n });\n if (!serveBase) return null;\n // The nav avatar is tiny — request the downscaled `?variant=thumbnail` rendition\n // rather than pulling the original bytes.\n return buildFileServeThumbnailUrl(`${serveBase}/${encodeURIComponent(avatarFileId)}`);\n }, [registry, user, userProfile, avatarFile?.fileId]);\n const avatarUrl = useAuthedFileObjectUrl(avatarServeUrl) ?? undefined;\n const email = user?.email ?? '';\n // The granting organizations this person works in through a representing organization (#1597), keyed to the\n // representing organization's name the membership recorded. Read from the memberships the user context already\n // carries — no request.\n const representingNameByOrganizationId = useMemo(() => {\n const byOrganization = new Map<string, string>();\n for (const membership of user?.organizationMembers ?? []) {\n if (!isRelationshipMembership(membership)) continue;\n const representingName = (membership as { representingOrganizationName?: unknown }).representingOrganizationName;\n if (typeof representingName === 'string' && representingName.length > 0) byOrganization.set(String(membership.organizationId), representingName);\n }\n return byOrganization;\n }, [user?.organizationMembers]);\n\n return {\n isOpen,\n setIsOpen,\n isUserAuthenticated: isAuthenticated() && !!user,\n userInitials,\n displayName,\n email,\n avatarUrl,\n currentOrganization: currentOrganization ? { _id: currentOrganization._id, name: currentOrganization.name } : undefined,\n organizations: (organizations ?? []).map(org => {\n const viaOrganizationName = representingNameByOrganizationId.get(String(org._id));\n return { _id: org._id, name: org.name, ...(viaOrganizationName ? { viaOrganizationName } : {}) };\n }),\n unlistedOrganizationCount,\n organizationSearchQuery: organizationSearch.query,\n setOrganizationSearchQuery: organizationSearch.setQuery,\n organizationSearchResults: organizationSearch.results,\n isSearchingOrganizations: organizationSearch.isSearching,\n organizationSearchFailed: organizationSearch.failed,\n sections,\n avatarDisplay,\n showOrgSwitcher,\n showLogout,\n settingsTarget,\n settingsTargets,\n popupAlignment,\n handleLogout,\n handleSwitchOrg,\n handleNavigateToSettingsTarget,\n };\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  import type { NavigationBehaviors } from '../../../core/app-shell/app-shell.schemas';
2
2
  /**
3
- * Standalone navigation behavior hook — provides active-state checking,
4
- * display policy evaluation, click dispatch, and home navigation.
3
+ * Standalone navigation behavior hook — provides active-state checking, click dispatch, and home navigation.
5
4
  *
6
5
  * This hook is completely independent of item fetching. It does not call
7
6
  * any scan-based item discovery. Consumers provide their own items from
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigationBehaviors.d.ts","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useNavigationBehaviors.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAEhG;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,CAuD5D"}
1
+ {"version":3,"file":"useNavigationBehaviors.d.ts","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useNavigationBehaviors.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAEhG;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,CAuC5D"}
@@ -1,6 +1,5 @@
1
1
  import { useCallback, useMemo } from 'react';
2
2
  import { useLocation, useNavigate } from 'react-router-dom';
3
- import { SidebarItemDisplayPolicy, } from '../../../core/config/app-level-components.frontend.schemas.js';
4
3
  import { useEventBus } from '../../../core/events/useEventBus.js';
5
4
  import { EnginePageRef, ENGINE_PAGE_METADATA, } from '../../../core/config/launcher-items.frontend.schemas.js';
6
5
  import { NavigationUtils } from '../../../core/navigation/navigation.utils.js';
@@ -8,8 +7,7 @@ import { navigateHomeWithFreshStart } from '../../../core/navigation/navigation-
8
7
  import { useNavigationController } from '../../../core/navigation/useNavigationController.js';
9
8
  import { useNavigationState } from '../../../core/navigation/useNavigationState.js';
10
9
  /**
11
- * Standalone navigation behavior hook — provides active-state checking,
12
- * display policy evaluation, click dispatch, and home navigation.
10
+ * Standalone navigation behavior hook — provides active-state checking, click dispatch, and home navigation.
13
11
  *
14
12
  * This hook is completely independent of item fetching. It does not call
15
13
  * any scan-based item discovery. Consumers provide their own items from
@@ -25,17 +23,6 @@ export function useNavigationBehaviors() {
25
23
  const { navigate } = useNavigationController();
26
24
  const { isNavigationItemActive } = useNavigationState();
27
25
  const { emit } = useEventBus();
28
- const shouldShowItem = useCallback((item) => {
29
- const policy = item.displayPolicy ?? SidebarItemDisplayPolicy.ALWAYS;
30
- switch (policy) {
31
- case SidebarItemDisplayPolicy.ALWAYS:
32
- return 'visible';
33
- case SidebarItemDisplayPolicy.SECTION_MORE_MENU:
34
- return 'more_menu';
35
- default:
36
- return 'visible';
37
- }
38
- }, []);
39
26
  const handleNavigationClick = useCallback((item, launcher) => {
40
27
  NavigationUtils.dispatchNavigationForItem(navigate, item, launcher);
41
28
  }, [navigate]);
@@ -57,7 +44,6 @@ export function useNavigationBehaviors() {
57
44
  }, [location.pathname, homePath]);
58
45
  return {
59
46
  isNavigationItemActive,
60
- shouldShowItem,
61
47
  handleNavigationClick,
62
48
  handleHomeClick,
63
49
  isHomeActive,
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigationBehaviors.js","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useNavigationBehaviors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAEL,wBAAwB,GACzB,MAAM,uEAAuE,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EACL,aAAa,EACb,oBAAoB,GACrB,MAAM,iEAAiE,CAAC;AAKzE,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2EAA2E,CAAC;AACvH,OAAO,EAAE,uBAAuB,EAAE,MAAM,6DAA6D,CAAC;AACtG,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAI5F;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,cAAc,GAAG,WAAW,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAChE,MAAM,EAAE,QAAQ,EAAE,GAAG,uBAAuB,EAAE,CAAC;IAC/C,MAAM,EAAE,sBAAsB,EAAE,GAAG,kBAAkB,EAAE,CAAC;IACxD,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,IAAuB,EAAsC,EAAE;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,IAAI,wBAAwB,CAAC,MAAM,CAAC;QACrE,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,wBAAwB,CAAC,MAAM;gBAClC,OAAO,SAAS,CAAC;YACnB,KAAK,wBAAwB,CAAC,iBAAiB;gBAC7C,OAAO,WAAW,CAAC;YACrB;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,IAAuB,EAAE,QAAuC,EAAE,EAAE;QACnE,eAAe,CAAC,yBAAyB,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtE,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF;;;;OAIG;IACH,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,0BAA0B,CAAC;YACzB,IAAI;YACJ,cAAc;YACd,QAAQ;SACT,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC5B,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,QAAQ,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAElC,OAAO;QACL,sBAAsB;QACtB,cAAc;QACd,qBAAqB;QACrB,eAAe;QACf,YAAY;KACb,CAAC;AACJ,CAAC","sourcesContent":["import { useCallback, useMemo } from 'react';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport {\n type ApplicationLevelComponentType,\n SidebarItemDisplayPolicy,\n} from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport {\n EnginePageRef,\n ENGINE_PAGE_METADATA,\n} from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport {\n NavigationZone,\n type AnyNavigationItem,\n} from '~wildo-frontend-lib/core/navigation/navigation.schemas';\nimport { NavigationUtils } from '~wildo-frontend-lib/core/navigation/navigation.utils';\nimport { navigateHomeWithFreshStart } from '~wildo-frontend-lib/core/navigation/navigation-clean-break.frontend.utils';\nimport { useNavigationController } from '~wildo-frontend-lib/core/navigation/useNavigationController';\nimport { useNavigationState } from '~wildo-frontend-lib/core/navigation/useNavigationState';\n\nimport type { NavigationBehaviors } from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\n\n/**\n * Standalone navigation behavior hook — provides active-state checking,\n * display policy evaluation, click dispatch, and home navigation.\n *\n * This hook is completely independent of item fetching. It does not call\n * any scan-based item discovery. Consumers provide their own items from\n * per-launcher resolution (declared `contentSections`, `commands`, `tools`, etc.).\n *\n * `handleNavigationClick` requires `launcher` as a second parameter since\n * this hook is not scoped to a single launcher.\n */\nexport function useNavigationBehaviors(): NavigationBehaviors {\n const routerNavigate = useNavigate();\n const location = useLocation();\n const homePath = ENGINE_PAGE_METADATA[EnginePageRef.HOME].route;\n const { navigate } = useNavigationController();\n const { isNavigationItemActive } = useNavigationState();\n const { emit } = useEventBus();\n\n const shouldShowItem = useCallback(\n (item: AnyNavigationItem): 'visible' | 'more_menu' | 'hidden' => {\n const policy = item.displayPolicy ?? SidebarItemDisplayPolicy.ALWAYS;\n switch (policy) {\n case SidebarItemDisplayPolicy.ALWAYS:\n return 'visible';\n case SidebarItemDisplayPolicy.SECTION_MORE_MENU:\n return 'more_menu';\n default:\n return 'visible';\n }\n },\n [],\n );\n\n const handleNavigationClick = useCallback(\n (item: AnyNavigationItem, launcher: ApplicationLevelComponentType) => {\n NavigationUtils.dispatchNavigationForItem(navigate, item, launcher);\n },\n [navigate],\n );\n\n /**\n * Home navigation — clears all panes and navigates to the engine home route\n * (`ENGINE_PAGE_ROUTES[EnginePageRef.HOME]`). Wrapped in a NavigationTransaction\n * to prevent useRouterSync from re-populating stale content during the transition.\n */\n const handleHomeClick = useCallback(() => {\n navigateHomeWithFreshStart({\n emit,\n routerNavigate,\n homePath,\n });\n }, [emit, routerNavigate, homePath]);\n\n const isHomeActive = useMemo(() => {\n const p = location.pathname;\n return p === homePath || (homePath === '/' && p === '');\n }, [location.pathname, homePath]);\n\n return {\n isNavigationItemActive,\n shouldShowItem,\n handleNavigationClick,\n handleHomeClick,\n isHomeActive,\n };\n}\n"]}
1
+ {"version":3,"file":"useNavigationBehaviors.js","sourceRoot":"","sources":["../../../../../../src/components/navigation/app-level/useNavigationBehaviors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EACL,aAAa,EACb,oBAAoB,GACrB,MAAM,iEAAiE,CAAC;AAKzE,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2EAA2E,CAAC;AACvH,OAAO,EAAE,uBAAuB,EAAE,MAAM,6DAA6D,CAAC;AACtG,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAI5F;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,cAAc,GAAG,WAAW,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAChE,MAAM,EAAE,QAAQ,EAAE,GAAG,uBAAuB,EAAE,CAAC;IAC/C,MAAM,EAAE,sBAAsB,EAAE,GAAG,kBAAkB,EAAE,CAAC;IACxD,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,IAAuB,EAAE,QAAuC,EAAE,EAAE;QACnE,eAAe,CAAC,yBAAyB,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtE,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF;;;;OAIG;IACH,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,0BAA0B,CAAC;YACzB,IAAI;YACJ,cAAc;YACd,QAAQ;SACT,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC5B,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,QAAQ,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAElC,OAAO;QACL,sBAAsB;QACtB,qBAAqB;QACrB,eAAe;QACf,YAAY;KACb,CAAC;AACJ,CAAC","sourcesContent":["import { useCallback, useMemo } from 'react';\nimport { useLocation, useNavigate } from 'react-router-dom';\n\nimport type { ApplicationLevelComponentType } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport {\n EnginePageRef,\n ENGINE_PAGE_METADATA,\n} from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport {\n NavigationZone,\n type AnyNavigationItem,\n} from '~wildo-frontend-lib/core/navigation/navigation.schemas';\nimport { NavigationUtils } from '~wildo-frontend-lib/core/navigation/navigation.utils';\nimport { navigateHomeWithFreshStart } from '~wildo-frontend-lib/core/navigation/navigation-clean-break.frontend.utils';\nimport { useNavigationController } from '~wildo-frontend-lib/core/navigation/useNavigationController';\nimport { useNavigationState } from '~wildo-frontend-lib/core/navigation/useNavigationState';\n\nimport type { NavigationBehaviors } from '~wildo-frontend-lib/core/app-shell/app-shell.schemas';\n\n/**\n * Standalone navigation behavior hook — provides active-state checking, click dispatch, and home navigation.\n *\n * This hook is completely independent of item fetching. It does not call\n * any scan-based item discovery. Consumers provide their own items from\n * per-launcher resolution (declared `contentSections`, `commands`, `tools`, etc.).\n *\n * `handleNavigationClick` requires `launcher` as a second parameter since\n * this hook is not scoped to a single launcher.\n */\nexport function useNavigationBehaviors(): NavigationBehaviors {\n const routerNavigate = useNavigate();\n const location = useLocation();\n const homePath = ENGINE_PAGE_METADATA[EnginePageRef.HOME].route;\n const { navigate } = useNavigationController();\n const { isNavigationItemActive } = useNavigationState();\n const { emit } = useEventBus();\n\n const handleNavigationClick = useCallback(\n (item: AnyNavigationItem, launcher: ApplicationLevelComponentType) => {\n NavigationUtils.dispatchNavigationForItem(navigate, item, launcher);\n },\n [navigate],\n );\n\n /**\n * Home navigation — clears all panes and navigates to the engine home route\n * (`ENGINE_PAGE_ROUTES[EnginePageRef.HOME]`). Wrapped in a NavigationTransaction\n * to prevent useRouterSync from re-populating stale content during the transition.\n */\n const handleHomeClick = useCallback(() => {\n navigateHomeWithFreshStart({\n emit,\n routerNavigate,\n homePath,\n });\n }, [emit, routerNavigate, homePath]);\n\n const isHomeActive = useMemo(() => {\n const p = location.pathname;\n return p === homePath || (homePath === '/' && p === '');\n }, [location.pathname, homePath]);\n\n return {\n isNavigationItemActive,\n handleNavigationClick,\n handleHomeClick,\n isHomeActive,\n };\n}\n"]}