@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
@@ -11,11 +11,16 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
11
11
  * - Handles success notifications based on operation configuration
12
12
  * - Determines wizard mode from frontEndApplication configuration
13
13
  */
14
- import React, { useEffect, useLayoutEffect, useMemo, useState, useCallback, useRef } from 'react';
14
+ import isEqual from 'lodash/isEqual.js';
15
+ import React, { useContext, useEffect, useLayoutEffect, useMemo, useState, useCallback, useRef } from 'react';
16
+ import { NotificationContext } from '../../../core/events/NotificationContext.js';
15
17
  import { useFormContext } from 'react-hook-form';
16
18
  import { z } from 'zod';
17
- import { CoreResourceOperation, CoreUserNotificationChannel, CoreUserNotificationTarget, RelationshipNature, ResourceRelationshipBulkAction, ResourcesConfig_OperationPathUtils, ResourceOperationVariantType, ErrorCustomMessageReference, ErrorType, UserNotificationLevel, ResourcesConfigOperationsUrlsBuilderUtils, Resources_SharedUtils, ResourceOperationRiskLevel, MAIN_API_BASE_PATH, BULK_OPERATION_HOST_SUPPLIED_FIELDS, } from '@wildo-ai/saas-models';
19
+ import { CoreResourceOperation, CoreUserNotificationChannel, CoreUserNotificationTarget, RelationshipNature, ResourceRelationshipBulkAction, ResourcesConfig_OperationPathUtils, ResourceOperationVariantType, ErrorCustomMessageReference, ErrorType, UserNotificationLevel, ResourcesConfigOperationsUrlsBuilderUtils, Resources_SharedUtils, ResourceOperationRiskLevel, isIrreversibleOperation, MAIN_API_BASE_PATH, BULK_OPERATION_HOST_SUPPLIED_FIELDS, resourceInheritanceVariantSchemas, readOperationApprovalPending, READ_THROUGH_ORGANIZATION_UNIT_FIELD_NAME, CoreResourceType, } from '@wildo-ai/saas-models';
18
20
  import { OperationsConfirmCritical } from '../../../components/feedback/operations-confirm-critical.js';
21
+ import { isReadThroughOrganizationUnitFieldInert, readThroughCreateOrganizationUnitCandidates } from '../../../core/resources/read-through-organization-unit.frontend.utils.js';
22
+ import { useReferenceRecordLabels } from '../../../components/form/automated/useReferenceRecordLabels.js';
23
+ import { UserOrgsContext } from '../../../core/security/UserOrgsContext.js';
19
24
  import { Button, ButtonVariants_Variant } from '../../../components/actions/button.js';
20
25
  import { AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, AlertDialogCancel, AlertDialogAction, } from '../../../components/overlays/containers/alert-dialog.js';
21
26
  import { prepareFormSchema, AutosaveTrigger } from '@wildo-ai/zod-decorators';
@@ -23,7 +28,10 @@ import { FrontendComponentType, } from '@wildo-ai/presets-components-models';
23
28
  import { AutomatedForm } from './AutomatedForm.js';
24
29
  import { useOptionalFormTemplateContext } from './FormTemplateContext.js';
25
30
  import { ResourceFormActionsProvider, HostFormActionsFooter, } from './ResourceFormActionsContext.js';
26
- import { carryStoredSiblingsIntoPartialWrites, formOffersSectionSave, pickSubmissionDataPaths, sanitizeAutomatedFormSubmissionData, shouldOmitClearedFieldsForOperation } from './automated-form-submit.utils.js';
31
+ import { FORM_LEVEL_ERROR_PATH } from '../form-context.js';
32
+ import { bulkClearsWithin, bulkUpdatePatch, bulkWriteUnits, carryStoredSiblingsIntoPartialWrites, formOffersSectionSave, pickSubmissionDataPaths, resolveBulkFieldClear, sanitizeAutomatedFormSubmissionData, shouldOmitClearedFieldsForOperation, withPathValue, BulkFieldClearKind } from './automated-form-submit.utils.js';
33
+ import { BulkFieldClearContext } from './bulk-field-clear-context.js';
34
+ import { carryStoredDiscriminators, resolveDiscriminatorFieldNames } from '../../../core/resources/resource-discriminators.frontend.utils.js';
27
35
  import { resolveCreateFormInitialValues } from './create-form-default-values.utils.js';
28
36
  import { AutomatedLayoutFrontendUtils } from '../../../core/automated-layout/automated-layout.frontend.utils.js';
29
37
  import { extractSchemaFieldList, generateDefaultFormTemplate } from '../../../core/automated-layout/default-layout-generator.frontend.utils.js';
@@ -36,23 +44,26 @@ import { useOptionalAutosave } from '../../../components/form/automated/Autosave
36
44
  import { mutationErrorForReport } from '../../../core/resources/rmm/mutation-error-report.utils.js';
37
45
  import { extractServerValidationErrors } from '../../../components/form/validation-errors/form-error-extraction.utils.js';
38
46
  import { collectErroredFieldPaths, scrollAndFocusFirstErroredField } from '../../../components/form/validation-errors/scroll-to-first-error.utils.js';
47
+ import { zodIssuesToFieldErrors } from '../../../components/form/validation-errors/zod-issue-resolver.js';
48
+ import { UnplacedRequestFieldsContext } from './unplaced-request-fields.context.js';
39
49
  import { extractErrorInfo } from '../../../core/errors/errors.frontend.schemas.js';
40
50
  import { useUserFacingErrorMessage } from '../../../core/errors/useUserFacingErrorMessage.js';
41
51
  import { useServerErrorInjection } from '../../../components/form/validation-errors/useServerErrorInjection.js';
42
52
  import { LoggerFrontendService } from '../../../core/monitoring/logger.frontend.service.js';
43
53
  import { useResourceRegistry } from '../../../core/resources/useResourceRegistry.js';
44
- import { isLiteralCoreResourceOperation, isSingleResourceUpdateLikeOperation, isUpdateLikeCoreOperation, mergeBulkSelectionIntoRequestData, pickPreferredOperationForCoreSemantic, resolveEffectiveCoreOperation, toOperationResultSummary, } from '../../../core/resources/operation-semantics.frontend.utils.js';
54
+ import { isLiteralCoreResourceOperation, isRiskyResourceOperation, isSingleResourceUpdateLikeOperation, isUpdateLikeCoreOperation, mergeBulkSelectionIntoRequestData, pickPreferredOperationForCoreSemantic, readBulkOperationSelectionCount, resolveEffectiveCoreOperation, toOperationResultSummary, } from '../../../core/resources/operation-semantics.frontend.utils.js';
45
55
  import { pickPreferredOperationForCoreSemanticAddressability } from '../../../core/resources/resource-addressability.frontend.utils.js';
46
56
  import { useOperationEnabled } from '../../../core/resources/hooks/useOperationEnabled.js';
47
57
  import { frontendResourceUtils, FrontendResourceUtils } from '../../../core/resources/frontend-resource.utils.js';
48
58
  import { resolveRelationshipWriteSurface, } from '../../../core/resources/relationship-surface-runtime.frontend.utils.js';
49
59
  import { useEventBus } from '../../../core/events/useEventBus.js';
60
+ import { useResourceOperationOutcomeEmitter } from '../../../core/resources/useResourceOperationOutcomeEmitter.js';
50
61
  import { useI18n } from '../../../core/i18n/useI18n.js';
51
62
  import { resolveOperationDisplayTitle } from '../../../core/i18n/operation-title-resolution.utils.js';
52
63
  import { LoadingGate } from '../../../core/loading/LoadingGate.js';
53
64
  import { ErrorBuilderFrontend } from '../../../core/errors/errors-builder.frontend.services.js';
54
65
  import { FrontendEvents } from '../../../core/events/events.frontend.schemas.js';
55
- import { isForeignKey, isUnique, getZodObjectShape } from '@wildo-ai/zod-decorators';
66
+ import { isForeignKey, isUnique, lastActionRecordFieldNames, withOptionalNestedChildren } from '@wildo-ai/zod-decorators';
56
67
  import { envLoader } from '../../../core/runtime/env-variable-loader.frontend.service.js';
57
68
  import { NavigationUtils } from '../../../core/navigation/navigation.utils.js';
58
69
  import { buildValidateFieldUrl } from '../../../components/form/validation-errors/validate-field-url.frontend.js';
@@ -60,7 +71,7 @@ import { MutationPriority, MutationType, MutationSourceType, MutationErrorType,
60
71
  import { useResourceRMM } from '../../../core/resources/rmm/useResourceRMM.js';
61
72
  import { useExecutionDirtyBridge } from '../../../core/execution/useExecutionDirtyBridge.js';
62
73
  import { performCanonicalRMMRead, resolveCanonicalRMMReadOperation, resolveCanonicalRMMReadOperationPathKey, } from '../../../core/resources/rmm/canonical-read.frontend.utils.js';
63
- import { allowsDirectOperationFallback, MissingRMMRuntimeError, resolveDeclaredUpdateLikeMutationFallbackMode, } from '../../../core/resources/rmm/update-like-mutation-fallback.frontend.js';
74
+ import { allowsDirectOperationFallback, MissingRMMRuntimeError, resolveUpdateLikeMutationFallbackMode, } from '../../../core/resources/rmm/update-like-mutation-fallback.frontend.js';
64
75
  import { RemoteChangeNotification } from '../../../components/form/feedback/RemoteChangeNotification.js';
65
76
  import { emitQuickCreateCompleted, resolveQuickCreateCreatedResourceId, } from '../../../core/resources/relationship-quick-create.frontend.utils.js';
66
77
  import { normalizeContextResourceIdentifiersForOutcome, normalizeContextResourceIdentifiersForTransport, } from '../../../core/resources/context-resource-identifiers.frontend.utils.js';
@@ -83,6 +94,43 @@ function readPathValue(value, path) {
83
94
  return currentValue[segment];
84
95
  }, value);
85
96
  }
97
+ /**
98
+ * A section's values keyed by FIELD PATH (`address.city`), the shape the RMM queues a partial write in: it builds the
99
+ * request body from these when the mutation is sent, and reports exactly these paths as saved. A field the payload
100
+ * boundary removed (hidden, owned by the context) has no value here and is not sent.
101
+ */
102
+ function sectionFieldsByPath(data, fieldNames) {
103
+ const normalize = (path) => path.replace(/\[(\d+)\]/g, '.$1');
104
+ const normalizedNames = fieldNames.map(normalize);
105
+ const fields = {};
106
+ for (const name of fieldNames) {
107
+ // A path under another registered path (an array's item leaf, when the array itself is registered) is already
108
+ // carried whole by its ancestor; writing it again would be a second, redundant write of the same value.
109
+ const normalized = normalize(name);
110
+ if (normalizedNames.some((other) => other !== normalized && normalized.startsWith(`${other}.`)))
111
+ continue;
112
+ const value = readPathValue(data, name);
113
+ if (value !== undefined)
114
+ fields[name] = value;
115
+ }
116
+ return fields;
117
+ }
118
+ /**
119
+ * Whether a field still holds the value a save sent. An emptied field may have been sent as `null` (the cleared
120
+ * sentinel) while the form holds `''` or nothing, so the three empties are one value here.
121
+ */
122
+ function isSameFormValue(current, sent) {
123
+ const isEmpty = (value) => value === undefined || value === null || value === '';
124
+ if (isEmpty(current) || isEmpty(sent))
125
+ return isEmpty(current) && isEmpty(sent);
126
+ return isEqual(current, sent);
127
+ }
128
+ /** Whether a failed mutation's validation error names fields, so it can be shown at them rather than in a toast. */
129
+ function mutationErrorNamesFields(error) {
130
+ if (!error.validationErrors)
131
+ return false;
132
+ return extractServerValidationErrors({ httpStatus: error.status ?? 400, validationErrors: error.validationErrors }) !== null;
133
+ }
86
134
  // =============================================================================
