@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,7 +11,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
11
  * `layoutTemplate` is required — callers must either provide an explicit template
12
12
  * or use `generateDefaultFormTemplate()` to produce one from the schema and config.
13
13
  */
14
- import { useMemo } from 'react';
14
+ import { useCallback, useContext, useMemo, useRef } from 'react';
15
15
  import { FrontendComponentType, } from '@wildo-ai/presets-components-models';
16
16
  import { FormChromeProvider } from '../chromes/FormChromeContext.js';
17
17
  import { useI18n } from '../../../core/i18n/useI18n.js';
@@ -20,11 +20,13 @@ import { Skeleton } from '../../../components/feedback/skeleton.js';
20
20
  import { Form } from '../../../components/form/Form.js';
21
21
  import { FormTemplateProvider } from './FormTemplateContext.js';
22
22
  import { pickSubmissionDataPaths, sanitizeAutomatedFormSubmissionData, shouldOmitClearedFieldsForOperation } from './automated-form-submit.utils.js';
23
+ import { applyRequestFieldOffersToRequest, resolveRequestFieldOffer, } from '@wildo-ai/saas-models';
24
+ import { ApplicationContext } from '../../../core/runtime/ApplicationContext.shared.js';
23
25
  import { useResourceLabels } from '../../../core/resources/useResourceLabels.js';
24
26
  // =============================================================================
25
27
  // COMPONENT
26
28
  // =============================================================================
