@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":"ResourceCollectionToolbar.js","sourceRoot":"","sources":["../../../../../src/components/resources/ResourceCollectionToolbar.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,+DAA+D,CAAC;AAChH,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,kBAAkB,GAGnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,0BAA0B,EAAkB,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAyB,+BAA+B,EAA+B,MAAM,+DAA+D,CAAC;AAEpK;;;;GAIG;AACH,MAAM,uBAAuB,GAC3B,mKAAmK,CAAC;AA8GtK,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EACxC,YAAY,EACZ,WAAW,EACX,aAAa,EACb,MAAM,EACN,YAAY,EACZ,WAAW,GAAG,+BAA+B,CAAC,OAAO,EACrD,YAAY,EACZ,eAAe,EACf,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,SAAS,GACsB,EAAqB,EAAE;IACtD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,EAAE,SAAS,EAAE,qBAAqB,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC5F,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAC;IACzC,MAAM,iBAAiB,GAAG,UAAU,CAAC,qBAAqB,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;IAExG,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAqC,EAAE,EAAE;QAC7E,yEAAyE;QACzE,0DAA0D;QAC1D,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK;YAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,mBAAmB,GAAG,WAAW,CAAC,CAAC,CAAwC,EAAE,EAAE;QACnF,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACvB,MAAM,EAAE,OAAO,EAAE,CAAC;YAClB,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3C,mGAAmG;IACnG,0FAA0F;IAC1F,MAAM,iBAAiB,GAAG,UAAU,IAAI,WAAW,KAAK,+BAA+B,CAAC,MAAM,CAAC;IAC/F,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IACrD,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,+EAA+E;IAC/E,2EAA2E;IAC3E,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/F,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEpE,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,8BAA8B,EAAE,SAAS,CAAC,eAAY,oBAAoB,aAE1F,WAAW,IAAI,CACd,KAAC,iCAAiC,IAChC,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,WAAW,CAAC,KAAK,EACxB,KAAK,EAAE,WAAW,CAAC,KAAK,EACxB,QAAQ,EAAE,WAAW,CAAC,QAAQ,GAC9B,CACH,EAKA,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAC5C,KAAC,+BAA+B,IAC9B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,aAAa,EACtB,cAAc,EAAE,YAAY,EAC5B,eAAe,EAAE,eAAe,GAChC,CACH,EAED,eAAK,SAAS,EAAC,yCAAyC,aAOrD,MAAM,IAAI,CAAC,YAAY,IAAI,CAC1B,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,sBAAsB,CAAC,KAAK,EACrC,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAC1B,iBAAiB,eACnB,mCAAmC,YAE5C,UAAU,CAAC,qBAAqB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,GACzD,CACV,EACA,MAAM,IAAI,YAAY,IAAI,CACzB,cACE,SAAS,EAAE,EAAE,CAAC,0CAA0C,EAAE,uBAAuB,CAAC,gBACvE,MAAM,YAEjB,KAAC,iBAAiB,IAChB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,YAAY,EAAE,YAAY,EAC1B,SAAS,QACT,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EACtC,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,mBAAmB,GAC9B,GACE,CACP,EAEA,iBAAiB,IAAI,CACpB,KAAC,6BAA6B,IAC5B,WAAW,EAAE,iBAAiB,EAC9B,UAAU,EAAE,eAAe,EAC3B,QAAQ,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GACjD,CACH,EAEA,OAAO,IAAI,CACV,KAAC,0BAA0B,IACzB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,IAAK,CAAC,UAAU,EAC5B,YAAY,EAAE,IAAK,CAAC,UAAU,EAC9B,YAAY,EAAE,IAAK,CAAC,YAAY,GAChC,CACH,EAQA,SAAS,IAAI,CACZ,8BACG,SAAS,CAAC,KAAK,GAAG,CAAC,IAAI,cAAK,SAAS,EAAC,oBAAoB,iBAAa,MAAM,GAAG,EACjF,KAAC,2BAA2B,IAC1B,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,OAAO,EAAE,SAAS,CAAC,OAAO,KACtB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAC3E,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GACtE,IACD,CACJ,EAIA,CAAC,QAAQ,IAAI,aAAa,IAAI,WAAW,IAAI,iBAAiB,CAAC,IAAI,CAClE,eAAK,SAAS,EAAC,uCAAuC,aACnD,QAAQ,IAAI,CACX,KAAC,sBAAsB,IACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,GAC3C,CACH,EAGA,iBAAiB,EACjB,SAAS,IAAI,SAAS,CAAC,KAAK,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,IAC1E,CACP,IACG,EAEL,iBAAiB,IAAI,eAAe,IAAI,CACvC,KAAC,2BAA2B,IAC1B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,YAAY,EAC5B,eAAe,EAAE,eAAe,GAChC,CACH,EAEA,UAAU,IAAI,CACb,KAAC,0BAA0B,IACzB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,YAAY,EAC5B,eAAe,EAAE,eAAe,GAChC,CACH,IACG,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/**\n * ResourceCollectionToolbar — the shared, zoned control region for every resource\n * collection view (LIST cards, LIST table, SEARCH).\n *\n * Layout (a single responsive flex row + stacked sub-rows):\n * [ search · filters · sort ] ───────────────── [ view-mode · primary action ]\n * [ filters panel (when expanded, full-width) ]\n * [ active filter chips ]\n *\n * \"Refine\" controls (search/filters/sort) cluster at the leading edge — search is\n * always first; \"view + act\" controls (view-mode toggle, Create) cluster at the\n * trailing edge via `ms-auto`. `flex-wrap` handles narrow widths with no media\n * queries.\n *\n * The search is an expand-on-focus field: collapsed it reads as a search icon\n * (icon-width), and it animates open to a full field when focused — the width\n * transition is driven by the theme motion tokens (`--motion-duration-*` /\n * `--motion-easing-*`) and respects `prefers-reduced-motion`, so any theme retunes\n * the speed/curve. Filters and sort sit beside it as compact icon controls.\n *\n * The total item count is intentionally NOT shown here — the pagination footer\n * owns the total (\"Showing X–Y of Z\") to keep a single source of truth.\n *\n * Presentational + slot-based: it owns only its own ephemeral UI state (search\n * expand, filters-panel expand). All data/state/handlers are supplied by the\n * collection host, so the same toolbar serves cards, table, and search.\n */\n\nimport React, { useCallback, useState } from 'react';\nimport { cn } from '~wildo-frontend-lib/core/ui/cn';\nimport { FrontendComponentType, ButtonSize } from '@wildo-ai/presets-components-models';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport { useIconRegistry } from '~wildo-frontend-lib/core/icons/useIconRegistry';\nimport { StandardIconReference, IconSize } from '~wildo-frontend-lib/core/icons/icon-registry.frontend.schemas';\nimport { Button, ButtonVariants_Variant } from '~wildo-frontend-lib/components/actions/button';\nimport { InlineSearchInput } from './InlineSearchInput';\nimport {\n ResourceLayout_FiltersTrigger,\n ResourceLayout_FiltersPanel,\n countActiveFilters,\n type FilterFieldDefinition,\n type FilterValues,\n} from './ResourceLayout_FiltersControl';\nimport { ResourceLayout_FilterChips } from './ResourceLayout_FilterChips';\nimport { ResourceCollectionQuickFilterTabs } from './ResourceCollectionQuickFilterTabs';\nimport { ResourceCollectionFilterPresets } from './ResourceCollectionFilterPresets';\nimport { ResourceLayout_SortControl, type SortState } from './ResourceLayout_SortControl';\nimport { ResourceViewModeToggle } from './ResourceViewModeToggle';\nimport { CollectionSelectionControls } from './CollectionSelectionControls';\nimport { CollectionDisplayMode, CollectionFilterPanelVisibility, type CollectionFilterPreset } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\n\n/**\n * Width transition for the expand-on-focus search field. Timing + curve come from\n * the theme motion tokens (so a theme retunes them); suppressed under\n * `prefers-reduced-motion` (the field still opens, just instantly).\n */\nconst SEARCH_WIDTH_TRANSITION =\n 'motion-safe:transition-[width] motion-safe:duration-[var(--motion-duration-normal)] motion-safe:ease-[var(--motion-easing-default)] motion-reduce:transition-none';\n\nexport interface ResourceCollectionToolbarSearch {\n query: string;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onClear: () => void;\n}\n\nexport interface ResourceCollectionToolbarSort {\n sortFields: readonly string[];\n /** Active sort rules, highest priority first (empty = no sorting). */\n sortStates: readonly SortState[];\n onSortChange: (sorts: SortState[]) => void;\n}\n\nexport interface ResourceCollectionToolbarViewMode {\n viewMode: CollectionDisplayMode;\n onViewModeChange: (mode: CollectionDisplayMode) => void;\n}\n\nexport interface ResourceCollectionToolbarSelection {\n /** Number of currently-selected items. */\n count: number;\n /** Clear the whole selection. */\n onClear: () => void;\n /**\n * Offered by the host when every row on the page is selected and the listing matches more rows\n * than the page holds — see `CollectionSelectionControls`, which owns the wording and the rule\n * about when it appears.\n */\n matchAllOffer?: { matchedCount: number; onSelectAllMatching: () => void };\n /** True once the selection IS the query rather than a set of ticked rows. */\n isMatchAllSelected?: boolean;\n}\n\nexport interface ResourceCollectionToolbarQuickFilter {\n /** The promoted enum filter field (see `collectionDisplayConfig.quickFilterField`). */\n field: FilterFieldDefinition;\n /** Current filter value for the field — `undefined` = the \"All\" tab. */\n value: string | undefined;\n /** Set (or clear, with `undefined`) the promoted field's filter value. */\n onChange: (value: string | undefined) => void;\n}\n\nexport interface ResourceCollectionToolbarProps {\n /** Resource type for i18n label resolution. */\n resourceType: string;\n /**\n * Quick-filter tab strip (\"All · <value> · …\") rendered above the toolbar\n * row — a promoted enum filter that shares the collection's filter state.\n * The host must EXCLUDE the promoted field from `filterFields` so the panel\n * and the tabs never render competing controls for the same field.\n */\n quickFilter?: ResourceCollectionToolbarQuickFilter;\n /**\n * Named one-click narrowings, rendered as toggleable pills between the quick-filter tabs and the\n * toolbar row. They share this toolbar's `filterValues`/`onFiltersChange`, so a pill and the\n * filters panel are two views of one state and cannot disagree.\n */\n presetFilters?: readonly CollectionFilterPreset[];\n /** Inline search state — omit to hide the search affordance entirely. */\n search?: ResourceCollectionToolbarSearch;\n /** Filter fields + state. Trigger/panel/chips are hidden when there are none. */\n filterFields: readonly FilterFieldDefinition[];\n /**\n * Whether the \"Filters\" trigger and its panel are offered (see `collectionDisplayConfig.filterPanel`).\n * Omitted means OFFERED. HIDDEN removes only the trigger and panel — the chips stay, so an active\n * filter is never invisible.\n */\n filterPanel?: CollectionFilterPanelVisibility;\n filterValues: FilterValues;\n onFiltersChange: (filters: FilterValues) => void;\n /**\n * Sort state — omit to hide the toolbar sort control (e.g. TABLE mode, where\n * sorting lives in the column headers).\n */\n sort?: ResourceCollectionToolbarSort;\n /** View-mode toggle — omit when only one display is available. */\n viewMode?: ResourceCollectionToolbarViewMode;\n /** Primary action node (e.g. the Create button), placed at the trailing edge. */\n primaryAction?: React.ReactNode;\n /**\n * Selection SUMMARY — omit for non-selectable collections. When present, an \"N selected\" + clear\n * cluster renders in the leading (refine) zone beside search/filter/sort.\n *\n * The select-ALL checkbox is deliberately NOT here: it belongs in the column of row checkboxes it\n * commands (the table's header cell, or `CollectionSelectionHeaderRail` above a cards list), not\n * in a toolbar row a couple of hundred pixels to their right. See `CollectionSelectionControls`.\n */\n selection?: ResourceCollectionToolbarSelection;\n /**\n * Bulk-action node (the contextual bulk `ActionBar`). When a selection is\n * active (`selection.count > 0`), this REPLACES `primaryAction` in the\n * trailing zone; Create returns when the selection clears. Local to this\n * collection — there is no global/floating bulk bar.\n */\n bulkActions?: React.ReactNode;\n /**\n * Collection-scoped action node (e.g. the `ResourceLayout_CollectionActions`\n * bar for whole-scope \"retry all\" / \"purge all\"). Rendered in the trailing zone\n * alongside the primary/bulk action. Unlike bulk (which contextually REPLACES\n * the primary action during a selection), collection actions target the whole\n * scope and stay visible regardless of selection. Omit when the resource has no\n * collection-scoped operations.\n */\n collectionActions?: React.ReactNode;\n /** Additional CSS classes for the toolbar region. */\n className?: string;\n}\n\nexport const ResourceCollectionToolbar = ({\n resourceType,\n quickFilter,\n presetFilters,\n search,\n filterFields,\n filterPanel = CollectionFilterPanelVisibility.OFFERED,\n filterValues,\n onFiltersChange,\n sort,\n viewMode,\n primaryAction,\n selection,\n bulkActions,\n collectionActions,\n className,\n}: ResourceCollectionToolbarProps): React.JSX.Element => {\n const [searchExpanded, setSearchExpanded] = useState(false);\n const [filtersExpanded, setFiltersExpanded] = useState(false);\n const { tComponent } = useI18n({ component: FrontendComponentType.RESOURCES_LAYOUTS_LIST });\n const { renderIcon } = useIconRegistry();\n const searchPlaceholder = tComponent(FrontendComponentType.RESOURCES_LAYOUTS_LIST, 'searchPlaceholder');\n\n const handleSearchBlur = useCallback((e: React.FocusEvent<HTMLInputElement>) => {\n // Collapse back to the icon only when leaving an EMPTY field — an active\n // query keeps the field open so the filter stays obvious.\n if (!e.currentTarget.value) setSearchExpanded(false);\n }, []);\n\n const handleSearchKeyDown = useCallback((e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Escape') {\n search?.onClear();\n setSearchExpanded(false);\n e.currentTarget.blur();\n }\n }, [search]);\n\n const hasFilters = filterFields.length > 0;\n // The panel is a separate question from the chips: HIDDEN withdraws the trigger and the panel, and\n // leaves the chips — the readout of what is narrowing the list — exactly where they were.\n const offersFilterPanel = hasFilters && filterPanel !== CollectionFilterPanelVisibility.HIDDEN;\n const hasSort = !!sort && sort.sortFields.length > 0;\n // Count ONLY the panel's own fields. `filterValues` also carries the promoted\n // quick-filter field's value (it shares this state object) but that field is\n // rendered as the tab strip, not in the panel/chips — counting it here would\n // show \"Filters (1)\" for a selected quick-filter tab while the opened panel is\n // empty. Scoping to `filterFields` keeps the badge in sync with the panel.\n const activeFilterCount = countActiveFilters(filterValues, filterFields.map(f => f.fieldName));\n const isSearchOpen = !!search && (searchExpanded || !!search.query);\n\n return (\n <div className={cn('flex flex-col gap-element-sm', className)} data-slot=\"collection-toolbar\">\n {/* ── Quick-filter tab strip (promoted enum filter) — above the toolbar row ── */}\n {quickFilter && (\n <ResourceCollectionQuickFilterTabs\n resourceType={resourceType}\n field={quickFilter.field}\n value={quickFilter.value}\n onChange={quickFilter.onChange}\n />\n )}\n\n {/* ── Preset pills — BELOW the exclusive tab strip and ABOVE the controls ──\n The order is the meaning: the tabs say which slice of the collection this is, the pills\n add named narrowings within it, and the toolbar row refines whatever those two leave. */}\n {presetFilters && presetFilters.length > 0 && (\n <ResourceCollectionFilterPresets\n resourceType={resourceType}\n presets={presetFilters}\n currentFilters={filterValues}\n onFiltersChange={onFiltersChange}\n />\n )}\n\n <div className=\"flex flex-wrap items-center gap-element\">\n {/* ── Refine cluster: search (always first) · filters · sort ──\n Collapsed search is a REAL icon button, not a width-clipped input:\n clipping a bordered InputRoot to icon width leaked a sheared slice of\n the input box behind the icon (square corners, cut border). The\n button expands to the field on click; the field keeps the animated\n width while open and collapses back on empty-blur / Escape. */}\n {search && !isSearchOpen && (\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.GHOST}\n size={ButtonSize.ICON}\n onClick={() => setSearchExpanded(true)}\n aria-label={searchPlaceholder}\n data-slot=\"collection-toolbar-search-trigger\"\n >\n {renderIcon(StandardIconReference.SEARCH, { size: IconSize.SM })}\n </Button>\n )}\n {search && isSearchOpen && (\n <div\n className={cn('overflow-hidden shrink-0 w-64 max-w-full', SEARCH_WIDTH_TRANSITION)}\n data-state=\"open\"\n >\n <InlineSearchInput\n query={search.query}\n onChange={search.onChange}\n onClear={search.onClear}\n resourceType={resourceType}\n autoFocus\n onFocus={() => setSearchExpanded(true)}\n onBlur={handleSearchBlur}\n onKeyDown={handleSearchKeyDown}\n />\n </div>\n )}\n\n {offersFilterPanel && (\n <ResourceLayout_FiltersTrigger\n activeCount={activeFilterCount}\n isExpanded={filtersExpanded}\n onToggle={() => setFiltersExpanded(prev => !prev)}\n />\n )}\n\n {hasSort && (\n <ResourceLayout_SortControl\n resourceType={resourceType}\n sortFields={sort!.sortFields}\n currentSorts={sort!.sortStates}\n onSortChange={sort!.onSortChange}\n />\n )}\n\n {/* ── Selection summary (leading, beside the refine controls) ──\n \"N selected\" + clear. Local to this list; there is no global floating selection display.\n The CLUSTER stays mounted at count 0 — it is nothing but an sr-only live region there,\n and that region has to pre-exist the first selection or the 0→1 announcement is lost\n (see `CollectionSelectionControls`). Only the DIVIDER is conditional, so an empty\n selection does not draw a separator with nothing after it. */}\n {selection && (\n <>\n {selection.count > 0 && <div className=\"h-5 w-px bg-border\" aria-hidden=\"true\" />}\n <CollectionSelectionControls\n count={selection.count}\n onClear={selection.onClear}\n {...(selection.matchAllOffer ? { matchAllOffer: selection.matchAllOffer } : {})}\n {...(selection.isMatchAllSelected ? { isMatchAllSelected: true } : {})}\n />\n </>\n )}\n\n {/* ── View + act cluster (trailing) ── the bulk actions CONTEXTUALLY\n replace the primary (Create) action while a selection is active. */}\n {(viewMode || primaryAction || bulkActions || collectionActions) && (\n <div className=\"flex items-center gap-element ms-auto\">\n {viewMode && (\n <ResourceViewModeToggle\n viewMode={viewMode.viewMode}\n onViewModeChange={viewMode.onViewModeChange}\n />\n )}\n {/* Whole-scope maintenance actions (retry all / purge all) sit before\n the create/bulk slot and are not swapped out by a selection. */}\n {collectionActions}\n {selection && selection.count > 0 && bulkActions ? bulkActions : primaryAction}\n </div>\n )}\n </div>\n\n {offersFilterPanel && filtersExpanded && (\n <ResourceLayout_FiltersPanel\n resourceType={resourceType}\n filterFields={filterFields}\n currentFilters={filterValues}\n onFiltersChange={onFiltersChange}\n />\n )}\n\n {hasFilters && (\n <ResourceLayout_FilterChips\n resourceType={resourceType}\n filterFields={filterFields}\n currentFilters={filterValues}\n onFiltersChange={onFiltersChange}\n />\n )}\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"ResourceCollectionToolbar.js","sourceRoot":"","sources":["../../../../../src/components/resources/ResourceCollectionToolbar.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * ResourceCollectionToolbar — the shared, zoned control region for every resource\n * collection view (LIST cards, LIST table, SEARCH).\n *\n * Layout — TWO lines, and the second one changes meaning with the selection:\n * [ status: segmented quick filter ] ← which slice of the collection\n * [ ☐ · search · filters · sort │ preset pills ] ──── [ view-mode · collection actions · Create ]\n * [ filters panel (when expanded, full-width) ]\n * [ active filter chips — only for filters nothing above already shows ]\n *\n * With rows selected, the action row BECOMES the selection bar:\n * [ ☑ · \"2 selected\" · clear ] ─────────────────────── [ collection actions · bulk actions ]\n *\n * ## Why this shape (2026-09-30)\n *\n * The toolbar used to stack up to five independent bands — status tabs, preset pills, the\n * search/sort/actions row, chips, and a select-all band — each choosing its own control style.\n * Measured on Wonder Todos: 172px of controls before the first of two rows, 248px once two rows\n * were selected, and at 638px the \"N selected\" count and the bulk actions it drives wrapped onto\n * different lines because they lived in two different flex zones.\n *\n * - The PRESET PILLS sit in the refine row because they ARE refinements: the same row that holds\n * search and sort, rather than a band of their own in a second visual language.\n * - The SELECT-ALL leads the row, inset into the rows' checkbox column (`CollectionSelectAllCheckbox`).\n * - A selection turns the row into the selection bar, and that row does NOT wrap: the count and the\n * actions it drives stay on one line. When they do not fit, the bulk actions are drawn denser —\n * icons, then the first two with the rest behind \"⋯\" — rather than dropping below the count\n * (`collection-selection-bar-density`). The row's refine controls (search, filters, sort, presets),\n * an open filters panel, view mode, whole-scope actions and Create step aside while it lasts: none\n * of them acts on the selected rows. The quick filter above and the active-filter chips below stay;\n * changing either redefines the rows, and the list then CLEARS the selection rather than leaving it\n * on rows that moved. This is the contextual action bar of Gmail, GitHub and Material's top app bar.\n * - Every refine trigger is a bare (ghost) icon with a tooltip; labels belong to Create and to the\n * bulk actions, the two places a person commits to something.\n *\n * Below a narrow container width (`NARROW_TOOLBAR_CONTAINER`), the pills take their own line at\n * the end of the row, and the quick filter becomes a select (see `ResourceCollectionQuickFilterTabs`).\n * A container query, not a viewport one: the same list renders in a full page and in a split pane.\n *\n * The search is an expand-on-focus field: collapsed it reads as a search icon\n * (icon-width), and it animates open to a full field when focused — the width\n * transition is driven by the theme motion tokens (`--motion-duration-*` /\n * `--motion-easing-*`) and respects `prefers-reduced-motion`, so any theme retunes\n * the speed/curve. Filters and sort sit beside it as compact icon controls.\n *\n * The total item count is intentionally NOT shown here — the pagination footer\n * owns the total (\"Showing X–Y of Z\") to keep a single source of truth.\n *\n * Presentational + slot-based: it owns only its own ephemeral UI state (search\n * expand, filters-panel expand). All data/state/handlers are supplied by the\n * collection host, so the same toolbar serves cards, table, and search.\n */\n\nimport React, { useCallback, useRef, useState } from 'react';\nimport { cn } from '~wildo-frontend-lib/core/ui/cn';\nimport { FrontendComponentType, ButtonSize } from '@wildo-ai/presets-components-models';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport { useIconRegistry } from '~wildo-frontend-lib/core/icons/useIconRegistry';\nimport { StandardIconReference, IconSize } from '~wildo-frontend-lib/core/icons/icon-registry.frontend.schemas';\nimport { Button, ButtonVariants_Variant } from '~wildo-frontend-lib/components/actions/button';\nimport { InlineSearchInput } from './InlineSearchInput';\nimport {\n ResourceLayout_FiltersTrigger,\n ResourceLayout_FiltersPanel,\n countActiveFilters,\n type FilterFieldDefinition,\n type FilterValues,\n} from './ResourceLayout_FiltersControl';\nimport { ResourceLayout_FilterChips } from './ResourceLayout_FilterChips';\nimport { ResourceCollectionQuickFilterTabs } from './ResourceCollectionQuickFilterTabs';\nimport { ResourceCollectionFilterPresets } from './ResourceCollectionFilterPresets';\nimport { ResourceLayout_SortControl, type SortState } from './ResourceLayout_SortControl';\nimport { ResourceViewModeToggle } from './ResourceViewModeToggle';\nimport { CollectionSelectionControls } from './CollectionSelectionControls';\nimport { CollectionSelectAllCheckbox, type CollectionSelectAllState } from './CollectionSelectAllCheckbox';\nimport { CollectionSelectionBarDensityProvider, SelectionBarBackgroundRunState, useMeasuredSelectionBarDensity, useSelectionBarBulkHost } from './collection-selection-bar-density';\nimport { CollectionDisplayMode, CollectionFilterPanelVisibility, type CollectionFilterPreset } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\n\n/**\n * Width transition for the expand-on-focus search field. Timing + curve come from\n * the theme motion tokens (so a theme retunes them); suppressed under\n * `prefers-reduced-motion` (the field still opens, just instantly).\n */\nconst SEARCH_WIDTH_TRANSITION =\n 'motion-safe:transition-[width] motion-safe:duration-[var(--motion-duration-normal)] motion-safe:ease-[var(--motion-easing-default)] motion-reduce:transition-none';\n\n/**\n * The toolbar's own container, named so the narrow-width rules below answer to the TOOLBAR's width,\n * not the viewport's: a list in a 380px split pane on a wide screen is narrow, the same list on a\n * full page is not.\n */\nconst TOOLBAR_CONTAINER_CLASS = '@container/collection-toolbar';\n/**\n * Below this toolbar width the preset pills leave the action row for a line of their own, and the\n * divider that separated them from the refine icons goes with them. 32rem is where the row's usual\n * contents (select-all, three icons, three pills, an export icon and Create) stop fitting on one line.\n */\nconst PRESETS_NARROW_CLASS = '@max-[32rem]/collection-toolbar:order-last @max-[32rem]/collection-toolbar:basis-full';\nconst PRESETS_DIVIDER_NARROW_CLASS = '@max-[32rem]/collection-toolbar:hidden';\n\n/**\n * The two meanings of the toolbar's action row, published as `data-mode` on it. Named because tests and\n * browser drives address the row by it, and a bare string pair has nowhere to say what each one means.\n */\nexport enum CollectionToolbarRowMode {\n /** At rest: select-all, the refine controls and the pills, then view mode, collection actions and Create. */\n REFINE = 'refine',\n /** Rows selected: select-all, the count and clear, then the bulk actions. Nothing else. */\n SELECTION = 'selection',\n}\n\nexport interface ResourceCollectionToolbarSearch {\n query: string;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onClear: () => void;\n}\n\nexport interface ResourceCollectionToolbarSort {\n sortFields: readonly string[];\n /** Active sort rules, highest priority first (empty = no sorting). */\n sortStates: readonly SortState[];\n onSortChange: (sorts: SortState[]) => void;\n}\n\nexport interface ResourceCollectionToolbarViewMode {\n viewMode: CollectionDisplayMode;\n onViewModeChange: (mode: CollectionDisplayMode) => void;\n}\n\nexport interface ResourceCollectionToolbarSelection {\n /** Number of currently-selected items. */\n count: number;\n /** Clear the whole selection. */\n onClear: () => void;\n /**\n * Offered by the host when every row on the page is selected and the listing matches more rows\n * than the page holds — see `CollectionSelectionControls`, which owns the wording and the rule\n * about when it appears.\n */\n matchAllOffer?: { matchedCount: number; onSelectAllMatching: () => void };\n /** True once the selection IS the query rather than a set of ticked rows. */\n isMatchAllSelected?: boolean;\n}\n\n/**\n * The CARDS-mode select-all, rendered first in the action row (see `CollectionSelectAllCheckbox`).\n * Omit it in TABLE mode, where the table's own header cell is the select-all of its column.\n */\nexport interface ResourceCollectionToolbarSelectAll {\n state: CollectionSelectAllState;\n onToggle: () => void;\n}\n\nexport interface ResourceCollectionToolbarQuickFilter {\n /** The promoted enum filter field (see `collectionDisplayConfig.quickFilterField`). */\n field: FilterFieldDefinition;\n /** Current filter value for the field — `undefined` = the \"All\" tab. */\n value: string | undefined;\n /** Set (or clear, with `undefined`) the promoted field's filter value. */\n onChange: (value: string | undefined) => void;\n}\n\nexport interface ResourceCollectionToolbarProps {\n /** Resource type for i18n label resolution. */\n resourceType: string;\n /**\n * Quick-filter tab strip (\"All · <value> · …\") rendered above the toolbar\n * row — a promoted enum filter that shares the collection's filter state.\n * The host must EXCLUDE the promoted field from `filterFields` so the panel\n * and the tabs never render competing controls for the same field.\n */\n quickFilter?: ResourceCollectionToolbarQuickFilter;\n /**\n * Named one-click narrowings, rendered as toggleable pills between the quick-filter tabs and the\n * toolbar row. They share this toolbar's `filterValues`/`onFiltersChange`, so a pill and the\n * filters panel are two views of one state and cannot disagree.\n */\n presetFilters?: readonly CollectionFilterPreset[];\n /** Inline search state — omit to hide the search affordance entirely. */\n search?: ResourceCollectionToolbarSearch;\n /** Filter fields + state. Trigger/panel/chips are hidden when there are none. */\n filterFields: readonly FilterFieldDefinition[];\n /**\n * Whether the \"Filters\" trigger and its panel are offered (see `collectionDisplayConfig.filterPanel`).\n * Omitted means OFFERED. HIDDEN removes only the trigger and panel — the chips stay, so an active\n * filter is never invisible.\n */\n filterPanel?: CollectionFilterPanelVisibility;\n filterValues: FilterValues;\n onFiltersChange: (filters: FilterValues) => void;\n /**\n * Sort state — omit to hide the toolbar sort control (e.g. TABLE mode, where\n * sorting lives in the column headers).\n */\n sort?: ResourceCollectionToolbarSort;\n /** View-mode toggle — omit when only one display is available. */\n viewMode?: ResourceCollectionToolbarViewMode;\n /** Primary action node (e.g. the Create button), placed at the trailing edge. */\n primaryAction?: React.ReactNode;\n /**\n * Selection SUMMARY — omit for non-selectable collections. While a selection is active, the\n * \"N selected\" + clear cluster leads the action row, which has become the selection bar.\n */\n selection?: ResourceCollectionToolbarSelection;\n /** The cards-mode select-all, first in the action row. Omit in TABLE mode (its header cell selects). */\n selectAll?: ResourceCollectionToolbarSelectAll;\n /**\n * Bulk-action node (the contextual bulk `ActionBar`). While a selection is active\n * (`selection.count > 0`) the action row is the selection bar and this is the ONLY thing in its\n * trailing zone — Create returns when the selection clears. It reads the bar's measured density from\n * context, so it draws itself denser rather than wrapping. Local to this collection — there is no\n * global/floating bulk bar.\n */\n bulkActions?: React.ReactNode;\n /**\n * Collection-scoped action node (e.g. the `ResourceLayout_CollectionActions`\n * bar for whole-scope \"export\", \"retry all\" / \"purge all\"). Rendered in the trailing zone\n * before the primary action. Collection actions target the whole scope, so they step aside\n * while rows are selected, when the action row is the selection bar and every action on it\n * must mean \"these rows\". Omit when the resource has no collection-scoped operations.\n */\n collectionActions?: React.ReactNode;\n /** Additional CSS classes for the toolbar region. */\n className?: string;\n}\n\nexport const ResourceCollectionToolbar = ({\n resourceType,\n quickFilter,\n presetFilters,\n search,\n filterFields,\n filterPanel = CollectionFilterPanelVisibility.OFFERED,\n filterValues,\n onFiltersChange,\n sort,\n viewMode,\n primaryAction,\n selection,\n selectAll,\n bulkActions,\n collectionActions,\n className,\n}: ResourceCollectionToolbarProps): React.JSX.Element => {\n const [searchExpanded, setSearchExpanded] = useState(false);\n const [filtersExpanded, setFiltersExpanded] = useState(false);\n const { tComponent } = useI18n({ component: FrontendComponentType.RESOURCES_LAYOUTS_LIST });\n const { renderIcon } = useIconRegistry();\n const searchPlaceholder = tComponent(FrontendComponentType.RESOURCES_LAYOUTS_LIST, 'searchPlaceholder');\n\n const handleSearchBlur = useCallback((e: React.FocusEvent<HTMLInputElement>) => {\n // Collapse back to the icon only when leaving an EMPTY field — an active\n // query keeps the field open so the filter stays obvious.\n if (!e.currentTarget.value) setSearchExpanded(false);\n }, []);\n\n const handleSearchKeyDown = useCallback((e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Escape') {\n search?.onClear();\n setSearchExpanded(false);\n e.currentTarget.blur();\n }\n }, [search]);\n\n const hasFilters = filterFields.length > 0;\n // The panel is a separate question from the chips: HIDDEN withdraws the trigger and the panel, and\n // leaves the chips — the readout of what is narrowing the list — exactly where they were.\n const offersFilterPanel = hasFilters && filterPanel !== CollectionFilterPanelVisibility.HIDDEN;\n const hasSort = !!sort && sort.sortFields.length > 0;\n // Count ONLY the panel's own fields. `filterValues` also carries the promoted\n // quick-filter field's value (it shares this state object) but that field is\n // rendered as the tab strip, not in the panel/chips — counting it here would\n // show \"Filters (1)\" for a selected quick-filter tab while the opened panel is\n // empty. Scoping to `filterFields` keeps the badge in sync with the panel.\n const activeFilterCount = countActiveFilters(filterValues, filterFields.map(f => f.fieldName));\n const isSearchOpen = !!search && (searchExpanded || !!search.query);\n\n // The action row's two meanings. While rows are selected it is the selection bar: the row's refine\n // controls, and an open filters panel whose trigger they include, step aside, and the bulk actions\n // take Create's place. The panel keeps its open state and comes back when the selection ends.\n const isSelecting = !!selection && selection.count > 0;\n const hasPresets = !!presetFilters && presetFilters.length > 0;\n // The selection bar never wraps: it measures, and draws the bulk actions denser until they fit\n // beside the count (see `collection-selection-bar-density`).\n const rowRef = useRef<HTMLDivElement>(null);\n const bulkBar = useMeasuredSelectionBarDensity(rowRef, isSelecting);\n // The bulk bar outlives the selection, because a background run it starts clears the selection and\n // reports its progress afterwards (`useSelectionBarBulkHost`, #1461).\n const bulkHost = useSelectionBarBulkHost(isSelecting);\n\n return (\n <div className={cn(TOOLBAR_CONTAINER_CLASS, 'flex flex-col gap-element-sm', className)} data-slot=\"collection-toolbar\">\n {/* ── Line 1: the quick filter — which slice of the collection this is ── */}\n {quickFilter && (\n <ResourceCollectionQuickFilterTabs\n resourceType={resourceType}\n field={quickFilter.field}\n value={quickFilter.value}\n onChange={quickFilter.onChange}\n />\n )}\n\n {/* ── Line 2: the action row — refine and act, or, with rows selected, the selection bar ── */}\n <div\n ref={rowRef}\n className={cn('flex items-center gap-element', isSelecting ? 'flex-nowrap' : 'flex-wrap')}\n data-slot=\"collection-toolbar-row\"\n data-mode={isSelecting ? CollectionToolbarRowMode.SELECTION : CollectionToolbarRowMode.REFINE}\n >\n {selectAll && <CollectionSelectAllCheckbox state={selectAll.state} onToggle={selectAll.onToggle} />}\n\n {!isSelecting && (\n <>\n {/* Collapsed search is a REAL icon button, not a width-clipped input: clipping a bordered\n InputRoot to icon width leaked a sheared slice of the input box behind the icon. The\n button expands to the field on click; the field keeps the animated width while open and\n collapses back on empty-blur / Escape. */}\n {search && !isSearchOpen && (\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.GHOST}\n size={ButtonSize.ICON_SM}\n onClick={() => setSearchExpanded(true)}\n aria-label={searchPlaceholder}\n title={searchPlaceholder}\n data-slot=\"collection-toolbar-search-trigger\"\n >\n {renderIcon(StandardIconReference.SEARCH, { size: IconSize.SM })}\n </Button>\n )}\n {search && isSearchOpen && (\n <div\n className={cn('overflow-hidden shrink-0 w-64 max-w-full', SEARCH_WIDTH_TRANSITION)}\n data-state=\"open\"\n >\n <InlineSearchInput\n query={search.query}\n onChange={search.onChange}\n onClear={search.onClear}\n resourceType={resourceType}\n autoFocus\n onFocus={() => setSearchExpanded(true)}\n onBlur={handleSearchBlur}\n onKeyDown={handleSearchKeyDown}\n />\n </div>\n )}\n\n {offersFilterPanel && (\n <ResourceLayout_FiltersTrigger\n activeCount={activeFilterCount}\n isExpanded={filtersExpanded}\n onToggle={() => setFiltersExpanded(prev => !prev)}\n />\n )}\n\n {hasSort && (\n <ResourceLayout_SortControl\n resourceType={resourceType}\n sortFields={sort!.sortFields}\n currentSorts={sort!.sortStates}\n onSortChange={sort!.onSortChange}\n />\n )}\n\n {/* ── Preset pills — refinements, so they sit with the refine controls. Their own line\n below a narrow container, at the END of the row so Create keeps its place. ── */}\n {hasPresets && (\n <>\n <div className={cn('h-5 w-px bg-border', PRESETS_DIVIDER_NARROW_CLASS)} aria-hidden=\"true\" />\n <ResourceCollectionFilterPresets\n resourceType={resourceType}\n presets={presetFilters!}\n currentFilters={filterValues}\n onFiltersChange={onFiltersChange}\n className={PRESETS_NARROW_CLASS}\n />\n </>\n )}\n </>\n )}\n\n {/* ── Selection summary: \"N selected\" + clear, leading the selection bar ──\n The cluster stays mounted at count 0: it is nothing but an sr-only live region there, and\n that region has to pre-exist the first selection or the 0→1 announcement is lost (see\n `CollectionSelectionControls`). */}\n {selection && (\n <CollectionSelectionControls\n className=\"shrink-0\"\n count={selection.count}\n onClear={selection.onClear}\n {...(selection.matchAllOffer ? { matchAllOffer: selection.matchAllOffer } : {})}\n {...(selection.isMatchAllSelected ? { isMatchAllSelected: true } : {})}\n />\n )}\n\n {/* ── Act cluster (trailing): view mode and Create at rest; the bulk actions while selecting ── */}\n {(viewMode || primaryAction || bulkActions || collectionActions) && (\n <div className=\"flex min-w-0 items-center gap-element ms-auto\">\n {viewMode && !isSelecting && (\n <ResourceViewModeToggle\n viewMode={viewMode.viewMode}\n onViewModeChange={viewMode.onViewModeChange}\n />\n )}\n {/* Whole-scope actions (export the listing, retry all / purge all) sit before Create, and\n step aside while rows are selected: beside the bulk actions a whole-scope \"export\"\n reads as \"export these\", which it is not. Measured on Wonder Todos (2026-09-30): the\n collection export's bare icon led the selection bar's labelled bulk actions. */}\n {!isSelecting && collectionActions}\n {/* While selecting, ONLY the bulk actions — never Create, which acts on no row. When no\n bulk action applies to the selection the bar holds just the count and clear, which is\n the true answer to \"what can I do with these?\". */}\n {/* The bulk bar stays mounted once a selection has been made: at rest it draws nothing, and\n while a background run it started is working it draws the progress in Create's place. */}\n {bulkActions && bulkHost.isBulkBarMounted && (\n <CollectionSelectionBarDensityProvider\n density={bulkBar.density}\n onActionSetChange={bulkBar.reportActionSet}\n onBackgroundRunChange={bulkHost.onBackgroundRunChange}\n >\n {bulkActions}\n </CollectionSelectionBarDensityProvider>\n )}\n {!isSelecting && bulkHost.backgroundRunState !== SelectionBarBackgroundRunState.WORKING && primaryAction}\n </div>\n )}\n </div>\n\n {offersFilterPanel && filtersExpanded && !isSelecting && (\n <ResourceLayout_FiltersPanel\n resourceType={resourceType}\n filterFields={filterFields}\n currentFilters={filterValues}\n onFiltersChange={onFiltersChange}\n />\n )}\n\n {hasFilters && (\n <ResourceLayout_FilterChips\n resourceType={resourceType}\n filterFields={filterFields}\n currentFilters={filterValues}\n onFiltersChange={onFiltersChange}\n {...(presetFilters ? { presetFilters } : {})}\n />\n )}\n </div>\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceLayout_Action.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/resources/ResourceLayout_Action.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,4BAA4B,EAAE,mBAAmB,EAsB7D,CAAC"}
1
+ {"version":3,"file":"ResourceLayout_Action.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/resources/ResourceLayout_Action.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,4BAA4B,EAAE,mBAAmB,EA2B7D,CAAC"}
@@ -19,6 +19,11 @@ export const ResourcesLayoutsActionLabels = [
19
19
  purpose: 'In-flight status label shown while a named action is executing',
20
20
  params: [{ key: 'actionLabel', meaning: 'human-readable name of the action being executed' }],
21
21
  },
22
+ {
23
+ ref: 'operationSentForApproval',
24
+ kind: LabelKind.MESSAGE,
25
+ purpose: 'Told to someone whose action now WAITS for another person\'s approval: nothing has changed yet, and it applies only when someone allowed to approve it does. Must not read as a completed or a refused action',
26
+ },
22
27
  {
23
28
  ref: 'executionFailed',
24
29
  kind: LabelKind.MESSAGE,
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceLayout_Action.labels.js","sourceRoot":"","sources":["../../../../../src/components/resources/ResourceLayout_Action.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAA4B,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE1I,2EAA2E;AAC3E,6EAA6E;AAC7E,+EAA+E;AAE/E,MAAM,CAAC,MAAM,4BAA4B,GAA0B;IACjE;QACE,GAAG,EAAE,gBAAgB;QACrB,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,OAAO,EAAE,uFAAuF;KACjG;IACD;QACE,GAAG,EAAE,WAAW;QAChB,IAAI,EAAE,SAAS,CAAC,MAAM;QACtB,OAAO,EAAE,oEAAoE;KAC9E;IACD;QACE,GAAG,EAAE,eAAe;QACpB,IAAI,EAAE,SAAS,CAAC,KAAK;QACrB,OAAO,EAAE,gEAAgE;QACzE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC;KAC9F;IACD;QACE,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,OAAO,EAAE,gEAAgE;KAC1E;CACF,CAAC;AACF,uBAAuB,CAAC,qBAAqB,CAAC,wBAAwB,EAAE,4BAA4B,CAAC,CAAC","sourcesContent":["import { FrontendComponentType, LabelKind, type LabellingUnitaryDef, registerComponentLabels } from '@wildo-ai/presets-components-models';\n\n// Companion-only label metadata for this component: keys + params + (where\n// authored) per-key purpose / kind / variable meaning. Statically scanned by\n// the dev companion; NOT imported at runtime, so it never ships in the bundle.\n\nexport const ResourcesLayoutsActionLabels: LabellingUnitaryDef[] = [\n {\n ref: 'confirmMessage',\n kind: LabelKind.MESSAGE,\n purpose: 'Confirmation prompt shown before running an operation that carries no request payload',\n },\n {\n ref: 'runAction',\n kind: LabelKind.BUTTON,\n purpose: 'Generic fallback trigger label for a zero-input resource operation',\n },\n {\n ref: 'runningAction',\n kind: LabelKind.LABEL,\n purpose: 'In-flight status label shown while a named action is executing',\n params: [{ key: 'actionLabel', meaning: 'human-readable name of the action being executed' }],\n },\n {\n ref: 'executionFailed',\n kind: LabelKind.MESSAGE,\n purpose: 'Fallback error message when a resource action fails at runtime',\n },\n];\nregisterComponentLabels(FrontendComponentType.RESOURCES_LAYOUTS_ACTION, ResourcesLayoutsActionLabels);\n"]}
1
+ {"version":3,"file":"ResourceLayout_Action.labels.js","sourceRoot":"","sources":["../../../../../src/components/resources/ResourceLayout_Action.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAA4B,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE1I,2EAA2E;AAC3E,6EAA6E;AAC7E,+EAA+E;AAE/E,MAAM,CAAC,MAAM,4BAA4B,GAA0B;IACjE;QACE,GAAG,EAAE,gBAAgB;QACrB,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,OAAO,EAAE,uFAAuF;KACjG;IACD;QACE,GAAG,EAAE,WAAW;QAChB,IAAI,EAAE,SAAS,CAAC,MAAM;QACtB,OAAO,EAAE,oEAAoE;KAC9E;IACD;QACE,GAAG,EAAE,eAAe;QACpB,IAAI,EAAE,SAAS,CAAC,KAAK;QACrB,OAAO,EAAE,gEAAgE;QACzE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC;KAC9F;IACD;QACE,GAAG,EAAE,0BAA0B;QAC/B,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,OAAO,EAAE,+MAA+M;KACzN;IACD;QACE,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,OAAO,EAAE,gEAAgE;KAC1E;CACF,CAAC;AACF,uBAAuB,CAAC,qBAAqB,CAAC,wBAAwB,EAAE,4BAA4B,CAAC,CAAC","sourcesContent":["import { FrontendComponentType, LabelKind, type LabellingUnitaryDef, registerComponentLabels } from '@wildo-ai/presets-components-models';\n\n// Companion-only label metadata for this component: keys + params + (where\n// authored) per-key purpose / kind / variable meaning. Statically scanned by\n// the dev companion; NOT imported at runtime, so it never ships in the bundle.\n\nexport const ResourcesLayoutsActionLabels: LabellingUnitaryDef[] = [\n {\n ref: 'confirmMessage',\n kind: LabelKind.MESSAGE,\n purpose: 'Confirmation prompt shown before running an operation that carries no request payload',\n },\n {\n ref: 'runAction',\n kind: LabelKind.BUTTON,\n purpose: 'Generic fallback trigger label for a zero-input resource operation',\n },\n {\n ref: 'runningAction',\n kind: LabelKind.LABEL,\n purpose: 'In-flight status label shown while a named action is executing',\n params: [{ key: 'actionLabel', meaning: 'human-readable name of the action being executed' }],\n },\n {\n ref: 'operationSentForApproval',\n kind: LabelKind.MESSAGE,\n purpose: 'Told to someone whose action now WAITS for another person\\'s approval: nothing has changed yet, and it applies only when someone allowed to approve it does. Must not read as a completed or a refused action',\n },\n {\n ref: 'executionFailed',\n kind: LabelKind.MESSAGE,\n purpose: 'Fallback error message when a resource action fails at runtime',\n },\n];\nregisterComponentLabels(FrontendComponentType.RESOURCES_LAYOUTS_ACTION, ResourcesLayoutsActionLabels);\n"]}
@@ -37,12 +37,30 @@
37
37
  * is available in `contextResourceIdentifiers`.
38
38
  */
39
39
  import React from 'react';
40
+ import { type FrontendResourceOperationContext } from '../../core/resources/resources.frontend.schemas';
41
+ import type { FrontendResource_ParentResourceRequirement } from '../../core/resources/resource-path.frontend.schemas';
40
42
  import { ComponentPresetProps } from '../../core/components-registry/component-registry.frontend.schemas';
41
43
  import { BaseResourcesLayoutProps } from './component-props.resources-layout.frontend.schemas';
42
44
  export interface ResourceLayoutPreset_Breadcrumb_DefaultProps extends BaseResourcesLayoutProps {
43
45
  /** Maximum depth of breadcrumb segments (loop prevention). Default: 5 */
44
46
  maxDepth?: number;
45
47
  }
48
+ /**
49
+ * The ancestors the breadcrumb names, root first: one per distinct parent requirement (keyed by foreign key, so a
50
+ * self-referencing parent and the record itself do not collide), the primary scope excluded, at most `maxDepth`.
51
+ *
52
+ * Exported so the record header can ask what the trail it shows already names: a parent the breadcrumb names is not
53
+ * repeated as a chip in the facts line below it (decided 2026-10-01).
54
+ */
55
+ export declare function deriveBreadcrumbAncestors(params: {
56
+ parentResourcesRequirements: FrontendResource_ParentResourceRequirement[] | null | undefined;
57
+ contextResourceIdentifiers: FrontendResourceOperationContext['contextResourceIdentifiers'];
58
+ maxDepth?: number;
59
+ }): Array<{
60
+ resourceType: string;
61
+ resourceId: string;
62
+ ancestorRequirements: FrontendResource_ParentResourceRequirement[];
63
+ }>;
46
64
  export declare const ResourceLayoutPreset_Breadcrumb_Default: React.FC<ResourceLayoutPreset_Breadcrumb_DefaultProps>;
47
65
  export declare function ResourceLayout_Breadcrumb({ preset, ...props }: ResourceLayoutPreset_Breadcrumb_DefaultProps & ComponentPresetProps): React.JSX.Element;
48
66
  //# sourceMappingURL=ResourceLayout_Breadcrumb.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceLayout_Breadcrumb.d.ts","sourceRoot":"","sources":["../../../../../src/components/resources/ResourceLayout_Breadcrumb.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAA+C,MAAM,OAAO,CAAC;AAsBpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kFAAkF,CAAA;AAGvH,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAA;AAG9F,MAAM,WAAW,4CAA6C,SAAQ,wBAAwB;IAC5F,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAoDD,eAAO,MAAM,uCAAuC,EAAE,KAAK,CAAC,EAAE,CAAC,4CAA4C,CAgV1G,CAAC;AAOF,wBAAgB,yBAAyB,CAAC,EAAE,MAAgC,EAAE,GAAG,KAAK,EAAE,EAAE,4CAA4C,GAAG,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAGhL"}
1
+ {"version":3,"file":"ResourceLayout_Breadcrumb.d.ts","sourceRoot":"","sources":["../../../../../src/components/resources/ResourceLayout_Breadcrumb.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAA+C,MAAM,OAAO,CAAC;AAOpE,OAAO,EAA+C,KAAK,gCAAgC,EAAE,MAAM,+DAA+D,CAAC;AACnK,OAAO,KAAK,EAAE,0CAA0C,EAAE,MAAM,mEAAmE,CAAC;AAcpI,OAAO,EAAE,oBAAoB,EAAE,MAAM,kFAAkF,CAAA;AAGvH,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAA;AAG9F,MAAM,WAAW,4CAA6C,SAAQ,wBAAwB;IAC5F,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAoDD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,2BAA2B,EAAE,0CAA0C,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7F,0BAA0B,EAAE,gCAAgC,CAAC,4BAA4B,CAAC,CAAC;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,0CAA0C,EAAE,CAAA;CAAE,CAAC,CAqD1H;AAED,eAAO,MAAM,uCAAuC,EAAE,KAAK,CAAC,EAAE,CAAC,4CAA4C,CA+R1G,CAAC;AAOF,wBAAgB,yBAAyB,CAAC,EAAE,MAAgC,EAAE,GAAG,KAAK,EAAE,EAAE,4CAA4C,GAAG,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAGhL"}
@@ -77,6 +77,61 @@ function buildSegmentContextIdentifiers(params) {
77
77
  // =============================================================================
78
78
  // COMPONENT
79
79
  // =============================================================================
80
+ /**
81
+ * The ancestors the breadcrumb names, root first: one per distinct parent requirement (keyed by foreign key, so a
82
+ * self-referencing parent and the record itself do not collide), the primary scope excluded, at most `maxDepth`.
83
+ *
84
+ * Exported so the record header can ask what the trail it shows already names: a parent the breadcrumb names is not
85
+ * repeated as a chip in the facts line below it (decided 2026-10-01).
86
+ */
87
+ export function deriveBreadcrumbAncestors(params) {
88
+ const { parentResourcesRequirements, contextResourceIdentifiers, maxDepth = 5 } = params;
89
+ if (!parentResourcesRequirements || parentResourcesRequirements.length === 0)
90
+ return [];
91
+ const segments = [];
92
+ // Use FK field (or resource type) as dedupe key — allows one entry per distinct FK,
93
+ // so self-ref parents (e.g., parentUnitId) and the resource itself (unitId) don't collide.
94
+ const seenKeys = new Set();
95
+ const resolvedRequirementChain = [];
96
+ for (const req of parentResourcesRequirements) {
97
+ const dedupeKey = req.foreignKeyField || req.resourceType;
98
+ if (seenKeys.has(dedupeKey))
99
+ continue;
100
+ seenKeys.add(dedupeKey);
101
+ if (segments.length >= maxDepth)
102
+ break;
103
+ // For self-ref parents (FK-keyed), look up by FK field name in contextResourceIdentifiers.
104
+ // For normal parents, look up by resource type.
105
+ let resourceId;
106
+ if (req.foreignKeyField && contextResourceIdentifiers[req.foreignKeyField]) {
107
+ const entry = contextResourceIdentifiers[req.foreignKeyField];
108
+ resourceId = typeof entry === 'string' ? entry : entry.resourceId;
109
+ }
110
+ else {
111
+ const identifier = contextResourceIdentifiers[req.resourceType];
112
+ if (!identifier)
113
+ continue;
114
+ resourceId = typeof identifier === 'string' ? identifier : identifier.resourceId;
115
+ }
116
+ if (resourceId) {
117
+ // PRIMARY-SCOPE anchor (the tenant / user scope): ambient context owned
118
+ // by the quick-switcher, not a navigational ancestor — NEVER rendered
119
+ // as a crumb (2026-08-19; on scope-level pages this leaves the trail
120
+ // empty and the breadcrumb self-hides). It still joins the resolved
121
+ // requirement chain so DEEPER crumbs keep resolving their routes and
122
+ // context — their URLs still carry the scope segment.
123
+ if (!req.isPrimaryScope) {
124
+ segments.push({
125
+ resourceType: req.resourceType,
126
+ resourceId,
127
+ ancestorRequirements: [...resolvedRequirementChain],
128
+ });
129
+ }
130
+ resolvedRequirementChain.push(req);
131
+ }
132
+ }
133
+ return segments;
134
+ }
80
135
  export const ResourceLayoutPreset_Breadcrumb_Default = ({ resourceContext, navigationZone, navigationInitiator, maxDepth = 5, }) => {
81
136
  const { resourceType, contextResourceIdentifiers, parentResourcesRequirements } = resourceContext;
82
137
  const { registry, doOperation } = useResourceRegistry();
@@ -85,54 +140,8 @@ export const ResourceLayoutPreset_Breadcrumb_Default = ({ resourceContext, navig
85
140
  // A stable ref, so the label fetch does not re-run when `doOperation` changes identity.
86
141
  const doOperationRef = useRef(doOperation);
87
142
  doOperationRef.current = doOperation;
88
- // Build ordered parent segments from parentResourcesRequirements
89
- const parentSegments = useMemo(() => {
90
- if (!parentResourcesRequirements || parentResourcesRequirements.length === 0)
91
- return [];
92
- const segments = [];
93
- // Use FK field (or resource type) as dedupe key — allows one entry per distinct FK,
94
- // so self-ref parents (e.g., parentUnitId) and the resource itself (unitId) don't collide.
95
- const seenKeys = new Set();
96
- const resolvedRequirementChain = [];
97
- for (const req of parentResourcesRequirements) {
98
- const dedupeKey = req.foreignKeyField || req.resourceType;
99
- if (seenKeys.has(dedupeKey))
100
- continue;
101
- seenKeys.add(dedupeKey);
102
- if (segments.length >= maxDepth)
103
- break;
104
- // For self-ref parents (FK-keyed), look up by FK field name in contextResourceIdentifiers.
105
- // For normal parents, look up by resource type.
106
- let resourceId;
107
- if (req.foreignKeyField && contextResourceIdentifiers[req.foreignKeyField]) {
108
- const entry = contextResourceIdentifiers[req.foreignKeyField];
109
- resourceId = typeof entry === 'string' ? entry : entry.resourceId;
110
- }
111
- else {
112
- const identifier = contextResourceIdentifiers[req.resourceType];
113
- if (!identifier)
114
- continue;
115
- resourceId = typeof identifier === 'string' ? identifier : identifier.resourceId;
116
- }
117
- if (resourceId) {
118
- // PRIMARY-SCOPE anchor (the tenant / user scope): ambient context owned
119
- // by the quick-switcher, not a navigational ancestor — NEVER rendered
120
- // as a crumb (2026-08-19; on scope-level pages this leaves the trail
121
- // empty and the breadcrumb self-hides). It still joins the resolved
122
- // requirement chain so DEEPER crumbs keep resolving their routes and
123
- // context — their URLs still carry the scope segment.
124
- if (!req.isPrimaryScope) {
125
- segments.push({
126
- resourceType: req.resourceType,
127
- resourceId,
128
- ancestorRequirements: [...resolvedRequirementChain],
129
- });
130
- }
131
- resolvedRequirementChain.push(req);
132
- }
133
- }
134
- return segments;
135
- }, [parentResourcesRequirements, contextResourceIdentifiers, maxDepth]);
143
+ // The ordered ancestors the trail names — one derivation, shared with the header (`deriveBreadcrumbAncestors`).
144
+ const parentSegments = useMemo(() => deriveBreadcrumbAncestors({ parentResourcesRequirements, contextResourceIdentifiers, maxDepth }), [parentResourcesRequirements, contextResourceIdentifiers, maxDepth]);
136
145
  // State for resolved labels (async)
137
146
  const [resolvedSegments, setResolvedSegments] = useState([]);
138
147
  // Resolve labels for each parent segment
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceLayout_Breadcrumb.js","sourceRoot":"","sources":["../../../../../src/components/resources/ResourceLayout_Breadcrumb.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * ResourceLayoutPreset_Breadcrumb_Default\n *\n * Renders a breadcrumb navigation chain from the resource's parentResourcesRequirements.\n * Each segment represents a parent resource in the hierarchy chain. The trail is\n * ANCESTORS-ONLY: the current resource is deliberately not rendered as a terminal\n * crumb — the breadcrumb is the path TO the resource, and the resource's own name\n * is already the page heading directly below (2026-08-19). The PRIMARY-SCOPE\n * anchor (tenant/user) is excluded too: it is ambient context owned by the\n * quick-switcher and prefixes every page, so it carries no navigational\n * information — scope-level pages therefore render no breadcrumb at all.\n *\n * Data flow:\n * 1. parentResourcesRequirements → ordered parent chain (from route/context)\n * 2. contextResourceIdentifiers → parent IDs for each segment\n * 3. computeFrontendResourceLabel → async label resolution for each parent\n * 4. selectMatchingRoutePath → URL building for each segment\n *\n * ## Self-referencing tree support (F-12-C)\n *\n * For self-referencing hierarchies (e.g., ORGANIZATION_UNITS tree), the parent\n * requirement has the SAME resource type as the current resource, distinguished\n * by `foreignKeyField` (e.g., `parentUnitId`).\n *\n * - **Deduplication** uses `foreignKeyField || resourceType` as key instead of\n * just resource type, so a self-ref parent entry doesn't collide with different\n * parent types.\n *\n * - **ID lookup** for self-ref parents checks `contextResourceIdentifiers[foreignKeyField]`\n * (e.g., `contextResourceIdentifiers[\"parentUnitId\"]`) because `extractResourceIdentifiersFromUrlParams`\n * stores self-ref parent IDs under the FK field name to avoid key collision\n * with the resource's own entry.\n *\n * - **Depth limit**: `maxDepth` (default 5) caps segments for deep trees.\n * Multi-level tree breadcrumbs (grandparent → parent → child) require the\n * ancestor chain to be fetched from the API — only the immediate parent\n * is available in `contextResourceIdentifiers`.\n */\n\nimport React, { useEffect, useState, useRef, useMemo } from 'react';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport { resolveResourceHeaderLabel } from '~wildo-frontend-lib/core/i18n/component-label-resolution.utils';\nimport { useNavigationController } from '~wildo-frontend-lib/core/navigation/useNavigationController';\nimport { FrontendResourceUtils, frontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport { pickPreferredOperationForCoreSemanticAddressability } from '~wildo-frontend-lib/core/resources/resource-addressability.frontend.utils';\nimport { isOperationAddressable, isOperationHeadless } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport type { FrontendResource_ParentResourceRequirement } from '~wildo-frontend-lib/core/resources/resource-path.frontend.schemas';\nimport {\n CoreResourceOperation,\n ResourcesConfigOperationsUrlsBuilderUtils,\n} from '@wildo-ai/saas-models';\nimport { NavigationContentType } from '~wildo-frontend-lib/core/navigation/navigation.schemas';\nimport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbSeparator,\n} from '~wildo-frontend-lib/components/navigation/breadcrumb';\n\nimport { ComponentPresetProps } from '~wildo-frontend-lib/core/components-registry/component-registry.frontend.schemas'\nimport { createComponentResolver } from '~wildo-frontend-lib/core/components-registry/component-resolver.frontend.helper'\nimport { CorePresetNames, FrontendComponentType } from '@wildo-ai/presets-components-models'\nimport { BaseResourcesLayoutProps } from './component-props.resources-layout.frontend.schemas'\n\n// --- Contract ---\nexport interface ResourceLayoutPreset_Breadcrumb_DefaultProps extends BaseResourcesLayoutProps {\n /** Maximum depth of breadcrumb segments (loop prevention). Default: 5 */\n maxDepth?: number;\n}\n\n// =============================================================================\n// TYPES (internal)\n// =============================================================================\n\ninterface BreadcrumbSegment {\n resourceType: string;\n resourceId: string;\n ancestorRequirements: FrontendResource_ParentResourceRequirement[];\n label: string | null;\n isLoading: boolean;\n /**\n * The ancestor row as read, when the read succeeded. Its name is derived from it at render, so a name built\n * with `t` or a date formatter follows the viewer's language and regional preferences without a re-read.\n */\n record?: unknown;\n}\n\nfunction buildSegmentContextIdentifiers(params: {\n segment: Pick<BreadcrumbSegment, 'resourceType' | 'resourceId' | 'ancestorRequirements'>;\n contextResourceIdentifiers: ResourceLayoutPreset_Breadcrumb_DefaultProps['resourceContext']['contextResourceIdentifiers'];\n}): Record<string, string | { fieldIdentifier: string; resourceId: string }> {\n const segmentContextIdentifiers: Record<string, string | { fieldIdentifier: string; resourceId: string }> = {};\n for (const requirement of params.segment.ancestorRequirements) {\n const contextKey = requirement.foreignKeyField || requirement.resourceType;\n const identifier = params.contextResourceIdentifiers[contextKey] ?? params.contextResourceIdentifiers[requirement.resourceType];\n const id = typeof identifier === 'string'\n ? identifier\n : identifier?.resourceId;\n if (!id) {\n continue;\n }\n\n if (requirement.foreignKeyField) {\n segmentContextIdentifiers[contextKey] = {\n fieldIdentifier: requirement.foreignKeyField,\n resourceId: id,\n };\n } else {\n segmentContextIdentifiers[requirement.resourceType] = id;\n }\n }\n segmentContextIdentifiers[params.segment.resourceType] = params.segment.resourceId;\n\n return segmentContextIdentifiers;\n}\n\n// =============================================================================\n// COMPONENT\n// =============================================================================\n\nexport const ResourceLayoutPreset_Breadcrumb_Default: React.FC<ResourceLayoutPreset_Breadcrumb_DefaultProps> = ({\n resourceContext,\n navigationZone,\n navigationInitiator,\n maxDepth = 5,\n}) => {\n const { resourceType, contextResourceIdentifiers, parentResourcesRequirements } = resourceContext;\n const { registry, doOperation } = useResourceRegistry();\n const { tResourceHeader, t, formatDate, formatDateTime, isReady } = useI18n({ resource: resourceType });\n const { navigate } = useNavigationController();\n\n // A stable ref, so the label fetch does not re-run when `doOperation` changes identity.\n const doOperationRef = useRef(doOperation);\n doOperationRef.current = doOperation;\n\n // Build ordered parent segments from parentResourcesRequirements\n const parentSegments = useMemo(() => {\n if (!parentResourcesRequirements || parentResourcesRequirements.length === 0) return [];\n\n const segments: Array<{\n resourceType: string;\n resourceId: string;\n ancestorRequirements: FrontendResource_ParentResourceRequirement[];\n }> = [];\n // Use FK field (or resource type) as dedupe key — allows one entry per distinct FK,\n // so self-ref parents (e.g., parentUnitId) and the resource itself (unitId) don't collide.\n const seenKeys = new Set<string>();\n const resolvedRequirementChain: FrontendResource_ParentResourceRequirement[] = [];\n\n for (const req of parentResourcesRequirements) {\n const dedupeKey = req.foreignKeyField || req.resourceType;\n if (seenKeys.has(dedupeKey)) continue;\n seenKeys.add(dedupeKey);\n\n if (segments.length >= maxDepth) break;\n\n // For self-ref parents (FK-keyed), look up by FK field name in contextResourceIdentifiers.\n // For normal parents, look up by resource type.\n let resourceId: string | undefined;\n \n if (req.foreignKeyField && contextResourceIdentifiers[req.foreignKeyField]) {\n const entry = contextResourceIdentifiers[req.foreignKeyField];\n resourceId = typeof entry === 'string' ? entry : entry.resourceId;\n } else {\n const identifier = contextResourceIdentifiers[req.resourceType];\n if (!identifier) continue;\n resourceId = typeof identifier === 'string' ? identifier : identifier.resourceId;\n }\n\n if (resourceId) {\n // PRIMARY-SCOPE anchor (the tenant / user scope): ambient context owned\n // by the quick-switcher, not a navigational ancestor — NEVER rendered\n // as a crumb (2026-08-19; on scope-level pages this leaves the trail\n // empty and the breadcrumb self-hides). It still joins the resolved\n // requirement chain so DEEPER crumbs keep resolving their routes and\n // context — their URLs still carry the scope segment.\n if (!req.isPrimaryScope) {\n segments.push({\n resourceType: req.resourceType,\n resourceId,\n ancestorRequirements: [...resolvedRequirementChain],\n });\n }\n resolvedRequirementChain.push(req);\n }\n }\n\n return segments;\n }, [parentResourcesRequirements, contextResourceIdentifiers, maxDepth]);\n\n // State for resolved labels (async)\n const [resolvedSegments, setResolvedSegments] = useState<BreadcrumbSegment[]>([]);\n\n // Resolve labels for each parent segment\n useEffect(() => {\n if (parentSegments.length === 0) {\n setResolvedSegments([]);\n return;\n }\n\n // Initialize with loading state\n setResolvedSegments(\n parentSegments.map(seg => ({\n ...seg,\n label: null,\n isLoading: true,\n }))\n );\n\n let cancelled = false;\n\n const resolveLabels = async () => {\n const results = await Promise.allSettled(\n parentSegments.map(async (seg) => {\n const segmentResourceConfig = registry.resourceConfigurations[seg.resourceType];\n const params = FrontendResourceUtils.buildForeignKeyFetchParams(seg.resourceType, seg.resourceId, registry);\n const segmentContextResourceIdentifiers = buildSegmentContextIdentifiers({\n segment: seg,\n contextResourceIdentifiers,\n });\n const readOperation = segmentResourceConfig\n ? pickPreferredOperationForCoreSemanticAddressability({\n resourceConfig: segmentResourceConfig,\n operations: segmentResourceConfig.operations ?? [],\n coreOperation: CoreResourceOperation.READ,\n registry,\n hasResourceId: true,\n requireFrontendAddressable: true,\n contextResourceIdentifiers: segmentContextResourceIdentifiers,\n contextualParameters: {\n ...FrontendResourceUtils.buildContextualParameters(segmentContextResourceIdentifiers, registry),\n ...(params.contextualParameters ?? {}),\n },\n })\n : undefined;\n // Opportunistic label fetch — non-throwing so a segment whose resource\n // has no URL-bearing READ (e.g. an embedded/LIST-only config) falls back\n // to the header title instead of rejecting the whole segment map.\n const operationPath = FrontendResourceUtils.tryBuildForeignKeyReadOperationPath(\n seg.resourceType,\n registry,\n readOperation,\n );\n\n // Fallback: resource header title + ID fragment.\n const fallbackSegment = () => {\n const headerTitle = resolveResourceHeaderLabel({\n tResourceHeader,\n resourceType: seg.resourceType,\n key: 'title',\n });\n return {\n ...seg,\n // An unlabelled resource shows its header KEY here, never a bare id fragment (#1414).\n label: `${headerTitle} #${seg.resourceId.slice(0, 8)}`,\n isLoading: false,\n };\n };\n\n if (!operationPath) {\n return fallbackSegment();\n }\n\n try {\n const data = await doOperationRef.current(operationPath, params);\n return { ...seg, label: null, record: data, isLoading: false };\n } catch {\n return fallbackSegment();\n }\n })\n );\n\n if (cancelled) return;\n\n setResolvedSegments(\n results.map((result, i) =>\n result.status === 'fulfilled'\n ? result.value\n : { ...parentSegments[i], label: parentSegments[i].resourceId.slice(0, 8), isLoading: false }\n )\n );\n };\n\n resolveLabels();\n\n return () => { cancelled = true; };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- using refs for unstable functions\n }, [contextResourceIdentifiers, parentSegments, registry, tResourceHeader]);\n\n // Each read ancestor is named from its row at render, with the CURRENT `t` and formatters (see `record`).\n const displayedSegments = useMemo(\n () =>\n resolvedSegments.map((segment) =>\n segment.record === undefined\n ? segment\n : {\n ...segment,\n label:\n FrontendResourceUtils.computeFrontendResourceLabel({\n resourceType: segment.resourceType,\n registry,\n currentObject: segment.record,\n t,\n formatDate,\n formatDateTime,\n }) || segment.resourceId,\n },\n ),\n [resolvedSegments, registry, t, formatDate, formatDateTime],\n );\n\n // Resolve the DISPLAYABLE read surface for one ancestor segment — the single\n // predicate behind both the render gate (link vs plain text) and the click\n // handler, so they cannot disagree. Displayable means the READ has a rendered\n // interface: surface ADDRESSABLE (routable page) or EMBEDDED (overlay/zone\n // content). API_ONLY (headless) reads are filtered out up front — a crumb for\n // such an ancestor renders as plain text. Note the deliberate difference from\n // `requireFrontendAddressable: true` (strict ADDRESSABLE): an EMBEDDED read is\n // still a legitimate click target, it just navigates as zone content without\n // owning a URL.\n const resolveSegmentDisplayableRead = (\n segment: Pick<BreadcrumbSegment, 'resourceType' | 'resourceId' | 'ancestorRequirements'>,\n ) => {\n const segmentResourceConfig = registry.resourceConfigurations[segment.resourceType];\n if (!segmentResourceConfig) return undefined;\n\n const segmentContextIdentifiers = buildSegmentContextIdentifiers({\n segment,\n contextResourceIdentifiers,\n });\n const readOp = pickPreferredOperationForCoreSemanticAddressability({\n resourceConfig: segmentResourceConfig,\n operations: (segmentResourceConfig.operations ?? []).filter(\n (operation) => !isOperationHeadless(operation.operationFrontendConfig),\n ),\n coreOperation: CoreResourceOperation.READ,\n registry,\n hasResourceId: true,\n contextResourceIdentifiers: segmentContextIdentifiers,\n contextualParameters: FrontendResourceUtils.buildContextualParameters(\n segmentContextIdentifiers,\n registry,\n ),\n });\n if (!readOp) return undefined;\n return { segmentResourceConfig, segmentContextIdentifiers, readOp };\n };\n\n // Per-segment clickability, keyed on the SEGMENT'S IDENTITY. It used to be index-aligned with\n // `parentSegments` and read by index over `resolvedSegments` — but `resolvedSegments` is state set\n // in an effect, one render behind. On the render where the chain changed, index i of one array was\n // a different ancestor from index i of the other, so a crumb's link-or-text was decided from its\n // neighbour. Derived synchronously from the registry — label loading does not affect it.\n const segmentClickability = useMemo(\n () => new Map(parentSegments.map((segment) => [\n breadcrumbSegmentKey(segment),\n resolveSegmentDisplayableRead(segment) !== undefined,\n ])),\n // eslint-disable-next-line react-hooks/exhaustive-deps -- resolver reads registry + contextResourceIdentifiers, both listed\n [parentSegments, registry, contextResourceIdentifiers],\n );\n\n // Handle breadcrumb segment click — navigate via navigation controller\n const handleSegmentClick = (segment: BreadcrumbSegment, e: React.MouseEvent) => {\n e.preventDefault();\n\n const resolved = resolveSegmentDisplayableRead(segment);\n if (!resolved) return;\n const { segmentResourceConfig, segmentContextIdentifiers, readOp } = resolved;\n\n const readContext = frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n resourceType: segment.resourceType,\n operation: readOp,\n contextResourceIdentifiers: segmentContextIdentifiers,\n isOperationDefault: true,\n parentResourcesRequirements: segment.ancestorRequirements,\n });\n\n // Only an ADDRESSABLE read owns a browser URL. An EMBEDDED read navigates\n // as pure zone/overlay content — handing it a urlPath would point the\n // browser at a route AppRouter never registered (broken refresh/deep-link).\n let urlPath: string | undefined;\n if (isOperationAddressable(readOp.operationFrontendConfig)) {\n const routePaths = ResourcesConfigOperationsUrlsBuilderUtils.buildOperationFrontendRoutePaths(\n segmentResourceConfig,\n readOp,\n registry.allResourceFieldIdentifiers\n );\n urlPath = frontendResourceUtils.selectMatchingRoutePath(\n routePaths,\n segmentContextIdentifiers,\n segmentResourceConfig.resourceIdentifier,\n segmentResourceConfig.resourceFieldIdentifier,\n segment.ancestorRequirements,\n )?.url;\n }\n\n navigate({\n content: {\n contentType: NavigationContentType.RESOURCE_OPERATION,\n resourceContext: readContext,\n },\n urlPath,\n initiator: {\n sourceZone: navigationZone,\n },\n });\n };\n\n // Don't render if no parent segments. MUST stay below every hook: this\n // condition can flip between renders (context identifiers hydrate after\n // mount), and an early return above a hook would shift the hook order and\n // crash the whole surface (\"Rendered more hooks than during the previous\n // render\") the first time a parent chain appears.\n if (parentSegments.length === 0) {\n return null;\n }\n\n if (!isReady) return null;\n\n // The trail is the PATH TO the resource — ancestors only, the current\n // resource itself excluded (its name is the page heading right below;\n // repeating it as a terminal crumb was redundant). EVERY ancestor carries a\n // trailing separator (\"Org ›\", \"Org › List ›\"): the path visually terminates\n // on the page heading beneath it, which is what keeps a single-ancestor\n // trail legible AS a breadcrumb rather than one orphaned link.\n return (\n <Breadcrumb>\n <BreadcrumbList>\n {displayedSegments.map((segment) => (\n <React.Fragment key={breadcrumbSegmentKey(segment)}>\n <BreadcrumbItem>\n {/* A crumb is a LINK only when the ancestor's READ is displayable\n (ADDRESSABLE or EMBEDDED — never API_ONLY) and satisfiable from\n the current context; otherwise the segment stays visible as\n plain text so the path is never silently shortened. */}\n {segmentClickability.get(breadcrumbSegmentKey(segment)) ? (\n <BreadcrumbLink\n href=\"#\"\n onClick={(e) => handleSegmentClick(segment, e)}\n className={segment.isLoading ? 'animate-pulse motion-reduce:animate-none' : undefined}\n >\n {segment.isLoading ? '...' : segment.label}\n </BreadcrumbLink>\n ) : (\n <span className={segment.isLoading ? 'animate-pulse motion-reduce:animate-none' : undefined}>\n {segment.isLoading ? '...' : segment.label}\n </span>\n )}\n </BreadcrumbItem>\n <BreadcrumbSeparator />\n </React.Fragment>\n ))}\n </BreadcrumbList>\n </Breadcrumb>\n );\n};\n\n/** One ancestor's identity in the trail — the key both the rendered crumb and its clickability use. */\nfunction breadcrumbSegmentKey(segment: Pick<BreadcrumbSegment, 'resourceType' | 'resourceId'>): string {\n return `${segment.resourceType}-${segment.resourceId}`;\n}\n\nexport function ResourceLayout_Breadcrumb({ preset = CorePresetNames.DEFAULT, ...props }: ResourceLayoutPreset_Breadcrumb_DefaultProps & ComponentPresetProps): React.JSX.Element {\n const Component = createComponentResolver<ResourceLayoutPreset_Breadcrumb_DefaultProps>(FrontendComponentType.RESOURCES_LAYOUTS_BREADCRUMB, 'ResourceLayout_Breadcrumb')(preset);\n return <Component {...props} />;\n}\n"]}
1
+ {"version":3,"file":"ResourceLayout_Breadcrumb.js","sourceRoot":"","sources":["../../../../../src/components/resources/ResourceLayout_Breadcrumb.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * ResourceLayoutPreset_Breadcrumb_Default\n *\n * Renders a breadcrumb navigation chain from the resource's parentResourcesRequirements.\n * Each segment represents a parent resource in the hierarchy chain. The trail is\n * ANCESTORS-ONLY: the current resource is deliberately not rendered as a terminal\n * crumb — the breadcrumb is the path TO the resource, and the resource's own name\n * is already the page heading directly below (2026-08-19). The PRIMARY-SCOPE\n * anchor (tenant/user) is excluded too: it is ambient context owned by the\n * quick-switcher and prefixes every page, so it carries no navigational\n * information — scope-level pages therefore render no breadcrumb at all.\n *\n * Data flow:\n * 1. parentResourcesRequirements → ordered parent chain (from route/context)\n * 2. contextResourceIdentifiers → parent IDs for each segment\n * 3. computeFrontendResourceLabel → async label resolution for each parent\n * 4. selectMatchingRoutePath → URL building for each segment\n *\n * ## Self-referencing tree support (F-12-C)\n *\n * For self-referencing hierarchies (e.g., ORGANIZATION_UNITS tree), the parent\n * requirement has the SAME resource type as the current resource, distinguished\n * by `foreignKeyField` (e.g., `parentUnitId`).\n *\n * - **Deduplication** uses `foreignKeyField || resourceType` as key instead of\n * just resource type, so a self-ref parent entry doesn't collide with different\n * parent types.\n *\n * - **ID lookup** for self-ref parents checks `contextResourceIdentifiers[foreignKeyField]`\n * (e.g., `contextResourceIdentifiers[\"parentUnitId\"]`) because `extractResourceIdentifiersFromUrlParams`\n * stores self-ref parent IDs under the FK field name to avoid key collision\n * with the resource's own entry.\n *\n * - **Depth limit**: `maxDepth` (default 5) caps segments for deep trees.\n * Multi-level tree breadcrumbs (grandparent → parent → child) require the\n * ancestor chain to be fetched from the API — only the immediate parent\n * is available in `contextResourceIdentifiers`.\n */\n\nimport React, { useEffect, useState, useRef, useMemo } from 'react';\nimport { useResourceRegistry } from '~wildo-frontend-lib/core/resources/useResourceRegistry';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport { resolveResourceHeaderLabel } from '~wildo-frontend-lib/core/i18n/component-label-resolution.utils';\nimport { useNavigationController } from '~wildo-frontend-lib/core/navigation/useNavigationController';\nimport { FrontendResourceUtils, frontendResourceUtils } from '~wildo-frontend-lib/core/resources/frontend-resource.utils';\nimport { pickPreferredOperationForCoreSemanticAddressability } from '~wildo-frontend-lib/core/resources/resource-addressability.frontend.utils';\nimport { isOperationAddressable, isOperationHeadless, type FrontendResourceOperationContext } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport type { FrontendResource_ParentResourceRequirement } from '~wildo-frontend-lib/core/resources/resource-path.frontend.schemas';\nimport {\n CoreResourceOperation,\n ResourcesConfigOperationsUrlsBuilderUtils,\n} from '@wildo-ai/saas-models';\nimport { NavigationContentType } from '~wildo-frontend-lib/core/navigation/navigation.schemas';\nimport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbSeparator,\n} from '~wildo-frontend-lib/components/navigation/breadcrumb';\n\nimport { ComponentPresetProps } from '~wildo-frontend-lib/core/components-registry/component-registry.frontend.schemas'\nimport { createComponentResolver } from '~wildo-frontend-lib/core/components-registry/component-resolver.frontend.helper'\nimport { CorePresetNames, FrontendComponentType } from '@wildo-ai/presets-components-models'\nimport { BaseResourcesLayoutProps } from './component-props.resources-layout.frontend.schemas'\n\n// --- Contract ---\nexport interface ResourceLayoutPreset_Breadcrumb_DefaultProps extends BaseResourcesLayoutProps {\n /** Maximum depth of breadcrumb segments (loop prevention). Default: 5 */\n maxDepth?: number;\n}\n\n// =============================================================================\n// TYPES (internal)\n// =============================================================================\n\ninterface BreadcrumbSegment {\n resourceType: string;\n resourceId: string;\n ancestorRequirements: FrontendResource_ParentResourceRequirement[];\n label: string | null;\n isLoading: boolean;\n /**\n * The ancestor row as read, when the read succeeded. Its name is derived from it at render, so a name built\n * with `t` or a date formatter follows the viewer's language and regional preferences without a re-read.\n */\n record?: unknown;\n}\n\nfunction buildSegmentContextIdentifiers(params: {\n segment: Pick<BreadcrumbSegment, 'resourceType' | 'resourceId' | 'ancestorRequirements'>;\n contextResourceIdentifiers: ResourceLayoutPreset_Breadcrumb_DefaultProps['resourceContext']['contextResourceIdentifiers'];\n}): Record<string, string | { fieldIdentifier: string; resourceId: string }> {\n const segmentContextIdentifiers: Record<string, string | { fieldIdentifier: string; resourceId: string }> = {};\n for (const requirement of params.segment.ancestorRequirements) {\n const contextKey = requirement.foreignKeyField || requirement.resourceType;\n const identifier = params.contextResourceIdentifiers[contextKey] ?? params.contextResourceIdentifiers[requirement.resourceType];\n const id = typeof identifier === 'string'\n ? identifier\n : identifier?.resourceId;\n if (!id) {\n continue;\n }\n\n if (requirement.foreignKeyField) {\n segmentContextIdentifiers[contextKey] = {\n fieldIdentifier: requirement.foreignKeyField,\n resourceId: id,\n };\n } else {\n segmentContextIdentifiers[requirement.resourceType] = id;\n }\n }\n segmentContextIdentifiers[params.segment.resourceType] = params.segment.resourceId;\n\n return segmentContextIdentifiers;\n}\n\n// =============================================================================\n// COMPONENT\n// =============================================================================\n\n/**\n * The ancestors the breadcrumb names, root first: one per distinct parent requirement (keyed by foreign key, so a\n * self-referencing parent and the record itself do not collide), the primary scope excluded, at most `maxDepth`.\n *\n * Exported so the record header can ask what the trail it shows already names: a parent the breadcrumb names is not\n * repeated as a chip in the facts line below it (decided 2026-10-01).\n */\nexport function deriveBreadcrumbAncestors(params: {\n parentResourcesRequirements: FrontendResource_ParentResourceRequirement[] | null | undefined;\n contextResourceIdentifiers: FrontendResourceOperationContext['contextResourceIdentifiers'];\n maxDepth?: number;\n}): Array<{ resourceType: string; resourceId: string; ancestorRequirements: FrontendResource_ParentResourceRequirement[] }> {\n const { parentResourcesRequirements, contextResourceIdentifiers, maxDepth = 5 } = params;\n if (!parentResourcesRequirements || parentResourcesRequirements.length === 0) return [];\n\n const segments: Array<{\n resourceType: string;\n resourceId: string;\n ancestorRequirements: FrontendResource_ParentResourceRequirement[];\n }> = [];\n // Use FK field (or resource type) as dedupe key — allows one entry per distinct FK,\n // so self-ref parents (e.g., parentUnitId) and the resource itself (unitId) don't collide.\n const seenKeys = new Set<string>();\n const resolvedRequirementChain: FrontendResource_ParentResourceRequirement[] = [];\n\n for (const req of parentResourcesRequirements) {\n const dedupeKey = req.foreignKeyField || req.resourceType;\n if (seenKeys.has(dedupeKey)) continue;\n seenKeys.add(dedupeKey);\n\n if (segments.length >= maxDepth) break;\n\n // For self-ref parents (FK-keyed), look up by FK field name in contextResourceIdentifiers.\n // For normal parents, look up by resource type.\n let resourceId: string | undefined;\n \n if (req.foreignKeyField && contextResourceIdentifiers[req.foreignKeyField]) {\n const entry = contextResourceIdentifiers[req.foreignKeyField];\n resourceId = typeof entry === 'string' ? entry : entry.resourceId;\n } else {\n const identifier = contextResourceIdentifiers[req.resourceType];\n if (!identifier) continue;\n resourceId = typeof identifier === 'string' ? identifier : identifier.resourceId;\n }\n\n if (resourceId) {\n // PRIMARY-SCOPE anchor (the tenant / user scope): ambient context owned\n // by the quick-switcher, not a navigational ancestor — NEVER rendered\n // as a crumb (2026-08-19; on scope-level pages this leaves the trail\n // empty and the breadcrumb self-hides). It still joins the resolved\n // requirement chain so DEEPER crumbs keep resolving their routes and\n // context — their URLs still carry the scope segment.\n if (!req.isPrimaryScope) {\n segments.push({\n resourceType: req.resourceType,\n resourceId,\n ancestorRequirements: [...resolvedRequirementChain],\n });\n }\n resolvedRequirementChain.push(req);\n }\n }\n\n return segments;\n}\n\nexport const ResourceLayoutPreset_Breadcrumb_Default: React.FC<ResourceLayoutPreset_Breadcrumb_DefaultProps> = ({\n resourceContext,\n navigationZone,\n navigationInitiator,\n maxDepth = 5,\n}) => {\n const { resourceType, contextResourceIdentifiers, parentResourcesRequirements } = resourceContext;\n const { registry, doOperation } = useResourceRegistry();\n const { tResourceHeader, t, formatDate, formatDateTime, isReady } = useI18n({ resource: resourceType });\n const { navigate } = useNavigationController();\n\n // A stable ref, so the label fetch does not re-run when `doOperation` changes identity.\n const doOperationRef = useRef(doOperation);\n doOperationRef.current = doOperation;\n\n // The ordered ancestors the trail names — one derivation, shared with the header (`deriveBreadcrumbAncestors`).\n const parentSegments = useMemo(\n () => deriveBreadcrumbAncestors({ parentResourcesRequirements, contextResourceIdentifiers, maxDepth }),\n [parentResourcesRequirements, contextResourceIdentifiers, maxDepth],\n );\n\n // State for resolved labels (async)\n const [resolvedSegments, setResolvedSegments] = useState<BreadcrumbSegment[]>([]);\n\n // Resolve labels for each parent segment\n useEffect(() => {\n if (parentSegments.length === 0) {\n setResolvedSegments([]);\n return;\n }\n\n // Initialize with loading state\n setResolvedSegments(\n parentSegments.map(seg => ({\n ...seg,\n label: null,\n isLoading: true,\n }))\n );\n\n let cancelled = false;\n\n const resolveLabels = async () => {\n const results = await Promise.allSettled(\n parentSegments.map(async (seg) => {\n const segmentResourceConfig = registry.resourceConfigurations[seg.resourceType];\n const params = FrontendResourceUtils.buildForeignKeyFetchParams(seg.resourceType, seg.resourceId, registry);\n const segmentContextResourceIdentifiers = buildSegmentContextIdentifiers({\n segment: seg,\n contextResourceIdentifiers,\n });\n const readOperation = segmentResourceConfig\n ? pickPreferredOperationForCoreSemanticAddressability({\n resourceConfig: segmentResourceConfig,\n operations: segmentResourceConfig.operations ?? [],\n coreOperation: CoreResourceOperation.READ,\n registry,\n hasResourceId: true,\n requireFrontendAddressable: true,\n contextResourceIdentifiers: segmentContextResourceIdentifiers,\n contextualParameters: {\n ...FrontendResourceUtils.buildContextualParameters(segmentContextResourceIdentifiers, registry),\n ...(params.contextualParameters ?? {}),\n },\n })\n : undefined;\n // Opportunistic label fetch — non-throwing so a segment whose resource\n // has no URL-bearing READ (e.g. an embedded/LIST-only config) falls back\n // to the header title instead of rejecting the whole segment map.\n const operationPath = FrontendResourceUtils.tryBuildForeignKeyReadOperationPath(\n seg.resourceType,\n registry,\n readOperation,\n );\n\n // Fallback: resource header title + ID fragment.\n const fallbackSegment = () => {\n const headerTitle = resolveResourceHeaderLabel({\n tResourceHeader,\n resourceType: seg.resourceType,\n key: 'title',\n });\n return {\n ...seg,\n // An unlabelled resource shows its header KEY here, never a bare id fragment (#1414).\n label: `${headerTitle} #${seg.resourceId.slice(0, 8)}`,\n isLoading: false,\n };\n };\n\n if (!operationPath) {\n return fallbackSegment();\n }\n\n try {\n const data = await doOperationRef.current(operationPath, params);\n return { ...seg, label: null, record: data, isLoading: false };\n } catch {\n return fallbackSegment();\n }\n })\n );\n\n if (cancelled) return;\n\n setResolvedSegments(\n results.map((result, i) =>\n result.status === 'fulfilled'\n ? result.value\n : { ...parentSegments[i], label: parentSegments[i].resourceId.slice(0, 8), isLoading: false }\n )\n );\n };\n\n resolveLabels();\n\n return () => { cancelled = true; };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- using refs for unstable functions\n }, [contextResourceIdentifiers, parentSegments, registry, tResourceHeader]);\n\n // Each read ancestor is named from its row at render, with the CURRENT `t` and formatters (see `record`).\n const displayedSegments = useMemo(\n () =>\n resolvedSegments.map((segment) =>\n segment.record === undefined\n ? segment\n : {\n ...segment,\n label:\n FrontendResourceUtils.computeFrontendResourceLabel({\n resourceType: segment.resourceType,\n registry,\n currentObject: segment.record,\n t,\n formatDate,\n formatDateTime,\n }) || segment.resourceId,\n },\n ),\n [resolvedSegments, registry, t, formatDate, formatDateTime],\n );\n\n // Resolve the DISPLAYABLE read surface for one ancestor segment — the single\n // predicate behind both the render gate (link vs plain text) and the click\n // handler, so they cannot disagree. Displayable means the READ has a rendered\n // interface: surface ADDRESSABLE (routable page) or EMBEDDED (overlay/zone\n // content). API_ONLY (headless) reads are filtered out up front — a crumb for\n // such an ancestor renders as plain text. Note the deliberate difference from\n // `requireFrontendAddressable: true` (strict ADDRESSABLE): an EMBEDDED read is\n // still a legitimate click target, it just navigates as zone content without\n // owning a URL.\n const resolveSegmentDisplayableRead = (\n segment: Pick<BreadcrumbSegment, 'resourceType' | 'resourceId' | 'ancestorRequirements'>,\n ) => {\n const segmentResourceConfig = registry.resourceConfigurations[segment.resourceType];\n if (!segmentResourceConfig) return undefined;\n\n const segmentContextIdentifiers = buildSegmentContextIdentifiers({\n segment,\n contextResourceIdentifiers,\n });\n const readOp = pickPreferredOperationForCoreSemanticAddressability({\n resourceConfig: segmentResourceConfig,\n operations: (segmentResourceConfig.operations ?? []).filter(\n (operation) => !isOperationHeadless(operation.operationFrontendConfig),\n ),\n coreOperation: CoreResourceOperation.READ,\n registry,\n hasResourceId: true,\n contextResourceIdentifiers: segmentContextIdentifiers,\n contextualParameters: FrontendResourceUtils.buildContextualParameters(\n segmentContextIdentifiers,\n registry,\n ),\n });\n if (!readOp) return undefined;\n return { segmentResourceConfig, segmentContextIdentifiers, readOp };\n };\n\n // Per-segment clickability, keyed on the SEGMENT'S IDENTITY. It used to be index-aligned with\n // `parentSegments` and read by index over `resolvedSegments` — but `resolvedSegments` is state set\n // in an effect, one render behind. On the render where the chain changed, index i of one array was\n // a different ancestor from index i of the other, so a crumb's link-or-text was decided from its\n // neighbour. Derived synchronously from the registry — label loading does not affect it.\n const segmentClickability = useMemo(\n () => new Map(parentSegments.map((segment) => [\n breadcrumbSegmentKey(segment),\n resolveSegmentDisplayableRead(segment) !== undefined,\n ])),\n // eslint-disable-next-line react-hooks/exhaustive-deps -- resolver reads registry + contextResourceIdentifiers, both listed\n [parentSegments, registry, contextResourceIdentifiers],\n );\n\n // Handle breadcrumb segment click — navigate via navigation controller\n const handleSegmentClick = (segment: BreadcrumbSegment, e: React.MouseEvent) => {\n e.preventDefault();\n\n const resolved = resolveSegmentDisplayableRead(segment);\n if (!resolved) return;\n const { segmentResourceConfig, segmentContextIdentifiers, readOp } = resolved;\n\n const readContext = frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n resourceType: segment.resourceType,\n operation: readOp,\n contextResourceIdentifiers: segmentContextIdentifiers,\n isOperationDefault: true,\n parentResourcesRequirements: segment.ancestorRequirements,\n });\n\n // Only an ADDRESSABLE read owns a browser URL. An EMBEDDED read navigates\n // as pure zone/overlay content — handing it a urlPath would point the\n // browser at a route AppRouter never registered (broken refresh/deep-link).\n let urlPath: string | undefined;\n if (isOperationAddressable(readOp.operationFrontendConfig)) {\n const routePaths = ResourcesConfigOperationsUrlsBuilderUtils.buildOperationFrontendRoutePaths(\n segmentResourceConfig,\n readOp,\n registry.allResourceFieldIdentifiers\n );\n urlPath = frontendResourceUtils.selectMatchingRoutePath(\n routePaths,\n segmentContextIdentifiers,\n segmentResourceConfig.resourceIdentifier,\n segmentResourceConfig.resourceFieldIdentifier,\n segment.ancestorRequirements,\n )?.url;\n }\n\n navigate({\n content: {\n contentType: NavigationContentType.RESOURCE_OPERATION,\n resourceContext: readContext,\n },\n urlPath,\n initiator: {\n sourceZone: navigationZone,\n },\n });\n };\n\n // Don't render if no parent segments. MUST stay below every hook: this\n // condition can flip between renders (context identifiers hydrate after\n // mount), and an early return above a hook would shift the hook order and\n // crash the whole surface (\"Rendered more hooks than during the previous\n // render\") the first time a parent chain appears.\n if (parentSegments.length === 0) {\n return null;\n }\n\n if (!isReady) return null;\n\n // The trail is the PATH TO the resource — ancestors only, the current\n // resource itself excluded (its name is the page heading right below;\n // repeating it as a terminal crumb was redundant). EVERY ancestor carries a\n // trailing separator (\"Org ›\", \"Org › List ›\"): the path visually terminates\n // on the page heading beneath it, which is what keeps a single-ancestor\n // trail legible AS a breadcrumb rather than one orphaned link.\n return (\n <Breadcrumb>\n <BreadcrumbList>\n {displayedSegments.map((segment) => (\n <React.Fragment key={breadcrumbSegmentKey(segment)}>\n <BreadcrumbItem>\n {/* A crumb is a LINK only when the ancestor's READ is displayable\n (ADDRESSABLE or EMBEDDED — never API_ONLY) and satisfiable from\n the current context; otherwise the segment stays visible as\n plain text so the path is never silently shortened. */}\n {segmentClickability.get(breadcrumbSegmentKey(segment)) ? (\n <BreadcrumbLink\n href=\"#\"\n onClick={(e) => handleSegmentClick(segment, e)}\n className={segment.isLoading ? 'animate-pulse motion-reduce:animate-none' : undefined}\n >\n {segment.isLoading ? '...' : segment.label}\n </BreadcrumbLink>\n ) : (\n <span className={segment.isLoading ? 'animate-pulse motion-reduce:animate-none' : undefined}>\n {segment.isLoading ? '...' : segment.label}\n </span>\n )}\n </BreadcrumbItem>\n <BreadcrumbSeparator />\n </React.Fragment>\n ))}\n </BreadcrumbList>\n </Breadcrumb>\n );\n};\n\n/** One ancestor's identity in the trail — the key both the rendered crumb and its clickability use. */\nfunction breadcrumbSegmentKey(segment: Pick<BreadcrumbSegment, 'resourceType' | 'resourceId'>): string {\n return `${segment.resourceType}-${segment.resourceId}`;\n}\n\nexport function ResourceLayout_Breadcrumb({ preset = CorePresetNames.DEFAULT, ...props }: ResourceLayoutPreset_Breadcrumb_DefaultProps & ComponentPresetProps): React.JSX.Element {\n const Component = createComponentResolver<ResourceLayoutPreset_Breadcrumb_DefaultProps>(FrontendComponentType.RESOURCES_LAYOUTS_BREADCRUMB, 'ResourceLayout_Breadcrumb')(preset);\n return <Component {...props} />;\n}\n"]}
@@ -11,7 +11,7 @@ export interface ResourceLayout_CollectionActionsProps extends BaseResourcesLayo
11
11
  * which holds that state; this component only forwards it.
12
12
  */
13
13
  collectionExportQuery?: {
14
- params: Record<string, string | number | undefined>;
14
+ params: Record<string, unknown>;
15
15
  isSearchActive: boolean;
16
16
  };
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceLayout_CollectionActions.d.ts","sourceRoot":"","sources":["../../../../../src/components/resources/ResourceLayout_CollectionActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AAE7F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAGpG,MAAM,WAAW,qCAAsC,SAAQ,wBAAwB;IACrF,4FAA4F;IAC5F,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE;QACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;QACpD,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gCAAgC,GAAI,8EAM9C,qCAAqC,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IA4D9D,CAAC"}
1
+ {"version":3,"file":"ResourceLayout_CollectionActions.d.ts","sourceRoot":"","sources":["../../../../../src/components/resources/ResourceLayout_CollectionActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AAE7F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAGpG,MAAM,WAAW,qCAAsC,SAAQ,wBAAwB;IACrF,4FAA4F;IAC5F,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE;QACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gCAAgC,GAAI,8EAM9C,qCAAqC,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IA4D9D,CAAC"}
@@ -35,7 +35,7 @@ export const ResourceLayout_CollectionActions = ({ resourceContext, navigationZo
35
35
  parentResourcesRequirements: resourceContext.parentResourcesRequirements,
36
36
  additionalContext: resourceContext.additionalContext,
37
37
  navigationZone,
38
- operationId: String(operation.operationIdentifier),
38
+ sourceOperation: operation,
39
39
  collectionOnly: true,
40
40
  collectionExportQuery,
41
41
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceLayout_CollectionActions.js","sourceRoot":"","sources":["../../../../../src/components/resources/ResourceLayout_CollectionActions.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,mDAAmD,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qEAAqE,CAAC;AAChH,OAAO,EAAE,2BAA2B,EAAE,MAAM,sEAAsE,CAAC;AACnH,OAAO,EAAE,2BAA2B,EAAE,MAAM,gEAAgE,CAAC;AAC7G,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAmBzF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,EAC/C,eAAe,EACf,cAAc,EACd,IAAI,GAAG,UAAU,CAAC,OAAO,EACzB,SAAS,EACT,qBAAqB,GACiB,EAA4B,EAAE;IACpE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC;IAEpD,MAAM,EACJ,KAAK,EACL,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,gCAAgC,EAChC,yBAAyB,EACzB,SAAS,EACT,QAAQ,EACR,eAAe,EACf,sBAAsB,GACvB,GAAG,2BAA2B,CAAC;QAC9B,YAAY;QACZ,WAAW,EAAE,4BAA4B,CAAC,MAAM;QAChD,0BAA0B,EAAE,eAAe,CAAC,0BAA0B;QACtE,2BAA2B,EAAE,eAAe,CAAC,2BAA2B;QACxE,iBAAiB,EAAE,eAAe,CAAC,iBAAiB;QACpD,cAAc;QACd,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC;QAClD,cAAc,EAAE,IAAI;QACpB,qBAAqB;KACtB,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,OAAO,CACL,8BACE,KAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,sBAAsB,CAAC,MAAM,EAC/C,SAAS,EAAE,SAAS,GACpB,EACD,mBAAmB,IAAI,CACtB,KAAC,yBAAyB,IACxB,IAAI,EAAE,mBAAmB,EACzB,YAAY,EAAE,CAAC,IAAa,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI;oBAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAC3D,cAAc,EAAE,QAAQ,EACxB,kBAAkB,EAAE,SAAS,EAC7B,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,wBAAwB,EACrC,YAAY,EAAE,yBAAyB,EACvC,wBAAwB,EAAE,gCAAgC,EAC1D,kBAAkB,EAAE,yBAAyB,GAC7C,CACH,EACA,eAAe,IAAI,CAClB,KAAC,2BAA2B,IAC1B,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,sBAAsB,EACrC,MAAM,EAAE,eAAe,EACvB,YAAY,EAAE,YAAY,GAC1B,CACH,IACA,CACJ,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { ActionBar } from '~wildo-frontend-lib/components/actions/action-bar';\nimport { OperationsConfirmCritical } from '~wildo-frontend-lib/components/feedback/operations-confirm-critical';\nimport { EphemeralFieldsRevealDialog } from '~wildo-frontend-lib/components/resources/EphemeralFieldsRevealDialog';\nimport { useResourceOperationActions } from '~wildo-frontend-lib/core/resources/useResourceOperationActions';\nimport { ResourceOperationDisplayMode } from '@wildo-ai/saas-models';\nimport type { ActionButtonSize } from '~wildo-frontend-lib/components/actions/action-button';\nimport { ButtonSize, ActionLabelDisplayMode } from '@wildo-ai/presets-components-models';\nimport type { BaseResourcesLayoutProps } from './component-props.resources-layout.frontend.schemas';\n\n// --- Contract ---\nexport interface ResourceLayout_CollectionActionsProps extends BaseResourcesLayoutProps {\n /** Button size for the bar. Defaults to `ICON_SM`; labels render inline beside the icon. */\n size?: ActionButtonSize;\n className?: string;\n /**\n * The query the listing is currently showing — filters, sort and page — so a collection EXPORT\n * carries the same narrowing as the screen it was clicked on. Owned by `ResourceLayout_List`,\n * which holds that state; this component only forwards it.\n */\n collectionExportQuery?: {\n params: Record<string, string | number | undefined>;\n isSearchActive: boolean;\n };\n}\n\n/**\n * Collection-scoped action bar — the scope-level twin of\n * {@link ResourceLayout_OperationsItems}.\n *\n * Renders a resource's COLLECTION-scoped operations (`operationFrontendConfig.\n * actionScope === COLLECTION` — whole-scope actions like \"retry all failed\n * deliveries\" / \"purge the queue\") ONCE for the collection, in the list toolbar.\n * It deliberately carries **no `currentObject`**: a whole-scope action targets no\n * single row. It drives `useResourceOperationActions({ collectionOnly: true })`,\n * whose `filteredOps` keeps only collection-scoped ops here and excludes them from\n * every per-row / detail / danger-zone / bulk bar (the single R5 chokepoint).\n * Confirmation (HIGH → confirm, CRITICAL → type-to-confirm) and execution reuse\n * the same operation pipeline; the returned summary surfaces as a success toast.\n *\n * Renders nothing when the resource declares no collection-scoped operation, so it\n * is inert for every resource that has none — safe to mount unconditionally.\n *\n * Labels render INLINE (not tooltip-only): a scope-level \"Retry all\" / \"Purge all\"\n * is a deliberate, infrequent action that should read as a labelled button rather\n * than a bare icon.\n */\nexport const ResourceLayout_CollectionActions = ({\n resourceContext,\n navigationZone,\n size = ButtonSize.ICON_SM,\n className,\n collectionExportQuery,\n}: ResourceLayout_CollectionActionsProps): React.JSX.Element | null => {\n const { resourceType, operation } = resourceContext;\n\n const {\n items,\n isConfirmDialogOpen,\n confirmDialogLabel,\n confirmDialogDescription,\n confirmDialogConfirmLabel,\n confirmRequiresTypedConfirmation,\n confirmConfirmationPhrase,\n onConfirm,\n onCancel,\n ephemeralFields,\n onEphemeralAcknowledge,\n } = useResourceOperationActions({\n resourceType,\n displayMode: ResourceOperationDisplayMode.DETAIL,\n contextResourceIdentifiers: resourceContext.contextResourceIdentifiers,\n parentResourcesRequirements: resourceContext.parentResourcesRequirements,\n additionalContext: resourceContext.additionalContext,\n navigationZone,\n operationId: String(operation.operationIdentifier),\n collectionOnly: true,\n collectionExportQuery,\n });\n\n if (items.length === 0) return null;\n\n return (\n <>\n <ActionBar\n items={items}\n size={size}\n labelDisplayMode={ActionLabelDisplayMode.INLINE}\n className={className}\n />\n {isConfirmDialogOpen && (\n <OperationsConfirmCritical\n open={isConfirmDialogOpen}\n onOpenChange={(open: boolean) => { if (!open) onCancel(); }}\n cancelCallback={onCancel}\n validationCallback={onConfirm}\n label={confirmDialogLabel}\n description={confirmDialogDescription}\n confirmLabel={confirmDialogConfirmLabel}\n requireTypedConfirmation={confirmRequiresTypedConfirmation}\n confirmationPhrase={confirmConfirmationPhrase}\n />\n )}\n {ephemeralFields && (\n <EphemeralFieldsRevealDialog\n open={true}\n onAcknowledge={onEphemeralAcknowledge}\n fields={ephemeralFields}\n resourceType={resourceType}\n />\n )}\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"ResourceLayout_CollectionActions.js","sourceRoot":"","sources":["../../../../../src/components/resources/ResourceLayout_CollectionActions.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,mDAAmD,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qEAAqE,CAAC;AAChH,OAAO,EAAE,2BAA2B,EAAE,MAAM,sEAAsE,CAAC;AACnH,OAAO,EAAE,2BAA2B,EAAE,MAAM,gEAAgE,CAAC;AAC7G,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAmBzF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,EAC/C,eAAe,EACf,cAAc,EACd,IAAI,GAAG,UAAU,CAAC,OAAO,EACzB,SAAS,EACT,qBAAqB,GACiB,EAA4B,EAAE;IACpE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC;IAEpD,MAAM,EACJ,KAAK,EACL,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,gCAAgC,EAChC,yBAAyB,EACzB,SAAS,EACT,QAAQ,EACR,eAAe,EACf,sBAAsB,GACvB,GAAG,2BAA2B,CAAC;QAC9B,YAAY;QACZ,WAAW,EAAE,4BAA4B,CAAC,MAAM;QAChD,0BAA0B,EAAE,eAAe,CAAC,0BAA0B;QACtE,2BAA2B,EAAE,eAAe,CAAC,2BAA2B;QACxE,iBAAiB,EAAE,eAAe,CAAC,iBAAiB;QACpD,cAAc;QACd,eAAe,EAAE,SAAS;QAC1B,cAAc,EAAE,IAAI;QACpB,qBAAqB;KACtB,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,OAAO,CACL,8BACE,KAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,sBAAsB,CAAC,MAAM,EAC/C,SAAS,EAAE,SAAS,GACpB,EACD,mBAAmB,IAAI,CACtB,KAAC,yBAAyB,IACxB,IAAI,EAAE,mBAAmB,EACzB,YAAY,EAAE,CAAC,IAAa,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI;oBAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAC3D,cAAc,EAAE,QAAQ,EACxB,kBAAkB,EAAE,SAAS,EAC7B,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,wBAAwB,EACrC,YAAY,EAAE,yBAAyB,EACvC,wBAAwB,EAAE,gCAAgC,EAC1D,kBAAkB,EAAE,yBAAyB,GAC7C,CACH,EACA,eAAe,IAAI,CAClB,KAAC,2BAA2B,IAC1B,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,sBAAsB,EACrC,MAAM,EAAE,eAAe,EACvB,YAAY,EAAE,YAAY,GAC1B,CACH,IACA,CACJ,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { ActionBar } from '~wildo-frontend-lib/components/actions/action-bar';\nimport { OperationsConfirmCritical } from '~wildo-frontend-lib/components/feedback/operations-confirm-critical';\nimport { EphemeralFieldsRevealDialog } from '~wildo-frontend-lib/components/resources/EphemeralFieldsRevealDialog';\nimport { useResourceOperationActions } from '~wildo-frontend-lib/core/resources/useResourceOperationActions';\nimport { ResourceOperationDisplayMode } from '@wildo-ai/saas-models';\nimport type { ActionButtonSize } from '~wildo-frontend-lib/components/actions/action-button';\nimport { ButtonSize, ActionLabelDisplayMode } from '@wildo-ai/presets-components-models';\nimport type { BaseResourcesLayoutProps } from './component-props.resources-layout.frontend.schemas';\n\n// --- Contract ---\nexport interface ResourceLayout_CollectionActionsProps extends BaseResourcesLayoutProps {\n /** Button size for the bar. Defaults to `ICON_SM`; labels render inline beside the icon. */\n size?: ActionButtonSize;\n className?: string;\n /**\n * The query the listing is currently showing — filters, sort and page — so a collection EXPORT\n * carries the same narrowing as the screen it was clicked on. Owned by `ResourceLayout_List`,\n * which holds that state; this component only forwards it.\n */\n collectionExportQuery?: {\n params: Record<string, unknown>;\n isSearchActive: boolean;\n };\n}\n\n/**\n * Collection-scoped action bar — the scope-level twin of\n * {@link ResourceLayout_OperationsItems}.\n *\n * Renders a resource's COLLECTION-scoped operations (`operationFrontendConfig.\n * actionScope === COLLECTION` — whole-scope actions like \"retry all failed\n * deliveries\" / \"purge the queue\") ONCE for the collection, in the list toolbar.\n * It deliberately carries **no `currentObject`**: a whole-scope action targets no\n * single row. It drives `useResourceOperationActions({ collectionOnly: true })`,\n * whose `filteredOps` keeps only collection-scoped ops here and excludes them from\n * every per-row / detail / danger-zone / bulk bar (the single R5 chokepoint).\n * Confirmation (HIGH → confirm, CRITICAL → type-to-confirm) and execution reuse\n * the same operation pipeline; the returned summary surfaces as a success toast.\n *\n * Renders nothing when the resource declares no collection-scoped operation, so it\n * is inert for every resource that has none — safe to mount unconditionally.\n *\n * Labels render INLINE (not tooltip-only): a scope-level \"Retry all\" / \"Purge all\"\n * is a deliberate, infrequent action that should read as a labelled button rather\n * than a bare icon.\n */\nexport const ResourceLayout_CollectionActions = ({\n resourceContext,\n navigationZone,\n size = ButtonSize.ICON_SM,\n className,\n collectionExportQuery,\n}: ResourceLayout_CollectionActionsProps): React.JSX.Element | null => {\n const { resourceType, operation } = resourceContext;\n\n const {\n items,\n isConfirmDialogOpen,\n confirmDialogLabel,\n confirmDialogDescription,\n confirmDialogConfirmLabel,\n confirmRequiresTypedConfirmation,\n confirmConfirmationPhrase,\n onConfirm,\n onCancel,\n ephemeralFields,\n onEphemeralAcknowledge,\n } = useResourceOperationActions({\n resourceType,\n displayMode: ResourceOperationDisplayMode.DETAIL,\n contextResourceIdentifiers: resourceContext.contextResourceIdentifiers,\n parentResourcesRequirements: resourceContext.parentResourcesRequirements,\n additionalContext: resourceContext.additionalContext,\n navigationZone,\n sourceOperation: operation,\n collectionOnly: true,\n collectionExportQuery,\n });\n\n if (items.length === 0) return null;\n\n return (\n <>\n <ActionBar\n items={items}\n size={size}\n labelDisplayMode={ActionLabelDisplayMode.INLINE}\n className={className}\n />\n {isConfirmDialogOpen && (\n <OperationsConfirmCritical\n open={isConfirmDialogOpen}\n onOpenChange={(open: boolean) => { if (!open) onCancel(); }}\n cancelCallback={onCancel}\n validationCallback={onConfirm}\n label={confirmDialogLabel}\n description={confirmDialogDescription}\n confirmLabel={confirmDialogConfirmLabel}\n requireTypedConfirmation={confirmRequiresTypedConfirmation}\n confirmationPhrase={confirmConfirmationPhrase}\n />\n )}\n {ephemeralFields && (\n <EphemeralFieldsRevealDialog\n open={true}\n onAcknowledge={onEphemeralAcknowledge}\n fields={ephemeralFields}\n resourceType={resourceType}\n />\n )}\n </>\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceLayout_ContainerNested.d.ts","sourceRoot":"","sources":["../../../../../src/components/resources/ResourceLayout_ContainerNested.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,KAA4D,MAAM,OAAO,CAAC;AA6BjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAA;AAG9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,kFAAkF,CAAC;AAUxH,MAAM,WAAW,iDAAkD,SAAQ,wBAAwB;IACjG,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAyGD,eAAO,MAAM,4CAA4C,GAAI,uEAK1D,iDAAiD,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAsd1E,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,EAAE,MAAgC,EAAE,GAAG,KAAK,EAAE,EAAE,iDAAiD,GAAG,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAG1L"}
1
+ {"version":3,"file":"ResourceLayout_ContainerNested.d.ts","sourceRoot":"","sources":["../../../../../src/components/resources/ResourceLayout_ContainerNested.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,KAA4D,MAAM,OAAO,CAAC;AA8BjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAA;AAG9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,kFAAkF,CAAC;AAUxH,MAAM,WAAW,iDAAkD,SAAQ,wBAAwB;IACjG,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAyGD,eAAO,MAAM,4CAA4C,GAAI,uEAK1D,iDAAiD,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IA4d1E,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,EAAE,MAAgC,EAAE,GAAG,KAAK,EAAE,EAAE,iDAAiD,GAAG,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAG1L"}
@@ -59,7 +59,7 @@ import { ContentSectionContainer } from '../../components/sections/ContentSectio
59
59
  import { SectionHostHeadingContext } from './skeleton/SectionHostHeadingContext.js';
60
60
  import { EmbeddedResourceDescentBoundary } from './embeds/EmbeddedResourceDescent.js';
61
61
  import { useTemplateOwnsChildComposition, useReportAutomaticComposition } from './embeds/ComposedChildrenRegistry.js';
62
- import { pickAddressableChildListOperation, } from './embeds/child-operation-addressability.utils.js';
62
+ import { listOperationNamesParent, pickAddressableChildListOperation, } from './embeds/child-operation-addressability.utils.js';
63
63
  import { SectionMode } from '@wildo-ai/zod-decorators';
64
64
  import { useNavigationController } from '../../core/navigation/useNavigationController.js';
65
65
  import { NavigationContentType } from '../../core/navigation/navigation.schemas.js';
@@ -238,6 +238,12 @@ export const ResourceLayoutPreset_ContainerNested_Default = ({ resourceContext,
238
238
  contextualParameters: preliminaryContextualParameters,
239
239
  })
240
240
  : undefined;
241
+ // An owned child through a non-primary edge whose LIST does not name this record would list every row the
242
+ // reader may see, not this record's (#2917: every lead in the application under each user). Left out.
243
+ if (!isChildOneToOne && displayOperation && !nestedReadSurface.relationship.isPrimaryScope
244
+ && !listOperationNamesParent(displayOperation, resourceType)) {
245
+ continue;
246
+ }
241
247
  if (!displayOperation) {
242
248
  // The relationship is nested-read-ELIGIBLE (it produced a surface) but no
243
249
  // addressable READ/LIST operation resolves for the child in THIS parent