87
135
  // VALIDATION HELPERS
88
136
  // =============================================================================
@@ -199,6 +247,9 @@ function resolveAuthoredEditTemplateForOperation(template, operationIdentifier,
199
247
  * a render-prop function, when it is not mounted as the form opens. Everything a `FormField`,
200
248
  * `FormFieldArray` or `ArrayField` names in the template's JSX under its `FormLayout` or a `Section` is
201
249
  * seen, mounted or not (`collectPlacedFieldPaths`). Placement is per top-level field.
250
+ *
251
+ * A layout inside the template may claim the fields and show them itself (`UnplacedRequestFieldsContext`): a wizard
252
+ * renders them in its last step, where appending them after it put them below its navigation, outside every step.
202
253
  */
203
254
  function AuthoredTemplateWithUnplacedRequestFields({ Template, requestFieldNames, }) {
204
255
  const registry = useTemplatePlacedFieldsRegistry();
@@ -214,7 +265,19 @@ function AuthoredTemplateWithUnplacedRequestFields({ Template, requestFieldNames
214
265
  setUnplacedFieldNames(requestFieldNames.filter((name) => !placed.has(name) && !leftOut.has(name)));
215
266
  // Read ONCE, deliberately: see the component's JSDoc.
216
267
  }, []);
217
- return (_jsxs(_Fragment, { children: [_jsx(TemplatePlacedFieldsContext.Provider, { value: registry, children: _jsx(Template, {}) }), unplacedFieldNames && unplacedFieldNames.length > 0 && (_jsx("div", {
268
+ const [claims, setClaims] = useState(0);
269
+ const claim = useCallback(() => {
270
+ setClaims((count) => count + 1);
271
+ return () => setClaims((count) => count - 1);
272
+ }, []);
273
+ const hasUnplaced = !!unplacedFieldNames && unplacedFieldNames.length > 0;
274
+ const unplacedContext = useMemo(() => ({
275
+ content: hasUnplaced
276
+ ? (_jsx("div", { className: "flex flex-col gap-field", "data-guidance-unplaced-request-fields": "", children: unplacedFieldNames.map((name) => _jsx(FormField, { name: name }, name)) }))
277
+ : null,
278
+ claim,
279
+ }), [claim, hasUnplaced, unplacedFieldNames]);
280
+ return (_jsxs(_Fragment, { children: [_jsx(TemplatePlacedFieldsContext.Provider, { value: registry, children: _jsx(UnplacedRequestFieldsContext.Provider, { value: unplacedContext, children: _jsx(Template, {}) }) }), hasUnplaced && claims === 0 && (_jsx("div", {
218
281
  // A section's seam above it (the template's own layout stacks sections at `space-y-section`, and
219
282
  // this block sits outside it), capped at the reading measure like a template's default FormLayout.
220
283
  className: "mr-auto mt-section w-full space-y-field", style: { maxInlineSize: responsiveMaxWidthToCssValue('measure') }, "data-guidance-unplaced-request-fields": "", children: unplacedFieldNames.map((name) => _jsx(FormField, { name: name }, name)) }))] }));
@@ -251,7 +314,24 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
251
314
  const errorBuilder = useMemo(() => new ErrorBuilderFrontend(), []);
252
315
  // Extract from resource context
253
316
  const { resourceType, operation, contextResourceIdentifiers } = resourceContext;
254
- const updateLikeMutationFallbackMode = callerUpdateLikeMutationFallbackMode ?? resolveDeclaredUpdateLikeMutationFallbackMode(operation);
317
+ // A section's own Save announces its write here, since it calls no host `onSuccess` (which would navigate or close).
318
+ const announceOutcome = useResourceOperationOutcomeEmitter(resourceContext, operation);
319
+ /*
320
+ * #2288: a write held for another person's approval changed nothing. Told as WAITING, never as saved: no success
321
+ * notice, no field marked saved, no outcome announced (the emitter refuses a held answer too). Read from the context so
322
+ * the form never hard-requires a NotificationProvider. Answers whether the write was held, so each save path stops.
323
+ */
324
+ const notification = useContext(NotificationContext);
325
+ const notificationRef = useRef(notification);
326
+ notificationRef.current = notification;
327
+ const tellHeldForApproval = useCallback((result) => {
328
+ if (!readOperationApprovalPending(result))
329
+ return false;
330
+ notificationRef.current?.notifyInfo(tComponent(FrontendComponentType.RESOURCES_LAYOUTS_CREATE, 'operationSentForApproval'));
331
+ return true;
332
+ }, [tComponent]);
333
+ const updateLikeMutationFallbackMode = callerUpdateLikeMutationFallbackMode
334
+ ?? resolveUpdateLikeMutationFallbackMode(operation, registry.resourceConfigurations[resourceType]?.operations);
255
335
  const operationIdentifier = String(operation.operationIdentifier);
256
336
  const effectiveCoreOperation = resolveEffectiveCoreOperation(operationIdentifier, operation.resourceOperationLike ? String(operation.resourceOperationLike) : undefined);
257
337
  // Derive operationType and operationLike for decorator-based field filtering
@@ -295,8 +375,8 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
295
375
  const { initAutoClearing, injectServerErrors, clearServerErrors } = useServerErrorInjection(formMethodsRef);
296
376
  // State for pending publish data (waiting for confirmation dialog)
297
377
  const [pendingPublish, setPendingPublish] = useState(null);
298
- // Holds the validated form data of a CRITICAL submit awaiting typed double-validation.
299
- const [pendingCriticalSubmit, setPendingCriticalSubmit] = useState(null);
378
+ // Holds the validated form data of a HIGH/CRITICAL submit awaiting its confirmation (typed, for CRITICAL).
379
+ const [pendingRiskySubmit, setPendingRiskySubmit] = useState(null);
300
380
  // Track current draft status
301
381
  const [isDraft, setIsDraft] = useState(draftConfig?.isDraft ?? false);
302
382
  // Conflict banner (persists until user acknowledges)
@@ -334,16 +414,60 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
334
414
  // (Match / Filters / Search) whose empty value was submitted as the selection (#2035 run).
335
415
  const hostSuppliedKeys = BULK_OPERATION_HOST_SUPPLIED_FIELDS
336
416
  .filter((field) => field in schema.shape);
337
- if (hostSuppliedKeys.length > 0) {
338
- return schema.omit(Object.fromEntries(hostSuppliedKeys.map((field) => [field, true])));
339
- }
417
+ const withoutSelectors = hostSuppliedKeys.length > 0
418
+ ? schema.omit(Object.fromEntries(hostSuppliedKeys.map((field) => [field, true])))
419
+ : schema;
420
+ /*
421
+ * A BULK UPDATE writes a nested object child by child, only the children the person changed (#2581), so a child
422
+ * its object requires is not required of the form: requiring it made the person fill every required sibling to
423
+ * change one, and those were then written to every selected row. The server validates each child written, and
424
+ * builds a whole object only for a row that has none.
425
+ */
426
+ return isUpdateLikeCoreOperation(effectiveCoreOperation) ? withOptionalNestedChildren(withoutSelectors) : withoutSelectors;
340
427
  }
341
428
  return schema;
342
- }, [operation, operationIdentifier, resourceType]);
429
+ }, [effectiveCoreOperation, operation, operationIdentifier, resourceType]);
343
430
  // Get resource configuration for frontendConfiguration
344
431
  const resourceConfig = useMemo(() => {
345
432
  return registry.resourceConfigurations[resourceType];
346
433
  }, [registry, resourceType]);
434
+ // The fields that select a polymorphic record's variant, read from the RESOURCE schema as inline edit does, so a
435
+ // request DTO that omits them still gets them in a partial write (`carryStoredDiscriminators`).
436
+ const discriminatorFieldNames = useMemo(() => resolveDiscriminatorFieldNames(resourceConfig?.mainSchema), [resourceConfig]);
437
+ /*
438
+ * What an ACTION's form starts from when it acts on an existing record (#2192).
439
+ *
440
+ * An update-like form starts from the record it acts on, and that is right: "Set disclosure" opens on the current
441
+ * disclosure, "Set agents" on the agents admitted now, so a person who submits without reading changes nothing they
442
+ * did not touch. It is wrong for a row field that holds what the LAST action said about itself
443
+ * (`.isLastActionRecord()` — the reason given for a decision). A verb whose request names that field opened with the
444
+ * previous decision's words already typed in: "Suspend" prefilled with the reason an acceptance was given, which a
445
+ * person who submits without reading records as the reason for the suspension. So those fields are left out of
446
+ * EVERY seed taken from a record — the mount, the override resets and the version-conflict reset — unless the host
447
+ * supplied them itself (`defaultValuesOverride` is the host's explicit choice).
448
+ *
449
+ * Only custom verbs are filtered. A READ shows the record as it is, and the literal `update` edits the row's own
450
+ * fields, so a marked field it exposes is edited from its current value. The loaded record (`defaultValues`) still
451
+ * feeds the availability guard and the stored-state comparison, which ask about the record, not about what the
452
+ * person is about to type.
453
+ */
454
+ const lastActionRecordFields = useMemo(() => {
455
+ if (effectiveCoreOperation === CoreResourceOperation.READ || operationIdentifier === CoreResourceOperation.UPDATE) {
456
+ return new Set();
457
+ }
458
+ // Every schema a row can have (#2455): a variant's last-action field is not seeded from the record either.
459
+ return new Set([resourceConfig?.mainSchema, ...resourceInheritanceVariantSchemas(resourceConfig?.inheritenceSchemaDefinition)]
460
+ .flatMap((rowSchema) => [...lastActionRecordFieldNames(rowSchema)]));
461
+ }, [effectiveCoreOperation, operationIdentifier, resourceConfig]);
462
+ const seedFromRecord = useCallback((record, applyHostOverride = true) => {
463
+ const override = (defaultValuesOverride ?? {});
464
+ const seed = applyHostOverride ? { ...record, ...override } : { ...record };
465
+ for (const fieldName of lastActionRecordFields) {
466
+ if (!Object.prototype.hasOwnProperty.call(override, fieldName))
467
+ delete seed[fieldName];
468
+ }
469
+ return seed;
470
+ }, [defaultValuesOverride, lastActionRecordFields]);
347
471
  // Get frontEndApplication config for current app type
348
472
  const feAppConfig = useMemo(() => {
349
473
  return operation.operationFrontendConfig;
@@ -387,7 +511,11 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
387
511
  }, [formSchema]);
388
512
  // Resolve explicit edit template from layout config — for the operations it can serve
389
513
  // (`resolveAuthoredEditTemplateForOperation`).
390
- const explicitEditTemplate = useMemo(() => resolveAuthoredEditTemplateForOperation(resourceConfig?.frontendConfiguration?.layout?.edit, operation.operationIdentifier, formFieldShape, resourceConfig?.mainSchema), [resourceConfig, operation.operationIdentifier, formFieldShape]);
514
+ const explicitEditTemplate = useMemo(() => resolveAuthoredEditTemplateForOperation(resourceConfig?.frontendConfiguration?.layout?.edit, operation.operationIdentifier, formFieldShape,
515
+ // Every field some row can hold (#2455), so a custom operation writing a variant field keeps the template.
516
+ resourceConfig?.inheritenceSchemaDefinition
517
+ ? z.object(FrontendResourceUtils.resolveFieldShapeOfAnyVariant(resourceConfig) ?? {})
518
+ : resourceConfig?.mainSchema), [resourceConfig, operation.operationIdentifier, formFieldShape]);
391
519
  // Extract draft config from resource-level configuration
392
520
  const resourceDraftConfig = resourceConfig?.frontendConfiguration?.draftableConfig;
393
521
  // Merge resource-level draft config with prop-provided config (props take precedence)
@@ -472,6 +600,28 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
472
600
  return writeSurfaces;
473
601
  }, [effectiveFormOperationType, formFieldShape, registry, resourceType]);
474
602
  const resourceOperations = resourceConfig?.operations ?? [];
603
+ // The backend's organization-unit narrowing, as the session's access profile serves it (#2939). Read tolerantly: a form
604
+ // rendered outside a session provider has none, and keeps every field.
605
+ const accessProfile = useContext(UserOrgsContext)?.permissions?.accessProfile;
606
+ const organizationUnitNarrowing = accessProfile?.organizationUnitNarrowing;
607
+ // #2943: on a create, the organization units this caller may name, as the backend's placement answered in advance —
608
+ // offered as a choice of those units instead of a picker over every unit. `undefined` keeps the picker.
609
+ const createOrganizationUnitCandidates = useMemo(() => (effectiveCoreOperation === CoreResourceOperation.CREATE
610
+ ? readThroughCreateOrganizationUnitCandidates({
611
+ resourceType,
612
+ resourceConfiguration: resourceConfig,
613
+ formFieldShape,
614
+ readThroughCreateOrganizationUnits: accessProfile?.readThroughCreateOrganizationUnits,
615
+ })
616
+ : undefined), [accessProfile?.readThroughCreateOrganizationUnits, effectiveCoreOperation, formFieldShape, resourceConfig, resourceType]);
617
+ const createOrganizationUnitLabels = useReferenceRecordLabels({
618
+ resourceType: CoreResourceType.ORGANIZATION_UNITS,
619
+ ids: createOrganizationUnitCandidates,
620
+ hostContextualParameters: contextualParameters,
621
+ });
622
+ const allowedValuesByField = useMemo(() => (createOrganizationUnitCandidates
623
+ ? { [READ_THROUGH_ORGANIZATION_UNIT_FIELD_NAME]: { values: createOrganizationUnitCandidates, labels: createOrganizationUnitLabels } }
624
+ : undefined), [createOrganizationUnitCandidates, createOrganizationUnitLabels]);
475
625
  // Resource-aware hidden-field derivation stays here on purpose.
476
626
  // `AutomatedForm` only consumes these names as opaque infrastructure input.
477
627
  const hiddenFieldNames = useMemo(() => {
@@ -515,12 +665,18 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
515
665
  }
516
666
  hiddenNames.push(relationshipField);
517
667
  }
668
+ // A read-through resource's organization unit, where this deployment's system of record is not partitioned (#2939).
669
+ if (isReadThroughOrganizationUnitFieldInert({ resourceType, resourceConfiguration: resourceConfig, formFieldShape, organizationUnitNarrowing })) {
670
+ hiddenNames.push(READ_THROUGH_ORGANIZATION_UNIT_FIELD_NAME);
671
+ }
518
672
  return hiddenNames;
519
673
  }, [
520
674
  contextFieldValues,
521
675
  effectiveFormOperationType,
522
676
  formFieldShape,
677
+ organizationUnitNarrowing,
523
678
  relationshipWriteSurfacesByFieldName,
679
+ resourceConfig,
524
680
  resourceOperations,
525
681
  resourceType,
526
682
  ]);