27
- function AutomatedFormComponent({ schema, defaultValues, onSubmit, onError, validationMode, className, disabled, readOnly, id, warnOnUnsavedChanges = false, labels, operationRef, operationType, operationLike, coreOperation, layoutRefs, fileUploadContext, contextFieldValues, hiddenFieldNames, generatedFieldOverrides, inheritanceConfig, chromeMode, onSectionSave, onFormReady, validateFieldUrl, resourceId, contextResourceIdentifiers, parentResourcesRequirements, navigationZone, layoutTemplate: LayoutTemplate, }) {
29
+ function AutomatedFormComponent({ schema, defaultValues, onSubmit, onError, validationMode, className, disabled, readOnly, id, warnOnUnsavedChanges = false, labels, operationRef, operationType, operationLike, coreOperation, layoutRefs, fileUploadContext, contextFieldValues, hiddenFieldNames, generatedFieldOverrides, allowedValuesByField, requestFieldOffers, requestFieldOfferRecord, inheritanceConfig, chromeMode, onSectionSave, onFormReady, validateFieldUrl, resourceId, contextResourceIdentifiers, parentResourcesRequirements, navigationZone, layoutTemplate: LayoutTemplate, }) {
28
30
  const { tComponent, isReady } = useI18n({
29
31
  component: FrontendComponentType.LOW_LEVEL_FORM_MESSAGE,
30
32
  });
@@ -33,6 +35,7 @@ function AutomatedFormComponent({ schema, defaultValues, onSubmit, onError, vali
33
35
  layoutRefs,
34
36
  overrides: {
35
37
  fields: labels?.fields,
38
+ descriptions: labels?.descriptions,
36
39
  enums: labels?.enums,
37
40
  sections: labels?.sections,
38
41
  wizardSteps: labels?.wizardSteps,
@@ -73,9 +76,32 @@ function AutomatedFormComponent({ schema, defaultValues, onSubmit, onError, vali
73
76
  // where an unresolved operation is treated as CREATE-like — the conservative direction for a
74
77
  // surface that has no stored row to clear.
75
78
  const omitClearedFields = shouldOmitClearedFieldsForOperation(coreOperation, operationLike || operationType);
79
+ /*
80
+ * #2744 review F1, F2: what the operation does not offer leaves EVERY submission, at this boundary. Hiding a field is not
81
+ * enough: a field array keeps its value when hidden, and an operation on a record starts from the whole row, so a field
82
+ * never shown is still held. An offer is judged HERE from the submitted values and the row (review N2: a report from a
83
+ * field that has since unmounted may be stale), except one that reads a referenced row, which only a mounted field can
84
+ * read: that one takes the offer the field last reported.
85
+ */
86
+ const appConfig = useContext(ApplicationContext)?.appConfig;
87
+ const reportedOffersRef = useRef(new Map());
88
+ const reportRequestFieldOffer = useCallback((fieldName, offer) => {
89
+ reportedOffersRef.current.set(fieldName, offer);
90
+ }, []);
91
+ const admitOfferedFields = useCallback((data) => {
92
+ if (!requestFieldOffers)
93
+ return data;
94
+ const offers = Object.fromEntries(Object.entries(requestFieldOffers).map(([field, declaration]) => {
95
+ const reported = declaration.readsReferences ? reportedOffersRef.current.get(field) : undefined;
96
+ return [field, reported ?? resolveRequestFieldOffer(declaration, {
97
+ appConfig, currentObject: requestFieldOfferRecord, values: data, references: {},
98
+ })];
99
+ }));
100
+ return applyRequestFieldOffersToRequest(data, offers);
101
+ }, [requestFieldOffers, requestFieldOfferRecord, appConfig]);
76
102
  const wrappedOnSubmit = useMemo(() => {
77
103
  return (data) => {
78
- const processedData = sanitizeAutomatedFormSubmissionData(data, {
104
+ const processedData = sanitizeAutomatedFormSubmissionData(admitOfferedFields(data), {
79
105
  hiddenFieldNames,
80
106
  contextFieldValues,
81
107
  omitClearedFields,
@@ -83,7 +109,7 @@ function AutomatedFormComponent({ schema, defaultValues, onSubmit, onError, vali
83
109
  });
84
110
  return onSubmit(processedData);
85
111
  };
86
- }, [onSubmit, contextFieldValues, hiddenFieldNames, omitClearedFields]);
112
+ }, [onSubmit, contextFieldValues, hiddenFieldNames, omitClearedFields, admitOfferedFields]);
87
113
  // Apply the same payload-boundary guarantees to section saves so explicit
88
114
  // templates do not accidentally leak wrapper-hidden or context-owned fields.
89
115
  const wrappedOnSectionSave = useMemo(() => {
@@ -94,7 +120,7 @@ function AutomatedFormComponent({ schema, defaultValues, onSubmit, onError, vali
94
120
  const sectionScopedData = fieldNames.length > 0
95
121
  ? pickSubmissionDataPaths(data, fieldNames)
96
122
  : data;
97
- const processedData = sanitizeAutomatedFormSubmissionData(sectionScopedData, {
123
+ const processedData = sanitizeAutomatedFormSubmissionData(admitOfferedFields(sectionScopedData), {
98
124
  hiddenFieldNames,
99
125
  contextFieldValues,
100
126
  omitClearedFields,
@@ -102,7 +128,7 @@ function AutomatedFormComponent({ schema, defaultValues, onSubmit, onError, vali
102
128
  });
103
129
  return onSectionSave(sectionRef, fieldNames, processedData);
104
130
  };
105
- }, [onSectionSave, contextFieldValues, hiddenFieldNames, omitClearedFields]);
131
+ }, [onSectionSave, contextFieldValues, hiddenFieldNames, omitClearedFields, admitOfferedFields]);
106
132
  // Form template context — carries all resolved values so skeleton components
107
133
  // (FormField, Section, WizardLayout, etc.) can read from context.
108
134
  const formTemplateContextValue = useMemo(() => ({
@@ -122,6 +148,10 @@ function AutomatedFormComponent({ schema, defaultValues, onSubmit, onError, vali
122
148
  contextFieldValues,
123
149
  hiddenFieldNames,
124
150
  generatedFieldOverrides,
151
+ allowedValuesByField,
152
+ requestFieldOffers,
153
+ requestFieldOfferRecord,
154
+ reportRequestFieldOffer,
125
155
  onSectionSave: wrappedOnSectionSave,
126
156
  operationType: operationLike || operationType,
127
157
  operationRef,
@@ -144,6 +174,10 @@ function AutomatedFormComponent({ schema, defaultValues, onSubmit, onError, vali
144
174
  contextFieldValues,
145
175
  hiddenFieldNames,
146
176
  generatedFieldOverrides,
177
+ allowedValuesByField,
178
+ requestFieldOffers,
179
+ requestFieldOfferRecord,
180
+ reportRequestFieldOffer,
147
181
  inheritanceConfig,
148
182
  wrappedOnSectionSave,
149
183
  operationLike,
@@ -1 +1 @@
1
- {"version":3,"file":"AutomatedForm.js","sourceRoot":"","sources":["../../../../../../src/components/form/automated/AutomatedForm.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * AutomatedForm Component\n *\n * Schema-driven form that renders a mandatory layout template inside infrastructure\n * wrappers (RHF FormProvider, FormTemplateContext, FormChromeProvider).\n *\n * The template controls field order, section structure, wizard steps, and grid layout.\n * All infrastructure (validation, submission, unsaved-changes guard) stays outside.\n *\n * `layoutTemplate` is required — callers must either provide an explicit template\n * or use `generateDefaultFormTemplate()` to produce one from the schema and config.\n */\n\nimport React, { useMemo } from 'react';\nimport { z } from 'zod';\nimport type { FieldErrors, DefaultValues } from 'react-hook-form';\n\nimport {\n type AutomatedFormLabels,\n type ResponsiveChromeMode,\n FrontendComponentType,\n} from '@wildo-ai/presets-components-models';\nimport { FormChromeProvider } from '../chromes/FormChromeContext';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\n\nimport { cn } from '~wildo-frontend-lib/core/ui/cn';\nimport { Skeleton } from '~wildo-frontend-lib/components/feedback/skeleton';\nimport { Form, type FormMethods } from '~wildo-frontend-lib/components/form/Form';\nimport { FormTemplateProvider, type FormTemplateContextValue } from './FormTemplateContext';\nimport type { ValidationMode } from '../form-field-types';\nimport type { FileFieldEndpoints } from '@wildo-ai/zod-decorators';\nimport { pickSubmissionDataPaths, sanitizeAutomatedFormSubmissionData, shouldOmitClearedFieldsForOperation } from './automated-form-submit.utils';\nimport { CoreResourceOperation } from '@wildo-ai/saas-models';\n\nimport type {\n FormOperationType,\n InheritanceSchemaDefinition,\n} from '~wildo-frontend-lib/core/automated-layout/automated-layout.frontend.schemas';\nimport type { LayoutRefManifest } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { useResourceLabels } from '~wildo-frontend-lib/core/resources/useResourceLabels';\nimport type { NavigationZone } from '~wildo-frontend-lib/core/navigation/navigation.schemas';\nimport type { FrontendResource_ParentResourceRequirement } from '~wildo-frontend-lib/core/resources/resource-path.frontend.schemas';\n\n// =============================================================================\n// PROPS\n// =============================================================================\n\nexport interface AutomatedFormProps<TSchema extends z.ZodTypeAny> {\n schema: TSchema;\n defaultValues?: DefaultValues<z.infer<TSchema>>;\n onSubmit: (data: z.infer<TSchema>) => void | Promise<void>;\n onError?: (errors: FieldErrors<z.infer<TSchema>>) => void;\n validationMode?: ValidationMode;\n className?: string;\n disabled?: boolean;\n /**\n * Makes all form fields read-only (values are submitted but not editable).\n * Individual fields can also be made read-only via the isNotEditable() schema decorator.\n * Unlike disabled, read-only field values are included in submission.\n */\n readOnly?: boolean;\n id?: string;\n\n /**\n * When true, shows a browser confirmation dialog when the user tries to leave\n * the page (tab close, refresh, back button) while the form has unsaved changes.\n * Uses the browser's native `beforeunload` event.\n * @default false\n */\n warnOnUnsavedChanges?: boolean;\n\n /**\n * Unified labels interface for all form text.\n * Supports explicit overrides and i18n resolution via resourceContext.\n */\n labels?: AutomatedFormLabels;\n\n /**\n * Specific operation identifier for operation-level field visibility rules.\n * Used with isHidden({ operations: ['ARCHIVE'] }) decorator to control\n * which fields appear for specific operations (beyond just create/update type).\n */\n operationRef?: string;\n\n /**\n * Operation type for decorator-based field filtering.\n * Controls excludeFromCreate, excludeFromUpdate, and isHidden(operations) behavior.\n */\n operationType?: FormOperationType;\n\n /**\n * Operation-like type for custom operations that behave like core operations.\n * When specified, takes precedence over operationType for excludeFromCreate/excludeFromUpdate checks.\n */\n operationLike?: FormOperationType;\n /**\n * The RESOLVED core operation this form performs. Supplied by the resource-aware wrapper, which\n * already resolves custom operations through `resourceOperationLike`. It decides whether a\n * cleared field is a real CLEAR (update-like) or merely an unfilled input (create-like) — a\n * question the raw operation identifier cannot answer for custom operations or UPDATE_MANY.\n */\n coreOperation?: CoreResourceOperation;\n\n // =========== LAYOUT REFS ===========\n\n /**\n * Structural ref manifest from `layout.refs`. Provides the list of\n * section, wizard step, and group names for i18n label resolution.\n */\n layoutRefs?: LayoutRefManifest;\n\n /** File upload context for resource-integrated file fields */\n fileUploadContext?: Record<string, FileFieldEndpoints>;\n\n /**\n * Context-provided field values that should be hidden from the form but auto-populated on submit.\n * Key: field name, Value: value to inject on submit.\n * These fields are automatically excluded from rendering and merged into form data on submission.\n */\n contextFieldValues?: Record<string, unknown>;\n\n /**\n * Additional field names hidden by an upstream preparation layer before the\n * generated form tree reaches `FormField`.\n *\n * `AutomatedForm` treats this as an opaque infrastructure input and only\n * applies generic submit/draft pruning. Resource-aware derivation (for\n * example relationship-backed DTO slots) belongs in `ResourceAutomatedForm`\n * or another wrapper that understands the caller's domain semantics.\n */\n hiddenFieldNames?: string[];\n\n /**\n * Generated-form replacements keyed by top-level field name.\n *\n * Like `hiddenFieldNames`, this is an upstream resolved input. The generic\n * form infrastructure mounts the overrides but does not decide when a\n * resource-specific replacement should exist.\n */\n generatedFieldOverrides?: Record<string, React.ReactNode>;\n inheritanceConfig?: InheritanceSchemaDefinition;\n\n /**\n * Default chrome mode for all fields in the form (lowest priority in cascade).\n * Overridden by section-level chromeMode and field-level decorator chromeMode.\n * Supports responsive per-breakpoint mapping.\n */\n chromeMode?: ResponsiveChromeMode;\n\n /**\n * Callback for saving individual sections (partial updates).\n * Called when a saveable section's save button is clicked and validation passes.\n */\n onSectionSave?: (\n sectionRef: string,\n fieldNames: string[],\n data: Record<string, unknown>\n ) => void | Promise<void>;\n\n /**\n * Callback invoked with form methods when the form is ready.\n * Use this to get access to setError/clearErrors for setting server-side validation errors.\n */\n onFormReady?: (formMethods: FormMethods) => void;\n\n /** Base URL for validate-field endpoint (enables uniqueness pre-validation on blur) */\n validateFieldUrl?: string;\n /** Resource ID for UPDATE operations (used as excludeId in uniqueness checks) */\n resourceId?: string;\n /** Resource context identifiers for FK context propagation to nested field components */\n contextResourceIdentifiers?: Record<string, string | { fieldIdentifier: string; resourceId: string }>;\n /** Route parent evidence for generated relationship field mutations */\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[];\n /** Current navigation zone for quick-create-aware field controls */\n navigationZone?: NavigationZone;\n\n /**\n * Layout template component rendered inside the form infrastructure wrappers.\n * The template is a `React.ComponentType` with access to `useFormTemplateContext()`\n * for resolved labels, schema, and operation context.\n *\n * All skeleton components (`<FormLayout>`, `<Section>`, `<FormField>`, `<WizardLayout>`,\n * `<WizardStep>`, `<DiscriminatorSwitch>`, etc.) are available inside the template.\n *\n * When not provided by callers, `ResourceAutomatedForm` generates one via\n * `generateDefaultFormTemplate()` based on the schema and config.\n */\n layoutTemplate: React.ComponentType;\n}\n\n// =============================================================================\n// COMPONENT\n// =============================================================================\n\nfunction AutomatedFormComponent<TSchema extends z.ZodTypeAny>({\n schema,\n defaultValues,\n onSubmit,\n onError,\n validationMode,\n className,\n disabled,\n readOnly,\n id,\n warnOnUnsavedChanges = false,\n labels,\n operationRef,\n operationType,\n operationLike,\n coreOperation,\n layoutRefs,\n fileUploadContext,\n contextFieldValues,\n hiddenFieldNames,\n generatedFieldOverrides,\n inheritanceConfig,\n chromeMode,\n onSectionSave,\n onFormReady,\n validateFieldUrl,\n resourceId,\n contextResourceIdentifiers,\n parentResourcesRequirements,\n navigationZone,\n layoutTemplate: LayoutTemplate,\n}: AutomatedFormProps<TSchema>): React.JSX.Element | null {\n const { tComponent, isReady } = useI18n({\n component: FrontendComponentType.LOW_LEVEL_FORM_MESSAGE,\n });\n\n // Resolve labels via i18n using the shared hook\n const {\n fieldLabels,\n fieldDescriptions,\n fieldTooltips,\n enumLabels,\n sectionLabels: sectionLegends,\n sectionDescriptions,\n wizardStepLabels,\n wizardStepDescriptions,\n groupLabels,\n isReady: areResourceLabelsReady,\n } = useResourceLabels(\n schema,\n labels?.resourceContext,\n defaultValues as Record<string, unknown> | undefined,\n 'edit',\n {\n layoutRefs,\n overrides: {\n fields: labels?.fields,\n enums: labels?.enums,\n sections: labels?.sections,\n wizardSteps: labels?.wizardSteps,\n },\n },\n );\n\n // Merge context-provided values into defaultValues so they exist in RHF state.\n // Context fields (e.g., organizationId) are hidden from the form but their values\n // need to be present during validation — cross-field .refine() / .superRefine()\n // refinements may reference context fields.\n const effectiveDefaultValues = useMemo(() => {\n if (!contextFieldValues || Object.keys(contextFieldValues).length === 0) {\n return defaultValues;\n }\n return {\n ...defaultValues,\n ...contextFieldValues,\n } as DefaultValues<z.infer<TSchema>>;\n }, [defaultValues, contextFieldValues]);\n\n // Generic payload boundary: prune upstream-hidden fields and inject\n // authoritative context-owned values. This layer intentionally does not\n // derive resource semantics on its own.\n // Variant/showWhen filtering is handled automatically by shouldUnregister:true\n // on FormField — unmounted fields are absent from RHF state at submit time.\n // A cleared field is `null` in form state on every operation, because that is the only cleared\n // value react-hook-form accepts. It only means \"clear the stored value\" on an update-like\n // operation; on a CREATE there is no stored value, so the key is dropped and absence carries the\n // same meaning.\n //\n // The decision MUST come from the resolved CORE operation, not from a string comparison against\n // `'update'`. `operationType` here is the raw operation IDENTIFIER — an arbitrary string for any\n // custom operation — so comparing it to `'update'` classified `UPDATE_MANY` and every custom\n // update-like operation that does not declare `resourceOperationLike` as a CREATE, and silently\n // STRIPPED the user's clear before it left the form. That is precisely the case\n // `omitClearedFieldKeys` documents as forbidden.\n //\n // `coreOperation` is supplied by the resource-aware wrapper, which already resolves it. The\n // string fallback only applies to a bare `AutomatedForm` mounted with no resource semantics,\n // where an unresolved operation is treated as CREATE-like — the conservative direction for a\n // surface that has no stored row to clear.\n const omitClearedFields = shouldOmitClearedFieldsForOperation(coreOperation, operationLike || operationType);\n\n const wrappedOnSubmit = useMemo(() => {\n return (data: z.infer<TSchema>) => {\n const processedData = sanitizeAutomatedFormSubmissionData(\n data as Record<string, unknown>,\n {\n hiddenFieldNames,\n contextFieldValues,\n omitClearedFields,\n schema,\n },\n );\n return onSubmit(processedData as z.infer<TSchema>);\n };\n }, [onSubmit, contextFieldValues, hiddenFieldNames, omitClearedFields]);\n\n // Apply the same payload-boundary guarantees to section saves so explicit\n // templates do not accidentally leak wrapper-hidden or context-owned fields.\n const wrappedOnSectionSave = useMemo(() => {\n if (!onSectionSave) {\n return undefined;\n }\n\n return (\n sectionRef: string,\n fieldNames: string[],\n data: Record<string, unknown>,\n ) => {\n const sectionScopedData = fieldNames.length > 0\n ? pickSubmissionDataPaths(data, fieldNames)\n : data;\n const processedData = sanitizeAutomatedFormSubmissionData(sectionScopedData, {\n hiddenFieldNames,\n contextFieldValues,\n omitClearedFields,\n schema,\n });\n\n return onSectionSave(sectionRef, fieldNames, processedData);\n };\n }, [onSectionSave, contextFieldValues, hiddenFieldNames, omitClearedFields]);\n\n // Form template context — carries all resolved values so skeleton components\n // (FormField, Section, WizardLayout, etc.) can read from context.\n const formTemplateContextValue: FormTemplateContextValue = useMemo(() => ({\n schema,\n fieldLabels,\n fieldDescriptions,\n fieldTooltips,\n enumLabels,\n sectionLabels: sectionLegends,\n sectionDescriptions,\n groupLabels,\n wizardStepLabels,\n wizardStepDescriptions,\n readOnly,\n disabled,\n fileUploadContext,\n contextFieldValues,\n hiddenFieldNames,\n generatedFieldOverrides,\n onSectionSave: wrappedOnSectionSave,\n operationType: operationLike || operationType,\n operationRef,\n isExisting: (operationLike || operationType) === 'update',\n inheritanceConfig,\n }), [\n schema,\n fieldLabels,\n fieldDescriptions,\n fieldTooltips,\n enumLabels,\n sectionLegends,\n sectionDescriptions,\n groupLabels,\n wizardStepLabels,\n wizardStepDescriptions,\n readOnly,\n disabled,\n fileUploadContext,\n contextFieldValues,\n hiddenFieldNames,\n generatedFieldOverrides,\n inheritanceConfig,\n wrappedOnSectionSave,\n operationLike,\n operationType,\n operationRef,\n ]);\n\n // While the form-message bundle resolves, render a schema-shaped skeleton that\n // RESERVES the form's layout (one label + control row per visible field) rather\n // than `return null`, which would collapse to zero height and then reflow the\n // page when the real form mounts. The real form swaps in IN PLACE — no jump.\n // (Field-label and validation bundles are already requested above via\n // `useResourceLabels` / `useI18n`, so they load in parallel with this wait.)\n // Row count comes from the resolved field map — no schema introspection.\n // Gate on BOTH bundles — the form messages (`isReady`) AND the resource labels\n // (`areResourceLabelsReady`). This changed on 2026-09-08 with #420, and both\n // reasons the old comment gave for excluding the second are now gone:\n //\n // - it said `useResourceLabels` \"always returns usable field-name fallbacks\".\n // It no longer does. #420 removed the humanizer, so an unresolved field\n // renders its KEY (`emailAddress`). Showing that and swapping it for\n // \"Email address\" a moment later is the flash of raw keys the humanizer had\n // been kept to avoid — so the gate is now what makes the removal safe.\n // - it said gating risked \"a never-resolving skeleton if a resource bundle\n // never loads\". That was true and is the precondition #420 had to fix\n // first: readiness now settles on a FAILED bundle as well as a loaded one\n // (`I18nContext.isKeySettled`), so a failed fetch opens the gate and the\n // unresolved keys render — visible, and visibly unlabelled.\n if (!isReady || !areResourceLabelsReady) {\n const skeletonRowCount = Math.min(Math.max(Object.keys(fieldLabels ?? {}).length, 1), 8);\n return (\n <div className={cn('space-y-section', className)} role=\"status\" aria-busy=\"true\" aria-live=\"polite\">\n {Array.from({ length: skeletonRowCount }).map((_, i) => (\n <div key={i} className=\"space-y-element\">\n <Skeleton className=\"h-4 w-28\" />\n <Skeleton className=\"h-9 w-full\" />\n </div>\n ))}\n </div>\n );\n }\n\n return (\n <Form\n schema={schema}\n defaultValues={effectiveDefaultValues}\n onSubmit={wrappedOnSubmit}\n onError={onError}\n validationMode={validationMode}\n // No spacing utility here: `Form` renders all children inside one\n // `display: contents` fieldset, so `space-y-*` on the form element is\n // structurally inert (a `space-y-section` sat here dead until\n // 2026-08-19). Row spacing is owned by the layout template/containers;\n // the resource actions footer owns its own `mt-section` seam.\n className={className}\n disabled={disabled}\n id={id}\n onFormReady={onFormReady}\n warnOnUnsavedChanges={warnOnUnsavedChanges}\n validateFieldUrl={validateFieldUrl}\n resourceId={resourceId}\n operationType={operationLike || operationType}\n contextResourceIdentifiers={contextResourceIdentifiers}\n parentResourcesRequirements={parentResourcesRequirements}\n navigationZone={navigationZone}\n >\n <FormTemplateProvider value={formTemplateContextValue}>\n <FormChromeProvider formChromeMode={chromeMode}>\n <LayoutTemplate />\n </FormChromeProvider>\n </FormTemplateProvider>\n </Form>\n );\n}\n\nAutomatedFormComponent.displayName = 'AutomatedForm';\n\nexport const AutomatedForm = AutomatedFormComponent;\n"]}
1
+ {"version":3,"file":"AutomatedForm.js","sourceRoot":"","sources":["../../../../../../src/components/form/automated/AutomatedForm.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;AAEH,OAAc,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAIxE,OAAO,EAGL,qBAAqB,GACtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAEhE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAoB,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAA0D,MAAM,uBAAuB,CAAC;AAGrH,OAAO,EAAE,uBAAuB,EAAE,mCAAmC,EAAE,mCAAmC,EAAE,MAAM,+BAA+B,CAAC;AAClJ,OAAO,EAEL,gCAAgC,EAChC,wBAAwB,GAIzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,4DAA4D,CAAC;AAOhG,OAAO,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AAwKzF,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,SAAS,sBAAsB,CAA+B,EAC5D,MAAM,EACN,aAAa,EACb,QAAQ,EACR,OAAO,EACP,cAAc,EACd,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,oBAAoB,GAAG,KAAK,EAC5B,MAAM,EACN,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,0BAA0B,EAC1B,2BAA2B,EAC3B,cAAc,EACd,cAAc,EAAE,cAAc,GACF;IAC5B,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QACtC,SAAS,EAAE,qBAAqB,CAAC,sBAAsB;KACxD,CAAC,CAAC;IAEH,gDAAgD;IAChD,MAAM,EACJ,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,aAAa,EAAE,cAAc,EAC7B,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,WAAW,EACX,OAAO,EAAE,sBAAsB,GAChC,GAAG,iBAAiB,CACnB,MAAM,EACN,MAAM,EAAE,eAAe,EACvB,aAAoD,EACpD,MAAM,EACN;QACE,UAAU;QACV,SAAS,EAAE;YACT,MAAM,EAAE,MAAM,EAAE,MAAM;YACtB,YAAY,EAAE,MAAM,EAAE,YAAY;YAClC,KAAK,EAAE,MAAM,EAAE,KAAK;YACpB,QAAQ,EAAE,MAAM,EAAE,QAAQ;YAC1B,WAAW,EAAE,MAAM,EAAE,WAAW;SACjC;KACF,CACF,CAAC;IAEF,+EAA+E;IAC/E,kFAAkF;IAClF,gFAAgF;IAChF,4CAA4C;IAC5C,MAAM,sBAAsB,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1C,IAAI,CAAC,kBAAkB,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxE,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,OAAO;YACL,GAAG,aAAa;YAChB,GAAG,kBAAkB;SACa,CAAC;IACvC,CAAC,EAAE,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAExC,oEAAoE;IACpE,wEAAwE;IACxE,wCAAwC;IACxC,+EAA+E;IAC/E,4EAA4E;IAC5E,+FAA+F;IAC/F,0FAA0F;IAC1F,iGAAiG;IACjG,gBAAgB;IAChB,EAAE;IACF,gGAAgG;IAChG,iGAAiG;IACjG,6FAA6F;IAC7F,gGAAgG;IAChG,gFAAgF;IAChF,iDAAiD;IACjD,EAAE;IACF,4FAA4F;IAC5F,6FAA6F;IAC7F,6FAA6F;IAC7F,2CAA2C;IAC3C,MAAM,iBAAiB,GAAG,mCAAmC,CAAC,aAAa,EAAE,aAAa,IAAI,aAAa,CAAC,CAAC;IAE7G;;;;;;OAMG;IACH,MAAM,SAAS,GAAG,UAAU,CAAC,kBAAkB,CAAC,EAAE,SAAyD,CAAC;IAC5G,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,GAAG,EAA6B,CAAC,CAAC;IACvE,MAAM,uBAAuB,GAAG,WAAW,CAAC,CAAC,SAAiB,EAAE,KAAwB,EAAE,EAAE;QAC1F,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,kBAAkB,GAAG,WAAW,CAAC,CAAC,IAA6B,EAA2B,EAAE;QAChG,IAAI,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE;YAChG,MAAM,QAAQ,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAChG,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,wBAAwB,CAAC,WAAW,EAAE;oBAC/D,SAAS,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;iBAChF,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,gCAAgC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC,EAAE,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,SAAS,CAAC,CAAC,CAAC;IAE7D,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACnC,OAAO,CAAC,IAAsB,EAAE,EAAE;YAChC,MAAM,aAAa,GAAG,mCAAmC,CACvD,kBAAkB,CAAC,IAA+B,CAAC,EACnD;gBACE,gBAAgB;gBAChB,kBAAkB;gBAClB,iBAAiB;gBACjB,MAAM;aACP,CACF,CAAC;YACF,OAAO,QAAQ,CAAC,aAAiC,CAAC,CAAC;QACrD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE5F,0EAA0E;IAC1E,6EAA6E;IAC7E,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,EAAE;QACxC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,CACL,UAAkB,EAClB,UAAoB,EACpB,IAA6B,EAC7B,EAAE;YACF,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;gBAC7C,CAAC,CAAC,uBAAuB,CAAC,IAAI,EAAE,UAAU,CAAC;gBAC3C,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,aAAa,GAAG,mCAAmC,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE;gBAC/F,gBAAgB;gBAChB,kBAAkB;gBAClB,iBAAiB;gBACjB,MAAM;aACP,CAAC,CAAC;YAEH,OAAO,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QAC9D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEjG,6EAA6E;IAC7E,kEAAkE;IAClE,MAAM,wBAAwB,GAA6B,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACxE,MAAM;QACN,WAAW;QACX,iBAAiB;QACjB,aAAa;QACb,UAAU;QACV,aAAa,EAAE,cAAc;QAC7B,mBAAmB;QACnB,WAAW;QACX,gBAAgB;QAChB,sBAAsB;QACtB,QAAQ;QACR,QAAQ;QACR,iBAAiB;QACjB,kBAAkB;QAClB,gBAAgB;QAChB,uBAAuB;QACvB,oBAAoB;QACpB,kBAAkB;QAClB,uBAAuB;QACvB,uBAAuB;QACvB,aAAa,EAAE,oBAAoB;QACnC,aAAa,EAAE,aAAa,IAAI,aAAa;QAC7C,YAAY;QACZ,UAAU,EAAE,CAAC,aAAa,IAAI,aAAa,CAAC,KAAK,QAAQ;QACzD,iBAAiB;KAClB,CAAC,EAAE;QACF,MAAM;QACN,WAAW;QACX,iBAAiB;QACjB,aAAa;QACb,UAAU;QACV,cAAc;QACd,mBAAmB;QACnB,WAAW;QACX,gBAAgB;QAChB,sBAAsB;QACtB,QAAQ;QACR,QAAQ;QACR,iBAAiB;QACjB,kBAAkB;QAClB,gBAAgB;QAChB,uBAAuB;QACvB,oBAAoB;QACpB,kBAAkB;QAClB,uBAAuB;QACvB,uBAAuB;QACvB,iBAAiB;QACjB,oBAAoB;QACpB,aAAa;QACb,aAAa;QACb,YAAY;KACb,CAAC,CAAC;IAEH,+EAA+E;IAC/E,gFAAgF;IAChF,8EAA8E;IAC9E,6EAA6E;IAC7E,sEAAsE;IACtE,6EAA6E;IAC7E,yEAAyE;IACzE,+EAA+E;IAC/E,6EAA6E;IAC7E,sEAAsE;IACtE,EAAE;IACF,gFAAgF;IAChF,4EAA4E;IAC5E,yEAAyE;IACzE,gFAAgF;IAChF,2EAA2E;IAC3E,6EAA6E;IAC7E,0EAA0E;IAC1E,8EAA8E;IAC9E,6EAA6E;IAC7E,gEAAgE;IAChE,IAAI,CAAC,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACxC,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzF,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,EAAE,IAAI,EAAC,QAAQ,eAAW,MAAM,eAAW,QAAQ,YAChG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACtD,eAAa,SAAS,EAAC,iBAAiB,aACtC,KAAC,QAAQ,IAAC,SAAS,EAAC,UAAU,GAAG,EACjC,KAAC,QAAQ,IAAC,SAAS,EAAC,YAAY,GAAG,KAF3B,CAAC,CAGL,CACP,CAAC,GACE,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,IAAI,IACH,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,sBAAsB,EACrC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc;QAC9B,kEAAkE;QAClE,sEAAsE;QACtE,8DAA8D;QAC9D,uEAAuE;QACvE,8DAA8D;QAC9D,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,oBAAoB,EAC1C,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,IAAI,aAAa,EAC7C,0BAA0B,EAAE,0BAA0B,EACtD,2BAA2B,EAAE,2BAA2B,EACxD,cAAc,EAAE,cAAc,YAE9B,KAAC,oBAAoB,IAAC,KAAK,EAAE,wBAAwB,YACnD,KAAC,kBAAkB,IAAC,cAAc,EAAE,UAAU,YAC5C,KAAC,cAAc,KAAG,GACC,GACA,GAClB,CACR,CAAC;AACJ,CAAC;AAED,sBAAsB,CAAC,WAAW,GAAG,eAAe,CAAC;AAErD,MAAM,CAAC,MAAM,aAAa,GAAG,sBAAsB,CAAC","sourcesContent":["/**\n * AutomatedForm Component\n *\n * Schema-driven form that renders a mandatory layout template inside infrastructure\n * wrappers (RHF FormProvider, FormTemplateContext, FormChromeProvider).\n *\n * The template controls field order, section structure, wizard steps, and grid layout.\n * All infrastructure (validation, submission, unsaved-changes guard) stays outside.\n *\n * `layoutTemplate` is required — callers must either provide an explicit template\n * or use `generateDefaultFormTemplate()` to produce one from the schema and config.\n */\n\nimport React, { useCallback, useContext, useMemo, useRef } from 'react';\nimport { z } from 'zod';\nimport type { FieldErrors, DefaultValues } from 'react-hook-form';\n\nimport {\n type AutomatedFormLabels,\n type ResponsiveChromeMode,\n FrontendComponentType,\n} from '@wildo-ai/presets-components-models';\nimport { FormChromeProvider } from '../chromes/FormChromeContext';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\n\nimport { cn } from '~wildo-frontend-lib/core/ui/cn';\nimport { Skeleton } from '~wildo-frontend-lib/components/feedback/skeleton';\nimport { Form, type FormMethods } from '~wildo-frontend-lib/components/form/Form';\nimport { FormTemplateProvider, type AllowedFieldValues, type FormTemplateContextValue } from './FormTemplateContext';\nimport type { ValidationMode } from '../form-field-types';\nimport type { FileFieldEndpoints } from '@wildo-ai/zod-decorators';\nimport { pickSubmissionDataPaths, sanitizeAutomatedFormSubmissionData, shouldOmitClearedFieldsForOperation } from './automated-form-submit.utils';\nimport {\n CoreResourceOperation,\n applyRequestFieldOffersToRequest,\n resolveRequestFieldOffer,\n type AppConfiguration_Shared,\n type RequestFieldOffer,\n type RequestFieldOffers,\n} from '@wildo-ai/saas-models';\nimport { ApplicationContext } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\n\nimport type {\n FormOperationType,\n InheritanceSchemaDefinition,\n} from '~wildo-frontend-lib/core/automated-layout/automated-layout.frontend.schemas';\nimport type { LayoutRefManifest } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { useResourceLabels } from '~wildo-frontend-lib/core/resources/useResourceLabels';\nimport type { NavigationZone } from '~wildo-frontend-lib/core/navigation/navigation.schemas';\nimport type { FrontendResource_ParentResourceRequirement } from '~wildo-frontend-lib/core/resources/resource-path.frontend.schemas';\n\n// =============================================================================\n// PROPS\n// =============================================================================\n\nexport interface AutomatedFormProps<TSchema extends z.ZodTypeAny> {\n schema: TSchema;\n defaultValues?: DefaultValues<z.infer<TSchema>>;\n onSubmit: (data: z.infer<TSchema>) => void | Promise<void>;\n onError?: (errors: FieldErrors<z.infer<TSchema>>) => void;\n validationMode?: ValidationMode;\n className?: string;\n disabled?: boolean;\n /**\n * Makes all form fields read-only (values are submitted but not editable).\n * Individual fields can also be made read-only via the isNotEditable() schema decorator.\n * Unlike disabled, read-only field values are included in submission.\n */\n readOnly?: boolean;\n id?: string;\n\n /**\n * When true, shows a browser confirmation dialog when the user tries to leave\n * the page (tab close, refresh, back button) while the form has unsaved changes.\n * Uses the browser's native `beforeunload` event.\n * @default false\n */\n warnOnUnsavedChanges?: boolean;\n\n /**\n * Unified labels interface for all form text.\n * Supports explicit overrides and i18n resolution via resourceContext.\n */\n labels?: AutomatedFormLabels;\n\n /**\n * Specific operation identifier for operation-level field visibility rules.\n * Used with isHidden({ operations: ['ARCHIVE'] }) decorator to control\n * which fields appear for specific operations (beyond just create/update type).\n */\n operationRef?: string;\n\n /**\n * Operation type for decorator-based field filtering.\n * Controls excludeFromCreate, excludeFromUpdate, and isHidden(operations) behavior.\n */\n operationType?: FormOperationType;\n\n /**\n * Operation-like type for custom operations that behave like core operations.\n * When specified, takes precedence over operationType for excludeFromCreate/excludeFromUpdate checks.\n */\n operationLike?: FormOperationType;\n /**\n * The RESOLVED core operation this form performs. Supplied by the resource-aware wrapper, which\n * already resolves custom operations through `resourceOperationLike`. It decides whether a\n * cleared field is a real CLEAR (update-like) or merely an unfilled input (create-like) — a\n * question the raw operation identifier cannot answer for custom operations or UPDATE_MANY.\n */\n coreOperation?: CoreResourceOperation;\n\n // =========== LAYOUT REFS ===========\n\n /**\n * Structural ref manifest from `layout.refs`. Provides the list of\n * section, wizard step, and group names for i18n label resolution.\n */\n layoutRefs?: LayoutRefManifest;\n\n /** File upload context for resource-integrated file fields */\n fileUploadContext?: Record<string, FileFieldEndpoints>;\n\n /**\n * Context-provided field values that should be hidden from the form but auto-populated on submit.\n * Key: field name, Value: value to inject on submit.\n * These fields are automatically excluded from rendering and merged into form data on submission.\n */\n contextFieldValues?: Record<string, unknown>;\n\n /**\n * Additional field names hidden by an upstream preparation layer before the\n * generated form tree reaches `FormField`.\n *\n * `AutomatedForm` treats this as an opaque infrastructure input and only\n * applies generic submit/draft pruning. Resource-aware derivation (for\n * example relationship-backed DTO slots) belongs in `ResourceAutomatedForm`\n * or another wrapper that understands the caller's domain semantics.\n */\n hiddenFieldNames?: string[];\n\n /**\n * Generated-form replacements keyed by top-level field name.\n *\n * Like `hiddenFieldNames`, this is an upstream resolved input. The generic\n * form infrastructure mounts the overrides but does not decide when a\n * resource-specific replacement should exist.\n */\n generatedFieldOverrides?: Record<string, React.ReactNode>;\n /**\n * A runtime vocabulary for a GENERATED field, keyed by field name: the values it may take and, optionally, their words.\n * A generated field receives it exactly as a template field receives `allowedValues` and `enumLabels`, so the field\n * becomes a choice among those values. Like `hiddenFieldNames`, an upstream resolved input: which field is narrowed,\n * and why, is decided by a domain-aware wrapper (a read-through resource's organization unit, #2943), never here.\n */\n allowedValuesByField?: Readonly<Record<string, AllowedFieldValues>>;\n /**\n * What the operation's form offers in each request field (#2744), from the operation's `requestFieldOffers`.\n * `FormField` evaluates its own field's declaration against `requestFieldOfferRecord`, the values the declaration\n * reads and the application's configuration: an enum field shows only the offered values, and a field not offered is\n * left out of the form and of the request.\n */\n requestFieldOffers?: RequestFieldOffers;\n\n /** The row the operation acts on, which a request field offer reads (`currentObject`). Absent for a create. */\n requestFieldOfferRecord?: Readonly<Record<string, unknown>>;\n inheritanceConfig?: InheritanceSchemaDefinition;\n\n /**\n * Default chrome mode for all fields in the form (lowest priority in cascade).\n * Overridden by section-level chromeMode and field-level decorator chromeMode.\n * Supports responsive per-breakpoint mapping.\n */\n chromeMode?: ResponsiveChromeMode;\n\n /**\n * Callback for saving individual sections (partial updates).\n * Called when a saveable section's save button is clicked and validation passes.\n */\n onSectionSave?: (\n sectionRef: string,\n fieldNames: string[],\n data: Record<string, unknown>\n ) => void | Promise<void>;\n\n /**\n * Callback invoked with form methods when the form is ready.\n * Use this to get access to setError/clearErrors for setting server-side validation errors.\n */\n onFormReady?: (formMethods: FormMethods) => void;\n\n /** Base URL for validate-field endpoint (enables uniqueness pre-validation on blur) */\n validateFieldUrl?: string;\n /** Resource ID for UPDATE operations (used as excludeId in uniqueness checks) */\n resourceId?: string;\n /** Resource context identifiers for FK context propagation to nested field components */\n contextResourceIdentifiers?: Record<string, string | { fieldIdentifier: string; resourceId: string }>;\n /** Route parent evidence for generated relationship field mutations */\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[];\n /** Current navigation zone for quick-create-aware field controls */\n navigationZone?: NavigationZone;\n\n /**\n * Layout template component rendered inside the form infrastructure wrappers.\n * The template is a `React.ComponentType` with access to `useFormTemplateContext()`\n * for resolved labels, schema, and operation context.\n *\n * All skeleton components (`<FormLayout>`, `<Section>`, `<FormField>`, `<WizardLayout>`,\n * `<WizardStep>`, `<DiscriminatorSwitch>`, etc.) are available inside the template.\n *\n * When not provided by callers, `ResourceAutomatedForm` generates one via\n * `generateDefaultFormTemplate()` based on the schema and config.\n */\n layoutTemplate: React.ComponentType;\n}\n\n// =============================================================================\n// COMPONENT\n// =============================================================================\n\nfunction AutomatedFormComponent<TSchema extends z.ZodTypeAny>({\n schema,\n defaultValues,\n onSubmit,\n onError,\n validationMode,\n className,\n disabled,\n readOnly,\n id,\n warnOnUnsavedChanges = false,\n labels,\n operationRef,\n operationType,\n operationLike,\n coreOperation,\n layoutRefs,\n fileUploadContext,\n contextFieldValues,\n hiddenFieldNames,\n generatedFieldOverrides,\n allowedValuesByField,\n requestFieldOffers,\n requestFieldOfferRecord,\n inheritanceConfig,\n chromeMode,\n onSectionSave,\n onFormReady,\n validateFieldUrl,\n resourceId,\n contextResourceIdentifiers,\n parentResourcesRequirements,\n navigationZone,\n layoutTemplate: LayoutTemplate,\n}: AutomatedFormProps<TSchema>): React.JSX.Element | null {\n const { tComponent, isReady } = useI18n({\n component: FrontendComponentType.LOW_LEVEL_FORM_MESSAGE,\n });\n\n // Resolve labels via i18n using the shared hook\n const {\n fieldLabels,\n fieldDescriptions,\n fieldTooltips,\n enumLabels,\n sectionLabels: sectionLegends,\n sectionDescriptions,\n wizardStepLabels,\n wizardStepDescriptions,\n groupLabels,\n isReady: areResourceLabelsReady,\n } = useResourceLabels(\n schema,\n labels?.resourceContext,\n defaultValues as Record<string, unknown> | undefined,\n 'edit',\n {\n layoutRefs,\n overrides: {\n fields: labels?.fields,\n descriptions: labels?.descriptions,\n enums: labels?.enums,\n sections: labels?.sections,\n wizardSteps: labels?.wizardSteps,\n },\n },\n );\n\n // Merge context-provided values into defaultValues so they exist in RHF state.\n // Context fields (e.g., organizationId) are hidden from the form but their values\n // need to be present during validation — cross-field .refine() / .superRefine()\n // refinements may reference context fields.\n const effectiveDefaultValues = useMemo(() => {\n if (!contextFieldValues || Object.keys(contextFieldValues).length === 0) {\n return defaultValues;\n }\n return {\n ...defaultValues,\n ...contextFieldValues,\n } as DefaultValues<z.infer<TSchema>>;\n }, [defaultValues, contextFieldValues]);\n\n // Generic payload boundary: prune upstream-hidden fields and inject\n // authoritative context-owned values. This layer intentionally does not\n // derive resource semantics on its own.\n // Variant/showWhen filtering is handled automatically by shouldUnregister:true\n // on FormField — unmounted fields are absent from RHF state at submit time.\n // A cleared field is `null` in form state on every operation, because that is the only cleared\n // value react-hook-form accepts. It only means \"clear the stored value\" on an update-like\n // operation; on a CREATE there is no stored value, so the key is dropped and absence carries the\n // same meaning.\n //\n // The decision MUST come from the resolved CORE operation, not from a string comparison against\n // `'update'`. `operationType` here is the raw operation IDENTIFIER — an arbitrary string for any\n // custom operation — so comparing it to `'update'` classified `UPDATE_MANY` and every custom\n // update-like operation that does not declare `resourceOperationLike` as a CREATE, and silently\n // STRIPPED the user's clear before it left the form. That is precisely the case\n // `omitClearedFieldKeys` documents as forbidden.\n //\n // `coreOperation` is supplied by the resource-aware wrapper, which already resolves it. The\n // string fallback only applies to a bare `AutomatedForm` mounted with no resource semantics,\n // where an unresolved operation is treated as CREATE-like — the conservative direction for a\n // surface that has no stored row to clear.\n const omitClearedFields = shouldOmitClearedFieldsForOperation(coreOperation, operationLike || operationType);\n\n /*\n * #2744 review F1, F2: what the operation does not offer leaves EVERY submission, at this boundary. Hiding a field is not\n * enough: a field array keeps its value when hidden, and an operation on a record starts from the whole row, so a field\n * never shown is still held. An offer is judged HERE from the submitted values and the row (review N2: a report from a\n * field that has since unmounted may be stale), except one that reads a referenced row, which only a mounted field can\n * read: that one takes the offer the field last reported.\n */\n const appConfig = useContext(ApplicationContext)?.appConfig as Partial<AppConfiguration_Shared> | undefined;\n const reportedOffersRef = useRef(new Map<string, RequestFieldOffer>());\n const reportRequestFieldOffer = useCallback((fieldName: string, offer: RequestFieldOffer) => {\n reportedOffersRef.current.set(fieldName, offer);\n }, []);\n const admitOfferedFields = useCallback((data: Record<string, unknown>): Record<string, unknown> => {\n if (!requestFieldOffers) return data;\n const offers = Object.fromEntries(Object.entries(requestFieldOffers).map(([field, declaration]) => {\n const reported = declaration.readsReferences ? reportedOffersRef.current.get(field) : undefined;\n return [field, reported ?? resolveRequestFieldOffer(declaration, {\n appConfig, currentObject: requestFieldOfferRecord, values: data, references: {},\n })];\n }));\n return applyRequestFieldOffersToRequest(data, offers);\n }, [requestFieldOffers, requestFieldOfferRecord, appConfig]);\n\n const wrappedOnSubmit = useMemo(() => {\n return (data: z.infer<TSchema>) => {\n const processedData = sanitizeAutomatedFormSubmissionData(\n admitOfferedFields(data as Record<string, unknown>),\n {\n hiddenFieldNames,\n contextFieldValues,\n omitClearedFields,\n schema,\n },\n );\n return onSubmit(processedData as z.infer<TSchema>);\n };\n }, [onSubmit, contextFieldValues, hiddenFieldNames, omitClearedFields, admitOfferedFields]);\n\n // Apply the same payload-boundary guarantees to section saves so explicit\n // templates do not accidentally leak wrapper-hidden or context-owned fields.\n const wrappedOnSectionSave = useMemo(() => {\n if (!onSectionSave) {\n return undefined;\n }\n\n return (\n sectionRef: string,\n fieldNames: string[],\n data: Record<string, unknown>,\n ) => {\n const sectionScopedData = fieldNames.length > 0\n ? pickSubmissionDataPaths(data, fieldNames)\n : data;\n const processedData = sanitizeAutomatedFormSubmissionData(admitOfferedFields(sectionScopedData), {\n hiddenFieldNames,\n contextFieldValues,\n omitClearedFields,\n schema,\n });\n\n return onSectionSave(sectionRef, fieldNames, processedData);\n };\n }, [onSectionSave, contextFieldValues, hiddenFieldNames, omitClearedFields, admitOfferedFields]);\n\n // Form template context — carries all resolved values so skeleton components\n // (FormField, Section, WizardLayout, etc.) can read from context.\n const formTemplateContextValue: FormTemplateContextValue = useMemo(() => ({\n schema,\n fieldLabels,\n fieldDescriptions,\n fieldTooltips,\n enumLabels,\n sectionLabels: sectionLegends,\n sectionDescriptions,\n groupLabels,\n wizardStepLabels,\n wizardStepDescriptions,\n readOnly,\n disabled,\n fileUploadContext,\n contextFieldValues,\n hiddenFieldNames,\n generatedFieldOverrides,\n allowedValuesByField,\n requestFieldOffers,\n requestFieldOfferRecord,\n reportRequestFieldOffer,\n onSectionSave: wrappedOnSectionSave,\n operationType: operationLike || operationType,\n operationRef,\n isExisting: (operationLike || operationType) === 'update',\n inheritanceConfig,\n }), [\n schema,\n fieldLabels,\n fieldDescriptions,\n fieldTooltips,\n enumLabels,\n sectionLegends,\n sectionDescriptions,\n groupLabels,\n wizardStepLabels,\n wizardStepDescriptions,\n readOnly,\n disabled,\n fileUploadContext,\n contextFieldValues,\n hiddenFieldNames,\n generatedFieldOverrides,\n allowedValuesByField,\n requestFieldOffers,\n requestFieldOfferRecord,\n reportRequestFieldOffer,\n inheritanceConfig,\n wrappedOnSectionSave,\n operationLike,\n operationType,\n operationRef,\n ]);\n\n // While the form-message bundle resolves, render a schema-shaped skeleton that\n // RESERVES the form's layout (one label + control row per visible field) rather\n // than `return null`, which would collapse to zero height and then reflow the\n // page when the real form mounts. The real form swaps in IN PLACE — no jump.\n // (Field-label and validation bundles are already requested above via\n // `useResourceLabels` / `useI18n`, so they load in parallel with this wait.)\n // Row count comes from the resolved field map — no schema introspection.\n // Gate on BOTH bundles — the form messages (`isReady`) AND the resource labels\n // (`areResourceLabelsReady`). This changed on 2026-09-08 with #420, and both\n // reasons the old comment gave for excluding the second are now gone:\n //\n // - it said `useResourceLabels` \"always returns usable field-name fallbacks\".\n // It no longer does. #420 removed the humanizer, so an unresolved field\n // renders its KEY (`emailAddress`). Showing that and swapping it for\n // \"Email address\" a moment later is the flash of raw keys the humanizer had\n // been kept to avoid — so the gate is now what makes the removal safe.\n // - it said gating risked \"a never-resolving skeleton if a resource bundle\n // never loads\". That was true and is the precondition #420 had to fix\n // first: readiness now settles on a FAILED bundle as well as a loaded one\n // (`I18nContext.isKeySettled`), so a failed fetch opens the gate and the\n // unresolved keys render — visible, and visibly unlabelled.\n if (!isReady || !areResourceLabelsReady) {\n const skeletonRowCount = Math.min(Math.max(Object.keys(fieldLabels ?? {}).length, 1), 8);\n return (\n <div className={cn('space-y-section', className)} role=\"status\" aria-busy=\"true\" aria-live=\"polite\">\n {Array.from({ length: skeletonRowCount }).map((_, i) => (\n <div key={i} className=\"space-y-element\">\n <Skeleton className=\"h-4 w-28\" />\n <Skeleton className=\"h-9 w-full\" />\n </div>\n ))}\n </div>\n );\n }\n\n return (\n <Form\n schema={schema}\n defaultValues={effectiveDefaultValues}\n onSubmit={wrappedOnSubmit}\n onError={onError}\n validationMode={validationMode}\n // No spacing utility here: `Form` renders all children inside one\n // `display: contents` fieldset, so `space-y-*` on the form element is\n // structurally inert (a `space-y-section` sat here dead until\n // 2026-08-19). Row spacing is owned by the layout template/containers;\n // the resource actions footer owns its own `mt-section` seam.\n className={className}\n disabled={disabled}\n id={id}\n onFormReady={onFormReady}\n warnOnUnsavedChanges={warnOnUnsavedChanges}\n validateFieldUrl={validateFieldUrl}\n resourceId={resourceId}\n operationType={operationLike || operationType}\n contextResourceIdentifiers={contextResourceIdentifiers}\n parentResourcesRequirements={parentResourcesRequirements}\n navigationZone={navigationZone}\n >\n <FormTemplateProvider value={formTemplateContextValue}>\n <FormChromeProvider formChromeMode={chromeMode}>\n <LayoutTemplate />\n </FormChromeProvider>\n </FormTemplateProvider>\n </Form>\n );\n}\n\nAutomatedFormComponent.displayName = 'AutomatedForm';\n\nexport const AutomatedForm = AutomatedFormComponent;\n"]}
@@ -24,7 +24,7 @@
24
24
  * ```
25
25
  */
26
26
  import React from 'react';
27
- import { AutosaveTrigger } from '@wildo-ai/zod-decorators';
27
+ import { AutosaveTrigger, type AutosaveFieldParams } from '@wildo-ai/zod-decorators';
28
28
  import type { ResourceMutationManager } from '../../../core/resources/rmm/ResourceMutationManager';
29
29
  /**
30
30
  * FIX-P7-L2: Re-export AutosaveTrigger from canonical source (zod-decorators)
@@ -82,6 +82,12 @@ export interface AutosaveContextValue {
82
82
  cancelAllPending: () => void;
83
83
  /** Cancel pending save for a specific field */
84
84
  cancelFieldPending: (fieldName: string) => void;
85
+ /**
86
+ * Cancel every pending or in-flight save AT or UNDER a path (`address`, `address.city`, `steps.0.title`). A bulk form's
87
+ * explicit clear of a whole object, record or list calls it (#2620): a child edit still waiting in its debounce would
88
+ * otherwise fire after the clear and rebuild the object on every selected row, while the form shows it empty.
89
+ */
90
+ cancelPendingUnder: (path: string) => void;
85
91
  /** Clear all autosave state (on form reset) */
86
92
  clearAllState: () => void;
87
93
  /** Whether any field is currently saving */
@@ -122,4 +128,19 @@ export interface AutosaveProviderProps {
122
128
  onSaveError?: (fieldName: string, error: Error) => void;
123
129
  }
124
130
  export declare function AutosaveProvider({ children, labels, validateField, onSave, rmm, config: configProp, onSaveSuccess, onSaveError, }: AutosaveProviderProps): React.JSX.Element;
131
+ /**
132
+ * Resolve autosave trigger mode from field schema or context default.
133
+ *
134
+ * The ONE answer to "does this field autosave, and when?", for every field kind: a scalar FormField, an array, a
135
+ * record, and the item templates inside an array (through `ArrayAutosavesContext`). Arrays and records used to call
136
+ * `triggerSave(…, DEBOUNCE)` without asking, so in a form whose autosave is DERIVED (only a field that declares it
137
+ * saves, `defaultTrigger: NONE`) every array and record field saved on each edit while every scalar beside it waited
138
+ * for Save.
139
+ *
140
+ * @param autosaveConfig - Autosave config from decorator (true = default, object = custom, undefined = inherit)
141
+ * @param contextDefaultTrigger - Default trigger from AutosaveContext
142
+ * @param isTextField - Whether this is a text field (affects default behavior)
143
+ * @returns The resolved trigger mode
144
+ */
145
+ export declare function resolveFieldAutosaveTrigger(autosaveConfig: AutosaveFieldParams | true | undefined, contextDefaultTrigger?: AutosaveTrigger, isTextField?: boolean): AutosaveTrigger;
125
146
  //# sourceMappingURL=AutosaveContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutosaveContext.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/automated/AutosaveContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutosaveContext.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/automated/AutosaveContext.tsx"],"names":[],"mappings":"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"}
@@ -149,6 +149,19 @@ export function AutosaveProvider({ children, labels, validateField, onSave, rmm,
149
149
  delete pendingSaves.current[fieldName];
150
150
  }
151
151
  }, []);
152
+ // Cancel pending and in-flight saves at or under a path (see `cancelPendingUnder`)
153
+ const cancelPendingUnder = useCallback((path) => {
154
+ const covers = (fieldName) => fieldName === path || fieldName.startsWith(`${path}.`) || fieldName.startsWith(`${path}[`);
155
+ Object.keys(pendingSaves.current).filter(covers).forEach((fieldName) => cancelFieldPending(fieldName));
156
+ for (const [fieldName, controller] of Object.entries(inFlightControllers.current)) {
157
+ if (!covers(fieldName))
158
+ continue;
159
+ controller.abort();
160
+ delete inFlightControllers.current[fieldName];
161
+ // An aborted save is no longer saving: its indicator must not stay on when the field comes back.
162
+ setFieldState(fieldName, { state: AutosaveFieldState.IDLE });
163
+ }
164
+ }, [cancelFieldPending, setFieldState]);
152
165
  // Cancel all pending and in-flight saves
153
166
  const cancelAllPending = useCallback(() => {
154
167
  Object.keys(pendingSaves.current).forEach(fieldName => {
@@ -324,6 +337,7 @@ export function AutosaveProvider({ children, labels, validateField, onSave, rmm,
324
337
  getFieldStateInfo,
325
338
  cancelAllPending,
326
339
  cancelFieldPending,
340
+ cancelPendingUnder,
327
341
  clearAllState,
328
342
  isSaving,
329
343
  }), [
@@ -334,9 +348,48 @@ export function AutosaveProvider({ children, labels, validateField, onSave, rmm,
334
348
  getFieldStateInfo,
335
349
  cancelAllPending,
336
350
  cancelFieldPending,
351
+ cancelPendingUnder,
337
352
  clearAllState,
338
353
  isSaving,
339
354
  ]);
340
355
  return (_jsx(AutosaveContext.Provider, { value: contextValue, children: children }));
341
356
  }
357
+ /**
358
+ * Resolve autosave trigger mode from field schema or context default.
359
+ *
360
+ * The ONE answer to "does this field autosave, and when?", for every field kind: a scalar FormField, an array, a
361
+ * record, and the item templates inside an array (through `ArrayAutosavesContext`). Arrays and records used to call
362
+ * `triggerSave(…, DEBOUNCE)` without asking, so in a form whose autosave is DERIVED (only a field that declares it
363
+ * saves, `defaultTrigger: NONE`) every array and record field saved on each edit while every scalar beside it waited
364
+ * for Save.
365
+ *
366
+ * @param autosaveConfig - Autosave config from decorator (true = default, object = custom, undefined = inherit)
367
+ * @param contextDefaultTrigger - Default trigger from AutosaveContext
368
+ * @param isTextField - Whether this is a text field (affects default behavior)
369
+ * @returns The resolved trigger mode
370
+ */
371
+ export function resolveFieldAutosaveTrigger(autosaveConfig, contextDefaultTrigger = AutosaveTrigger.DEBOUNCE, isTextField = false) {
372
+ // No autosave config on field - use context default
373
+ if (autosaveConfig === undefined) {
374
+ return contextDefaultTrigger;
375
+ }
376
+ // True = default (use context default or debounce for text, blur for others)
377
+ if (autosaveConfig === true) {
378
+ return isTextField ? AutosaveTrigger.DEBOUNCE : AutosaveTrigger.BLUR;
379
+ }
380
+ // Object config
381
+ if (typeof autosaveConfig === 'object') {
382
+ // Check if explicitly disabled via enabled: false
383
+ if (autosaveConfig.enabled === false) {
384
+ return AutosaveTrigger.NONE;
385
+ }
386
+ // Use explicit trigger or trigger: 'none' to disable
387
+ if (autosaveConfig.trigger) {
388
+ return autosaveConfig.trigger;
389
+ }
390
+ // Default based on field type
391
+ return isTextField ? AutosaveTrigger.DEBOUNCE : AutosaveTrigger.BLUR;
392
+ }
393
+ return contextDefaultTrigger;
394
+ }
342
395
  //# sourceMappingURL=AutosaveContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutosaveContext.js","sourceRoot":"","sources":["../../../../../../src/components/form/automated/AutosaveContext.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * AutosaveContext\n *\n * Provides field-level autosave functionality for forms. Handles:\n * - Per-field save state tracking (idle, saving, saved, error)\n * - Debounced saves for 'debounce' trigger mode\n * - Blur-triggered saves for 'blur' trigger mode\n * - Cancellation of pending saves on form reset/submit\n * - Concurrent save handling with AbortController\n *\n * @example\n * ```tsx\n * // In ResourceAutomatedForm with autosaveConfig\n * <AutosaveProvider\n * onSave={handleFieldSave}\n * config={{ enabled: true, debounceMs: 500 }}\n * >\n * <AutomatedForm ... />\n * </AutosaveProvider>\n *\n * // In FormField\n * const { triggerSave, getFieldState } = useAutosave();\n * const saveState = getFieldState(fieldName); // 'idle' | 'saving' | 'saved' | 'error'\n * ```\n */\n\nimport React, { createContext, useContext, useCallback, useRef, useState, useMemo, useEffect } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\n// Import shared autosave enum from zod-decorators (canonical source)\nimport { AutosaveTrigger } from '@wildo-ai/zod-decorators';\n\nimport { MutationPriority, MutationType, MutationErrorType, MutationCancelledError, BackpressureRejectedError, ResourceDeletedError } from '~wildo-frontend-lib/core/resources/rmm/types';\nimport type { ResourceMutationManager } from '~wildo-frontend-lib/core/resources/rmm/ResourceMutationManager';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\n\nconst logger = LoggerFrontendService.getLogger();\nconst logDebug = logger.debugByType('AutosaveContext');\nlogger.setDebugTypeLogging('AutosaveContext', false);\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\n/**\n * FIX-P7-L2: Re-export AutosaveTrigger from canonical source (zod-decorators)\n * for convenience. Consumers can import from either:\n * - '@wildo-ai/zod-decorators' (canonical, schema-level usage)\n * - '@wildo-ai/saas-frontend-lib' (convenience, component-level usage)\n */\nexport { AutosaveTrigger };\n\n/**\n * State of a field's autosave operation.\n * Re-exported from form-field-types for convenience.\n */\nimport { AutosaveFieldState } from '../form-field-types';\nexport { AutosaveFieldState };\n\n/** Configuration for autosave behavior */\nexport interface AutosaveConfig {\n /** Whether autosave is enabled globally */\n enabled: boolean;\n /** Default trigger mode for fields without explicit config */\n defaultTrigger?: AutosaveTrigger;\n /** Default debounce delay in milliseconds */\n debounceMs?: number;\n /** Duration to show 'saved' state before returning to 'idle' */\n savedStateDurationMs?: number;\n}\n\n/** Per-field autosave state */\nexport interface FieldAutosaveState {\n state: AutosaveFieldState;\n lastError?: string;\n lastSavedAt?: number;\n}\n\n/** Localized error messages for autosave feedback. Resolved via i18n in the parent. */\nexport interface AutosaveProviderLabels {\n errorNetwork: string;\n errorValidation: string;\n errorGeneric: string;\n errorConflict: string;\n errorResourceDeleted: string;\n}\n\n/** Callback type for save operation */\nexport type AutosaveSaveHandler = (\n fieldName: string,\n value: unknown,\n abortSignal: AbortSignal\n) => Promise<void>;\n\n/** Context value */\nexport interface AutosaveContextValue {\n /** Global autosave configuration */\n config: AutosaveConfig;\n /** Trigger a save for a specific field */\n triggerSave: (fieldName: string, value: unknown, trigger: AutosaveTrigger) => void;\n /** Retry the last save for a specific field (if available) */\n retryFieldSave: (fieldName: string) => void;\n /** Get the current state of a field's autosave */\n getFieldState: (fieldName: string) => AutosaveFieldState;\n /** Get full state info for a field (including error, timestamps) */\n getFieldStateInfo: (fieldName: string) => FieldAutosaveState;\n /** Cancel all pending saves */\n cancelAllPending: () => void;\n /** Cancel pending save for a specific field */\n cancelFieldPending: (fieldName: string) => void;\n /** Clear all autosave state (on form reset) */\n clearAllState: () => void;\n /** Whether any field is currently saving */\n isSaving: boolean;\n}\n\n// =============================================================================\n// DEFAULTS\n// =============================================================================\n\nconst DEFAULT_CONFIG: AutosaveConfig = {\n enabled: false,\n defaultTrigger: AutosaveTrigger.DEBOUNCE,\n debounceMs: 500,\n savedStateDurationMs: 2000,\n};\n\nconst DEFAULT_FIELD_STATE: FieldAutosaveState = {\n state: AutosaveFieldState.IDLE,\n};\n\n// =============================================================================\n// CONTEXT\n// =============================================================================\n\nconst AutosaveContext = createContext<AutosaveContextValue | null>(null);\n\nfunction useAutosave(): AutosaveContextValue {\n const context = useContext(AutosaveContext);\n if (!context) {\n throw new Error('useAutosave must be used within an AutosaveProvider');\n }\n return context;\n}\n\n/**\n * Hook to access autosave context.\n * Returns null if not within an AutosaveProvider (autosave disabled).\n */\nexport function useOptionalAutosave(): AutosaveContextValue | null {\n return useContext(AutosaveContext);\n}\n\n// =============================================================================\n// PROVIDER\n// =============================================================================\n\nexport interface AutosaveProviderProps {\n children: React.ReactNode;\n /** Localized error messages for autosave feedback */\n labels: AutosaveProviderLabels;\n /**\n * Optional validation bridge used when the autosave provider is mounted\n * outside the RHF provider subtree but still needs to honor wrapper-level\n * field validation before saving.\n */\n validateField?: (fieldName: string) => Promise<boolean>;\n /**\n * Handler called when a field should be saved.\n * When provided, this takes precedence over the provider's raw `rmm` path so\n * callers can preserve custom transport semantics (for example semantic custom\n * update operations or bulk-hosted mutation transports).\n */\n onSave?: AutosaveSaveHandler;\n /**\n * RMM instance — when provided, executeSave delegates to rmm.queueMutation()\n * instead of calling onSave(). cancelAllPending delegates to rmm.cancelPendingMutations().\n */\n rmm?: ResourceMutationManager;\n /** Autosave configuration */\n config?: Partial<AutosaveConfig>;\n /** Callback when autosave succeeds */\n onSaveSuccess?: (fieldName: string) => void;\n /** Callback when autosave fails */\n onSaveError?: (fieldName: string, error: Error) => void;\n}\n\ninterface PendingSave {\n timeoutId: ReturnType<typeof setTimeout>;\n abortController: AbortController;\n}\n\nexport function AutosaveProvider({\n children,\n labels,\n validateField,\n onSave,\n rmm,\n config: configProp,\n onSaveSuccess,\n onSaveError,\n}: AutosaveProviderProps): React.JSX.Element {\n // Merge config with defaults\n const config = useMemo<AutosaveConfig>(() => ({\n ...DEFAULT_CONFIG,\n ...configProp,\n }), [configProp]);\n\n // Per-field state\n const [fieldStates, setFieldStates] = useState<Record<string, FieldAutosaveState>>({});\n\n // Pending saves (debounce timers and abort controllers)\n const pendingSaves = useRef<Record<string, PendingSave>>({});\n\n // In-flight abort controllers for saves that have passed debounce / blur.\n // Allows cancelAllPending to abort saves that are already inside executeSave.\n const inFlightControllers = useRef<Record<string, AbortController>>({});\n\n // Last values for retry\n const lastSavedValues = useRef<Record<string, { value: unknown; trigger: AutosaveTrigger }>>({});\n\n // Saved state fade timers\n const savedTimers = useRef<Record<string, ReturnType<typeof setTimeout>>>({});\n\n // Track if any field is currently saving\n const isSaving = useMemo(() => {\n return Object.values(fieldStates).some(state => state.state === AutosaveFieldState.SAVING);\n }, [fieldStates]);\n\n // Get RHF context for validation\n const formContext = useFormContext();\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n Object.values(pendingSaves.current).forEach(({ timeoutId, abortController }) => {\n clearTimeout(timeoutId);\n abortController.abort();\n });\n Object.values(inFlightControllers.current).forEach(c => c.abort());\n Object.values(savedTimers.current).forEach(timer => clearTimeout(timer));\n };\n }, []);\n\n // Update field state\n // Uses default only when creating new state, preserves existing state otherwise\n const setFieldState = useCallback((fieldName: string, state: Partial<FieldAutosaveState>) => {\n setFieldStates(prev => ({\n ...prev,\n [fieldName]: {\n ...(prev[fieldName] ?? DEFAULT_FIELD_STATE), // Only use default if no existing state\n ...state,\n },\n }));\n }, []);\n\n // Clear saved state timer for a field\n const clearSavedTimer = useCallback((fieldName: string) => {\n if (savedTimers.current[fieldName]) {\n clearTimeout(savedTimers.current[fieldName]);\n delete savedTimers.current[fieldName];\n }\n }, []);\n\n // Set saved state with auto-fade back to idle\n const setSavedWithFade = useCallback((fieldName: string) => {\n clearSavedTimer(fieldName);\n setFieldState(fieldName, { state: AutosaveFieldState.SAVED, lastSavedAt: Date.now() });\n\n savedTimers.current[fieldName] = setTimeout(() => {\n setFieldState(fieldName, { state: AutosaveFieldState.IDLE });\n delete savedTimers.current[fieldName];\n }, config.savedStateDurationMs);\n }, [clearSavedTimer, setFieldState, config.savedStateDurationMs]);\n\n // Cancel pending save for a field\n const cancelFieldPending = useCallback((fieldName: string) => {\n const pending = pendingSaves.current[fieldName];\n if (pending) {\n clearTimeout(pending.timeoutId);\n pending.abortController.abort();\n delete pendingSaves.current[fieldName];\n }\n }, []);\n\n // Cancel all pending and in-flight saves\n const cancelAllPending = useCallback(() => {\n Object.keys(pendingSaves.current).forEach(fieldName => {\n cancelFieldPending(fieldName);\n });\n // Abort saves that are past debounce and inside executeSave\n Object.values(inFlightControllers.current).forEach(c => c.abort());\n inFlightControllers.current = {};\n // Local debounce timers are only half of the queue. When autosave is backed\n // by RMM, cancel the shared mutation queue too so submit/conflict flows do\n // not race a still-pending autosave mutation.\n rmm?.cancelPendingMutations();\n }, [cancelFieldPending, rmm]);\n\n // Clear all autosave state\n const clearAllState = useCallback(() => {\n cancelAllPending();\n setFieldStates({});\n Object.values(savedTimers.current).forEach(timer => clearTimeout(timer));\n savedTimers.current = {};\n lastSavedValues.current = {};\n }, [cancelAllPending]);\n\n // Execute save for a field\n const executeSave = useCallback(async (fieldName: string, value: unknown, abortController: AbortController) => {\n // Track in-flight controller so cancelAllPending can abort it\n inFlightControllers.current[fieldName] = abortController;\n\n try {\n // Validate field before saving\n const isValid = validateField\n ? await validateField(fieldName)\n : formContext\n ? await formContext.trigger(fieldName)\n : true;\n if (validateField || formContext) {\n if (!isValid) {\n setFieldState(fieldName, { state: AutosaveFieldState.IDLE });\n return;\n }\n }\n\n if (abortController.signal.aborted) return;\n\n setFieldState(fieldName, { state: AutosaveFieldState.SAVING });\n\n try {\n if (onSave) {\n await onSave(fieldName, value, abortController.signal);\n } else if (rmm) {\n // Autosave uses the same RMM queue as other mutation surfaces so field\n // saves participate in ordering, conflict handling, and transport\n // fallback exactly like explicit update-like actions.\n const result = await rmm.queueMutation(\n { [fieldName]: value },\n { type: MutationType.AUTOSAVE, priority: MutationPriority.LOW },\n );\n if (!result.success) {\n throw result.error ?? new Error(labels.errorGeneric);\n }\n } else {\n return;\n }\n\n if (abortController.signal.aborted) return;\n\n setSavedWithFade(fieldName);\n onSaveSuccess?.(fieldName);\n } catch (error) {\n if (abortController.signal.aborted) return;\n\n if (error instanceof Error && error.name === 'AbortError') return;\n\n const typedMutationError = (\n error && typeof error === 'object' && 'type' in error\n ? error as { type?: MutationErrorType; message?: string }\n : null\n );\n let errorMessage: string;\n if (typedMutationError?.type === MutationErrorType.TRANSIENT) {\n errorMessage = labels.errorNetwork;\n } else if (typedMutationError?.type === MutationErrorType.VALIDATION) {\n // The mutation's `message` is the backend reference (e.g. `validation`), never display text.\n errorMessage = labels.errorValidation;\n } else if (typedMutationError?.type === MutationErrorType.CONFLICT) {\n // Field-level autosave copy stays local here, while the parent wrapper\n // may also receive CONFLICT_RESET and show the broader authoritative\n // conflict banner/reset UX.\n errorMessage = labels.errorConflict;\n } else if (error instanceof BackpressureRejectedError) {\n logDebug('executeSave: backpressure rejection — resetting field to idle', { fieldName });\n setFieldState(fieldName, { state: AutosaveFieldState.IDLE });\n return;\n } else if (error instanceof MutationCancelledError) {\n setFieldState(fieldName, { state: AutosaveFieldState.IDLE });\n return;\n } else if (error instanceof ResourceDeletedError) {\n setFieldState(fieldName, { state: AutosaveFieldState.ERROR, lastError: labels.errorResourceDeleted });\n return;\n } else {\n // A thrown Error's message is developer text, never display text.\n errorMessage = labels.errorGeneric;\n }\n setFieldState(fieldName, { state: AutosaveFieldState.ERROR, lastError: errorMessage });\n onSaveError?.(fieldName, error instanceof Error ? error : new Error(errorMessage));\n }\n } finally {\n // Only clean up if this controller is still the tracked one for this field\n // (a newer save for the same field may have replaced it)\n if (inFlightControllers.current[fieldName] === abortController) {\n delete inFlightControllers.current[fieldName];\n }\n }\n }, [formContext, labels, onSave, onSaveError, onSaveSuccess, rmm, setSavedWithFade, setFieldState, validateField]);\n\n // Trigger save for a field\n const triggerSave = useCallback((fieldName: string, value: unknown, trigger: AutosaveTrigger) => {\n // Skip if autosave is disabled\n if (!config.enabled) {\n return;\n }\n\n // Skip for 'none' trigger\n if (trigger === AutosaveTrigger.NONE) {\n return;\n }\n\n // Track last value for retry\n lastSavedValues.current[fieldName] = { value, trigger };\n\n // Cancel any pending save for this field\n cancelFieldPending(fieldName);\n\n const abortController = new AbortController();\n\n if (trigger === AutosaveTrigger.BLUR) {\n // Immediate save on blur\n executeSave(fieldName, value, abortController);\n } else if (trigger === AutosaveTrigger.DEBOUNCE) {\n // Debounced save\n const debounceMs = config.debounceMs ?? DEFAULT_CONFIG.debounceMs!;\n\n const timeoutId = setTimeout(() => {\n delete pendingSaves.current[fieldName];\n executeSave(fieldName, value, abortController);\n }, debounceMs);\n\n pendingSaves.current[fieldName] = {\n timeoutId,\n abortController,\n };\n }\n }, [config.enabled, config.debounceMs, cancelFieldPending, executeSave]);\n\n // Retry last save for a field (immediate)\n const retryFieldSave = useCallback((fieldName: string) => {\n if (!config.enabled) {\n return;\n }\n const last = lastSavedValues.current[fieldName];\n if (!last) {\n return;\n }\n\n cancelFieldPending(fieldName);\n const abortController = new AbortController();\n executeSave(fieldName, last.value, abortController);\n }, [config.enabled, cancelFieldPending, executeSave]);\n\n // Get field state\n const getFieldState = useCallback((fieldName: string): AutosaveFieldState => {\n return fieldStates[fieldName]?.state ?? AutosaveFieldState.IDLE;\n }, [fieldStates]);\n\n // Get full field state info\n const getFieldStateInfo = useCallback((fieldName: string): FieldAutosaveState => {\n return fieldStates[fieldName] ?? DEFAULT_FIELD_STATE;\n }, [fieldStates]);\n\n // Context value\n const contextValue = useMemo<AutosaveContextValue>(() => ({\n config,\n triggerSave,\n retryFieldSave,\n getFieldState,\n getFieldStateInfo,\n cancelAllPending,\n cancelFieldPending,\n clearAllState,\n isSaving,\n }), [\n config,\n triggerSave,\n retryFieldSave,\n getFieldState,\n getFieldStateInfo,\n cancelAllPending,\n cancelFieldPending,\n clearAllState,\n isSaving,\n ]);\n\n return (\n <AutosaveContext.Provider value={contextValue}>\n {children}\n </AutosaveContext.Provider>\n );\n}\n"]}
1
+ {"version":3,"file":"AutosaveContext.js","sourceRoot":"","sources":["../../../../../../src/components/form/automated/AutosaveContext.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * AutosaveContext\n *\n * Provides field-level autosave functionality for forms. Handles:\n * - Per-field save state tracking (idle, saving, saved, error)\n * - Debounced saves for 'debounce' trigger mode\n * - Blur-triggered saves for 'blur' trigger mode\n * - Cancellation of pending saves on form reset/submit\n * - Concurrent save handling with AbortController\n *\n * @example\n * ```tsx\n * // In ResourceAutomatedForm with autosaveConfig\n * <AutosaveProvider\n * onSave={handleFieldSave}\n * config={{ enabled: true, debounceMs: 500 }}\n * >\n * <AutomatedForm ... />\n * </AutosaveProvider>\n *\n * // In FormField\n * const { triggerSave, getFieldState } = useAutosave();\n * const saveState = getFieldState(fieldName); // 'idle' | 'saving' | 'saved' | 'error'\n * ```\n */\n\nimport React, { createContext, useContext, useCallback, useRef, useState, useMemo, useEffect } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\n// Import shared autosave enum from zod-decorators (canonical source)\nimport { AutosaveTrigger, type AutosaveFieldParams } from '@wildo-ai/zod-decorators';\n\nimport { MutationPriority, MutationType, MutationErrorType, MutationCancelledError, BackpressureRejectedError, ResourceDeletedError } from '~wildo-frontend-lib/core/resources/rmm/types';\nimport type { ResourceMutationManager } from '~wildo-frontend-lib/core/resources/rmm/ResourceMutationManager';\nimport { LoggerFrontendService } from '~wildo-frontend-lib/core/monitoring/logger.frontend.service';\n\nconst logger = LoggerFrontendService.getLogger();\nconst logDebug = logger.debugByType('AutosaveContext');\nlogger.setDebugTypeLogging('AutosaveContext', false);\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\n/**\n * FIX-P7-L2: Re-export AutosaveTrigger from canonical source (zod-decorators)\n * for convenience. Consumers can import from either:\n * - '@wildo-ai/zod-decorators' (canonical, schema-level usage)\n * - '@wildo-ai/saas-frontend-lib' (convenience, component-level usage)\n */\nexport { AutosaveTrigger };\n\n/**\n * State of a field's autosave operation.\n * Re-exported from form-field-types for convenience.\n */\nimport { AutosaveFieldState } from '../form-field-types';\nexport { AutosaveFieldState };\n\n/** Configuration for autosave behavior */\nexport interface AutosaveConfig {\n /** Whether autosave is enabled globally */\n enabled: boolean;\n /** Default trigger mode for fields without explicit config */\n defaultTrigger?: AutosaveTrigger;\n /** Default debounce delay in milliseconds */\n debounceMs?: number;\n /** Duration to show 'saved' state before returning to 'idle' */\n savedStateDurationMs?: number;\n}\n\n/** Per-field autosave state */\nexport interface FieldAutosaveState {\n state: AutosaveFieldState;\n lastError?: string;\n lastSavedAt?: number;\n}\n\n/** Localized error messages for autosave feedback. Resolved via i18n in the parent. */\nexport interface AutosaveProviderLabels {\n errorNetwork: string;\n errorValidation: string;\n errorGeneric: string;\n errorConflict: string;\n errorResourceDeleted: string;\n}\n\n/** Callback type for save operation */\nexport type AutosaveSaveHandler = (\n fieldName: string,\n value: unknown,\n abortSignal: AbortSignal\n) => Promise<void>;\n\n/** Context value */\nexport interface AutosaveContextValue {\n /** Global autosave configuration */\n config: AutosaveConfig;\n /** Trigger a save for a specific field */\n triggerSave: (fieldName: string, value: unknown, trigger: AutosaveTrigger) => void;\n /** Retry the last save for a specific field (if available) */\n retryFieldSave: (fieldName: string) => void;\n /** Get the current state of a field's autosave */\n getFieldState: (fieldName: string) => AutosaveFieldState;\n /** Get full state info for a field (including error, timestamps) */\n getFieldStateInfo: (fieldName: string) => FieldAutosaveState;\n /** Cancel all pending saves */\n cancelAllPending: () => void;\n /** Cancel pending save for a specific field */\n cancelFieldPending: (fieldName: string) => void;\n /**\n * Cancel every pending or in-flight save AT or UNDER a path (`address`, `address.city`, `steps.0.title`). A bulk form's\n * explicit clear of a whole object, record or list calls it (#2620): a child edit still waiting in its debounce would\n * otherwise fire after the clear and rebuild the object on every selected row, while the form shows it empty.\n */\n cancelPendingUnder: (path: string) => void;\n /** Clear all autosave state (on form reset) */\n clearAllState: () => void;\n /** Whether any field is currently saving */\n isSaving: boolean;\n}\n\n// =============================================================================\n// DEFAULTS\n// =============================================================================\n\nconst DEFAULT_CONFIG: AutosaveConfig = {\n enabled: false,\n defaultTrigger: AutosaveTrigger.DEBOUNCE,\n debounceMs: 500,\n savedStateDurationMs: 2000,\n};\n\nconst DEFAULT_FIELD_STATE: FieldAutosaveState = {\n state: AutosaveFieldState.IDLE,\n};\n\n// =============================================================================\n// CONTEXT\n// =============================================================================\n\nconst AutosaveContext = createContext<AutosaveContextValue | null>(null);\n\nfunction useAutosave(): AutosaveContextValue {\n const context = useContext(AutosaveContext);\n if (!context) {\n throw new Error('useAutosave must be used within an AutosaveProvider');\n }\n return context;\n}\n\n/**\n * Hook to access autosave context.\n * Returns null if not within an AutosaveProvider (autosave disabled).\n */\nexport function useOptionalAutosave(): AutosaveContextValue | null {\n return useContext(AutosaveContext);\n}\n\n// =============================================================================\n// PROVIDER\n// =============================================================================\n\nexport interface AutosaveProviderProps {\n children: React.ReactNode;\n /** Localized error messages for autosave feedback */\n labels: AutosaveProviderLabels;\n /**\n * Optional validation bridge used when the autosave provider is mounted\n * outside the RHF provider subtree but still needs to honor wrapper-level\n * field validation before saving.\n */\n validateField?: (fieldName: string) => Promise<boolean>;\n /**\n * Handler called when a field should be saved.\n * When provided, this takes precedence over the provider's raw `rmm` path so\n * callers can preserve custom transport semantics (for example semantic custom\n * update operations or bulk-hosted mutation transports).\n */\n onSave?: AutosaveSaveHandler;\n /**\n * RMM instance — when provided, executeSave delegates to rmm.queueMutation()\n * instead of calling onSave(). cancelAllPending delegates to rmm.cancelPendingMutations().\n */\n rmm?: ResourceMutationManager;\n /** Autosave configuration */\n config?: Partial<AutosaveConfig>;\n /** Callback when autosave succeeds */\n onSaveSuccess?: (fieldName: string) => void;\n /** Callback when autosave fails */\n onSaveError?: (fieldName: string, error: Error) => void;\n}\n\ninterface PendingSave {\n timeoutId: ReturnType<typeof setTimeout>;\n abortController: AbortController;\n}\n\nexport function AutosaveProvider({\n children,\n labels,\n validateField,\n onSave,\n rmm,\n config: configProp,\n onSaveSuccess,\n onSaveError,\n}: AutosaveProviderProps): React.JSX.Element {\n // Merge config with defaults\n const config = useMemo<AutosaveConfig>(() => ({\n ...DEFAULT_CONFIG,\n ...configProp,\n }), [configProp]);\n\n // Per-field state\n const [fieldStates, setFieldStates] = useState<Record<string, FieldAutosaveState>>({});\n\n // Pending saves (debounce timers and abort controllers)\n const pendingSaves = useRef<Record<string, PendingSave>>({});\n\n // In-flight abort controllers for saves that have passed debounce / blur.\n // Allows cancelAllPending to abort saves that are already inside executeSave.\n const inFlightControllers = useRef<Record<string, AbortController>>({});\n\n // Last values for retry\n const lastSavedValues = useRef<Record<string, { value: unknown; trigger: AutosaveTrigger }>>({});\n\n // Saved state fade timers\n const savedTimers = useRef<Record<string, ReturnType<typeof setTimeout>>>({});\n\n // Track if any field is currently saving\n const isSaving = useMemo(() => {\n return Object.values(fieldStates).some(state => state.state === AutosaveFieldState.SAVING);\n }, [fieldStates]);\n\n // Get RHF context for validation\n const formContext = useFormContext();\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n Object.values(pendingSaves.current).forEach(({ timeoutId, abortController }) => {\n clearTimeout(timeoutId);\n abortController.abort();\n });\n Object.values(inFlightControllers.current).forEach(c => c.abort());\n Object.values(savedTimers.current).forEach(timer => clearTimeout(timer));\n };\n }, []);\n\n // Update field state\n // Uses default only when creating new state, preserves existing state otherwise\n const setFieldState = useCallback((fieldName: string, state: Partial<FieldAutosaveState>) => {\n setFieldStates(prev => ({\n ...prev,\n [fieldName]: {\n ...(prev[fieldName] ?? DEFAULT_FIELD_STATE), // Only use default if no existing state\n ...state,\n },\n }));\n }, []);\n\n // Clear saved state timer for a field\n const clearSavedTimer = useCallback((fieldName: string) => {\n if (savedTimers.current[fieldName]) {\n clearTimeout(savedTimers.current[fieldName]);\n delete savedTimers.current[fieldName];\n }\n }, []);\n\n // Set saved state with auto-fade back to idle\n const setSavedWithFade = useCallback((fieldName: string) => {\n clearSavedTimer(fieldName);\n setFieldState(fieldName, { state: AutosaveFieldState.SAVED, lastSavedAt: Date.now() });\n\n savedTimers.current[fieldName] = setTimeout(() => {\n setFieldState(fieldName, { state: AutosaveFieldState.IDLE });\n delete savedTimers.current[fieldName];\n }, config.savedStateDurationMs);\n }, [clearSavedTimer, setFieldState, config.savedStateDurationMs]);\n\n // Cancel pending save for a field\n const cancelFieldPending = useCallback((fieldName: string) => {\n const pending = pendingSaves.current[fieldName];\n if (pending) {\n clearTimeout(pending.timeoutId);\n pending.abortController.abort();\n delete pendingSaves.current[fieldName];\n }\n }, []);\n\n // Cancel pending and in-flight saves at or under a path (see `cancelPendingUnder`)\n const cancelPendingUnder = useCallback((path: string) => {\n const covers = (fieldName: string) => fieldName === path || fieldName.startsWith(`${path}.`) || fieldName.startsWith(`${path}[`);\n Object.keys(pendingSaves.current).filter(covers).forEach((fieldName) => cancelFieldPending(fieldName));\n for (const [fieldName, controller] of Object.entries(inFlightControllers.current)) {\n if (!covers(fieldName)) continue;\n controller.abort();\n delete inFlightControllers.current[fieldName];\n // An aborted save is no longer saving: its indicator must not stay on when the field comes back.\n setFieldState(fieldName, { state: AutosaveFieldState.IDLE });\n }\n }, [cancelFieldPending, setFieldState]);\n\n // Cancel all pending and in-flight saves\n const cancelAllPending = useCallback(() => {\n Object.keys(pendingSaves.current).forEach(fieldName => {\n cancelFieldPending(fieldName);\n });\n // Abort saves that are past debounce and inside executeSave\n Object.values(inFlightControllers.current).forEach(c => c.abort());\n inFlightControllers.current = {};\n // Local debounce timers are only half of the queue. When autosave is backed\n // by RMM, cancel the shared mutation queue too so submit/conflict flows do\n // not race a still-pending autosave mutation.\n rmm?.cancelPendingMutations();\n }, [cancelFieldPending, rmm]);\n\n // Clear all autosave state\n const clearAllState = useCallback(() => {\n cancelAllPending();\n setFieldStates({});\n Object.values(savedTimers.current).forEach(timer => clearTimeout(timer));\n savedTimers.current = {};\n lastSavedValues.current = {};\n }, [cancelAllPending]);\n\n // Execute save for a field\n const executeSave = useCallback(async (fieldName: string, value: unknown, abortController: AbortController) => {\n // Track in-flight controller so cancelAllPending can abort it\n inFlightControllers.current[fieldName] = abortController;\n\n try {\n // Validate field before saving\n const isValid = validateField\n ? await validateField(fieldName)\n : formContext\n ? await formContext.trigger(fieldName)\n : true;\n if (validateField || formContext) {\n if (!isValid) {\n setFieldState(fieldName, { state: AutosaveFieldState.IDLE });\n return;\n }\n }\n\n if (abortController.signal.aborted) return;\n\n setFieldState(fieldName, { state: AutosaveFieldState.SAVING });\n\n try {\n if (onSave) {\n await onSave(fieldName, value, abortController.signal);\n } else if (rmm) {\n // Autosave uses the same RMM queue as other mutation surfaces so field\n // saves participate in ordering, conflict handling, and transport\n // fallback exactly like explicit update-like actions.\n const result = await rmm.queueMutation(\n { [fieldName]: value },\n { type: MutationType.AUTOSAVE, priority: MutationPriority.LOW },\n );\n if (!result.success) {\n throw result.error ?? new Error(labels.errorGeneric);\n }\n } else {\n return;\n }\n\n if (abortController.signal.aborted) return;\n\n setSavedWithFade(fieldName);\n onSaveSuccess?.(fieldName);\n } catch (error) {\n if (abortController.signal.aborted) return;\n\n if (error instanceof Error && error.name === 'AbortError') return;\n\n const typedMutationError = (\n error && typeof error === 'object' && 'type' in error\n ? error as { type?: MutationErrorType; message?: string }\n : null\n );\n let errorMessage: string;\n if (typedMutationError?.type === MutationErrorType.TRANSIENT) {\n errorMessage = labels.errorNetwork;\n } else if (typedMutationError?.type === MutationErrorType.VALIDATION) {\n // The mutation's `message` is the backend reference (e.g. `validation`), never display text.\n errorMessage = labels.errorValidation;\n } else if (typedMutationError?.type === MutationErrorType.CONFLICT) {\n // Field-level autosave copy stays local here, while the parent wrapper\n // may also receive CONFLICT_RESET and show the broader authoritative\n // conflict banner/reset UX.\n errorMessage = labels.errorConflict;\n } else if (error instanceof BackpressureRejectedError) {\n logDebug('executeSave: backpressure rejection — resetting field to idle', { fieldName });\n setFieldState(fieldName, { state: AutosaveFieldState.IDLE });\n return;\n } else if (error instanceof MutationCancelledError) {\n setFieldState(fieldName, { state: AutosaveFieldState.IDLE });\n return;\n } else if (error instanceof ResourceDeletedError) {\n setFieldState(fieldName, { state: AutosaveFieldState.ERROR, lastError: labels.errorResourceDeleted });\n return;\n } else {\n // A thrown Error's message is developer text, never display text.\n errorMessage = labels.errorGeneric;\n }\n setFieldState(fieldName, { state: AutosaveFieldState.ERROR, lastError: errorMessage });\n onSaveError?.(fieldName, error instanceof Error ? error : new Error(errorMessage));\n }\n } finally {\n // Only clean up if this controller is still the tracked one for this field\n // (a newer save for the same field may have replaced it)\n if (inFlightControllers.current[fieldName] === abortController) {\n delete inFlightControllers.current[fieldName];\n }\n }\n }, [formContext, labels, onSave, onSaveError, onSaveSuccess, rmm, setSavedWithFade, setFieldState, validateField]);\n\n // Trigger save for a field\n const triggerSave = useCallback((fieldName: string, value: unknown, trigger: AutosaveTrigger) => {\n // Skip if autosave is disabled\n if (!config.enabled) {\n return;\n }\n\n // Skip for 'none' trigger\n if (trigger === AutosaveTrigger.NONE) {\n return;\n }\n\n // Track last value for retry\n lastSavedValues.current[fieldName] = { value, trigger };\n\n // Cancel any pending save for this field\n cancelFieldPending(fieldName);\n\n const abortController = new AbortController();\n\n if (trigger === AutosaveTrigger.BLUR) {\n // Immediate save on blur\n executeSave(fieldName, value, abortController);\n } else if (trigger === AutosaveTrigger.DEBOUNCE) {\n // Debounced save\n const debounceMs = config.debounceMs ?? DEFAULT_CONFIG.debounceMs!;\n\n const timeoutId = setTimeout(() => {\n delete pendingSaves.current[fieldName];\n executeSave(fieldName, value, abortController);\n }, debounceMs);\n\n pendingSaves.current[fieldName] = {\n timeoutId,\n abortController,\n };\n }\n }, [config.enabled, config.debounceMs, cancelFieldPending, executeSave]);\n\n // Retry last save for a field (immediate)\n const retryFieldSave = useCallback((fieldName: string) => {\n if (!config.enabled) {\n return;\n }\n const last = lastSavedValues.current[fieldName];\n if (!last) {\n return;\n }\n\n cancelFieldPending(fieldName);\n const abortController = new AbortController();\n executeSave(fieldName, last.value, abortController);\n }, [config.enabled, cancelFieldPending, executeSave]);\n\n // Get field state\n const getFieldState = useCallback((fieldName: string): AutosaveFieldState => {\n return fieldStates[fieldName]?.state ?? AutosaveFieldState.IDLE;\n }, [fieldStates]);\n\n // Get full field state info\n const getFieldStateInfo = useCallback((fieldName: string): FieldAutosaveState => {\n return fieldStates[fieldName] ?? DEFAULT_FIELD_STATE;\n }, [fieldStates]);\n\n // Context value\n const contextValue = useMemo<AutosaveContextValue>(() => ({\n config,\n triggerSave,\n retryFieldSave,\n getFieldState,\n getFieldStateInfo,\n cancelAllPending,\n cancelFieldPending,\n cancelPendingUnder,\n clearAllState,\n isSaving,\n }), [\n config,\n triggerSave,\n retryFieldSave,\n getFieldState,\n getFieldStateInfo,\n cancelAllPending,\n cancelFieldPending,\n cancelPendingUnder,\n clearAllState,\n isSaving,\n ]);\n\n return (\n <AutosaveContext.Provider value={contextValue}>\n {children}\n </AutosaveContext.Provider>\n );\n}\n\n/**\n * Resolve autosave trigger mode from field schema or context default.\n *\n * The ONE answer to \"does this field autosave, and when?\", for every field kind: a scalar FormField, an array, a\n * record, and the item templates inside an array (through `ArrayAutosavesContext`). Arrays and records used to call\n * `triggerSave(…, DEBOUNCE)` without asking, so in a form whose autosave is DERIVED (only a field that declares it\n * saves, `defaultTrigger: NONE`) every array and record field saved on each edit while every scalar beside it waited\n * for Save.\n *\n * @param autosaveConfig - Autosave config from decorator (true = default, object = custom, undefined = inherit)\n * @param contextDefaultTrigger - Default trigger from AutosaveContext\n * @param isTextField - Whether this is a text field (affects default behavior)\n * @returns The resolved trigger mode\n */\nexport function resolveFieldAutosaveTrigger(\n autosaveConfig: AutosaveFieldParams | true | undefined,\n contextDefaultTrigger: AutosaveTrigger = AutosaveTrigger.DEBOUNCE,\n isTextField: boolean = false\n): AutosaveTrigger {\n // No autosave config on field - use context default\n if (autosaveConfig === undefined) {\n return contextDefaultTrigger;\n }\n\n // True = default (use context default or debounce for text, blur for others)\n if (autosaveConfig === true) {\n return isTextField ? AutosaveTrigger.DEBOUNCE : AutosaveTrigger.BLUR;\n }\n\n // Object config\n if (typeof autosaveConfig === 'object') {\n // Check if explicitly disabled via enabled: false\n if (autosaveConfig.enabled === false) {\n return AutosaveTrigger.NONE;\n }\n // Use explicit trigger or trigger: 'none' to disable\n if (autosaveConfig.trigger) {\n return autosaveConfig.trigger;\n }\n // Default based on field type\n return isTextField ? AutosaveTrigger.DEBOUNCE : AutosaveTrigger.BLUR;\n }\n\n return contextDefaultTrigger;\n}\n"]}
@@ -120,7 +120,7 @@ export interface FormFieldProps {
120
120
  * Handles composite (object) and array schemas by delegating to
121
121
  * specialized components.
122
122
  */
123
- declare function FormFieldImpl({ name, schema: schemaProp, label: labelProp, description: descriptionProp, tooltip: tooltipProp, labelPlacement, hideLabel, hideDescription, controlSize, respectSurfaceErrorPlacement, enumLabels: enumLabelsProp, allowedValues, as, validationMode, disabled: disabledProp, readOnly: readOnlyProp, className, placeholder, type, renderField, sectionAppearance, objectItemLayout, fileUploadContext: fileUploadContextProp, autoFocus: autoFocusProp, excludedChildKeys, quickCreateSourceFieldName, }: FormFieldProps): React.JSX.Element | null;
123
+ declare function FormFieldImpl({ name, schema: schemaProp, label: labelProp, description: descriptionProp, tooltip: tooltipProp, labelPlacement, hideLabel, hideDescription, controlSize, respectSurfaceErrorPlacement, enumLabels: enumLabelsProp, allowedValues: allowedValuesProp, as, validationMode, disabled: disabledProp, readOnly: readOnlyProp, className, placeholder, type, renderField, sectionAppearance, objectItemLayout, fileUploadContext: fileUploadContextProp, autoFocus: autoFocusProp, excludedChildKeys, quickCreateSourceFieldName, }: FormFieldProps): React.JSX.Element | null;
124
124
  declare namespace FormFieldImpl {
125
125
  var displayName: string;
126
126
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/automated/FormField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/automated/FormField.tsx"],"names":[],"mappings":"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"}