@@ -535,16 +691,18 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
535
691
  return isSingleResourceUpdateLikeOperation(operation);
536
692
  }, [operation]);
537
693
  const resourceId = useMemo(() => {
538
- const contextId = contextResourceIdentifiers[resourceType];
694
+ // Only an operation that addresses ONE record has an id in its context; on a CREATE (or a collection or bulk
695
+ // operation) the own-type slot holds at most ambient scope and must not become this form's record id.
696
+ const contextId = frontendResourceUtils.getAddressedRecordId({ resourceType, operation, contextResourceIdentifiers });
539
697
  if (contextId) {
540
- return typeof contextId === 'string' ? contextId : contextId.resourceId;
698
+ return contextId;
541
699
  }
542
700
  const loadedId = defaultValues && typeof defaultValues === 'object'
543
701
  ? defaultValues._id
544
702
  : undefined;
545
703
  return typeof loadedId === 'string' && loadedId.length > 0 ? loadedId : null;
546
704
  // eslint-disable-next-line react-hooks/exhaustive-deps -- using stable key instead of object reference
547
- }, [contextResourceIdentifiersKey, defaultValues, resourceType]);
705
+ }, [contextResourceIdentifiersKey, defaultValues, resourceType, operation]);
548
706
  const parentResourcesRequirementsKey = useMemo(() => {
549
707
  return JSON.stringify(resourceContext.parentResourcesRequirements ?? []);
550
708
  }, [resourceContext.parentResourcesRequirements]);
@@ -637,6 +795,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
637
795
  parentResourcesRequirements: resourceContext.parentResourcesRequirements,
638
796
  contextResourceIdentifiers: contextResourceIdentifiersWithResourceId,
639
797
  resourceSchema: resourceConfig?.mainSchema,
798
+ resourceInheritance: resourceConfig?.inheritenceSchemaDefinition,
640
799
  enabled: isUpdateLikeOperation && !!resourceId,
641
800
  conflictPolicy: { strategy: ConflictStrategy.ACCEPT_REMOTE },
642
801
  directFallbackAccepted: allowsDirectOperationFallback(updateLikeMutationFallbackMode),
@@ -773,6 +932,36 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
773
932
  rmm,
774
933
  allowsDirectUpdateLikeMutationFallback,
775
934
  ]);
935
+ /**
936
+ * Marks saved fields SAVED: each takes the stored value, and stops being dirty.
937
+ *
938
+ * The write-back used `setValue(…, { shouldDirty: false })`, which writes the value but leaves a field that was
939
+ * already dirty dirty, so after a section save or an autosave the form still reported unsaved changes for fields
940
+ * the server had just stored. `resetField` with the stored value as the field's new default is how React Hook Form
941
+ * says "this is the saved value". It also clears the field's error, which the save has made obsolete, and keeps it
942
+ * touched. A field that is not registered (a conditional field hidden right now) has no state to reset, so its value
943
+ * is written with `setValue` first.
944
+ *
945
+ * A field the person changed while the save was on its way is left alone: it holds a newer value than the one saved,
946
+ * and writing the stored value back erased what they had typed since (an autosave of "abc" landing while the field
947
+ * read "abcd" turned it back into "abc"). It stays unsaved, so its own save marks it.
948
+ *
949
+ * @param storedRecord the record as stored after the save; a field it does not carry keeps the value the form holds.
950
+ * @param sentValues the values the save sent, by field path, when known.
951
+ */
952
+ const markFieldsSaved = useCallback((fieldNames, storedRecord, sentValues) => {
953
+ const form = formMethodsRef.current;
954
+ if (!form)
955
+ return;
956
+ for (const field of fieldNames) {
957
+ if (sentValues && Object.prototype.hasOwnProperty.call(sentValues, field) && !isSameFormValue(form.getValues(field), sentValues[field]))
958
+ continue;
959
+ const stored = readPathValue(storedRecord, field);
960
+ const value = stored !== undefined ? stored : form.getValues(field);
961
+ form.setValue(field, value, { shouldDirty: false, shouldValidate: false });
962
+ form.resetField(field, { defaultValue: value, keepTouched: true });
963
+ }
964
+ }, []);
776
965
  // This is the wrapper's single RMM subscription seam. All authoritative
777
966
  // mutation/read-back/remote-reset outcomes are translated here into form
778
967
  // state updates, server validation injection, transient remote-update UI, and
@@ -785,14 +974,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
785
974
  case RMMEventType.MUTATION_RESULT: {
786
975
  const { result } = event;
787
976
  if (result.success && result.savedFields) {
788
- if (formMethodsRef.current) {
789
- for (const field of result.savedFields) {
790
- formMethodsRef.current.setValue(field, readPathValue(rmmSnapshot.confirmedData, field), {
791
- shouldDirty: false,
792
- shouldValidate: false,
793
- });
794
- }
795
- }
977
+ markFieldsSaved(result.savedFields, rmmSnapshot.confirmedData, result.savedValues);
796
978
  }
797
979
  if (!result.success && result.error?.type === MutationErrorType.VALIDATION) {
798
980
  if (result.error.validationErrors) {
@@ -834,7 +1016,9 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
834
1016
  }
835
1017
  case RMMEventType.CONFLICT_RESET: {
836
1018
  if (formMethodsRef.current) {
837
- formMethodsRef.current.reset(event.currentData);
1019
+ // The server's record after a conflict: still a record, so the same seed rule applies (#2192). The host's
1020
+ // prefill is NOT re-applied: after a conflict the server's values are the ones the person must see.
1021
+ formMethodsRef.current.reset(seedFromRecord(event.currentData, false));
838
1022
  }
839
1023
  clearServerErrors();
840
1024
  setConflictBanner({
@@ -899,20 +1083,19 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
899
1083
  return null;
900
1084
  }
901
1085
  try {
902
- const primaryResourceId = isUpdateOperation
903
- ? resourceId ?? frontendResourceUtils.getPrimaryResourceIdentifier(resourceContext)
904
- : frontendResourceUtils.getPrimaryResourceIdentifier(resourceContext);
1086
+ // An UPDATE's own route segment is the record it edits — the addressed record (`resourceId`), never a
1087
+ // second read of the own-type slot. A CREATE has none: its slot holds at most ambient scope (#2143 review).
1088
+ const updatedRecordId = isUpdateOperation ? resourceId : null;
905
1089
  const apiBaseUrl = envLoader.getApiUrl();
906
1090
  if (!resourceConfig?.resourceFieldIdentifier) {
907
1091
  throw FrontendResourceUtils.buildConfigurationError(ErrorCustomMessageReference.FRONTEND_RESOURCE_FIELD_IDENTIFIER_NOT_FOUND, { resourceType: resourceContext.resourceType, component: 'ResourceAutomatedForm' });
908
1092
  }
909
1093
  const resourceFieldIdentifier = resourceConfig.resourceFieldIdentifier;
910
1094
  const contextualParameters = { ...contextualParametersWithResourceId };
911
- if (isUpdateOperation && primaryResourceId) {
912
- contextualParameters[resourceFieldIdentifier] = primaryResourceId;
1095
+ if (updatedRecordId) {
1096
+ contextualParameters[resourceFieldIdentifier] = updatedRecordId;
913
1097
  }
914
- const routeBearingMutationOperation = (operation.variantType === ResourceOperationVariantType.API_CALL
915
- || operation.variantType === ResourceOperationVariantType.API_CALL_WITH_CALLBACK)
1098
+ const routeBearingMutationOperation = (operation.variantType === ResourceOperationVariantType.API_CALL)
916
1099
  ? operation
917
1100
  : resourceConfig && isUpdateOperation
918
1101
  ? pickPreferredOperationForCoreSemanticAddressability({
@@ -955,7 +1138,6 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
955
1138
  apiBaseUrl,
956
1139
  basePath,
957
1140
  contextualParameters,
958
- primaryResourceId,
959
1141
  resourceFieldIdentifier,
960
1142
  };
961
1143
  }
@@ -984,8 +1166,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
984
1166
  const isUpdateOperation = isSingleResourceUpdateLikeOperation(operation);
985
1167
  const { apiBaseUrl, contextualParameters } = resourceApiBase;
986
1168
  try {
987
- const uploadOperation = (operation.variantType === ResourceOperationVariantType.API_CALL
988
- || operation.variantType === ResourceOperationVariantType.API_CALL_WITH_CALLBACK)
1169
+ const uploadOperation = (operation.variantType === ResourceOperationVariantType.API_CALL)
989
1170
  ? operation
990
1171
  : isUpdateOperation
991
1172
  ? pickPreferredOperationForCoreSemanticAddressability({
@@ -1079,10 +1260,11 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1079
1260
  // Currently checks: isUnique()
1080
1261
  // When new server-validated decorators are added (e.g., isExternallyValidated),
1081
1262
  // add them to this check to enable the validate-field URL for those resources.
1082
- const mainSchema = resourceConfig.mainSchema;
1083
- if (!mainSchema)
1263
+ // Every field some row can hold (#2455): a unique field only a variant declares warns early too (its backend route
1264
+ // exists since #2434).
1265
+ const shape = FrontendResourceUtils.resolveFieldShapeOfAnyVariant(resourceConfig);
1266
+ if (!shape)
1084
1267
  return undefined;
1085
- const shape = getZodObjectShape(mainSchema);
1086
1268
  const hasServerValidatedFields = Object.values(shape).some(fieldSchema => isUnique(fieldSchema)
1087
1269
  // Future: || isExternallyValidated(fieldSchema)
1088
1270
  // Future: || isServerValidated(fieldSchema)
@@ -1136,14 +1318,16 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1136
1318
  return composed;
1137
1319
  }, [resourceApiBase, resourceConfig, resourceContext.parentResourcesRequirements, resourceType]);
1138
1320
  /**
1139
- * Resource ID for UPDATE operations.
1140
- * Passed as excludeId to the validate-field endpoint so server-side validation
1141
- * strategies can exclude the current resource from checks (e.g., uniqueness
1142
- * validation shouldn't conflict with the resource's own values during UPDATE).
1321
+ * The form's record id, as the form PUBLISHES it to its fields (the form context's `resourceId`): the
1322
+ * uniqueness check's `excludeId`, a reference field's host record, quick-create's source record.
1323
+ *
1324
+ * It is the addressed record (`resourceId` above, through `getAddressedRecordId`) and nothing else. It used to
1325
+ * fall back to `getPrimaryResourceIdentifier`, which reads the own-type slot whatever the operation: on a
1326
+ * CREATE that slot holds at most ambient scope — the quick-switcher's selection, or the host record a
1327
+ * same-type quick-create was opened from — and every field saw it as the record being created (#2143 review).
1328
+ * For a record operation the fallback read the same slot `resourceId` already read, so it added nothing.
1143
1329
  */
1144
- const primaryResourceId = useMemo(() => {
1145
- return resourceId ?? frontendResourceUtils.getPrimaryResourceIdentifier(resourceContext) ?? undefined;
1146
- }, [resourceContext, resourceId]);
1330
+ const primaryResourceId = useMemo(() => resourceId ?? undefined, [resourceId]);
1147
1331
  const canonicalReadOperation = useMemo(() => {
1148
1332
  if (rmm) {
1149
1333
  return undefined;
@@ -1187,6 +1371,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1187
1371
  resourceType,
1188
1372
  enabled: needsFetch && hasLoadedOnce && !fetchError,
1189
1373
  });
1374
+ const recordSeededDefaultValues = useMemo(() => (defaultValues ? seedFromRecord(defaultValues) : defaultValues), [defaultValues, seedFromRecord]);
1190
1375
  // CREATE-only synchronous default-value seed.
1191
1376
  //
1192
1377
  // Two jobs (see `resolveCreateFormInitialValues` for the full rationale):
@@ -1204,15 +1389,128 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1204
1389
  // first mount and never reach RHF.
1205
1390
  // Computed only for CREATE; UPDATE-like operations take their defaults from the
1206
1391
  // fetched record. Default-free non-discriminated resources resolve to `undefined`.
1392
+ /*
1393
+ * A BULK update form writes what the person SETS, each nested child by its dotted path (`bulkUpdatePatch`, #2581). It
1394
+ * starts EMPTY, as bulk editors do (Jira's bulk edit, Salesforce's mass update): no selected row's value can be shown
1395
+ * (each has its own), and a schema default shown in its place could then never be written, since a field still
1396
+ * holding what the form showed is not a change. A host's own prefill (`defaultValuesOverride`) is its explicit
1397
+ * choice, so it is shown AND counts as set.
1398
+ */
1399
+ const writesBulkPatch = operation.isBulkOperation === true && isUpdateLikeCoreOperation(effectiveCoreOperation);
1207
1400
  const createSeededDefaultValues = useMemo(() => {
1208
1401
  if (needsFetch)
1209
1402
  return undefined;
1403
+ if (writesBulkPatch)
1404
+ return defaultValuesOverride;
1210
1405
  return resolveCreateFormInitialValues({
1211
1406
  formFieldShape,
1212
1407
  inheritanceConfig,
1213
1408
  defaultValuesOverride: defaultValuesOverride,
1214
1409
  });
1215
- }, [needsFetch, formFieldShape, inheritanceConfig, defaultValuesOverride]);
1410
+ }, [needsFetch, formFieldShape, inheritanceConfig, defaultValuesOverride, writesBulkPatch]);
1411
+ // Compared against NOTHING: the form starts empty, so every value it holds was set (by the person, or by the host's
1412
+ // prefill), and a field holding only what an untouched control holds is not written (`bulkUpdatePatch`).
1413
+ const toBulkPatch = useCallback((values, writtenAsHeld, clears = {}) => bulkUpdatePatch({
1414
+ values,
1415
+ seed: undefined,
1416
+ schema: formSchema,
1417
+ writtenAsHeld,
1418
+ variantFields: discriminatorFieldNames,
1419
+ clears,
1420
+ }), [discriminatorFieldNames, formSchema]);
1421
+ /*
1422
+ * The person's explicit "clear on every selected record" choices (#2620), by field path, each the value
1423
+ * `resolveBulkFieldClear` chose. A ref beside the state: each write reads the clears it carries when it builds its body,
1424
+ * and the autosave a choosing click triggers runs before React re-renders. A clear leaves once a write carried it
1425
+ * (`consumeBulkClears`), so a value the person sets afterwards is never cleared again by a later write.
1426
+ */
1427
+ const [bulkClears, setBulkClears] = useState({});
1428
+ const bulkClearsRef = useRef(bulkClears);
1429
+ const bulkSelectionCount = readBulkOperationSelectionCount(resourceContext.additionalContext);
1430
+ const bulkClearFor = useMemo(() => {
1431
+ const decided = new Map();
1432
+ return (fieldName) => {
1433
+ if (!writesBulkPatch)
1434
+ return undefined;
1435
+ if (!decided.has(fieldName)) {
1436
+ decided.set(fieldName, resolveBulkFieldClear(fieldName, operation.requestDto, formSchema, discriminatorFieldNames));
1437
+ }
1438
+ return decided.get(fieldName);
1439
+ };
1440
+ }, [discriminatorFieldNames, formSchema, operation.requestDto, writesBulkPatch]);
1441
+ const setBulkFieldCleared = useCallback((fieldName, cleared) => {
1442
+ const clear = cleared ? bulkClearFor(fieldName) : undefined;
1443
+ if (cleared && !clear)
1444
+ return;
1445
+ const next = { ...bulkClearsRef.current };
1446
+ if (clear)
1447
+ next[fieldName] = clear.value;
1448
+ else
1449
+ delete next[fieldName];
1450
+ bulkClearsRef.current = next;
1451
+ setBulkClears(next);
1452
+ if (!clear)
1453
+ return;
1454
+ /*
1455
+ * The control then holds what the clear writes, never what the person typed and chose to drop (an autosave validates
1456
+ * it). A list holds `[]`: a field array resyncs only from an array, so `undefined` left its rows on screen after an
1457
+ * undo while the form held none. A switch holds `false`. A value holds nothing, which every scalar control renders
1458
+ * empty and the bulk form's schema accepts on a relaxed child, where `null` would not parse.
1459
+ */
1460
+ const held = clear.kind === BulkFieldClearKind.EMPTY ? [] : clear.kind === BulkFieldClearKind.TURN_OFF ? false : undefined;
1461
+ formMethodsRef.current?.setValue(fieldName, held, { shouldDirty: true });
1462
+ // An error raised by the dropped value no longer describes the field.
1463
+ formMethodsRef.current?.clearErrors(fieldName);
1464
+ }, [bulkClearFor]);
1465
+ /*
1466
+ * The fields whose clear affordance is on screen, counted (a remount of the same field mounts before it unmounts). A
1467
+ * write carries only their clears (`liveBulkClears`): a field hidden after its clear was chosen leaves the form's values,
1468
+ * as the form does not submit an unmounted field, so its clear leaves the write too.
1469
+ */
1470
+ const mountedBulkClearFieldsRef = useRef(new Map());
1471
+ const registerBulkClearField = useCallback((fieldName) => {
1472
+ const mounted = mountedBulkClearFieldsRef.current;
1473
+ mounted.set(fieldName, (mounted.get(fieldName) ?? 0) + 1);
1474
+ return () => {
1475
+ const remaining = (mounted.get(fieldName) ?? 1) - 1;
1476
+ if (remaining > 0)
1477
+ mounted.set(fieldName, remaining);
1478
+ else
1479
+ mounted.delete(fieldName);
1480
+ };
1481
+ }, []);
1482
+ // The choices belong to ONE operation's form: a host that hands this instance another operation (hosts do not key it)
1483
+ // must not carry a clear chosen for the first into the second's write.
1484
+ const bulkClearsOperationKeyRef = useRef(currentOperationPathKey);
1485
+ useEffect(() => {
1486
+ if (bulkClearsOperationKeyRef.current === currentOperationPathKey)
1487
+ return;
1488
+ bulkClearsOperationKeyRef.current = currentOperationPathKey;
1489
+ if (Object.keys(bulkClearsRef.current).length === 0)
1490
+ return;
1491
+ bulkClearsRef.current = {};
1492
+ setBulkClears({});
1493
+ }, [currentOperationPathKey]);
1494
+ const liveBulkClears = useCallback(() => Object.fromEntries(Object.entries(bulkClearsRef.current).filter(([fieldName]) => mountedBulkClearFieldsRef.current.has(fieldName))), []);
1495
+ const consumeBulkClears = useCallback((written) => {
1496
+ const paths = Object.keys(written);
1497
+ if (paths.length === 0)
1498
+ return;
1499
+ const next = { ...bulkClearsRef.current };
1500
+ for (const path of paths)
1501
+ delete next[path];
1502
+ bulkClearsRef.current = next;
1503
+ setBulkClears(next);
1504
+ }, []);
1505
+ const bulkFieldClearing = useMemo(() => (writesBulkPatch
1506
+ ? {
1507
+ selectionCount: bulkSelectionCount,
1508
+ clearFor: bulkClearFor,
1509
+ isCleared: (fieldName) => Object.hasOwn(bulkClears, fieldName),
1510
+ setCleared: setBulkFieldCleared,
1511
+ registerField: registerBulkClearField,
1512
+ }
1513
+ : null), [bulkClearFor, bulkClears, bulkSelectionCount, registerBulkClearField, setBulkFieldCleared, writesBulkPatch]);
1216
1514
  // Fetch existing data for UPDATE-like operations
1217
1515
  // Use refs to avoid infinite loops from unstable function references
1218
1516
  useEffect(() => {
@@ -1339,13 +1637,28 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1339
1637
  }
1340
1638
  throw mutationErrorForReport(mutationResult.error, 'Submit failed');
1341
1639
  }
1342
- result = mutationResult.responseData;
1640
+ result = mutationResult.heldForApproval ?? mutationResult.responseData;
1343
1641
  }
1344
1642
  else {
1345
1643
  assertRMMAvailableForDefaultUpdateLikeMutation('ResourceAutomatedForm submit');
1644
+ const contextFieldNames = Object.keys(contextFieldValues);
1645
+ // Every explicit clear: the main submit writes the whole form (#2620).
1646
+ const sentBulkClears = writesBulkPatch ? liveBulkClears() : {};
1647
+ const requestBody = writesBulkPatch ? toBulkPatch(data, contextFieldNames, sentBulkClears) : data;
1648
+ /*
1649
+ * A literal bulk UPDATE that sets nothing would write nothing but a new version and `updatedAt` on every selected
1650
+ * row (and a stale-version refusal for anyone editing one) while reporting success. Its meaning IS its patch, so
1651
+ * an empty one is said, not sent. A VERB (an update-like custom operation) still runs on an empty patch: the verb
1652
+ * itself is what the person asked for, and its own logic may be all it writes.
1653
+ */
1654
+ const isLiteralUpdate = operationIdentifier === CoreResourceOperation.UPDATE || operationIdentifier === CoreResourceOperation.UPDATE_MANY;
1655
+ if (writesBulkPatch && isLiteralUpdate && Object.keys(requestBody).every((key) => contextFieldNames.includes(key))) {
1656
+ injectServerErrors({ [FORM_LEVEL_ERROR_PATH]: tComponent(FrontendComponentType.RESOURCES_LAYOUTS_CREATE, 'bulkNothingToChange') });
1657
+ return;
1658
+ }
1346
1659
  result = await doOperationRef.current(currentOperationTransportOverride.operationPathKey, {
1347
1660
  contextualParameters: currentOperationTransportOverride.contextualParameters,
1348
- requestData: mergeRequestDataWithBulkSelection(data),
1661
+ requestData: mergeRequestDataWithBulkSelection(requestBody),
1349
1662
  parentResourcesRequirements: currentOperationTransportOverride.parentResourcesRequirements,
1350
1663
  },
1351
1664
  // `silent`: this form owns the user-facing failure UX (the catch below
@@ -1355,8 +1668,14 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1355
1668
  // Side-effects (auth-logout on 401, redirect, dedup) still run — `silent`
1356
1669
  // now suppresses only the global display, not the ERROR_OCCURED event.
1357
1670
  { silent: true });
1671
+ consumeBulkClears(sentBulkClears);
1358
1672
  }
1359
1673
  logDebug('handleSubmit: success', { operationPathKey });
1674
+ if (tellHeldForApproval(result)) {
1675
+ // The request was made: the host moves on (a create goes back, as it does for an answer naming no record).
1676
+ onSuccessRef.current?.(result);
1677
+ return;
1678
+ }
1360
1679
  // Emit success notification event if configured
1361
1680
  const frontendNotification = getFrontendNotification(operation);
1362
1681
  if (frontendNotification) {
@@ -1444,13 +1763,21 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1444
1763
  }
1445
1764
  }, [
1446
1765
  assertRMMAvailableForDefaultUpdateLikeMutation,
1766
+ contextFieldValues,
1447
1767
  currentOperationTransportOverride,
1768
+ injectServerErrors,
1448
1769
  mergeRequestDataWithBulkSelection,
1770
+ operationIdentifier,
1449
1771
  operationPathKey,
1450
1772
  contextualParameters,
1451
1773
  operation,
1452
1774
  resourceContext,
1453
1775
  rmm,
1776
+ tComponent,
1777
+ toBulkPatch,
1778
+ consumeBulkClears,
1779
+ liveBulkClears,
1780
+ writesBulkPatch,
1454
1781
  ]);
1455
1782
  // Handle validation errors (client-side, from RHF)
1456
1783
  const handleError = (errors) => {
@@ -1470,7 +1797,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1470
1797
  if (!defaultValuesOverride || !formMethodsRef.current)
1471
1798
  return;
1472
1799
  const merged = defaultValues
1473
- ? { ...defaultValues, ...defaultValuesOverride }
1800
+ ? seedFromRecord(defaultValues)
1474
1801
  : defaultValuesOverride;
1475
1802
  formMethodsRef.current.reset(merged);
1476
1803
  // eslint-disable-next-line react-hooks/exhaustive-deps -- only run when override changes
@@ -1482,7 +1809,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1482
1809
  // When defaultValuesOverride is set (e.g. from DISCOVER), reset form with merged values
1483
1810
  if (defaultValuesOverride) {
1484
1811
  const merged = defaultValues
1485
- ? { ...defaultValues, ...defaultValuesOverride }
1812
+ ? seedFromRecord(defaultValues)
1486
1813
  : defaultValuesOverride;
1487
1814
  formMethods.reset(merged);
1488
1815
  }
@@ -1506,24 +1833,40 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1506
1833
  };
1507
1834
  // Check if already aborted before starting
1508
1835
  checkAborted();
1509
- // A composite child autosaves under its dotted path (`address.city`). This handler supplies the
1510
- // RMM's `transportOverride.requestData`, which the RMM sends as given, so the body must already be
1511
- // in the resource's own shape: the WHOLE top-level field with the edit written into it. A flat
1512
- // dotted key is dropped by the strict UPDATE parse with a 200, and a bare nested fragment would
1513
- // erase the siblings, because an UPDATE replaces a nested object (#1395). The stored parent comes
1514
- // from the RMM's confirmed state, the last thing the server said; without an RMM, from the form.
1515
- const storedRecord = (rmm?.getSnapshot().confirmedData ?? formMethodsRef.current?.getValues() ?? null);
1516
- const requestData = mergeRequestDataWithBulkSelection(buildInlineUpdateRequestData(storedRecord, fieldName, value));
1517
- // Check abort again after shaping the request payload.
1518
- checkAborted();
1836
+ /*
1837
+ * A composite child autosaves under its dotted path (`address.city`), and the body must be in the resource's own
1838
+ * shape: the WHOLE top-level field with the edit written into it. A flat dotted key is dropped by the strict
1839
+ * UPDATE parse with a 200, and a bare nested fragment would erase the siblings, because an UPDATE replaces a
1840
+ * nested object (#1395).
1841
+ *
1842
+ * On the RMM lane the RMM builds that body itself when it SENDS the mutation (`buildWireRequestData`), onto the
1843
+ * record as confirmed at that moment. This handler used to build it here, at QUEUE time, and hand it over as
1844
+ * `transportOverride.requestData`, which the RMM sends as given: an autosave queued behind an in-flight save of a
1845
+ * sibling (`address.street`) then re-sent the sibling's old value, and passed the version check. Only the direct
1846
+ * lane, which sends at once, builds the body here, from the record the form loaded.
1847
+ *
1848
+ * Both send the record's stored discriminator, which a polymorphic resource's partial UPDATE needs: the RMM adds the
1849
+ * one it has confirmed when it sends, and the direct lane adds the one the form loaded.
1850
+ *
1851
+ * A BULK update has no record to build onto (each selected row has its own): it writes the field by its path, a
1852
+ * nested child as `contact.city` (#2581), and nothing when the field holds what the form was seeded with.
1853
+ */
1854
+ // The explicit clears this field's write covers (#2620): a clear chosen on the field autosaves as its other changes do.
1855
+ const sentBulkClears = !rmm && writesBulkPatch ? bulkClearsWithin(liveBulkClears(), bulkWriteUnits([fieldName], formSchema)) : {};
1856
+ const bulkAutosavePatch = !rmm && writesBulkPatch
1857
+ ? toBulkPatch(pickSubmissionDataPaths(
1858
+ // The value this autosave validated, over the form's full values (a path into an array writes the array).
1859
+ withPathValue((formMethodsRef.current?.getValues() ?? {}), fieldName, value), bulkWriteUnits([fieldName], formSchema)), [], sentBulkClears)
1860
+ : undefined;
1861
+ if (bulkAutosavePatch && Object.keys(bulkAutosavePatch).length === 0)
1862
+ return;
1519
1863
  const operationPromise = rmm
1520
- ? rmm.queueMutation({ [fieldName]: value }, {
1864
+ ? rmm.queueMutation(
1865
+ // The RMM adds the stored discriminator when it sends (`resource-discriminators.frontend.utils.ts`).
1866
+ { [fieldName]: value }, {
1521
1867
  type: MutationType.AUTOSAVE,
1522
1868
  priority: MutationPriority.LOW,
1523
- transportOverride: {
1524
- ...currentOperationTransportOverride,
1525
- requestData,
1526
- },
1869
+ transportOverride: currentOperationTransportOverride,
1527
1870
  }).then((mutationResult) => {
1528
1871
  if (!mutationResult.success) {
1529
1872
  throw mutationResult.error ?? new Error('Autosave failed');
@@ -1531,7 +1874,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1531
1874
  })
1532
1875
  : doOperationRef.current(currentOperationTransportOverride.operationPathKey, {
1533
1876
  contextualParameters: currentOperationTransportOverride.contextualParameters,
1534
- requestData,
1877
+ requestData: mergeRequestDataWithBulkSelection(bulkAutosavePatch ?? carryStoredDiscriminators(buildInlineUpdateRequestData((formMethodsRef.current?.getValues() ?? null), fieldName, value), discriminatorFieldNames, defaultValues)),
1535
1878
  parentResourcesRequirements: currentOperationTransportOverride.parentResourcesRequirements,
1536
1879
  }, {
1537
1880
  signal: abortSignal,
@@ -1559,13 +1902,47 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1559
1902
  await Promise.race([operationPromise, abortPromise]);
1560
1903
  // Final abort check after operation completes
1561
1904
  checkAborted();
1905
+ consumeBulkClears(sentBulkClears);
1562
1906
  }, [
1563
1907
  assertRMMAvailableForDefaultUpdateLikeMutation,
1564
1908
  currentOperationTransportOverride,
1909
+ defaultValues,
1910
+ discriminatorFieldNames,
1911
+ formSchema,
1565
1912
  mergeRequestDataWithBulkSelection,
1566
1913
  rmm,
1914
+ toBulkPatch,
1915
+ consumeBulkClears,
1916
+ liveBulkClears,
1917
+ writesBulkPatch,
1567
1918
  ]);
1568
- // Section save handler - saves a subset of fields via PATCH
1919
+ /**
1920
+ * Saves the fields ONE section registered, and owns the whole outcome of that save.
1921
+ *
1922
+ * ## It is not the operation completing
1923
+ *
1924
+ * A host's `onSuccess` / `onError` mean "the record is saved (or refused): announce it and move on", and
1925
+ * `ResourceLayout_Update` navigates to the record. A section save called them too, so saving one section of a
1926
+ * multi-section form took the person off the page with the other sections unsaved, and announced the save twice.
1927
+ * Neither is called here: the form announces the section's outcome itself, once, and stays.
1928
+ *
1929
+ * ## Queued by field path, built when sent
1930
+ *
1931
+ * The RMM queues a partial write by FIELD PATH (`address.city`), as autosave does, and builds the request body when
1932
+ * it SENDS the mutation (`buildWireRequestData`), onto the record as it is confirmed at that moment. The section
1933
+ * used to queue a nested object with a body frozen at queue time, which went wrong twice: the body carried the
1934
+ * stored siblings of every nested parent as they were when the save was QUEUED, so a mutation confirmed in between
1935
+ * (an autosave of `address.street`) was overwritten by the older value and still passed the version check; and the
1936
+ * RMM reported the top-level key (`address`) as saved, so the write-back replaced the whole object from the server
1937
+ * and erased unsaved edits to its other children in another section.
1938
+ *
1939
+ * ## Failures
1940
+ *
1941
+ * A field-level refusal is shown at its fields (`injectServerErrors`, through the RMM event seam or directly on the
1942
+ * direct lane), with no toast. A refusal that names no field, and any other failure, raise ONE resource error
1943
+ * toast. A save cancelled on purpose (the main submit superseded it) says nothing. A caller-supplied handler that
1944
+ * throws is reported the same way instead of escaping as an unhandled rejection.
1945
+ */
1569
1946
  const handleSectionSave = useCallback(async (sectionRef, fieldNames, data) => {
1570
1947
  if (fieldNames.length === 0) {
1571
1948
  if (envLoader.isDevelopment()) {
@@ -1576,61 +1953,96 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1576
1953
  }
1577
1954
  return;
1578
1955
  }
1579
- const sectionScopedData = fieldNames.length > 0
1580
- ? pickSubmissionDataPaths(data, fieldNames)
1581
- : data;
1582
- const sanitizedData = sanitizeAutomatedFormSubmissionData(sectionScopedData, {
1956
+ const sanitizedData = sanitizeAutomatedFormSubmissionData(pickSubmissionDataPaths(data, fieldNames), {
1583
1957
  hiddenFieldNames,
1584
1958
  contextFieldValues,
1585
1959
  omitClearedFields: omitClearedFieldsForSubmission,
1586
1960
  schema: formSchema,
1587
1961
  });
1588
- // If a custom callback is provided, use it
1589
- if (onSectionSaveRef.current) {
1590
- await onSectionSaveRef.current(sectionRef, fieldNames, sanitizedData);
1591
- return;
1592
- }
1593
1962
  try {
1963
+ // A caller-supplied handler owns the save (P9), but not an escaping rejection.
1964
+ if (onSectionSaveRef.current) {
1965
+ await onSectionSaveRef.current(sectionRef, fieldNames, sanitizedData);
1966
+ return;
1967
+ }
1594
1968
  let result;
1595
- // A section may hold only SOME of a composite's children, and an UPDATE replaces the nested
1596
- // object whole — so the body carries the stored siblings of every partially-written parent
1597
- // (#1410). Stored = the RMM's confirmed state, or on the direct lane the record the form loaded.
1598
- const storedRecord = (rmm ? rmm.getSnapshot().confirmedData : defaultValues);
1599
- const requestData = mergeRequestDataWithBulkSelection(carryStoredSiblingsIntoPartialWrites(sanitizedData, fieldNames, storedRecord));
1600
1969
  if (rmm) {
1601
- const mutationResult = await rmm.queueMutation(sanitizedData, {
1970
+ // The RMM lane is single-record (`useResourceRMM` is enabled only with a `resourceId`), so there is no bulk
1971
+ // selection to merge into the body here; a bulk update takes the direct lane below.
1972
+ // The RMM adds the stored discriminator when it sends (`resource-discriminators.frontend.utils.ts`).
1973
+ const mutationResult = await rmm.queueMutation(sectionFieldsByPath(sanitizedData, fieldNames), {
1602
1974
  type: MutationType.SECTION,
1603
1975
  priority: MutationPriority.NORMAL,
1604
1976
  source: { type: MutationSourceType.FORM, subscriberId: `section:${sectionRef}` },
1605
- transportOverride: {
1606
- ...currentOperationTransportOverride,
1607
- requestData,
1608
- },
1977
+ transportOverride: currentOperationTransportOverride,
1609
1978
  });
1610
1979
  if (!mutationResult.success) {
1611
1980
  if (isConflictMutationFailure(mutationResult)) {
1612
1981
  return;
1613
1982
  }
1614
- if (mutationResult.error?.type === MutationErrorType.VALIDATION) {
1615
- onErrorRef.current?.(mutationErrorForReport(mutationResult.error, 'Section save validation failed'));
1983
+ if (mutationResult.error?.type === MutationErrorType.VALIDATION && mutationErrorNamesFields(mutationResult.error)) {
1984
+ // Shown at the fields by the RMM event seam below.
1616
1985
  return;
1617
1986
  }
1618
1987
  throw mutationErrorForReport(mutationResult.error, 'Section save failed');
1619
1988
  }
1620
- result = mutationResult.responseData;
1989
+ result = mutationResult.heldForApproval ?? mutationResult.responseData;
1621
1990
  }
1622
1991
  else {
1623
1992
  assertRMMAvailableForDefaultUpdateLikeMutation('ResourceAutomatedForm section save');
1993
+ let requestData;
1994
+ let sentBulkClears = {};
1995
+ if (writesBulkPatch) {
1996
+ // A BULK update has no stored siblings to carry (each selected row has its own): it writes each nested child
1997
+ // by its path, and only what the person changed (#2581). A path into an array or a value type is written as
1998
+ // that whole value, read from the form's full values (`bulkWriteUnits`).
1999
+ const contextFieldNames = Object.keys(contextFieldValues);
2000
+ // The explicit clears this section's fields carry (#2620); a clear on another section waits for its own save.
2001
+ sentBulkClears = bulkClearsWithin(liveBulkClears(), bulkWriteUnits(fieldNames, formSchema));
2002
+ // The full values carry each path whole, except a request field the operation offers (#2744 review N3): that one
2003
+ // takes what the form's offer filter let through (`data`), so a value the operation does not offer is not sent.
2004
+ const fullValues = { ...(formMethodsRef.current?.getValues() ?? data) };
2005
+ for (const offeredField of Object.keys(operation.requestFieldOffers ?? {})) {
2006
+ if (offeredField in data)
2007
+ fullValues[offeredField] = data[offeredField];
2008
+ else
2009
+ delete fullValues[offeredField];
2010
+ }
2011
+ const patch = toBulkPatch(sanitizeAutomatedFormSubmissionData(pickSubmissionDataPaths(fullValues, bulkWriteUnits(fieldNames, formSchema)), { hiddenFieldNames, contextFieldValues, omitClearedFields: omitClearedFieldsForSubmission, schema: formSchema }), contextFieldNames, sentBulkClears);
2012
+ // Nothing set in the section: as for the main submit, a literal update says so instead of sending a write that
2013
+ // would only bump every row, while a VERB still runs (the verb is what was asked).
2014
+ const isLiteralUpdate = operationIdentifier === CoreResourceOperation.UPDATE || operationIdentifier === CoreResourceOperation.UPDATE_MANY;
2015
+ if (isLiteralUpdate && Object.keys(patch).every((key) => contextFieldNames.includes(key))) {
2016
+ injectServerErrors({ [FORM_LEVEL_ERROR_PATH]: tComponent(FrontendComponentType.RESOURCES_LAYOUTS_CREATE, 'bulkNothingToChange') });
2017
+ return;
2018
+ }
2019
+ requestData = mergeRequestDataWithBulkSelection(patch);
2020
+ }
2021
+ else {
2022
+ // A section may hold only SOME of a composite's children, and an UPDATE replaces the nested object whole, so
2023
+ // the body carries the stored siblings of every partially-written parent (#1410): here, the record the form
2024
+ // loaded. Sent at once, so it cannot go stale in a queue.
2025
+ const storedRecord = defaultValues;
2026
+ requestData = mergeRequestDataWithBulkSelection(carryStoredDiscriminators(carryStoredSiblingsIntoPartialWrites(sanitizedData, fieldNames, storedRecord), discriminatorFieldNames, storedRecord));
2027
+ }
1624
2028
  result = await doOperationRef.current(currentOperationTransportOverride.operationPathKey, {
1625
2029
  contextualParameters: currentOperationTransportOverride.contextualParameters,
1626
2030
  requestData,
1627
2031
  parentResourcesRequirements: currentOperationTransportOverride.parentResourcesRequirements,
1628
2032
  },
1629
- // silent: form owns the failure UX (catch emits NOTIFY_RESOURCE_ERROR);
1630
- // suppress the duplicate global toast. See handleSubmit for rationale.
2033
+ // silent: the form owns the failure UX (the catch below), so the global toast is suppressed.
1631
2034
  { silent: true });
2035
+ // No RMM event will write the saved values back, so the form marks them saved itself — unless nothing was saved.
2036
+ if (!readOperationApprovalPending(result))
2037
+ markFieldsSaved(fieldNames, result, Object.fromEntries(fieldNames.map((field) => [field, readPathValue(sanitizedData, field)])));
2038
+ consumeBulkClears(sentBulkClears);
1632
2039
  }
1633
- // Emit success event for the section save
2040
+ if (tellHeldForApproval(result))
2041
+ return;
2042
+ // The rest of the screen hears about the write (a display of the row re-reads it, a listing refreshes, a
2043
+ // background run is recorded), as after the main submit. Announced as PARTIAL: the form stays open over the same
2044
+ // records, so nothing reads it as the operation being done.
2045
+ announceOutcome(result, { partialWrite: true });
1634
2046
  emitRef.current(FrontendEvents.NOTIFY_RESOURCE_SUCCESS, {
1635
2047
  ...resourceContext,
1636
2048
  contextResourceIdentifiers: normalizeContextResourceIdentifiersForOutcome({
@@ -1649,17 +2061,17 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1649
2061
  notificationLevel: UserNotificationLevel.SUCCESS,
1650
2062
  },
1651
2063
  });
1652
- onSuccessRef.current?.(result);
1653
2064
  }
1654
2065
  catch (error) {
2066
+ if (error instanceof MutationCancelledError) {
2067
+ return;
2068
+ }
2069
+ const serverValidation = extractServerValidationErrors(error);
2070
+ if (serverValidation) {
2071
+ injectServerErrors(serverValidation.validationErrors);
2072
+ return;
2073
+ }
1655
2074
  const err = error instanceof Error ? error : new Error(String(error));
1656
- onErrorRef.current?.(err);
1657
- // Resource layer owns the failure UX: emit ONE resource error toast (the
1658
- // doOperation above is `silent`, so the global toast is suppressed). We do
1659
- // NOT re-throw: the sole consumer (`Section.tsx` save button) has no catch and
1660
- // no success/failure branching, so a throw would surface ONLY as an unhandled
1661
- // promise rejection → a generic global toast. This keeps section-save aligned
1662
- // with handleSubmit/draft/publish (single, resource-aware toast).
1663
2075
  emitRef.current(FrontendEvents.NOTIFY_RESOURCE_ERROR, {
1664
2076
  ...resourceContext,
1665
2077
  contextResourceIdentifiers: normalizeContextResourceIdentifiersForTransport(resourceContext.contextResourceIdentifiers),
@@ -1673,16 +2085,27 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1673
2085
  });
1674
2086
  }
1675
2087
  }, [
2088
+ announceOutcome,
1676
2089
  assertRMMAvailableForDefaultUpdateLikeMutation,
1677
2090
  currentOperationTransportOverride,
1678
2091
  contextFieldValues,
1679
- contextualParameters,
1680
2092
  defaultValues,
2093
+ discriminatorFieldNames,
2094
+ formSchema,
1681
2095
  hiddenFieldNames,
2096
+ injectServerErrors,
2097
+ markFieldsSaved,
1682
2098
  mergeRequestDataWithBulkSelection,
2099
+ omitClearedFieldsForSubmission,
2100
+ operationIdentifier,
1683
2101
  resourceContext,
1684
2102
  resourceType,
1685
2103
  rmm,
2104
+ tComponent,
2105
+ toBulkPatch,
2106
+ consumeBulkClears,
2107
+ liveBulkClears,
2108
+ writesBulkPatch,
1686
2109
  ]);
1687
2110
  // Autosave config for the provider
1688
2111
  /**
@@ -1711,19 +2134,34 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1711
2134
  * per-field save before the record exists is a different feature (drafts) with its own surface.
1712
2135
  *
1713
2136
  * An explicit caller-supplied `autosaveConfig` still wins, unchanged — including its own
1714
- * `defaultTrigger`, so a caller that genuinely wants form-wide autosave can still ask for it.
2137
+ * `defaultTrigger`, so a caller that genuinely wants form-wide autosave can still ask for it — but only where the
2138
+ * form writes fields of records that EXIST (the same rule as a section's Save). Elsewhere it is dropped: with no
2139
+ * record, autosave's direct lane sent the form's own operation, so on a create form every autosaved field CREATED a
2140
+ * record, and on a verb that is not update-like it ran the action once per field.
1715
2141
  */
1716
2142
  const derivedAutosaveEnabled = useMemo(
1717
2143
  // `effectiveFormOperationType`, not `operationType`: a CUSTOM operation declaring
1718
2144
  // `resourceOperationLike: UPDATE` (a `rotate`, say) edits an existing row and autosaves on the
1719
2145
  // same terms. That variable is the one the rest of the form filters fields by.
1720
2146
  () => autosaveConfig === undefined && deriveAutosaveEnabledFromFields(formFieldShape, effectiveFormOperationType), [autosaveConfig, effectiveFormOperationType, formFieldShape]);
2147
+ // #2288: an operation held for approval never autosaves: each debounced field would file its own request for an
2148
+ // approver to answer. The person saves deliberately, and the whole change is one request.
2149
+ const autosaveWritesRecordFields = isUpdateLikeCoreOperation(effectiveCoreOperation) && operation.requiresApproval === undefined;
2150
+ const autosaveRequestedHere = autosaveConfig?.enabled === true;
2151
+ useEffect(() => {
2152
+ if (!autosaveRequestedHere || autosaveWritesRecordFields || !envLoader.isDevelopment())
2153
+ return;
2154
+ logger.warn('[ResourceAutomatedForm] autosaveConfig is ignored: autosave saves fields of records that exist, and this form creates one or runs an action.', {
2155
+ resourceType,
2156
+ operationIdentifier,
2157
+ });
2158
+ }, [autosaveWritesRecordFields, autosaveRequestedHere, operationIdentifier, resourceType]);
1721
2159
  const autosaveProviderConfig = useMemo(() => ({
1722
- enabled: autosaveConfig?.enabled ?? derivedAutosaveEnabled,
2160
+ enabled: autosaveWritesRecordFields && (autosaveConfig?.enabled ?? derivedAutosaveEnabled),
1723
2161
  defaultTrigger: autosaveConfig?.defaultTrigger ?? (derivedAutosaveEnabled ? AutosaveTrigger.NONE : AutosaveTrigger.DEBOUNCE),
1724
2162
  debounceMs: autosaveConfig?.debounceMs ?? 500,
1725
2163
  savedStateDurationMs: 2000,
1726
- }), [autosaveConfig, derivedAutosaveEnabled]);
2164
+ }), [autosaveConfig, autosaveWritesRecordFields, derivedAutosaveEnabled]);
1727
2165
  // Draft-relaxed schema for draft saves (makes isDraftRelaxed fields optional)
1728
2166
  const draftSchema = useMemo(() => {
1729
2167
  if (!formSchema || !effectiveDraftConfig?.enabled)
@@ -1780,7 +2218,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1780
2218
  }
1781
2219
  throw mutationErrorForReport(mutationResult.error, 'Draft save failed');
1782
2220
  }
1783
- result = mutationResult.responseData;
2221
+ result = mutationResult.heldForApproval ?? mutationResult.responseData;
1784
2222
  }
1785
2223
  else {
1786
2224
  assertRMMAvailableForDefaultUpdateLikeMutation('ResourceAutomatedForm draft save');
@@ -1793,6 +2231,10 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1793
2231
  { silent: true });
1794
2232
  }
1795
2233
  }
2234
+ if (tellHeldForApproval(result)) {
2235
+ onSuccessRef.current?.(result);
2236
+ return;
2237
+ }
1796
2238
  setIsDraft(true);
1797
2239
  if (shouldEmitFrameworkSuccess) {
1798
2240
  emitRef.current(FrontendEvents.NOTIFY_RESOURCE_SUCCESS, {
@@ -1884,7 +2326,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1884
2326
  }
1885
2327
  throw mutationErrorForReport(mutationResult.error, 'Publish failed');
1886
2328
  }
1887
- result = mutationResult.responseData;
2329
+ result = mutationResult.heldForApproval ?? mutationResult.responseData;
1888
2330
  }
1889
2331
  else {
1890
2332
  assertRMMAvailableForDefaultUpdateLikeMutation('ResourceAutomatedForm publish');
@@ -1897,6 +2339,10 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1897
2339
  { silent: true });
1898
2340
  }
1899
2341
  }
2342
+ if (tellHeldForApproval(result)) {
2343
+ onSuccessRef.current?.(result);
2344
+ return;
2345
+ }
1900
2346
  setIsDraft(false);
1901
2347
  if (shouldEmitFrameworkSuccess) {
1902
2348
  const frontendNotification = getFrontendNotification(operation);
@@ -1983,31 +2429,51 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
1983
2429
  const handleCancelPublish = useCallback(() => {
1984
2430
  setPendingPublish(null);
1985
2431
  }, []);
1986
- // ── CRITICAL "double validation" on form submit ──────────────────────────
1987
- // A CRITICAL operation reached through a form (e.g. a reset-with-flags) must
1988
- // require the same typed double-validation the action bar applies to
1989
- // direct-execute CRITICAL ops: the submit is held until the user types the
1990
- // action label in the confirm dialog. This is the form-submit twin of the
1991
- // confirm-dialog gate in `useResourceOperationActions`.
1992
- const isCriticalOperation = operation.riskLevel === ResourceOperationRiskLevel.CRITICAL;
2432
+ // ── Risk confirmation on form submit (#2261) ─────────────────────────────
2433
+ // An operation whose risk level asks for a confirmation (`isRiskyResourceOperation`: HIGH and
2434
+ // CRITICAL) asks for it whether it executes from the action ladder or from this form. The action
2435
+ // ladder confirms only the operations it executes DIRECTLY; one that collects input is handed to
2436
+ // this form instead, so this is where its confirmation must live. It used to gate CRITICAL alone, so
2437
+ // every HIGH verb with a request form — revoking an invitation, with its optional reason — was sent
2438
+ // the moment Submit was pressed. HIGH gets the plain confirm the ladder gives it, CRITICAL the typed
2439
+ // double-validation. Both submit lanes go through it: the ordinary submit and a draft's publish.
2440
+ const requiresSubmitConfirmation = isRiskyResourceOperation(operation.riskLevel);
2441
+ const requiresTypedSubmitConfirmation = operation.riskLevel === ResourceOperationRiskLevel.CRITICAL;
2442
+ // The consequence line, as the action ladder states it: "cannot be undone" only when that is true
2443
+ // (the confirm's generic line says exactly that), and no line at all for an action that can be undone.
2444
+ const riskySubmitConsequence = isIrreversibleOperation(operation) ? undefined : null;
2445
+ // The operation's own words, when it authors them (`resources.<r>.operations.<op>.description`, declared by
2446
+ // `hasDescription`): the same words the danger zone shows beside the action, stated BEFORE the consequence
2447
+ // line rather than instead of it. Deactivating your own account is reversible, but not by you, and only that
2448
+ // sentence says so. `tResourceOperation` answers '' for a description nobody authored.
2449
+ const operationOwnDescription = tResourceOperation(resourceType, String(operation.operationIdentifier), 'description') || undefined;
1993
2450
  // The operation's own name, resolved exactly as the action bar names it — so the phrase to type, and a
1994
2451
  // named action's submit button, are the label the person clicked.
1995
2452
  const operationDisplayTitle = useMemo(() => resolveOperationDisplayTitle(tResourceOperation, resourceType, String(operation.operationIdentifier)), [tResourceOperation, resourceType, operation.operationIdentifier]);
1996
- const handleSubmitWithCriticalGuard = useCallback((data) => {
1997
- if (isCriticalOperation) {
1998
- setPendingCriticalSubmit(data);
2453
+ // The submit this form performs once any confirmation is given: a draft-enabled form publishes, every
2454
+ // other form submits.
2455
+ const isDraftPublishLane = Boolean(effectiveDraftConfig?.enabled && draftSchema);
2456
+ const performConfirmedSubmit = useCallback((data) => {
2457
+ if (isDraftPublishLane)
2458
+ void handlePublish(data);
2459
+ else
2460
+ void handleSubmit(data);
2461
+ }, [isDraftPublishLane, handlePublish, handleSubmit]);
2462
+ const handleSubmitWithRiskConfirmation = useCallback((data) => {
2463
+ if (requiresSubmitConfirmation) {
2464
+ setPendingRiskySubmit(data);
1999
2465
  return;
2000
2466
  }
2001
- void handleSubmit(data);
2002
- }, [isCriticalOperation, handleSubmit]);
2003
- const handleConfirmCriticalSubmit = useCallback(() => {
2004
- const data = pendingCriticalSubmit;
2005
- setPendingCriticalSubmit(null);
2467
+ performConfirmedSubmit(data);
2468
+ }, [requiresSubmitConfirmation, performConfirmedSubmit]);
2469
+ const handleConfirmRiskySubmit = useCallback(() => {
2470
+ const data = pendingRiskySubmit;
2471
+ setPendingRiskySubmit(null);
2006
2472
  if (data !== null)
2007
- void handleSubmit(data);
2008
- }, [pendingCriticalSubmit, handleSubmit]);
2009
- const handleCancelCriticalSubmit = useCallback(() => {
2010
- setPendingCriticalSubmit(null);
2473
+ performConfirmedSubmit(data);
2474
+ }, [pendingRiskySubmit, performConfirmedSubmit]);
2475
+ const handleCancelRiskySubmit = useCallback(() => {
2476
+ setPendingRiskySubmit(null);
2011
2477
  }, []);
2012
2478
  // Build default submit button if not provided
2013
2479
  // When draft mode is enabled, show "Save as Draft" and "Publish" buttons
@@ -2173,7 +2639,7 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
2173
2639
  // synchronous discriminator seed so RHF initializes with it on the very
2174
2640
  // first render (see createSeededDefaultValues).
2175
2641
  const effectiveDefaultValues = needsFetch
2176
- ? (defaultValues ?? defaultValuesOverride)
2642
+ ? (recordSeededDefaultValues ?? defaultValuesOverride)
2177
2643
  : (createSeededDefaultValues ?? defaultValuesOverride);
2178
2644
  // Guard against missing schema
2179
2645
  if (!formSchema) {
@@ -2195,15 +2661,20 @@ export function ResourceAutomatedForm({ resourceContext, onSuccess, onError, onC
2195
2661
  dismissAriaLabel: tComponent(FrontendComponentType.RESOURCES_LAYOUTS_CREATE, 'dismiss'),
2196
2662
  } : undefined;
2197
2663
  // Form content that may or may not be wrapped with AutosaveProvider
2198
- const formContent = (_jsx(LoadingGate, { i18nKeys: i18nKeys, loadingScopes: loadingScopes, readiness: readiness, children: _jsxs("div", { className: className, children: [_jsx(AlertDialog, { open: !!pendingPublish, onOpenChange: (open) => !open && handleCancelPublish(), children: _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: confirmPublishTitle }), _jsx(AlertDialogDescription, { children: confirmPublishMessage })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { onClick: handleCancelPublish, children: confirmPublishCancel }), _jsx(AlertDialogAction, { onClick: handleConfirmPublish, children: confirmPublishConfirm })] })] }) }), pendingCriticalSubmit !== null && (_jsx(OperationsConfirmCritical, { open: true, onOpenChange: (open) => { if (!open)
2199
- handleCancelCriticalSubmit(); }, cancelCallback: handleCancelCriticalSubmit, validationCallback: handleConfirmCriticalSubmit, requireTypedConfirmation: true, confirmationPhrase: operationDisplayTitle })), remoteUpdateIndicator && remoteUpdateLabels && (_jsx(RemoteChangeNotification, { type: "remote-update", changedFields: remoteUpdateIndicator.changedFields, labels: remoteUpdateLabels, onDismiss: () => setRemoteUpdateIndicator(null) })), _jsx(ResourceFormActionsProvider, { value: formActionsValue, children: _jsx(AutomatedForm, { schema: formSchema, defaultValues: effectiveDefaultValues, onSubmit: effectiveDraftConfig?.enabled && draftSchema ? handlePublish : handleSubmitWithCriticalGuard, onError: handleError, validationMode: validationMode, disabled: disabled || isSubmitting, labels: labels, layoutRefs: layoutRefs, operationRef: operationIdentifier, operationType: operationType, operationLike: operationLike, coreOperation: effectiveCoreOperation, fileUploadContext: fileUploadContext, contextFieldValues: contextFieldValues, hiddenFieldNames: hiddenFieldNames, generatedFieldOverrides: generatedFieldOverrides, inheritanceConfig: inheritanceConfig,
2200
- // No section Save on a form whose record does not exist yet (see `formOffersSectionSave`).
2201
- onSectionSave: formOffersSectionSave({
2202
- createsRecord: effectiveCoreOperation === CoreResourceOperation.CREATE,
2203
- hasCallerSectionHandler: onSectionSaveProp !== undefined,
2204
- })
2205
- ? handleSectionSave
2206
- : undefined, onFormReady: handleFormReady, validateFieldUrl: validateFieldUrl, resourceId: primaryResourceId, contextResourceIdentifiers: contextResourceIdentifiersWithResourceId, parentResourcesRequirements: resourceContext.parentResourcesRequirements, navigationZone: navigationZone, chromeMode: defaultEditChromeMode, layoutTemplate: layoutTemplate }, defaultValuesSource) })] }) }));
2664
+ const formContent = (_jsx(LoadingGate, { i18nKeys: i18nKeys, loadingScopes: loadingScopes, readiness: readiness, children: _jsxs("div", { className: className, children: [_jsx(AlertDialog, { open: !!pendingPublish, onOpenChange: (open) => !open && handleCancelPublish(), children: _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: confirmPublishTitle }), _jsx(AlertDialogDescription, { children: confirmPublishMessage })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { onClick: handleCancelPublish, children: confirmPublishCancel }), _jsx(AlertDialogAction, { onClick: handleConfirmPublish, children: confirmPublishConfirm })] })] }) }), pendingRiskySubmit !== null && (_jsx(OperationsConfirmCritical, { open: true, onOpenChange: (open) => { if (!open)
2665
+ handleCancelRiskySubmit(); }, cancelCallback: handleCancelRiskySubmit, validationCallback: handleConfirmRiskySubmit, label: operationDisplayTitle, confirmLabel: operationDisplayTitle, description: riskySubmitConsequence, detail: operationOwnDescription, requireTypedConfirmation: requiresTypedSubmitConfirmation, confirmationPhrase: requiresTypedSubmitConfirmation ? operationDisplayTitle : '' })), remoteUpdateIndicator && remoteUpdateLabels && (_jsx(RemoteChangeNotification, { type: "remote-update", changedFields: remoteUpdateIndicator.changedFields, labels: remoteUpdateLabels, onDismiss: () => setRemoteUpdateIndicator(null) })), _jsx(BulkFieldClearContext.Provider, { value: bulkFieldClearing, children: _jsx(ResourceFormActionsProvider, { value: formActionsValue, children: _jsx(AutomatedForm, { schema: formSchema, defaultValues: effectiveDefaultValues, onSubmit: handleSubmitWithRiskConfirmation, onError: handleError, validationMode: validationMode, disabled: disabled || isSubmitting, labels: labels, layoutRefs: layoutRefs, operationRef: operationIdentifier, operationType: operationType, operationLike: operationLike, coreOperation: effectiveCoreOperation, fileUploadContext: fileUploadContext, contextFieldValues: contextFieldValues, hiddenFieldNames: hiddenFieldNames, generatedFieldOverrides: generatedFieldOverrides, allowedValuesByField: allowedValuesByField,
2666
+ // #2744: what each request field offers, judged against the row an operation on a record acts on.
2667
+ requestFieldOffers: operation.requestFieldOffers, requestFieldOfferRecord: needsFetch ? defaultValues : undefined, inheritanceConfig: inheritanceConfig,
2668
+ // A section Save only where the form writes fields of records that exist (see `formOffersSectionSave`).
2669
+ onSectionSave: formOffersSectionSave({
2670
+ writesRecordFields: isUpdateLikeCoreOperation(effectiveCoreOperation),
2671
+ hasCallerSectionHandler: onSectionSaveProp !== undefined,
2672
+ })
2673
+ ? handleSectionSave
2674
+ : undefined, onFormReady: handleFormReady,
2675
+ // Closing the tab or reloading with unsaved edits asks first: a form that edits or creates a record holds
2676
+ // work only the page has. Saved fields stop being dirty (`markFieldsSaved`), so a saved form does not ask.
2677
+ warnOnUnsavedChanges: true, validateFieldUrl: validateFieldUrl, resourceId: primaryResourceId, contextResourceIdentifiers: contextResourceIdentifiersWithResourceId, parentResourcesRequirements: resourceContext.parentResourcesRequirements, navigationZone: navigationZone, chromeMode: defaultEditChromeMode, layoutTemplate: layoutTemplate }, defaultValuesSource) }) })] }) }));
2207
2678
  // Wrap with AutosaveProvider if autosave is enabled
2208
2679
  if (autosaveProviderConfig.enabled) {
2209
2680
  return (_jsxs(AutosaveProvider, { labels: autosaveLabels, validateField: validateAutosaveField, onSave: handleAutosave, rmm: rmm ?? undefined, config: autosaveProviderConfig, children: [_jsx(AutosaveCancelBridge, { cancelRef: cancelPendingAutosavesRef }), formContent] }));
@@ -2249,18 +2720,14 @@ function DraftSaveButton({ draftSchema, onSaveDraft, disabled, isSavingDraft, la
2249
2720
  await onSaveDraft(sanitizedValues);
2250
2721
  }
2251
2722
  else {
2252
- const zodError = result.error;
2253
- const erroredPaths = [];
2254
- zodError.issues.forEach((issue) => {
2255
- const fieldPath = issue.path.join('.');
2256
- if (fieldPath) {
2257
- formContext.setError(fieldPath, {
2258
- type: issue.code,
2259
- message: issue.message,
2260
- });
2261
- erroredPaths.push(fieldPath);
2262
- }
2263
- });
2723
+ // Reported exactly as the submit's resolver reports them: with the issue's parameters (so the message translates
2724
+ // with its numbers), and with a rule on the whole object under the form-level key instead of being dropped, which
2725
+ // left a draft that failed only on such a rule with no error anywhere and no save.
2726
+ const fieldErrors = zodIssuesToFieldErrors(result.error.issues);
2727
+ const erroredPaths = Object.keys(fieldErrors);
2728
+ for (const [fieldPath, fieldError] of Object.entries(fieldErrors)) {
2729
+ formContext.setError(fieldPath, fieldError);
2730
+ }
2264
2731
  // Audit D4 — same treatment as every other submit-like failure: this
2265
2732
  // draft-validation path sets field errors DIRECTLY (not through
2266
2733
  // `injectServerErrors`), so it carries its own scroll-to-first-error.