@wildo-ai/saas-frontend-lib 1.1.3 → 1.1.5

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 (2521) hide show
  1. package/dist/esm/browser-bootstrap/theme-bootstrap.d.ts.map +1 -1
  2. package/dist/esm/browser-bootstrap/theme-bootstrap.js.map +1 -1
  3. package/dist/esm/browser-bootstrap.exports.d.ts.map +1 -1
  4. package/dist/esm/browser-bootstrap.exports.js.map +1 -1
  5. package/dist/esm/companion-exports.d.ts +1 -1
  6. package/dist/esm/companion-exports.d.ts.map +1 -1
  7. package/dist/esm/companion-exports.js +1 -1
  8. package/dist/esm/companion-exports.js.map +1 -1
  9. package/dist/esm/companion-runtime-exports.d.ts.map +1 -1
  10. package/dist/esm/companion-runtime-exports.js.map +1 -1
  11. package/dist/esm/components/actions/action-bar.d.ts +30 -0
  12. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  13. package/dist/esm/components/actions/action-bar.js.map +1 -1
  14. package/dist/esm/components/actions/action-button.d.ts +5 -0
  15. package/dist/esm/components/actions/action-button.d.ts.map +1 -1
  16. package/dist/esm/components/actions/action-button.js.map +1 -1
  17. package/dist/esm/components/actions/button-group.d.ts.map +1 -1
  18. package/dist/esm/components/actions/button-group.js.map +1 -1
  19. package/dist/esm/components/actions/button.d.ts +15 -0
  20. package/dist/esm/components/actions/button.d.ts.map +1 -1
  21. package/dist/esm/components/actions/button.js +14 -0
  22. package/dist/esm/components/actions/button.js.map +1 -1
  23. package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.d.ts.map +1 -1
  24. package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.js.map +1 -1
  25. package/dist/esm/components/ai-elements/artifacts/artifact-list.d.ts.map +1 -1
  26. package/dist/esm/components/ai-elements/artifacts/artifact-list.js.map +1 -1
  27. package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
  28. package/dist/esm/components/ai-elements/artifacts/artifact.js.map +1 -1
  29. package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
  30. package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
  31. package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts +38 -0
  32. package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts.map +1 -0
  33. package/dist/esm/components/ai-elements/artifacts/diff-block.js +9 -0
  34. package/dist/esm/components/ai-elements/artifacts/diff-block.js.map +1 -0
  35. package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
  36. package/dist/esm/components/ai-elements/artifacts/image.js.map +1 -1
  37. package/dist/esm/components/ai-elements/artifacts/unified-diff.utils.d.ts +68 -0
  38. package/dist/esm/components/ai-elements/artifacts/unified-diff.utils.d.ts.map +1 -0
  39. package/dist/esm/components/ai-elements/artifacts/unified-diff.utils.js +162 -0
  40. package/dist/esm/components/ai-elements/artifacts/unified-diff.utils.js.map +1 -0
  41. package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
  42. package/dist/esm/components/ai-elements/artifacts/web-preview.js.map +1 -1
  43. package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
  44. package/dist/esm/components/ai-elements/chat/conversation.js.map +1 -1
  45. package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
  46. package/dist/esm/components/ai-elements/chat/message.js.map +1 -1
  47. package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
  48. package/dist/esm/components/ai-elements/chat/prompt-input.js.map +1 -1
  49. package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
  50. package/dist/esm/components/ai-elements/chat/sources.js.map +1 -1
  51. package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
  52. package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
  53. package/dist/esm/components/ai-elements/decision/approval.d.ts +30 -1
  54. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  55. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  56. package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
  57. package/dist/esm/components/ai-elements/execution/confirmation.js.map +1 -1
  58. package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
  59. package/dist/esm/components/ai-elements/execution/queue.js.map +1 -1
  60. package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
  61. package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
  62. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  63. package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
  64. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  65. package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
  66. package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
  67. package/dist/esm/components/ai-elements/graph/connection.js.map +1 -1
  68. package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
  69. package/dist/esm/components/ai-elements/graph/controls.js.map +1 -1
  70. package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
  71. package/dist/esm/components/ai-elements/graph/edge.js.map +1 -1
  72. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  73. package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
  74. package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
  75. package/dist/esm/components/ai-elements/graph/panel.js.map +1 -1
  76. package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
  77. package/dist/esm/components/ai-elements/graph/toolbar.js.map +1 -1
  78. package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts +0 -1
  79. package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts.map +1 -1
  80. package/dist/esm/components/ai-elements/meta/agent-wrappers.js.map +1 -1
  81. package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
  82. package/dist/esm/components/ai-elements/meta/context.js.map +1 -1
  83. package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
  84. package/dist/esm/components/ai-elements/meta/model-selector.js.map +1 -1
  85. package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
  86. package/dist/esm/components/ai-elements/meta/open-in-chat.js.map +1 -1
  87. package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
  88. package/dist/esm/components/ai-elements/shared/loader.js.map +1 -1
  89. package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
  90. package/dist/esm/components/ai-elements/shared/shimmer.js.map +1 -1
  91. package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
  92. package/dist/esm/components/ai-elements/stream/execution-stream.js.map +1 -1
  93. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts +22 -0
  94. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
  95. package/dist/esm/components/ai-elements/trace/chain-of-thought.js +29 -3
  96. package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
  97. package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
  98. package/dist/esm/components/ai-elements/trace/checkpoint.js.map +1 -1
  99. package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
  100. package/dist/esm/components/ai-elements/trace/inline-citation.js.map +1 -1
  101. package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
  102. package/dist/esm/components/ai-elements/trace/plan.js.map +1 -1
  103. package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
  104. package/dist/esm/components/ai-elements/trace/reasoning.js.map +1 -1
  105. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts +6 -0
  106. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
  107. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js +84 -9
  108. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
  109. package/dist/esm/components/app/AppLayout_ConsentGate.d.ts +40 -0
  110. package/dist/esm/components/app/AppLayout_ConsentGate.d.ts.map +1 -0
  111. package/dist/esm/components/app/AppLayout_ConsentGate.js +17 -0
  112. package/dist/esm/components/app/AppLayout_ConsentGate.js.map +1 -0
  113. package/dist/esm/components/app/AppLayout_ConsentGate.labels.d.ts +3 -0
  114. package/dist/esm/components/app/AppLayout_ConsentGate.labels.d.ts.map +1 -0
  115. package/dist/esm/components/app/AppLayout_ConsentGate.labels.js +75 -0
  116. package/dist/esm/components/app/AppLayout_ConsentGate.labels.js.map +1 -0
  117. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.d.ts +32 -0
  118. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.d.ts.map +1 -0
  119. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.js +13 -0
  120. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.js.map +1 -0
  121. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.labels.d.ts +3 -0
  122. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.labels.d.ts.map +1 -0
  123. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.labels.js +46 -0
  124. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.labels.js.map +1 -0
  125. package/dist/esm/components/app/AppLayout_ErrorBoundary.d.ts.map +1 -1
  126. package/dist/esm/components/app/AppLayout_ErrorBoundary.js.map +1 -1
  127. package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.d.ts.map +1 -1
  128. package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.js.map +1 -1
  129. package/dist/esm/components/app/AppLayout_Home.d.ts.map +1 -1
  130. package/dist/esm/components/app/AppLayout_Home.js.map +1 -1
  131. package/dist/esm/components/app/AppLayout_Home.labels.d.ts.map +1 -1
  132. package/dist/esm/components/app/AppLayout_Home.labels.js.map +1 -1
  133. package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
  134. package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
  135. package/dist/esm/components/app/AppLayout_NotificationCenter.d.ts.map +1 -1
  136. package/dist/esm/components/app/AppLayout_NotificationCenter.js.map +1 -1
  137. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.d.ts.map +1 -1
  138. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.js +27 -25
  139. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.js.map +1 -1
  140. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.d.ts.map +1 -1
  141. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.js +4 -6
  142. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.js.map +1 -1
  143. package/dist/esm/components/app/AppPage_Home.d.ts.map +1 -1
  144. package/dist/esm/components/app/AppPage_Home.js.map +1 -1
  145. package/dist/esm/components/app/PublicLayout_MainContainer.d.ts +3 -0
  146. package/dist/esm/components/app/PublicLayout_MainContainer.d.ts.map +1 -1
  147. package/dist/esm/components/app/PublicLayout_MainContainer.js +24 -0
  148. package/dist/esm/components/app/PublicLayout_MainContainer.js.map +1 -1
  149. package/dist/esm/components/app/PublicLayout_StaticContentContainer.d.ts.map +1 -1
  150. package/dist/esm/components/app/PublicLayout_StaticContentContainer.js.map +1 -1
  151. package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.d.ts.map +1 -1
  152. package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.js.map +1 -1
  153. package/dist/esm/components/app/PublicLayout_Terms.d.ts +59 -0
  154. package/dist/esm/components/app/PublicLayout_Terms.d.ts.map +1 -0
  155. package/dist/esm/components/app/PublicLayout_Terms.js +8 -0
  156. package/dist/esm/components/app/PublicLayout_Terms.js.map +1 -0
  157. package/dist/esm/components/app/PublicLayout_Terms.labels.d.ts.map +1 -1
  158. package/dist/esm/components/app/PublicLayout_Terms.labels.js +16 -6
  159. package/dist/esm/components/app/PublicLayout_Terms.labels.js.map +1 -1
  160. package/dist/esm/components/auth/Auth_AuthCallback.d.ts +3 -1
  161. package/dist/esm/components/auth/Auth_AuthCallback.d.ts.map +1 -1
  162. package/dist/esm/components/auth/Auth_AuthCallback.js +21 -7
  163. package/dist/esm/components/auth/Auth_AuthCallback.js.map +1 -1
  164. package/dist/esm/components/auth/Auth_AuthCallback.labels.d.ts.map +1 -1
  165. package/dist/esm/components/auth/Auth_AuthCallback.labels.js +2 -0
  166. package/dist/esm/components/auth/Auth_AuthCallback.labels.js.map +1 -1
  167. package/dist/esm/components/auth/Auth_ConfirmEmail.d.ts.map +1 -1
  168. package/dist/esm/components/auth/Auth_ConfirmEmail.js +35 -17
  169. package/dist/esm/components/auth/Auth_ConfirmEmail.js.map +1 -1
  170. package/dist/esm/components/auth/Auth_ConfirmEmail.labels.d.ts.map +1 -1
  171. package/dist/esm/components/auth/Auth_ConfirmEmail.labels.js.map +1 -1
  172. package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
  173. package/dist/esm/components/auth/Auth_EnrollmentRequired.js +121 -11
  174. package/dist/esm/components/auth/Auth_EnrollmentRequired.js.map +1 -1
  175. package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.d.ts.map +1 -1
  176. package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.js +1 -0
  177. package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.js.map +1 -1
  178. package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
  179. package/dist/esm/components/auth/Auth_Invitation.js +91 -59
  180. package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
  181. package/dist/esm/components/auth/Auth_Invitation.labels.d.ts.map +1 -1
  182. package/dist/esm/components/auth/Auth_Invitation.labels.js +7 -0
  183. package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
  184. package/dist/esm/components/auth/Auth_MagicLinkVerify.d.ts +8 -3
  185. package/dist/esm/components/auth/Auth_MagicLinkVerify.d.ts.map +1 -1
  186. package/dist/esm/components/auth/Auth_MagicLinkVerify.js +38 -21
  187. package/dist/esm/components/auth/Auth_MagicLinkVerify.js.map +1 -1
  188. package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.d.ts.map +1 -1
  189. package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.js.map +1 -1
  190. package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
  191. package/dist/esm/components/auth/Auth_Main.js +224 -41
  192. package/dist/esm/components/auth/Auth_Main.js.map +1 -1
  193. package/dist/esm/components/auth/Auth_Main.labels.d.ts.map +1 -1
  194. package/dist/esm/components/auth/Auth_Main.labels.js +4 -0
  195. package/dist/esm/components/auth/Auth_Main.labels.js.map +1 -1
  196. package/dist/esm/components/auth/Auth_MfaChallenge.d.ts +3 -0
  197. package/dist/esm/components/auth/Auth_MfaChallenge.d.ts.map +1 -1
  198. package/dist/esm/components/auth/Auth_MfaChallenge.js +76 -19
  199. package/dist/esm/components/auth/Auth_MfaChallenge.js.map +1 -1
  200. package/dist/esm/components/auth/Auth_MfaChallenge.labels.d.ts.map +1 -1
  201. package/dist/esm/components/auth/Auth_MfaChallenge.labels.js.map +1 -1
  202. package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
  203. package/dist/esm/components/auth/Auth_OAuthConsent.js +2 -1
  204. package/dist/esm/components/auth/Auth_OAuthConsent.js.map +1 -1
  205. package/dist/esm/components/auth/Auth_OAuthConsent.labels.d.ts.map +1 -1
  206. package/dist/esm/components/auth/Auth_OAuthConsent.labels.js.map +1 -1
  207. package/dist/esm/components/auth/Auth_OAuthLoggedOut.d.ts.map +1 -1
  208. package/dist/esm/components/auth/Auth_OAuthLoggedOut.js.map +1 -1
  209. package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.d.ts.map +1 -1
  210. package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.js.map +1 -1
  211. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.d.ts.map +1 -1
  212. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.js.map +1 -1
  213. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.d.ts.map +1 -1
  214. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.js.map +1 -1
  215. package/dist/esm/components/auth/Auth_OneOffSession.d.ts.map +1 -1
  216. package/dist/esm/components/auth/Auth_OneOffSession.js +5 -3
  217. package/dist/esm/components/auth/Auth_OneOffSession.js.map +1 -1
  218. package/dist/esm/components/auth/Auth_OneOffSession.labels.d.ts.map +1 -1
  219. package/dist/esm/components/auth/Auth_OneOffSession.labels.js.map +1 -1
  220. package/dist/esm/components/auth/Auth_OrganizationOnboarding.d.ts +34 -0
  221. package/dist/esm/components/auth/Auth_OrganizationOnboarding.d.ts.map +1 -0
  222. package/dist/esm/components/auth/Auth_OrganizationOnboarding.js +158 -0
  223. package/dist/esm/components/auth/Auth_OrganizationOnboarding.js.map +1 -0
  224. package/dist/esm/components/auth/Auth_OrganizationOnboarding.labels.d.ts +3 -0
  225. package/dist/esm/components/auth/Auth_OrganizationOnboarding.labels.d.ts.map +1 -0
  226. package/dist/esm/components/auth/Auth_OrganizationOnboarding.labels.js +22 -0
  227. package/dist/esm/components/auth/Auth_OrganizationOnboarding.labels.js.map +1 -0
  228. package/dist/esm/components/auth/Auth_PasswordLost.d.ts.map +1 -1
  229. package/dist/esm/components/auth/Auth_PasswordLost.js +9 -7
  230. package/dist/esm/components/auth/Auth_PasswordLost.js.map +1 -1
  231. package/dist/esm/components/auth/Auth_PasswordLost.labels.d.ts.map +1 -1
  232. package/dist/esm/components/auth/Auth_PasswordLost.labels.js +5 -0
  233. package/dist/esm/components/auth/Auth_PasswordLost.labels.js.map +1 -1
  234. package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
  235. package/dist/esm/components/auth/Auth_Register.js +403 -55
  236. package/dist/esm/components/auth/Auth_Register.js.map +1 -1
  237. package/dist/esm/components/auth/Auth_Register.labels.d.ts.map +1 -1
  238. package/dist/esm/components/auth/Auth_Register.labels.js +71 -2
  239. package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
  240. package/dist/esm/components/auth/StepUpAuthDialog.d.ts +67 -2
  241. package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
  242. package/dist/esm/components/auth/StepUpAuthDialog.js +131 -15
  243. package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
  244. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
  245. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js +40 -58
  246. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
  247. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
  248. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js +23 -1
  249. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
  250. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map +1 -1
  251. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js +6 -5
  252. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js.map +1 -1
  253. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.d.ts.map +1 -1
  254. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.js.map +1 -1
  255. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.d.ts.map +1 -1
  256. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js +5 -4
  257. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js.map +1 -1
  258. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.d.ts.map +1 -1
  259. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js +6 -4
  260. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js.map +1 -1
  261. package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.d.ts.map +1 -1
  262. package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.js +7 -4
  263. package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.js.map +1 -1
  264. package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.d.ts.map +1 -1
  265. package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.js +7 -4
  266. package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.js.map +1 -1
  267. package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts +10 -2
  268. package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts.map +1 -1
  269. package/dist/esm/components/auth/enrollment/enrollment-method-components.js.map +1 -1
  270. package/dist/esm/components/auth/methods/EmailOtpAuthMethod.d.ts.map +1 -1
  271. package/dist/esm/components/auth/methods/EmailOtpAuthMethod.js +10 -7
  272. package/dist/esm/components/auth/methods/EmailOtpAuthMethod.js.map +1 -1
  273. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
  274. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js +5 -3
  275. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js.map +1 -1
  276. package/dist/esm/components/auth/methods/MagicLinkAuthMethod.d.ts.map +1 -1
  277. package/dist/esm/components/auth/methods/MagicLinkAuthMethod.js +8 -5
  278. package/dist/esm/components/auth/methods/MagicLinkAuthMethod.js.map +1 -1
  279. package/dist/esm/components/auth/methods/OrgOidcAuthMethod.d.ts.map +1 -1
  280. package/dist/esm/components/auth/methods/OrgOidcAuthMethod.js +11 -8
  281. package/dist/esm/components/auth/methods/OrgOidcAuthMethod.js.map +1 -1
  282. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
  283. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js +7 -6
  284. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
  285. package/dist/esm/components/auth/methods/PasskeyAuthMethod.d.ts.map +1 -1
  286. package/dist/esm/components/auth/methods/PasskeyAuthMethod.js +15 -17
  287. package/dist/esm/components/auth/methods/PasskeyAuthMethod.js.map +1 -1
  288. package/dist/esm/components/auth/methods/PasswordAuthMethod.d.ts.map +1 -1
  289. package/dist/esm/components/auth/methods/PasswordAuthMethod.js +4 -18
  290. package/dist/esm/components/auth/methods/PasswordAuthMethod.js.map +1 -1
  291. package/dist/esm/components/auth/methods/SmsOtpAuthMethod.d.ts.map +1 -1
  292. package/dist/esm/components/auth/methods/SmsOtpAuthMethod.js +10 -7
  293. package/dist/esm/components/auth/methods/SmsOtpAuthMethod.js.map +1 -1
  294. package/dist/esm/components/auth/methods/TotpAuthMethod.d.ts.map +1 -1
  295. package/dist/esm/components/auth/methods/TotpAuthMethod.js +5 -3
  296. package/dist/esm/components/auth/methods/TotpAuthMethod.js.map +1 -1
  297. package/dist/esm/components/auth/methods/auth-method-components.d.ts +15 -18
  298. package/dist/esm/components/auth/methods/auth-method-components.d.ts.map +1 -1
  299. package/dist/esm/components/auth/methods/auth-method-components.js +9 -26
  300. package/dist/esm/components/auth/methods/auth-method-components.js.map +1 -1
  301. package/dist/esm/components/auth/methods/auth-method-presentation.d.ts +105 -0
  302. package/dist/esm/components/auth/methods/auth-method-presentation.d.ts.map +1 -0
  303. package/dist/esm/components/auth/methods/auth-method-presentation.js +103 -0
  304. package/dist/esm/components/auth/methods/auth-method-presentation.js.map +1 -0
  305. package/dist/esm/components/auth/pages/AuthPage_AuthCallback.d.ts.map +1 -1
  306. package/dist/esm/components/auth/pages/AuthPage_AuthCallback.js.map +1 -1
  307. package/dist/esm/components/auth/pages/AuthPage_AuthExchange.d.ts.map +1 -1
  308. package/dist/esm/components/auth/pages/AuthPage_AuthExchange.js.map +1 -1
  309. package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.d.ts.map +1 -1
  310. package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.js.map +1 -1
  311. package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.d.ts.map +1 -1
  312. package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.js.map +1 -1
  313. package/dist/esm/components/auth/pages/AuthPage_Invitation.d.ts.map +1 -1
  314. package/dist/esm/components/auth/pages/AuthPage_Invitation.js.map +1 -1
  315. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts +2 -1
  316. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts.map +1 -1
  317. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.js +4 -2
  318. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.js.map +1 -1
  319. package/dist/esm/components/auth/pages/AuthPage_Main.d.ts.map +1 -1
  320. package/dist/esm/components/auth/pages/AuthPage_Main.js +3 -1
  321. package/dist/esm/components/auth/pages/AuthPage_Main.js.map +1 -1
  322. package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.d.ts.map +1 -1
  323. package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.js.map +1 -1
  324. package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.d.ts.map +1 -1
  325. package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.js.map +1 -1
  326. package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.d.ts.map +1 -1
  327. package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.js.map +1 -1
  328. package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.d.ts.map +1 -1
  329. package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.js.map +1 -1
  330. package/dist/esm/components/auth/pages/AuthPage_OneOffSession.d.ts.map +1 -1
  331. package/dist/esm/components/auth/pages/AuthPage_OneOffSession.js.map +1 -1
  332. package/dist/esm/components/auth/pages/AuthPage_OrganizationOnboarding.d.ts +11 -0
  333. package/dist/esm/components/auth/pages/AuthPage_OrganizationOnboarding.d.ts.map +1 -0
  334. package/dist/esm/components/auth/pages/AuthPage_OrganizationOnboarding.js +15 -0
  335. package/dist/esm/components/auth/pages/AuthPage_OrganizationOnboarding.js.map +1 -0
  336. package/dist/esm/components/auth/pages/AuthPage_PasswordLost.d.ts.map +1 -1
  337. package/dist/esm/components/auth/pages/AuthPage_PasswordLost.js.map +1 -1
  338. package/dist/esm/components/auth/pages/AuthPage_ReAuthenticationCallback.d.ts +3 -0
  339. package/dist/esm/components/auth/pages/AuthPage_ReAuthenticationCallback.d.ts.map +1 -0
  340. package/dist/esm/components/auth/pages/AuthPage_ReAuthenticationCallback.js +51 -0
  341. package/dist/esm/components/auth/pages/AuthPage_ReAuthenticationCallback.js.map +1 -0
  342. package/dist/esm/components/auth/pages/AuthPage_Register.d.ts.map +1 -1
  343. package/dist/esm/components/auth/pages/AuthPage_Register.js.map +1 -1
  344. package/dist/esm/components/auth/utils/AuthMethodChoiceList.d.ts +54 -0
  345. package/dist/esm/components/auth/utils/AuthMethodChoiceList.d.ts.map +1 -0
  346. package/dist/esm/components/auth/utils/AuthMethodChoiceList.js +53 -0
  347. package/dist/esm/components/auth/utils/AuthMethodChoiceList.js.map +1 -0
  348. package/dist/esm/components/auth/utils/AuthMethodIcon.d.ts +15 -0
  349. package/dist/esm/components/auth/utils/AuthMethodIcon.d.ts.map +1 -0
  350. package/dist/esm/components/auth/utils/AuthMethodIcon.js +16 -0
  351. package/dist/esm/components/auth/utils/AuthMethodIcon.js.map +1 -0
  352. package/dist/esm/components/auth/utils/AuthSecondaryLink.d.ts +24 -0
  353. package/dist/esm/components/auth/utils/AuthSecondaryLink.d.ts.map +1 -0
  354. package/dist/esm/components/auth/utils/AuthSecondaryLink.js +20 -0
  355. package/dist/esm/components/auth/utils/AuthSecondaryLink.js.map +1 -0
  356. package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.d.ts.map +1 -1
  357. package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.js.map +1 -1
  358. package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.d.ts.map +1 -1
  359. package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.js.map +1 -1
  360. package/dist/esm/components/auth/utils/LabeledDivider.d.ts.map +1 -1
  361. package/dist/esm/components/auth/utils/LabeledDivider.js.map +1 -1
  362. package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts +11 -1
  363. package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts.map +1 -1
  364. package/dist/esm/components/auth/utils/OAuthProvidersSection.js +5 -3
  365. package/dist/esm/components/auth/utils/OAuthProvidersSection.js.map +1 -1
  366. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts +8 -1
  367. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts.map +1 -1
  368. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js +15 -6
  369. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
  370. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts.map +1 -1
  371. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js.map +1 -1
  372. package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.d.ts.map +1 -1
  373. package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.js.map +1 -1
  374. package/dist/esm/components/auth/utils/useMfaContinuationNavigation.d.ts +32 -0
  375. package/dist/esm/components/auth/utils/useMfaContinuationNavigation.d.ts.map +1 -0
  376. package/dist/esm/components/auth/utils/useMfaContinuationNavigation.js +44 -0
  377. package/dist/esm/components/auth/utils/useMfaContinuationNavigation.js.map +1 -0
  378. package/dist/esm/components/billing/billing-invoice-history.d.ts +1 -0
  379. package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
  380. package/dist/esm/components/billing/billing-invoice-history.js +7 -3
  381. package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
  382. package/dist/esm/components/billing/billing-plan-change-preview.d.ts +17 -0
  383. package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +1 -0
  384. package/dist/esm/components/billing/billing-plan-change-preview.js +8 -0
  385. package/dist/esm/components/billing/billing-plan-change-preview.js.map +1 -0
  386. package/dist/esm/components/billing/billing-portal-link.d.ts +1 -0
  387. package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
  388. package/dist/esm/components/billing/billing-portal-link.js +6 -2
  389. package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
  390. package/dist/esm/components/billing/billing-pricing-table.d.ts +4 -1
  391. package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
  392. package/dist/esm/components/billing/billing-pricing-table.js +30 -8
  393. package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
  394. package/dist/esm/components/billing/billing-subscription-status.d.ts +1 -0
  395. package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
  396. package/dist/esm/components/billing/billing-subscription-status.js +8 -4
  397. package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
  398. package/dist/esm/components/billing/billing-usage-dashboard.d.ts +2 -0
  399. package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
  400. package/dist/esm/components/billing/billing-usage-dashboard.js +9 -4
  401. package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
  402. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.d.ts +74 -0
  403. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.d.ts.map +1 -0
  404. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js +197 -0
  405. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js.map +1 -0
  406. package/dist/esm/components/data-display/AutomaticDisplayer.d.ts +28 -2
  407. package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
  408. package/dist/esm/components/data-display/AutomaticDisplayer.js +18 -9
  409. package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
  410. package/dist/esm/components/data-display/DisplayContextKindContext.d.ts +43 -0
  411. package/dist/esm/components/data-display/DisplayContextKindContext.d.ts.map +1 -1
  412. package/dist/esm/components/data-display/DisplayContextKindContext.js +45 -0
  413. package/dist/esm/components/data-display/DisplayContextKindContext.js.map +1 -1
  414. package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
  415. package/dist/esm/components/data-display/DisplayField.js +92 -9
  416. package/dist/esm/components/data-display/DisplayField.js.map +1 -1
  417. package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
  418. package/dist/esm/components/data-display/DisplayFieldArray.js.map +1 -1
  419. package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
  420. package/dist/esm/components/data-display/DisplayFieldEditable.js +8 -3
  421. package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
  422. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
  423. package/dist/esm/components/data-display/DisplayFieldEditableArray.js +7 -5
  424. package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
  425. package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
  426. package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
  427. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
  428. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js.map +1 -1
  429. package/dist/esm/components/data-display/DisplayTemplateContext.d.ts +11 -0
  430. package/dist/esm/components/data-display/DisplayTemplateContext.d.ts.map +1 -1
  431. package/dist/esm/components/data-display/DisplayTemplateContext.js.map +1 -1
  432. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts +2 -2
  433. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
  434. package/dist/esm/components/data-display/DisplayValueDispatcher.js +162 -15
  435. package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
  436. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts +4 -0
  437. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
  438. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js +97 -14
  439. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
  440. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
  441. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js +6 -1
  442. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
  443. package/dist/esm/components/data-display/SummaryContext.d.ts.map +1 -1
  444. package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
  445. package/dist/esm/components/data-display/automatic-displayer.utils.d.ts +19 -0
  446. package/dist/esm/components/data-display/automatic-displayer.utils.d.ts.map +1 -1
  447. package/dist/esm/components/data-display/automatic-displayer.utils.js.map +1 -1
  448. package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
  449. package/dist/esm/components/data-display/avatar.js.map +1 -1
  450. package/dist/esm/components/data-display/badge-tone.d.ts +37 -0
  451. package/dist/esm/components/data-display/badge-tone.d.ts.map +1 -0
  452. package/dist/esm/components/data-display/badge-tone.js +54 -0
  453. package/dist/esm/components/data-display/badge-tone.js.map +1 -0
  454. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  455. package/dist/esm/components/data-display/badge.js.map +1 -1
  456. package/dist/esm/components/data-display/chart-echarts.d.ts.map +1 -1
  457. package/dist/esm/components/data-display/chart-echarts.js.map +1 -1
  458. package/dist/esm/components/data-display/chromes/DisplayChromeContext.d.ts.map +1 -1
  459. package/dist/esm/components/data-display/chromes/DisplayChromeContext.js.map +1 -1
  460. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts +23 -6
  461. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
  462. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js +17 -12
  463. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
  464. package/dist/esm/components/data-display/description-list.d.ts +5 -1
  465. package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
  466. package/dist/esm/components/data-display/description-list.js.map +1 -1
  467. package/dist/esm/components/data-display/display-field-resolution.utils.d.ts +14 -7
  468. package/dist/esm/components/data-display/display-field-resolution.utils.d.ts.map +1 -1
  469. package/dist/esm/components/data-display/display-field-resolution.utils.js +17 -36
  470. package/dist/esm/components/data-display/display-field-resolution.utils.js.map +1 -1
  471. package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
  472. package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
  473. package/dist/esm/components/data-display/display-resource-link-trail.d.ts.map +1 -1
  474. package/dist/esm/components/data-display/display-resource-link-trail.js.map +1 -1
  475. package/dist/esm/components/data-display/duration.d.ts +46 -0
  476. package/dist/esm/components/data-display/duration.d.ts.map +1 -0
  477. package/dist/esm/components/data-display/duration.js +9 -0
  478. package/dist/esm/components/data-display/duration.js.map +1 -0
  479. package/dist/esm/components/data-display/formatters/display-field-address.d.ts +22 -0
  480. package/dist/esm/components/data-display/formatters/display-field-address.d.ts.map +1 -0
  481. package/dist/esm/components/data-display/formatters/display-field-address.js +8 -0
  482. package/dist/esm/components/data-display/formatters/display-field-address.js.map +1 -0
  483. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
  484. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
  485. package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
  486. package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
  487. package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
  488. package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
  489. package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
  490. package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
  491. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
  492. package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
  493. package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
  494. package/dist/esm/components/data-display/formatters/display-field-duration.js.map +1 -1
  495. package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
  496. package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
  497. package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
  498. package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
  499. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
  500. package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
  501. package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
  502. package/dist/esm/components/data-display/formatters/display-field-file-gallery.js.map +1 -1
  503. package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
  504. package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
  505. package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
  506. package/dist/esm/components/data-display/formatters/display-field-file-video.js.map +1 -1
  507. package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
  508. package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
  509. package/dist/esm/components/data-display/formatters/display-field-json.d.ts.map +1 -1
  510. package/dist/esm/components/data-display/formatters/display-field-json.js.map +1 -1
  511. package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
  512. package/dist/esm/components/data-display/formatters/display-field-money.js.map +1 -1
  513. package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
  514. package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
  515. package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
  516. package/dist/esm/components/data-display/formatters/display-field-phone.js.map +1 -1
  517. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
  518. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.js.map +1 -1
  519. package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
  520. package/dist/esm/components/data-display/formatters/display-field-range-date.js.map +1 -1
  521. package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
  522. package/dist/esm/components/data-display/formatters/display-field-range-datetime.js.map +1 -1
  523. package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
  524. package/dist/esm/components/data-display/formatters/display-field-range-money.js.map +1 -1
  525. package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
  526. package/dist/esm/components/data-display/formatters/display-field-range-number.js.map +1 -1
  527. package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
  528. package/dist/esm/components/data-display/formatters/display-field-range-time.js.map +1 -1
  529. package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
  530. package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
  531. package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
  532. package/dist/esm/components/data-display/formatters/display-field-time.js.map +1 -1
  533. package/dist/esm/components/data-display/identifier.d.ts +54 -0
  534. package/dist/esm/components/data-display/identifier.d.ts.map +1 -0
  535. package/dist/esm/components/data-display/identifier.js +9 -0
  536. package/dist/esm/components/data-display/identifier.js.map +1 -0
  537. package/dist/esm/components/data-display/kbd.d.ts +32 -0
  538. package/dist/esm/components/data-display/kbd.d.ts.map +1 -0
  539. package/dist/esm/components/data-display/kbd.js +9 -0
  540. package/dist/esm/components/data-display/kbd.js.map +1 -0
  541. package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
  542. package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
  543. package/dist/esm/components/data-display/timeline.d.ts +89 -0
  544. package/dist/esm/components/data-display/timeline.d.ts.map +1 -0
  545. package/dist/esm/components/data-display/timeline.js +31 -0
  546. package/dist/esm/components/data-display/timeline.js.map +1 -0
  547. package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
  548. package/dist/esm/components/data-display/useFileActivation.js.map +1 -1
  549. package/dist/esm/components/feedback/celebration-overlay.d.ts +20 -1
  550. package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
  551. package/dist/esm/components/feedback/celebration-overlay.js +35 -15
  552. package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
  553. package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
  554. package/dist/esm/components/feedback/danger-zone.js.map +1 -1
  555. package/dist/esm/components/feedback/empty-display-policy.utils.d.ts.map +1 -1
  556. package/dist/esm/components/feedback/empty-display-policy.utils.js.map +1 -1
  557. package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
  558. package/dist/esm/components/feedback/empty-state.js.map +1 -1
  559. package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
  560. package/dist/esm/components/feedback/error-display.js.map +1 -1
  561. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  562. package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -1
  563. package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
  564. package/dist/esm/components/feedback/features/feature-lock-badge.js.map +1 -1
  565. package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
  566. package/dist/esm/components/feedback/features/feature-unavailable-dialog.js.map +1 -1
  567. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
  568. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
  569. package/dist/esm/components/feedback/lazy-door-error-boundary.d.ts +57 -0
  570. package/dist/esm/components/feedback/lazy-door-error-boundary.d.ts.map +1 -0
  571. package/dist/esm/components/feedback/lazy-door-error-boundary.js +66 -0
  572. package/dist/esm/components/feedback/lazy-door-error-boundary.js.map +1 -0
  573. package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
  574. package/dist/esm/components/feedback/loading-overlay.js.map +1 -1
  575. package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
  576. package/dist/esm/components/feedback/loading-spinner.js.map +1 -1
  577. package/dist/esm/components/feedback/notification-center.d.ts +8 -8
  578. package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
  579. package/dist/esm/components/feedback/notification-center.js +7 -6
  580. package/dist/esm/components/feedback/notification-center.js.map +1 -1
  581. package/dist/esm/components/feedback/operations-confirm-critical.d.ts +13 -0
  582. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  583. package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
  584. package/dist/esm/components/feedback/progress.d.ts.map +1 -1
  585. package/dist/esm/components/feedback/progress.js.map +1 -1
  586. package/dist/esm/components/feedback/resource-empty-state.d.ts.map +1 -1
  587. package/dist/esm/components/feedback/resource-empty-state.js.map +1 -1
  588. package/dist/esm/components/feedback/skeleton-text.d.ts.map +1 -1
  589. package/dist/esm/components/feedback/skeleton-text.js.map +1 -1
  590. package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
  591. package/dist/esm/components/feedback/skeleton.js.map +1 -1
  592. package/dist/esm/components/feedback/toast.d.ts.map +1 -1
  593. package/dist/esm/components/feedback/toast.js.map +1 -1
  594. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -1
  595. package/dist/esm/components/files/Files_UploadGrantDrop.js +13 -11
  596. package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -1
  597. package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts.map +1 -1
  598. package/dist/esm/components/files/Files_UploadGrantDrop.labels.js.map +1 -1
  599. package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts.map +1 -1
  600. package/dist/esm/components/files/pages/FilesPage_UploadGrant.js.map +1 -1
  601. package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
  602. package/dist/esm/components/flows-actors/actor.js +6 -2
  603. package/dist/esm/components/flows-actors/actor.js.map +1 -1
  604. package/dist/esm/components/flows-actors/actor.labels.d.ts.map +1 -1
  605. package/dist/esm/components/flows-actors/actor.labels.js.map +1 -1
  606. package/dist/esm/components/flows-actors/agent-config.d.ts.map +1 -1
  607. package/dist/esm/components/flows-actors/agent-config.js +0 -1
  608. package/dist/esm/components/flows-actors/agent-config.js.map +1 -1
  609. package/dist/esm/components/flows-actors/agent-config.labels.d.ts.map +1 -1
  610. package/dist/esm/components/flows-actors/agent-config.labels.js +5 -4
  611. package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
  612. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.d.ts +14 -0
  613. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.d.ts.map +1 -0
  614. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js +30 -0
  615. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js.map +1 -0
  616. package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
  617. package/dist/esm/components/flows-actors/approval.js +74 -13
  618. package/dist/esm/components/flows-actors/approval.js.map +1 -1
  619. package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
  620. package/dist/esm/components/flows-actors/approval.labels.js +15 -0
  621. package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
  622. package/dist/esm/components/flows-actors/artifact-browser.d.ts.map +1 -1
  623. package/dist/esm/components/flows-actors/artifact-browser.js.map +1 -1
  624. package/dist/esm/components/flows-actors/artifact-browser.labels.d.ts.map +1 -1
  625. package/dist/esm/components/flows-actors/artifact-browser.labels.js.map +1 -1
  626. package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
  627. package/dist/esm/components/flows-actors/execution-plan.js +1 -1
  628. package/dist/esm/components/flows-actors/execution-plan.js.map +1 -1
  629. package/dist/esm/components/flows-actors/execution-plan.labels.d.ts.map +1 -1
  630. package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
  631. package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
  632. package/dist/esm/components/flows-actors/flow-execution.js +8 -10
  633. package/dist/esm/components/flows-actors/flow-execution.js.map +1 -1
  634. package/dist/esm/components/flows-actors/flow-execution.labels.d.ts.map +1 -1
  635. package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
  636. package/dist/esm/components/flows-actors/flow-node-badges.d.ts +3 -0
  637. package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
  638. package/dist/esm/components/flows-actors/flow-node-badges.js +37 -10
  639. package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
  640. package/dist/esm/components/flows-actors/flow-node.d.ts.map +1 -1
  641. package/dist/esm/components/flows-actors/flow-node.js.map +1 -1
  642. package/dist/esm/components/flows-actors/flow-node.labels.d.ts.map +1 -1
  643. package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
  644. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts.map +1 -1
  645. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js.map +1 -1
  646. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts.map +1 -1
  647. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js +13 -12
  648. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js.map +1 -1
  649. package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts.map +1 -1
  650. package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
  651. package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
  652. package/dist/esm/components/flows-actors/system-catalog.js +3 -3
  653. package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
  654. package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
  655. package/dist/esm/components/flows-actors/system-catalog.labels.js +0 -1
  656. package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
  657. package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
  658. package/dist/esm/components/flows-actors/task-detail.js +4 -2
  659. package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
  660. package/dist/esm/components/flows-actors/task-detail.labels.d.ts.map +1 -1
  661. package/dist/esm/components/flows-actors/task-detail.labels.js.map +1 -1
  662. package/dist/esm/components/flows-actors/task-memory.d.ts.map +1 -1
  663. package/dist/esm/components/flows-actors/task-memory.js +1 -1
  664. package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
  665. package/dist/esm/components/flows-actors/task-memory.labels.d.ts.map +1 -1
  666. package/dist/esm/components/flows-actors/task-memory.labels.js.map +1 -1
  667. package/dist/esm/components/form/Form.d.ts +5 -4
  668. package/dist/esm/components/form/Form.d.ts.map +1 -1
  669. package/dist/esm/components/form/Form.js +12 -9
  670. package/dist/esm/components/form/Form.js.map +1 -1
  671. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
  672. package/dist/esm/components/form/automated/AutomatedArrayField.js +44 -34
  673. package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
  674. package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
  675. package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
  676. package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
  677. package/dist/esm/components/form/automated/AutosaveContext.js +4 -2
  678. package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
  679. package/dist/esm/components/form/automated/FormField.d.ts +12 -1
  680. package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
  681. package/dist/esm/components/form/automated/FormField.js +126 -30
  682. package/dist/esm/components/form/automated/FormField.js.map +1 -1
  683. package/dist/esm/components/form/automated/FormFieldArray.d.ts.map +1 -1
  684. package/dist/esm/components/form/automated/FormFieldArray.js.map +1 -1
  685. package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
  686. package/dist/esm/components/form/automated/FormFieldComposite.js.map +1 -1
  687. package/dist/esm/components/form/automated/FormFieldRecord.d.ts.map +1 -1
  688. package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
  689. package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
  690. package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
  691. package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.d.ts.map +1 -1
  692. package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.js.map +1 -1
  693. package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.d.ts.map +1 -1
  694. package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.js.map +1 -1
  695. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
  696. package/dist/esm/components/form/automated/ResourceAutomatedForm.js +140 -40
  697. package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
  698. package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts.map +1 -1
  699. package/dist/esm/components/form/automated/ResourceFormActionsContext.js.map +1 -1
  700. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts +20 -0
  701. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
  702. package/dist/esm/components/form/automated/automated-form-submit.utils.js +46 -0
  703. package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
  704. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts.map +1 -1
  705. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js.map +1 -1
  706. package/dist/esm/components/form/automated/autosave-indicator.d.ts.map +1 -1
  707. package/dist/esm/components/form/automated/autosave-indicator.js.map +1 -1
  708. package/dist/esm/components/form/automated/autosave-indicator.utils.d.ts.map +1 -1
  709. package/dist/esm/components/form/automated/autosave-indicator.utils.js.map +1 -1
  710. package/dist/esm/components/form/automated/create-form-default-values.utils.d.ts.map +1 -1
  711. package/dist/esm/components/form/automated/create-form-default-values.utils.js.map +1 -1
  712. package/dist/esm/components/form/automated/field-clearing-rule.frontend.utils.d.ts +42 -0
  713. package/dist/esm/components/form/automated/field-clearing-rule.frontend.utils.d.ts.map +1 -0
  714. package/dist/esm/components/form/automated/field-clearing-rule.frontend.utils.js +47 -0
  715. package/dist/esm/components/form/automated/field-clearing-rule.frontend.utils.js.map +1 -0
  716. package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.d.ts.map +1 -1
  717. package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.js.map +1 -1
  718. package/dist/esm/components/form/automated/generated-relationship-field.helpers.d.ts.map +1 -1
  719. package/dist/esm/components/form/automated/generated-relationship-field.helpers.js.map +1 -1
  720. package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts.map +1 -1
  721. package/dist/esm/components/form/automated/generated-relationship-field.hooks.js.map +1 -1
  722. package/dist/esm/components/form/automated/generated-relationship-field.shared.d.ts.map +1 -1
  723. package/dist/esm/components/form/automated/generated-relationship-field.shared.js.map +1 -1
  724. package/dist/esm/components/form/automated/generated-relationship-field.utils.d.ts.map +1 -1
  725. package/dist/esm/components/form/automated/generated-relationship-field.utils.js.map +1 -1
  726. package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
  727. package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
  728. package/dist/esm/components/form/chromes/FormChromeContext.d.ts.map +1 -1
  729. package/dist/esm/components/form/chromes/FormChromeContext.js.map +1 -1
  730. package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
  731. package/dist/esm/components/form/chromes/FormFieldChrome.js +32 -20
  732. package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
  733. package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
  734. package/dist/esm/components/form/chromes/field.js.map +1 -1
  735. package/dist/esm/components/form/chromes/form-primitives.d.ts.map +1 -1
  736. package/dist/esm/components/form/chromes/form-primitives.js.map +1 -1
  737. package/dist/esm/components/form/combobox.d.ts.map +1 -1
  738. package/dist/esm/components/form/combobox.js.map +1 -1
  739. package/dist/esm/components/form/controls/boolean/checkbox.d.ts +10 -0
  740. package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
  741. package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
  742. package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
  743. package/dist/esm/components/form/controls/boolean/switch.js.map +1 -1
  744. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
  745. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.js.map +1 -1
  746. package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
  747. package/dist/esm/components/form/controls/boolean/toggle.js.map +1 -1
  748. package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
  749. package/dist/esm/components/form/controls/date-time/calendar.js.map +1 -1
  750. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  751. package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
  752. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  753. package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
  754. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  755. package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -1
  756. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  757. package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -1
  758. package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
  759. package/dist/esm/components/form/controls/date-time/time-picker.js.map +1 -1
  760. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  761. package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -1
  762. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  763. package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
  764. package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
  765. package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
  766. package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
  767. package/dist/esm/components/form/controls/enum/select.js.map +1 -1
  768. package/dist/esm/components/form/controls/enum/toggle-group.d.ts +23 -0
  769. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  770. package/dist/esm/components/form/controls/enum/toggle-group.js +20 -0
  771. package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
  772. package/dist/esm/components/form/controls/file/file-readiness.frontend.utils.d.ts +19 -0
  773. package/dist/esm/components/form/controls/file/file-readiness.frontend.utils.d.ts.map +1 -0
  774. package/dist/esm/components/form/controls/file/file-readiness.frontend.utils.js +50 -0
  775. package/dist/esm/components/form/controls/file/file-readiness.frontend.utils.js.map +1 -0
  776. package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
  777. package/dist/esm/components/form/controls/file/file-upload.js.map +1 -1
  778. package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
  779. package/dist/esm/components/form/controls/file/image-crop.frontend.utils.d.ts.map +1 -1
  780. package/dist/esm/components/form/controls/file/image-crop.frontend.utils.js.map +1 -1
  781. package/dist/esm/components/form/controls/file/image-crop.js.map +1 -1
  782. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
  783. package/dist/esm/components/form/controls/form-field-checkbox-group.js +33 -32
  784. package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
  785. package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
  786. package/dist/esm/components/form/controls/input-group.js.map +1 -1
  787. package/dist/esm/components/form/controls/input.d.ts.map +1 -1
  788. package/dist/esm/components/form/controls/input.js.map +1 -1
  789. package/dist/esm/components/form/controls/number/slider.d.ts +1 -1
  790. package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
  791. package/dist/esm/components/form/controls/number/slider.js.map +1 -1
  792. package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
  793. package/dist/esm/components/form/controls/string/color-input.js.map +1 -1
  794. package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
  795. package/dist/esm/components/form/controls/string/inline-edit-text.js.map +1 -1
  796. package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
  797. package/dist/esm/components/form/controls/string/input-otp.js.map +1 -1
  798. package/dist/esm/components/form/controls/string/markdown-editor.d.ts.map +1 -1
  799. package/dist/esm/components/form/controls/string/markdown-editor.js.map +1 -1
  800. package/dist/esm/components/form/controls/string/markdown-editor.labels.d.ts.map +1 -1
  801. package/dist/esm/components/form/controls/string/markdown-editor.labels.js.map +1 -1
  802. package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
  803. package/dist/esm/components/form/controls/string/password-input.js.map +1 -1
  804. package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
  805. package/dist/esm/components/form/controls/string/textarea.js.map +1 -1
  806. package/dist/esm/components/form/feedback/RemoteChangeNotification.d.ts.map +1 -1
  807. package/dist/esm/components/form/feedback/RemoteChangeNotification.js.map +1 -1
  808. package/dist/esm/components/form/fields/accepted-file-kinds-description.frontend.utils.d.ts +15 -0
  809. package/dist/esm/components/form/fields/accepted-file-kinds-description.frontend.utils.d.ts.map +1 -0
  810. package/dist/esm/components/form/fields/accepted-file-kinds-description.frontend.utils.js +53 -0
  811. package/dist/esm/components/form/fields/accepted-file-kinds-description.frontend.utils.js.map +1 -0
  812. package/dist/esm/components/form/fields/form-field-address.d.ts +56 -0
  813. package/dist/esm/components/form/fields/form-field-address.d.ts.map +1 -0
  814. package/dist/esm/components/form/fields/form-field-address.js +178 -0
  815. package/dist/esm/components/form/fields/form-field-address.js.map +1 -0
  816. package/dist/esm/components/form/fields/form-field-address.labels.d.ts +3 -0
  817. package/dist/esm/components/form/fields/form-field-address.labels.d.ts.map +1 -0
  818. package/dist/esm/components/form/fields/form-field-address.labels.js +53 -0
  819. package/dist/esm/components/form/fields/form-field-address.labels.js.map +1 -0
  820. package/dist/esm/components/form/fields/form-field-bigdecimal.d.ts.map +1 -1
  821. package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
  822. package/dist/esm/components/form/fields/form-field-bigdecimal.labels.d.ts.map +1 -1
  823. package/dist/esm/components/form/fields/form-field-bigdecimal.labels.js.map +1 -1
  824. package/dist/esm/components/form/fields/form-field-boolean.d.ts.map +1 -1
  825. package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
  826. package/dist/esm/components/form/fields/form-field-boolean.labels.d.ts.map +1 -1
  827. package/dist/esm/components/form/fields/form-field-boolean.labels.js.map +1 -1
  828. package/dist/esm/components/form/fields/form-field-code.d.ts.map +1 -1
  829. package/dist/esm/components/form/fields/form-field-code.js.map +1 -1
  830. package/dist/esm/components/form/fields/form-field-code.labels.d.ts.map +1 -1
  831. package/dist/esm/components/form/fields/form-field-code.labels.js.map +1 -1
  832. package/dist/esm/components/form/fields/form-field-date.d.ts.map +1 -1
  833. package/dist/esm/components/form/fields/form-field-date.js.map +1 -1
  834. package/dist/esm/components/form/fields/form-field-date.labels.d.ts.map +1 -1
  835. package/dist/esm/components/form/fields/form-field-date.labels.js.map +1 -1
  836. package/dist/esm/components/form/fields/form-field-datetime.d.ts.map +1 -1
  837. package/dist/esm/components/form/fields/form-field-datetime.js.map +1 -1
  838. package/dist/esm/components/form/fields/form-field-datetime.labels.d.ts.map +1 -1
  839. package/dist/esm/components/form/fields/form-field-datetime.labels.js.map +1 -1
  840. package/dist/esm/components/form/fields/form-field-duration.d.ts.map +1 -1
  841. package/dist/esm/components/form/fields/form-field-duration.js +5 -7
  842. package/dist/esm/components/form/fields/form-field-duration.js.map +1 -1
  843. package/dist/esm/components/form/fields/form-field-duration.labels.d.ts.map +1 -1
  844. package/dist/esm/components/form/fields/form-field-duration.labels.js.map +1 -1
  845. package/dist/esm/components/form/fields/form-field-enum.d.ts +14 -1
  846. package/dist/esm/components/form/fields/form-field-enum.d.ts.map +1 -1
  847. package/dist/esm/components/form/fields/form-field-enum.js +310 -32
  848. package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
  849. package/dist/esm/components/form/fields/form-field-enum.labels.d.ts.map +1 -1
  850. package/dist/esm/components/form/fields/form-field-enum.labels.js.map +1 -1
  851. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts +18 -27
  852. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts.map +1 -1
  853. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js +19 -46
  854. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js.map +1 -1
  855. package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
  856. package/dist/esm/components/form/fields/form-field-file.js +267 -114
  857. package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
  858. package/dist/esm/components/form/fields/form-field-file.labels.d.ts.map +1 -1
  859. package/dist/esm/components/form/fields/form-field-file.labels.js +18 -2
  860. package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
  861. package/dist/esm/components/form/fields/form-field-money.d.ts.map +1 -1
  862. package/dist/esm/components/form/fields/form-field-money.js +8 -34
  863. package/dist/esm/components/form/fields/form-field-money.js.map +1 -1
  864. package/dist/esm/components/form/fields/form-field-money.labels.d.ts.map +1 -1
  865. package/dist/esm/components/form/fields/form-field-money.labels.js.map +1 -1
  866. package/dist/esm/components/form/fields/form-field-number.d.ts.map +1 -1
  867. package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
  868. package/dist/esm/components/form/fields/form-field-number.labels.d.ts.map +1 -1
  869. package/dist/esm/components/form/fields/form-field-number.labels.js.map +1 -1
  870. package/dist/esm/components/form/fields/form-field-phone.d.ts.map +1 -1
  871. package/dist/esm/components/form/fields/form-field-phone.js.map +1 -1
  872. package/dist/esm/components/form/fields/form-field-phone.labels.d.ts.map +1 -1
  873. package/dist/esm/components/form/fields/form-field-phone.labels.js.map +1 -1
  874. package/dist/esm/components/form/fields/form-field-range-bigdecimal.d.ts.map +1 -1
  875. package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
  876. package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.d.ts.map +1 -1
  877. package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.js.map +1 -1
  878. package/dist/esm/components/form/fields/form-field-range-date.d.ts.map +1 -1
  879. package/dist/esm/components/form/fields/form-field-range-date.js.map +1 -1
  880. package/dist/esm/components/form/fields/form-field-range-date.labels.d.ts.map +1 -1
  881. package/dist/esm/components/form/fields/form-field-range-date.labels.js.map +1 -1
  882. package/dist/esm/components/form/fields/form-field-range-datetime.d.ts.map +1 -1
  883. package/dist/esm/components/form/fields/form-field-range-datetime.js.map +1 -1
  884. package/dist/esm/components/form/fields/form-field-range-datetime.labels.d.ts.map +1 -1
  885. package/dist/esm/components/form/fields/form-field-range-datetime.labels.js.map +1 -1
  886. package/dist/esm/components/form/fields/form-field-range-money.d.ts.map +1 -1
  887. package/dist/esm/components/form/fields/form-field-range-money.js.map +1 -1
  888. package/dist/esm/components/form/fields/form-field-range-money.labels.d.ts.map +1 -1
  889. package/dist/esm/components/form/fields/form-field-range-money.labels.js.map +1 -1
  890. package/dist/esm/components/form/fields/form-field-range-number.d.ts.map +1 -1
  891. package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
  892. package/dist/esm/components/form/fields/form-field-range-number.labels.d.ts.map +1 -1
  893. package/dist/esm/components/form/fields/form-field-range-number.labels.js.map +1 -1
  894. package/dist/esm/components/form/fields/form-field-range-time.d.ts.map +1 -1
  895. package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
  896. package/dist/esm/components/form/fields/form-field-range-time.labels.d.ts.map +1 -1
  897. package/dist/esm/components/form/fields/form-field-range-time.labels.js.map +1 -1
  898. package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
  899. package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
  900. package/dist/esm/components/form/fields/form-field-string.labels.d.ts.map +1 -1
  901. package/dist/esm/components/form/fields/form-field-string.labels.js.map +1 -1
  902. package/dist/esm/components/form/fields/form-field-time.d.ts.map +1 -1
  903. package/dist/esm/components/form/fields/form-field-time.js.map +1 -1
  904. package/dist/esm/components/form/fields/form-field-time.labels.d.ts.map +1 -1
  905. package/dist/esm/components/form/fields/form-field-time.labels.js.map +1 -1
  906. package/dist/esm/components/form/fields/useFormField.d.ts.map +1 -1
  907. package/dist/esm/components/form/fields/useFormField.js.map +1 -1
  908. package/dist/esm/components/form/form-context.d.ts.map +1 -1
  909. package/dist/esm/components/form/form-context.js.map +1 -1
  910. package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
  911. package/dist/esm/components/form/form-context.utils.js.map +1 -1
  912. package/dist/esm/components/form/form-external-validation.d.ts +11 -0
  913. package/dist/esm/components/form/form-external-validation.d.ts.map +1 -0
  914. package/dist/esm/components/form/form-external-validation.js +17 -0
  915. package/dist/esm/components/form/form-external-validation.js.map +1 -0
  916. package/dist/esm/components/form/form-field-types.d.ts +20 -0
  917. package/dist/esm/components/form/form-field-types.d.ts.map +1 -1
  918. package/dist/esm/components/form/form-field-types.js.map +1 -1
  919. package/dist/esm/components/form/useFormSchemaContext.d.ts.map +1 -1
  920. package/dist/esm/components/form/useFormSchemaContext.js.map +1 -1
  921. package/dist/esm/components/form/validation-errors/FormErrorSummary.d.ts.map +1 -1
  922. package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
  923. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts +13 -12
  924. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts.map +1 -1
  925. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.js +15 -17
  926. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.js.map +1 -1
  927. package/dist/esm/components/form/validation-errors/form-validation.d.ts.map +1 -1
  928. package/dist/esm/components/form/validation-errors/form-validation.js.map +1 -1
  929. package/dist/esm/components/form/validation-errors/getFieldError.d.ts +6 -0
  930. package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
  931. package/dist/esm/components/form/validation-errors/getFieldError.js +12 -1
  932. package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
  933. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.d.ts +23 -0
  934. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.d.ts.map +1 -0
  935. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.js +10 -0
  936. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.js.map +1 -0
  937. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts.map +1 -1
  938. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
  939. package/dist/esm/components/form/validation-errors/unstarted-field-visit.d.ts +60 -0
  940. package/dist/esm/components/form/validation-errors/unstarted-field-visit.d.ts.map +1 -0
  941. package/dist/esm/components/form/validation-errors/unstarted-field-visit.js +79 -0
  942. package/dist/esm/components/form/validation-errors/unstarted-field-visit.js.map +1 -0
  943. package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.d.ts.map +1 -1
  944. package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.js +5 -2
  945. package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.js.map +1 -1
  946. package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts +6 -1
  947. package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts.map +1 -1
  948. package/dist/esm/components/form/validation-errors/useServerErrorInjection.js +10 -2
  949. package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
  950. package/dist/esm/components/form/validation-errors/validate-field-url.frontend.d.ts +32 -0
  951. package/dist/esm/components/form/validation-errors/validate-field-url.frontend.d.ts.map +1 -0
  952. package/dist/esm/components/form/validation-errors/validate-field-url.frontend.js +35 -0
  953. package/dist/esm/components/form/validation-errors/validate-field-url.frontend.js.map +1 -0
  954. package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts +17 -0
  955. package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts.map +1 -0
  956. package/dist/esm/components/form/validation-errors/zod-issue-resolver.js +73 -0
  957. package/dist/esm/components/form/validation-errors/zod-issue-resolver.js.map +1 -0
  958. package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
  959. package/dist/esm/components/layout/aspect-ratio.js.map +1 -1
  960. package/dist/esm/components/layout/carousel.d.ts.map +1 -1
  961. package/dist/esm/components/layout/carousel.js.map +1 -1
  962. package/dist/esm/components/layout/divider.d.ts.map +1 -1
  963. package/dist/esm/components/layout/divider.js.map +1 -1
  964. package/dist/esm/components/layout/resizable.d.ts.map +1 -1
  965. package/dist/esm/components/layout/resizable.js.map +1 -1
  966. package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
  967. package/dist/esm/components/layout/scroll-area.js.map +1 -1
  968. package/dist/esm/components/layout/separator.d.ts.map +1 -1
  969. package/dist/esm/components/layout/separator.js.map +1 -1
  970. package/dist/esm/components/navigation/NavigationItemBadge.d.ts +7 -1
  971. package/dist/esm/components/navigation/NavigationItemBadge.d.ts.map +1 -1
  972. package/dist/esm/components/navigation/NavigationItemBadge.js +29 -1
  973. package/dist/esm/components/navigation/NavigationItemBadge.js.map +1 -1
  974. package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.d.ts.map +1 -1
  975. package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.js.map +1 -1
  976. package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.d.ts.map +1 -1
  977. package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.js.map +1 -1
  978. package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.d.ts.map +1 -1
  979. package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.js.map +1 -1
  980. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.d.ts.map +1 -1
  981. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.js.map +1 -1
  982. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.d.ts.map +1 -1
  983. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.js.map +1 -1
  984. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts.map +1 -1
  985. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js.map +1 -1
  986. package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.d.ts.map +1 -1
  987. package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.js.map +1 -1
  988. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts.map +1 -1
  989. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.js.map +1 -1
  990. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.d.ts.map +1 -1
  991. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.js.map +1 -1
  992. package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.d.ts.map +1 -1
  993. package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.js.map +1 -1
  994. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts.map +1 -1
  995. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.js.map +1 -1
  996. package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.d.ts.map +1 -1
  997. package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.js.map +1 -1
  998. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts.map +1 -1
  999. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.js.map +1 -1
  1000. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.d.ts.map +1 -1
  1001. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js.map +1 -1
  1002. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.d.ts.map +1 -1
  1003. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js +26 -10
  1004. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
  1005. package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.d.ts.map +1 -1
  1006. package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.js.map +1 -1
  1007. package/dist/esm/components/navigation/app-level/sidebar-resource-browser-empty-label.d.ts +14 -0
  1008. package/dist/esm/components/navigation/app-level/sidebar-resource-browser-empty-label.d.ts.map +1 -0
  1009. package/dist/esm/components/navigation/app-level/sidebar-resource-browser-empty-label.js +13 -0
  1010. package/dist/esm/components/navigation/app-level/sidebar-resource-browser-empty-label.js.map +1 -0
  1011. package/dist/esm/components/navigation/app-level/useActivityBarBehavior.d.ts.map +1 -1
  1012. package/dist/esm/components/navigation/app-level/useActivityBarBehavior.js.map +1 -1
  1013. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
  1014. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js +16 -12
  1015. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
  1016. package/dist/esm/components/navigation/app-level/useControlPanelBehavior.d.ts.map +1 -1
  1017. package/dist/esm/components/navigation/app-level/useControlPanelBehavior.js +12 -9
  1018. package/dist/esm/components/navigation/app-level/useControlPanelBehavior.js.map +1 -1
  1019. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts +9 -0
  1020. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts.map +1 -1
  1021. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js +38 -2
  1022. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js.map +1 -1
  1023. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
  1024. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
  1025. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
  1026. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
  1027. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts.map +1 -1
  1028. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js +34 -15
  1029. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js.map +1 -1
  1030. package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.d.ts.map +1 -1
  1031. package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.js.map +1 -1
  1032. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
  1033. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js +3 -1
  1034. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
  1035. package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
  1036. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +26 -3
  1037. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
  1038. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts.map +1 -1
  1039. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js.map +1 -1
  1040. package/dist/esm/components/navigation/app-level/useToolbarBehavior.d.ts.map +1 -1
  1041. package/dist/esm/components/navigation/app-level/useToolbarBehavior.js.map +1 -1
  1042. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +16 -1
  1043. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
  1044. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +20 -25
  1045. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
  1046. package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
  1047. package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
  1048. package/dist/esm/components/navigation/command.d.ts.map +1 -1
  1049. package/dist/esm/components/navigation/command.js.map +1 -1
  1050. package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
  1051. package/dist/esm/components/navigation/menu-bar.js.map +1 -1
  1052. package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
  1053. package/dist/esm/components/navigation/navbar.js.map +1 -1
  1054. package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
  1055. package/dist/esm/components/navigation/sidebar.js.map +1 -1
  1056. package/dist/esm/components/overlays/containers/OverlayContainer.d.ts.map +1 -1
  1057. package/dist/esm/components/overlays/containers/OverlayContainer.js +44 -14
  1058. package/dist/esm/components/overlays/containers/OverlayContainer.js.map +1 -1
  1059. package/dist/esm/components/overlays/containers/OverlayContainer.labels.d.ts.map +1 -1
  1060. package/dist/esm/components/overlays/containers/OverlayContainer.labels.js.map +1 -1
  1061. package/dist/esm/components/overlays/containers/alert-dialog.d.ts +16 -12
  1062. package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
  1063. package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
  1064. package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
  1065. package/dist/esm/components/overlays/containers/alert.js.map +1 -1
  1066. package/dist/esm/components/overlays/containers/dialog.d.ts +3 -1
  1067. package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
  1068. package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
  1069. package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts +25 -7
  1070. package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts.map +1 -1
  1071. package/dist/esm/components/overlays/containers/dialog.shared-types.js.map +1 -1
  1072. package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
  1073. package/dist/esm/components/overlays/containers/drawer.js.map +1 -1
  1074. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts +21 -1
  1075. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts.map +1 -1
  1076. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.js +34 -1
  1077. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.js.map +1 -1
  1078. package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.d.ts.map +1 -1
  1079. package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.js.map +1 -1
  1080. package/dist/esm/components/overlays/containers/sheet.d.ts +6 -4
  1081. package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
  1082. package/dist/esm/components/overlays/containers/sheet.js.map +1 -1
  1083. package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
  1084. package/dist/esm/components/overlays/floating/context-menu.js.map +1 -1
  1085. package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
  1086. package/dist/esm/components/overlays/floating/dropdown-menu.js.map +1 -1
  1087. package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
  1088. package/dist/esm/components/overlays/floating/hover-card.js.map +1 -1
  1089. package/dist/esm/components/overlays/floating/menu.shared-types.d.ts.map +1 -1
  1090. package/dist/esm/components/overlays/floating/menu.shared-types.js.map +1 -1
  1091. package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
  1092. package/dist/esm/components/overlays/floating/popover.js.map +1 -1
  1093. package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
  1094. package/dist/esm/components/overlays/floating/tooltip.js.map +1 -1
  1095. package/dist/esm/components/progression/ProgressionAchievementBadge.d.ts.map +1 -1
  1096. package/dist/esm/components/progression/ProgressionAchievementBadge.js.map +1 -1
  1097. package/dist/esm/components/progression/ProgressionAchievementBadge.labels.d.ts.map +1 -1
  1098. package/dist/esm/components/progression/ProgressionAchievementBadge.labels.js.map +1 -1
  1099. package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts +55 -4
  1100. package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts.map +1 -1
  1101. package/dist/esm/components/progression/ProgressionMilestoneTracker.js +265 -32
  1102. package/dist/esm/components/progression/ProgressionMilestoneTracker.js.map +1 -1
  1103. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.d.ts.map +1 -1
  1104. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js +42 -4
  1105. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
  1106. package/dist/esm/components/resources/CollectionSelectionControls.d.ts +34 -15
  1107. package/dist/esm/components/resources/CollectionSelectionControls.d.ts.map +1 -1
  1108. package/dist/esm/components/resources/CollectionSelectionControls.js +4 -3
  1109. package/dist/esm/components/resources/CollectionSelectionControls.js.map +1 -1
  1110. package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts +30 -0
  1111. package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts.map +1 -0
  1112. package/dist/esm/components/resources/CollectionSelectionHeaderRail.js +17 -0
  1113. package/dist/esm/components/resources/CollectionSelectionHeaderRail.js.map +1 -0
  1114. package/dist/esm/components/resources/EphemeralFieldsRevealDialog.d.ts.map +1 -1
  1115. package/dist/esm/components/resources/EphemeralFieldsRevealDialog.js.map +1 -1
  1116. package/dist/esm/components/resources/InlineSearchInput.d.ts.map +1 -1
  1117. package/dist/esm/components/resources/InlineSearchInput.js.map +1 -1
  1118. package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts +10 -1
  1119. package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
  1120. package/dist/esm/components/resources/ResourceCollectionBody_Table.js +9 -5
  1121. package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
  1122. package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts +45 -0
  1123. package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts.map +1 -0
  1124. package/dist/esm/components/resources/ResourceCollectionFilterPresets.js +81 -0
  1125. package/dist/esm/components/resources/ResourceCollectionFilterPresets.js.map +1 -0
  1126. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts +22 -4
  1127. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
  1128. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js +31 -6
  1129. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
  1130. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts +25 -9
  1131. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
  1132. package/dist/esm/components/resources/ResourceCollectionToolbar.js +3 -2
  1133. package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
  1134. package/dist/esm/components/resources/ResourceInPlaceOperationRow.d.ts.map +1 -1
  1135. package/dist/esm/components/resources/ResourceInPlaceOperationRow.js +2 -2
  1136. package/dist/esm/components/resources/ResourceInPlaceOperationRow.js.map +1 -1
  1137. package/dist/esm/components/resources/ResourceLayout_Action.d.ts.map +1 -1
  1138. package/dist/esm/components/resources/ResourceLayout_Action.js.map +1 -1
  1139. package/dist/esm/components/resources/ResourceLayout_Action.labels.d.ts.map +1 -1
  1140. package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
  1141. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
  1142. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js +2 -1
  1143. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
  1144. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.d.ts.map +1 -1
  1145. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.js.map +1 -1
  1146. package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
  1147. package/dist/esm/components/resources/ResourceLayout_CollectionActions.js +2 -2
  1148. package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
  1149. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.d.ts.map +1 -1
  1150. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js.map +1 -1
  1151. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.d.ts.map +1 -1
  1152. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.js.map +1 -1
  1153. package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
  1154. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +3 -3
  1155. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
  1156. package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.d.ts.map +1 -1
  1157. package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.js +4 -4
  1158. package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.js.map +1 -1
  1159. package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
  1160. package/dist/esm/components/resources/ResourceLayout_Create.js.map +1 -1
  1161. package/dist/esm/components/resources/ResourceLayout_Create.labels.d.ts.map +1 -1
  1162. package/dist/esm/components/resources/ResourceLayout_Create.labels.js +1 -0
  1163. package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
  1164. package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
  1165. package/dist/esm/components/resources/ResourceLayout_DangerZone.js +13 -18
  1166. package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
  1167. package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.d.ts.map +1 -1
  1168. package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.js.map +1 -1
  1169. package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
  1170. package/dist/esm/components/resources/ResourceLayout_FilterChips.js +13 -2
  1171. package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
  1172. package/dist/esm/components/resources/ResourceLayout_Filters.d.ts.map +1 -1
  1173. package/dist/esm/components/resources/ResourceLayout_Filters.js.map +1 -1
  1174. package/dist/esm/components/resources/ResourceLayout_Filters.labels.d.ts.map +1 -1
  1175. package/dist/esm/components/resources/ResourceLayout_Filters.labels.js +2 -0
  1176. package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
  1177. package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts +7 -1
  1178. package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
  1179. package/dist/esm/components/resources/ResourceLayout_FiltersControl.js +66 -11
  1180. package/dist/esm/components/resources/ResourceLayout_FiltersControl.js.map +1 -1
  1181. package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
  1182. package/dist/esm/components/resources/ResourceLayout_Header.js +85 -42
  1183. package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
  1184. package/dist/esm/components/resources/ResourceLayout_Header.labels.d.ts.map +1 -1
  1185. package/dist/esm/components/resources/ResourceLayout_Header.labels.js.map +1 -1
  1186. package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
  1187. package/dist/esm/components/resources/ResourceLayout_InsertedViews.js.map +1 -1
  1188. package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
  1189. package/dist/esm/components/resources/ResourceLayout_List.js +130 -46
  1190. package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
  1191. package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
  1192. package/dist/esm/components/resources/ResourceLayout_List.labels.js +12 -0
  1193. package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
  1194. package/dist/esm/components/resources/ResourceLayout_List_Table.d.ts.map +1 -1
  1195. package/dist/esm/components/resources/ResourceLayout_List_Table.js.map +1 -1
  1196. package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts +23 -1
  1197. package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
  1198. package/dist/esm/components/resources/ResourceLayout_OperationBulk.js +52 -16
  1199. package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
  1200. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.d.ts.map +1 -1
  1201. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js +44 -0
  1202. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
  1203. package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
  1204. package/dist/esm/components/resources/ResourceLayout_OperationsItems.js +2 -2
  1205. package/dist/esm/components/resources/ResourceLayout_OperationsItems.js.map +1 -1
  1206. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.d.ts.map +1 -1
  1207. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js +78 -0
  1208. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js.map +1 -1
  1209. package/dist/esm/components/resources/ResourceLayout_Pagination.d.ts.map +1 -1
  1210. package/dist/esm/components/resources/ResourceLayout_Pagination.js.map +1 -1
  1211. package/dist/esm/components/resources/ResourceLayout_Pagination.labels.d.ts.map +1 -1
  1212. package/dist/esm/components/resources/ResourceLayout_Pagination.labels.js.map +1 -1
  1213. package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
  1214. package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
  1215. package/dist/esm/components/resources/ResourceLayout_Read.labels.d.ts.map +1 -1
  1216. package/dist/esm/components/resources/ResourceLayout_Read.labels.js.map +1 -1
  1217. package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
  1218. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
  1219. package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.d.ts.map +1 -1
  1220. package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.js.map +1 -1
  1221. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
  1222. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js +2 -2
  1223. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
  1224. package/dist/esm/components/resources/ResourceLayout_Read_Expandable.d.ts.map +1 -1
  1225. package/dist/esm/components/resources/ResourceLayout_Read_Expandable.js.map +1 -1
  1226. package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
  1227. package/dist/esm/components/resources/ResourceLayout_Search.js +48 -25
  1228. package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
  1229. package/dist/esm/components/resources/ResourceLayout_Search.labels.d.ts.map +1 -1
  1230. package/dist/esm/components/resources/ResourceLayout_Search.labels.js.map +1 -1
  1231. package/dist/esm/components/resources/ResourceLayout_Search_Table.d.ts.map +1 -1
  1232. package/dist/esm/components/resources/ResourceLayout_Search_Table.js.map +1 -1
  1233. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
  1234. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js +60 -44
  1235. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
  1236. package/dist/esm/components/resources/ResourceLayout_SortControl.d.ts.map +1 -1
  1237. package/dist/esm/components/resources/ResourceLayout_SortControl.js.map +1 -1
  1238. package/dist/esm/components/resources/ResourceLayout_Update.d.ts.map +1 -1
  1239. package/dist/esm/components/resources/ResourceLayout_Update.js +18 -65
  1240. package/dist/esm/components/resources/ResourceLayout_Update.js.map +1 -1
  1241. package/dist/esm/components/resources/ResourceLayout_Update.labels.d.ts.map +1 -1
  1242. package/dist/esm/components/resources/ResourceLayout_Update.labels.js.map +1 -1
  1243. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts +26 -6
  1244. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
  1245. package/dist/esm/components/resources/ResourceListItemRenderer.js +29 -11
  1246. package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
  1247. package/dist/esm/components/resources/ResourceOperationActionPopover.d.ts.map +1 -1
  1248. package/dist/esm/components/resources/ResourceOperationActionPopover.js +2 -2
  1249. package/dist/esm/components/resources/ResourceOperationActionPopover.js.map +1 -1
  1250. package/dist/esm/components/resources/ResourceOperationDetachedHost.d.ts +43 -0
  1251. package/dist/esm/components/resources/ResourceOperationDetachedHost.d.ts.map +1 -0
  1252. package/dist/esm/components/resources/ResourceOperationDetachedHost.js +94 -0
  1253. package/dist/esm/components/resources/ResourceOperationDetachedHost.js.map +1 -0
  1254. package/dist/esm/components/resources/ResourceOperationSurface.d.ts.map +1 -1
  1255. package/dist/esm/components/resources/ResourceOperationSurface.js.map +1 -1
  1256. package/dist/esm/components/resources/ResourceOwnedViewEmbeds.d.ts.map +1 -1
  1257. package/dist/esm/components/resources/ResourceOwnedViewEmbeds.js.map +1 -1
  1258. package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
  1259. package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
  1260. package/dist/esm/components/resources/card-action-placement.utils.d.ts.map +1 -1
  1261. package/dist/esm/components/resources/card-action-placement.utils.js.map +1 -1
  1262. package/dist/esm/components/resources/collection-card-layout.utils.d.ts +37 -0
  1263. package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
  1264. package/dist/esm/components/resources/collection-card-layout.utils.js +37 -0
  1265. package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
  1266. package/dist/esm/components/resources/collection-view-mode.frontend.d.ts.map +1 -1
  1267. package/dist/esm/components/resources/collection-view-mode.frontend.js.map +1 -1
  1268. package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.d.ts.map +1 -1
  1269. package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.js.map +1 -1
  1270. package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.d.ts.map +1 -1
  1271. package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.js.map +1 -1
  1272. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts.map +1 -1
  1273. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.js.map +1 -1
  1274. package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.d.ts.map +1 -1
  1275. package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.js.map +1 -1
  1276. package/dist/esm/components/resources/embeds/RelatedResourcePreview.d.ts.map +1 -1
  1277. package/dist/esm/components/resources/embeds/RelatedResourcePreview.js +5 -5
  1278. package/dist/esm/components/resources/embeds/RelatedResourcePreview.js.map +1 -1
  1279. package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
  1280. package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
  1281. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts +9 -0
  1282. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
  1283. package/dist/esm/components/resources/embeds/ResourceEmbeds.js +1 -0
  1284. package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
  1285. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts.map +1 -1
  1286. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
  1287. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
  1288. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
  1289. package/dist/esm/components/resources/inserted-resource-view.frontend.utils.d.ts.map +1 -1
  1290. package/dist/esm/components/resources/inserted-resource-view.frontend.utils.js.map +1 -1
  1291. package/dist/esm/components/resources/resource-operation-custom-view.contracts.d.ts.map +1 -1
  1292. package/dist/esm/components/resources/resource-operation-custom-view.contracts.js.map +1 -1
  1293. package/dist/esm/components/resources/resourceLayout.utils.d.ts +10 -0
  1294. package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
  1295. package/dist/esm/components/resources/resourceLayout.utils.js +20 -43
  1296. package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
  1297. package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
  1298. package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
  1299. package/dist/esm/components/resources/skeleton/ArrayItemTemplate.d.ts.map +1 -1
  1300. package/dist/esm/components/resources/skeleton/ArrayItemTemplate.js.map +1 -1
  1301. package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.d.ts.map +1 -1
  1302. package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.js.map +1 -1
  1303. package/dist/esm/components/resources/skeleton/DisplayDiscriminatorSwitch.d.ts +42 -0
  1304. package/dist/esm/components/resources/skeleton/DisplayDiscriminatorSwitch.d.ts.map +1 -0
  1305. package/dist/esm/components/resources/skeleton/DisplayDiscriminatorSwitch.js +44 -0
  1306. package/dist/esm/components/resources/skeleton/DisplayDiscriminatorSwitch.js.map +1 -0
  1307. package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
  1308. package/dist/esm/components/resources/skeleton/DisplayLayout.js +1 -1
  1309. package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
  1310. package/dist/esm/components/resources/skeleton/Divider.d.ts.map +1 -1
  1311. package/dist/esm/components/resources/skeleton/Divider.js.map +1 -1
  1312. package/dist/esm/components/resources/skeleton/FieldScopeContext.d.ts.map +1 -1
  1313. package/dist/esm/components/resources/skeleton/FieldScopeContext.js.map +1 -1
  1314. package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.d.ts.map +1 -1
  1315. package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.js.map +1 -1
  1316. package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
  1317. package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
  1318. package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.d.ts.map +1 -1
  1319. package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.js.map +1 -1
  1320. package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
  1321. package/dist/esm/components/resources/skeleton/Group.js +1 -1
  1322. package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
  1323. package/dist/esm/components/resources/skeleton/ObjectScope.d.ts.map +1 -1
  1324. package/dist/esm/components/resources/skeleton/ObjectScope.js.map +1 -1
  1325. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts +32 -0
  1326. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
  1327. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js +21 -3
  1328. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
  1329. package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
  1330. package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
  1331. package/dist/esm/components/resources/skeleton/Section.shared.d.ts.map +1 -1
  1332. package/dist/esm/components/resources/skeleton/Section.shared.js.map +1 -1
  1333. package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts.map +1 -1
  1334. package/dist/esm/components/resources/skeleton/SectionFieldsContext.js.map +1 -1
  1335. package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.d.ts.map +1 -1
  1336. package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.js.map +1 -1
  1337. package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts +8 -0
  1338. package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts.map +1 -1
  1339. package/dist/esm/components/resources/skeleton/SectionPresentationContext.js.map +1 -1
  1340. package/dist/esm/components/resources/skeleton/SubmitButton.d.ts +12 -1
  1341. package/dist/esm/components/resources/skeleton/SubmitButton.d.ts.map +1 -1
  1342. package/dist/esm/components/resources/skeleton/SubmitButton.js +2 -2
  1343. package/dist/esm/components/resources/skeleton/SubmitButton.js.map +1 -1
  1344. package/dist/esm/components/resources/skeleton/SummaryHeader.d.ts.map +1 -1
  1345. package/dist/esm/components/resources/skeleton/SummaryHeader.js.map +1 -1
  1346. package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts.map +1 -1
  1347. package/dist/esm/components/resources/skeleton/SummaryLayout.js +53 -1
  1348. package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
  1349. package/dist/esm/components/resources/skeleton/SummaryMeta.d.ts.map +1 -1
  1350. package/dist/esm/components/resources/skeleton/SummaryMeta.js.map +1 -1
  1351. package/dist/esm/components/resources/skeleton/SummaryTitle.d.ts.map +1 -1
  1352. package/dist/esm/components/resources/skeleton/SummaryTitle.js.map +1 -1
  1353. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
  1354. package/dist/esm/components/resources/skeleton/WizardLayout.js +7 -0
  1355. package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
  1356. package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
  1357. package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
  1358. package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
  1359. package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
  1360. package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.d.ts.map +1 -1
  1361. package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.js.map +1 -1
  1362. package/dist/esm/components/resources/skeleton/section-consolidation.shared.d.ts.map +1 -1
  1363. package/dist/esm/components/resources/skeleton/section-consolidation.shared.js.map +1 -1
  1364. package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts +2 -2
  1365. package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts.map +1 -1
  1366. package/dist/esm/components/resources/skeleton/section-consolidation.utils.js +2 -2
  1367. package/dist/esm/components/resources/skeleton/section-consolidation.utils.js.map +1 -1
  1368. package/dist/esm/components/resources/useInlineSearch.d.ts.map +1 -1
  1369. package/dist/esm/components/resources/useInlineSearch.js.map +1 -1
  1370. package/dist/esm/components/resources/useLongPress.d.ts.map +1 -1
  1371. package/dist/esm/components/resources/useLongPress.js.map +1 -1
  1372. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts +1 -1
  1373. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
  1374. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js +30 -7
  1375. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
  1376. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.d.ts.map +1 -1
  1377. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js.map +1 -1
  1378. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.d.ts.map +1 -1
  1379. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js.map +1 -1
  1380. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.d.ts.map +1 -1
  1381. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.js.map +1 -1
  1382. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts +7 -0
  1383. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts.map +1 -1
  1384. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.js.map +1 -1
  1385. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.d.ts.map +1 -1
  1386. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.js.map +1 -1
  1387. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
  1388. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
  1389. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts +3 -3
  1390. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
  1391. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js +12 -13
  1392. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
  1393. package/dist/esm/components/sections/ContentSectionContainer.d.ts +4 -0
  1394. package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
  1395. package/dist/esm/components/sections/ContentSectionContainer.js +12 -5
  1396. package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
  1397. package/dist/esm/components/sections/ContentSectionContainer.labels.d.ts.map +1 -1
  1398. package/dist/esm/components/sections/ContentSectionContainer.labels.js.map +1 -1
  1399. package/dist/esm/components/sections/accordion.d.ts.map +1 -1
  1400. package/dist/esm/components/sections/accordion.js.map +1 -1
  1401. package/dist/esm/components/sections/card.d.ts +50 -0
  1402. package/dist/esm/components/sections/card.d.ts.map +1 -1
  1403. package/dist/esm/components/sections/card.js +34 -1
  1404. package/dist/esm/components/sections/card.js.map +1 -1
  1405. package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
  1406. package/dist/esm/components/sections/collapsible.js.map +1 -1
  1407. package/dist/esm/components/sections/content-section.d.ts.map +1 -1
  1408. package/dist/esm/components/sections/content-section.js.map +1 -1
  1409. package/dist/esm/components/sections/pagination.d.ts.map +1 -1
  1410. package/dist/esm/components/sections/pagination.js.map +1 -1
  1411. package/dist/esm/components/sections/section-grouping.shared.d.ts +10 -1
  1412. package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
  1413. package/dist/esm/components/sections/section-grouping.shared.js +11 -2
  1414. package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
  1415. package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
  1416. package/dist/esm/components/sections/stacked-layout.js.map +1 -1
  1417. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  1418. package/dist/esm/components/sections/stepper.js.map +1 -1
  1419. package/dist/esm/components/sections/surface.d.ts +4 -2
  1420. package/dist/esm/components/sections/surface.d.ts.map +1 -1
  1421. package/dist/esm/components/sections/surface.js +36 -1
  1422. package/dist/esm/components/sections/surface.js.map +1 -1
  1423. package/dist/esm/components/sections/table.d.ts.map +1 -1
  1424. package/dist/esm/components/sections/table.js.map +1 -1
  1425. package/dist/esm/components/sections/tabs.d.ts +44 -0
  1426. package/dist/esm/components/sections/tabs.d.ts.map +1 -1
  1427. package/dist/esm/components/sections/tabs.js +32 -0
  1428. package/dist/esm/components/sections/tabs.js.map +1 -1
  1429. package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
  1430. package/dist/esm/components/settings/AppPage_AppearanceSettings.js.map +1 -1
  1431. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
  1432. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js.map +1 -1
  1433. package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
  1434. package/dist/esm/components/settings/AppPage_BillingSettings.js.map +1 -1
  1435. package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
  1436. package/dist/esm/components/settings/AppPage_BillingSettings.labels.js.map +1 -1
  1437. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +116 -49
  1438. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -1
  1439. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +392 -109
  1440. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -1
  1441. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -1
  1442. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +39 -3
  1443. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -1
  1444. package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
  1445. package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
  1446. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
  1447. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
  1448. package/dist/esm/components/settings/SettingsHub.d.ts +16 -8
  1449. package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
  1450. package/dist/esm/components/settings/SettingsHub.js +218 -47
  1451. package/dist/esm/components/settings/SettingsHub.js.map +1 -1
  1452. package/dist/esm/components/settings/SettingsHub.labels.d.ts.map +1 -1
  1453. package/dist/esm/components/settings/SettingsHub.labels.js +3 -0
  1454. package/dist/esm/components/settings/SettingsHub.labels.js.map +1 -1
  1455. package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
  1456. package/dist/esm/components/settings/SettingsResourceOperationPanel.js +26 -3
  1457. package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
  1458. package/dist/esm/components/settings/SettingsSectionNavigationHost.d.ts.map +1 -1
  1459. package/dist/esm/components/settings/SettingsSectionNavigationHost.js +7 -0
  1460. package/dist/esm/components/settings/SettingsSectionNavigationHost.js.map +1 -1
  1461. package/dist/esm/components/typography/heading.d.ts.map +1 -1
  1462. package/dist/esm/components/typography/heading.js.map +1 -1
  1463. package/dist/esm/components/typography/label.d.ts.map +1 -1
  1464. package/dist/esm/components/typography/label.js.map +1 -1
  1465. package/dist/esm/components/typography/link.d.ts +1 -0
  1466. package/dist/esm/components/typography/link.d.ts.map +1 -1
  1467. package/dist/esm/components/typography/link.js.map +1 -1
  1468. package/dist/esm/components/typography/text.d.ts +7 -1
  1469. package/dist/esm/components/typography/text.d.ts.map +1 -1
  1470. package/dist/esm/components/typography/text.js.map +1 -1
  1471. package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
  1472. package/dist/esm/components/typography/truncated-text.js.map +1 -1
  1473. package/dist/esm/components/views/ViewLayout_Header.d.ts +4 -3
  1474. package/dist/esm/components/views/ViewLayout_Header.d.ts.map +1 -1
  1475. package/dist/esm/components/views/ViewLayout_Header.js +10 -7
  1476. package/dist/esm/components/views/ViewLayout_Header.js.map +1 -1
  1477. package/dist/esm/components/views/ViewNotFound.d.ts.map +1 -1
  1478. package/dist/esm/components/views/ViewNotFound.js.map +1 -1
  1479. package/dist/esm/components/views/ViewNotFound.labels.d.ts +16 -0
  1480. package/dist/esm/components/views/ViewNotFound.labels.d.ts.map +1 -1
  1481. package/dist/esm/components/views/ViewNotFound.labels.js +33 -9
  1482. package/dist/esm/components/views/ViewNotFound.labels.js.map +1 -1
  1483. package/dist/esm/components/views/chart-view/ChartEmptyState.d.ts.map +1 -1
  1484. package/dist/esm/components/views/chart-view/ChartEmptyState.js +5 -5
  1485. package/dist/esm/components/views/chart-view/ChartEmptyState.js.map +1 -1
  1486. package/dist/esm/components/views/chart-view/ChartErrorState.d.ts.map +1 -1
  1487. package/dist/esm/components/views/chart-view/ChartErrorState.js +4 -6
  1488. package/dist/esm/components/views/chart-view/ChartErrorState.js.map +1 -1
  1489. package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.d.ts.map +1 -1
  1490. package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.js.map +1 -1
  1491. package/dist/esm/components/views/chart-view/ChartView.d.ts.map +1 -1
  1492. package/dist/esm/components/views/chart-view/ChartView.js +10 -3
  1493. package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
  1494. package/dist/esm/components/views/chart-view/ChartView.labels.d.ts.map +1 -1
  1495. package/dist/esm/components/views/chart-view/ChartView.labels.js.map +1 -1
  1496. package/dist/esm/components/views/chart-view/ChartView.lazy.d.ts +3 -1
  1497. package/dist/esm/components/views/chart-view/ChartView.lazy.d.ts.map +1 -1
  1498. package/dist/esm/components/views/chart-view/ChartView.lazy.js +22 -2
  1499. package/dist/esm/components/views/chart-view/ChartView.lazy.js.map +1 -1
  1500. package/dist/esm/components/views/chart-view/ChartWidget.d.ts.map +1 -1
  1501. package/dist/esm/components/views/chart-view/ChartWidget.js.map +1 -1
  1502. package/dist/esm/components/views/chart-view/ChartWidget.labels.d.ts.map +1 -1
  1503. package/dist/esm/components/views/chart-view/ChartWidget.labels.js.map +1 -1
  1504. package/dist/esm/components/views/chart-view/WildoEChart.d.ts.map +1 -1
  1505. package/dist/esm/components/views/chart-view/WildoEChart.js.map +1 -1
  1506. package/dist/esm/components/views/chart-view/chart-export.utils.d.ts.map +1 -1
  1507. package/dist/esm/components/views/chart-view/chart-export.utils.js.map +1 -1
  1508. package/dist/esm/components/views/chart-view/chart-runtime.utils.d.ts.map +1 -1
  1509. package/dist/esm/components/views/chart-view/chart-runtime.utils.js.map +1 -1
  1510. package/dist/esm/components/views/chart-view/chart-theme-bridge.d.ts.map +1 -1
  1511. package/dist/esm/components/views/chart-view/chart-theme-bridge.js.map +1 -1
  1512. package/dist/esm/components/views/chart-view/chart-view.utils.d.ts.map +1 -1
  1513. package/dist/esm/components/views/chart-view/chart-view.utils.js.map +1 -1
  1514. package/dist/esm/components/views/chart-view/dev/ChartView.example.d.ts.map +1 -1
  1515. package/dist/esm/components/views/chart-view/dev/ChartView.example.js.map +1 -1
  1516. package/dist/esm/components/views/chart-view/echarts-setup.d.ts.map +1 -1
  1517. package/dist/esm/components/views/chart-view/echarts-setup.js.map +1 -1
  1518. package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts +16 -13
  1519. package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts.map +1 -1
  1520. package/dist/esm/components/views/chart-view/enum-color-bridge.js +33 -30
  1521. package/dist/esm/components/views/chart-view/enum-color-bridge.js.map +1 -1
  1522. package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts +11 -4
  1523. package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts.map +1 -1
  1524. package/dist/esm/components/views/chart-view/option-builder/builder-utils.js +16 -6
  1525. package/dist/esm/components/views/chart-view/option-builder/builder-utils.js.map +1 -1
  1526. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.d.ts.map +1 -1
  1527. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js +3 -3
  1528. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map +1 -1
  1529. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.d.ts.map +1 -1
  1530. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js +1 -1
  1531. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map +1 -1
  1532. package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.d.ts.map +1 -1
  1533. package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.js +1 -1
  1534. package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.js.map +1 -1
  1535. package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.d.ts.map +1 -1
  1536. package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.js.map +1 -1
  1537. package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.d.ts.map +1 -1
  1538. package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.js.map +1 -1
  1539. package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.d.ts.map +1 -1
  1540. package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.js.map +1 -1
  1541. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.d.ts.map +1 -1
  1542. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js +2 -2
  1543. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js.map +1 -1
  1544. package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.d.ts.map +1 -1
  1545. package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.js.map +1 -1
  1546. package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.d.ts.map +1 -1
  1547. package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.js +1 -1
  1548. package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.js.map +1 -1
  1549. package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.d.ts.map +1 -1
  1550. package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.js +1 -1
  1551. package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.js.map +1 -1
  1552. package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.d.ts.map +1 -1
  1553. package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.js.map +1 -1
  1554. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.d.ts.map +1 -1
  1555. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js +1 -1
  1556. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js.map +1 -1
  1557. package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.d.ts.map +1 -1
  1558. package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.js.map +1 -1
  1559. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts +5 -0
  1560. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts.map +1 -1
  1561. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.js.map +1 -1
  1562. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts.map +1 -1
  1563. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js +2 -1
  1564. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
  1565. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts +4 -0
  1566. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
  1567. package/dist/esm/components/views/composite-view/CompositeLayout.js +14 -2
  1568. package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
  1569. package/dist/esm/components/views/composite-view/CompositeView.d.ts.map +1 -1
  1570. package/dist/esm/components/views/composite-view/CompositeView.js.map +1 -1
  1571. package/dist/esm/components/views/composite-view/CompositeViewContext.d.ts.map +1 -1
  1572. package/dist/esm/components/views/composite-view/CompositeViewContext.js.map +1 -1
  1573. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.d.ts.map +1 -1
  1574. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js.map +1 -1
  1575. package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.d.ts.map +1 -1
  1576. package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.js.map +1 -1
  1577. package/dist/esm/components/views/execution-view/ExecutionView.d.ts.map +1 -1
  1578. package/dist/esm/components/views/execution-view/ExecutionView.js.map +1 -1
  1579. package/dist/esm/components/views/execution-view/ExecutionView.labels.d.ts.map +1 -1
  1580. package/dist/esm/components/views/execution-view/ExecutionView.labels.js.map +1 -1
  1581. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
  1582. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +77 -34
  1583. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js.map +1 -1
  1584. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts.map +1 -1
  1585. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js +24 -0
  1586. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
  1587. package/dist/esm/components/views/full-custom-view/FullCustomView.d.ts.map +1 -1
  1588. package/dist/esm/components/views/full-custom-view/FullCustomView.js.map +1 -1
  1589. package/dist/esm/components/views/onboarding-view/OnboardingView.d.ts.map +1 -1
  1590. package/dist/esm/components/views/onboarding-view/OnboardingView.js +42 -41
  1591. package/dist/esm/components/views/onboarding-view/OnboardingView.js.map +1 -1
  1592. package/dist/esm/components/views/onboarding-view/OnboardingView.labels.d.ts.map +1 -1
  1593. package/dist/esm/components/views/onboarding-view/OnboardingView.labels.js.map +1 -1
  1594. package/dist/esm/components/views/onboarding-view/onboarding-view.utils.d.ts.map +1 -1
  1595. package/dist/esm/components/views/onboarding-view/onboarding-view.utils.js.map +1 -1
  1596. package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
  1597. package/dist/esm/core/app-shell/PortalContainerContext.js.map +1 -1
  1598. package/dist/esm/core/app-shell/app-shell.schemas.d.ts +31 -4
  1599. package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
  1600. package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
  1601. package/dist/esm/core/app-shell/app-shell.utils.d.ts.map +1 -1
  1602. package/dist/esm/core/app-shell/app-shell.utils.js.map +1 -1
  1603. package/dist/esm/core/app-shell/hosted-components.utils.d.ts.map +1 -1
  1604. package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
  1605. package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
  1606. package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
  1607. package/dist/esm/core/app-shell/usePublicShellLayout.d.ts +2 -1
  1608. package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
  1609. package/dist/esm/core/app-shell/usePublicShellLayout.js +15 -2
  1610. package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
  1611. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts +16 -0
  1612. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts.map +1 -1
  1613. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js +17 -0
  1614. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js.map +1 -1
  1615. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +16 -9
  1616. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
  1617. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +106 -13
  1618. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
  1619. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.d.ts +39 -0
  1620. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.d.ts.map +1 -0
  1621. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js +100 -0
  1622. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js.map +1 -0
  1623. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +21 -7
  1624. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts.map +1 -1
  1625. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js +160 -122
  1626. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
  1627. package/dist/esm/core/billing/BillingContext.d.ts +15 -3
  1628. package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
  1629. package/dist/esm/core/billing/BillingContext.js +91 -28
  1630. package/dist/esm/core/billing/BillingContext.js.map +1 -1
  1631. package/dist/esm/core/billing/BillingErrorNotifier.d.ts.map +1 -1
  1632. package/dist/esm/core/billing/BillingErrorNotifier.js +9 -5
  1633. package/dist/esm/core/billing/BillingErrorNotifier.js.map +1 -1
  1634. package/dist/esm/core/billing/billing-launcher.d.ts.map +1 -1
  1635. package/dist/esm/core/billing/billing-launcher.js +1 -1
  1636. package/dist/esm/core/billing/billing-launcher.js.map +1 -1
  1637. package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
  1638. package/dist/esm/core/billing/billing-provider-display.frontend.utils.js.map +1 -1
  1639. package/dist/esm/core/billing/useBilling.d.ts.map +1 -1
  1640. package/dist/esm/core/billing/useBilling.js.map +1 -1
  1641. package/dist/esm/core/billing/useBillingAction.d.ts.map +1 -1
  1642. package/dist/esm/core/billing/useBillingAction.js +6 -5
  1643. package/dist/esm/core/billing/useBillingAction.js.map +1 -1
  1644. package/dist/esm/core/billing/useBillingPlanChange.d.ts +37 -0
  1645. package/dist/esm/core/billing/useBillingPlanChange.d.ts.map +1 -0
  1646. package/dist/esm/core/billing/useBillingPlanChange.js +113 -0
  1647. package/dist/esm/core/billing/useBillingPlanChange.js.map +1 -0
  1648. package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts +3 -0
  1649. package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts.map +1 -1
  1650. package/dist/esm/core/billing/useSafeBillingActionExecutor.js +7 -5
  1651. package/dist/esm/core/billing/useSafeBillingActionExecutor.js.map +1 -1
  1652. package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
  1653. package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
  1654. package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
  1655. package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
  1656. package/dist/esm/core/commons/devices.frontend.schemas.d.ts.map +1 -1
  1657. package/dist/esm/core/commons/devices.frontend.schemas.js.map +1 -1
  1658. package/dist/esm/core/commons/local-storage.frontend.schemas.d.ts +15 -0
  1659. package/dist/esm/core/commons/local-storage.frontend.schemas.d.ts.map +1 -1
  1660. package/dist/esm/core/commons/local-storage.frontend.schemas.js +16 -0
  1661. package/dist/esm/core/commons/local-storage.frontend.schemas.js.map +1 -1
  1662. package/dist/esm/core/commons/window-event.frontend.schemas.d.ts.map +1 -1
  1663. package/dist/esm/core/commons/window-event.frontend.schemas.js.map +1 -1
  1664. package/dist/esm/core/companion/companion-exports.frontend.definitions.d.ts.map +1 -1
  1665. package/dist/esm/core/companion/companion-exports.frontend.definitions.js.map +1 -1
  1666. package/dist/esm/core/components-registry/ComponentNotInjected.d.ts.map +1 -1
  1667. package/dist/esm/core/components-registry/ComponentNotInjected.js.map +1 -1
  1668. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
  1669. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +23 -3
  1670. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
  1671. package/dist/esm/core/components-registry/component-registry-loader.frontend.service.d.ts.map +1 -1
  1672. package/dist/esm/core/components-registry/component-registry-loader.frontend.service.js.map +1 -1
  1673. package/dist/esm/core/components-registry/component-registry.frontend.schemas.d.ts +24 -2
  1674. package/dist/esm/core/components-registry/component-registry.frontend.schemas.d.ts.map +1 -1
  1675. package/dist/esm/core/components-registry/component-registry.frontend.schemas.js.map +1 -1
  1676. package/dist/esm/core/components-registry/component-registry.frontend.service.d.ts +12 -12
  1677. package/dist/esm/core/components-registry/component-registry.frontend.service.d.ts.map +1 -1
  1678. package/dist/esm/core/components-registry/component-registry.frontend.service.js.map +1 -1
  1679. package/dist/esm/core/components-registry/component-resolver.frontend.helper.d.ts.map +1 -1
  1680. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
  1681. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts +133 -18
  1682. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -1
  1683. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js +181 -21
  1684. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -1
  1685. package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
  1686. package/dist/esm/core/components-registry/register-framework-layouts.js +4 -0
  1687. package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
  1688. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts +20 -5
  1689. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -1
  1690. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js +13 -5
  1691. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -1
  1692. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +31 -31
  1693. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
  1694. package/dist/esm/core/config/app-configuration-frontend.schemas.js +10 -0
  1695. package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
  1696. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
  1697. package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
  1698. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +8 -8
  1699. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
  1700. package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
  1701. package/dist/esm/core/config/composite-view.schemas.d.ts +26 -4
  1702. package/dist/esm/core/config/composite-view.schemas.d.ts.map +1 -1
  1703. package/dist/esm/core/config/composite-view.schemas.js +10 -0
  1704. package/dist/esm/core/config/composite-view.schemas.js.map +1 -1
  1705. package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
  1706. package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
  1707. package/dist/esm/core/config/engine-settings-destinations.d.ts +0 -69
  1708. package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
  1709. package/dist/esm/core/config/engine-settings-destinations.js +430 -90
  1710. package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
  1711. package/dist/esm/core/config/execution-view.schemas.d.ts +3 -3
  1712. package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
  1713. package/dist/esm/core/config/execution-view.schemas.js +1 -1
  1714. package/dist/esm/core/config/execution-view.schemas.js.map +1 -1
  1715. package/dist/esm/core/config/flows-actors-view.schemas.d.ts +3 -2
  1716. package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
  1717. package/dist/esm/core/config/flows-actors-view.schemas.js +1 -1
  1718. package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
  1719. package/dist/esm/core/config/full-custom-view.schemas.d.ts +9 -0
  1720. package/dist/esm/core/config/full-custom-view.schemas.d.ts.map +1 -1
  1721. package/dist/esm/core/config/full-custom-view.schemas.js +16 -0
  1722. package/dist/esm/core/config/full-custom-view.schemas.js.map +1 -1
  1723. package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
  1724. package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
  1725. package/dist/esm/core/config/inserted-view.frontend.schemas.d.ts.map +1 -1
  1726. package/dist/esm/core/config/inserted-view.frontend.schemas.js.map +1 -1
  1727. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +19 -5
  1728. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
  1729. package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
  1730. package/dist/esm/core/config/onboarding-view.frontend.schemas.d.ts +18 -10
  1731. package/dist/esm/core/config/onboarding-view.frontend.schemas.d.ts.map +1 -1
  1732. package/dist/esm/core/config/onboarding-view.frontend.schemas.js +17 -21
  1733. package/dist/esm/core/config/onboarding-view.frontend.schemas.js.map +1 -1
  1734. package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.d.ts.map +1 -1
  1735. package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.js.map +1 -1
  1736. package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts.map +1 -1
  1737. package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
  1738. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts +22 -0
  1739. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts.map +1 -0
  1740. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js +91 -0
  1741. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js.map +1 -0
  1742. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +39 -11
  1743. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
  1744. package/dist/esm/core/config/settings-hub.frontend.schemas.js +14 -2
  1745. package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
  1746. package/dist/esm/core/config/useSettingsHubConfig.d.ts +24 -3
  1747. package/dist/esm/core/config/useSettingsHubConfig.d.ts.map +1 -1
  1748. package/dist/esm/core/config/useSettingsHubConfig.js +38 -10
  1749. package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
  1750. package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts +28 -1
  1751. package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
  1752. package/dist/esm/core/config/useVisibleSettingsHubConfig.js +36 -4
  1753. package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
  1754. package/dist/esm/core/config/verify-feature-references.frontend.d.ts.map +1 -1
  1755. package/dist/esm/core/config/verify-feature-references.frontend.js.map +1 -1
  1756. package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
  1757. package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
  1758. package/dist/esm/core/config/verify-settings-hub-content.d.ts +13 -2
  1759. package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
  1760. package/dist/esm/core/config/verify-settings-hub-content.js +33 -2
  1761. package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
  1762. package/dist/esm/core/config/view-label-declaration.schemas.d.ts +22 -0
  1763. package/dist/esm/core/config/view-label-declaration.schemas.d.ts.map +1 -0
  1764. package/dist/esm/core/config/view-label-declaration.schemas.js +1 -0
  1765. package/dist/esm/core/config/view-label-declaration.schemas.js.map +1 -0
  1766. package/dist/esm/core/config/views-frontend.schemas.d.ts.map +1 -1
  1767. package/dist/esm/core/config/views-frontend.schemas.js.map +1 -1
  1768. package/dist/esm/core/enums/common-enum-registry.d.ts +28 -5
  1769. package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
  1770. package/dist/esm/core/enums/common-enum-registry.js +41 -7
  1771. package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
  1772. package/dist/esm/core/errors/ErrorBoundary.d.ts.map +1 -1
  1773. package/dist/esm/core/errors/ErrorBoundary.js.map +1 -1
  1774. package/dist/esm/core/errors/ErrorContext.d.ts.map +1 -1
  1775. package/dist/esm/core/errors/ErrorContext.js +12 -29
  1776. package/dist/esm/core/errors/ErrorContext.js.map +1 -1
  1777. package/dist/esm/core/errors/ErrorModalContent.d.ts +18 -0
  1778. package/dist/esm/core/errors/ErrorModalContent.d.ts.map +1 -0
  1779. package/dist/esm/core/errors/ErrorModalContent.js +18 -0
  1780. package/dist/esm/core/errors/ErrorModalContent.js.map +1 -0
  1781. package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
  1782. package/dist/esm/core/errors/GlobalErrorHandler.js +12 -41
  1783. package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
  1784. package/dist/esm/core/errors/RouterErrorBoundary.d.ts.map +1 -1
  1785. package/dist/esm/core/errors/RouterErrorBoundary.js.map +1 -1
  1786. package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
  1787. package/dist/esm/core/errors/error-management.frontend.service.js +4 -4
  1788. package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
  1789. package/dist/esm/core/errors/errors-builder.frontend.services.d.ts.map +1 -1
  1790. package/dist/esm/core/errors/errors-builder.frontend.services.js +3 -3
  1791. package/dist/esm/core/errors/errors-builder.frontend.services.js.map +1 -1
  1792. package/dist/esm/core/errors/errors.frontend.schemas.d.ts +24 -11
  1793. package/dist/esm/core/errors/errors.frontend.schemas.d.ts.map +1 -1
  1794. package/dist/esm/core/errors/errors.frontend.schemas.js +8 -11
  1795. package/dist/esm/core/errors/errors.frontend.schemas.js.map +1 -1
  1796. package/dist/esm/core/errors/http-error-behavior.frontend.schemas.d.ts.map +1 -1
  1797. package/dist/esm/core/errors/http-error-behavior.frontend.schemas.js.map +1 -1
  1798. package/dist/esm/core/errors/useError.d.ts.map +1 -1
  1799. package/dist/esm/core/errors/useError.js.map +1 -1
  1800. package/dist/esm/core/errors/useUserFacingErrorMessage.d.ts +40 -0
  1801. package/dist/esm/core/errors/useUserFacingErrorMessage.d.ts.map +1 -0
  1802. package/dist/esm/core/errors/useUserFacingErrorMessage.js +48 -0
  1803. package/dist/esm/core/errors/useUserFacingErrorMessage.js.map +1 -0
  1804. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts +141 -0
  1805. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts.map +1 -0
  1806. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js +256 -0
  1807. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js.map +1 -0
  1808. package/dist/esm/core/errors/withErrorBoundary.d.ts.map +1 -1
  1809. package/dist/esm/core/errors/withErrorBoundary.js.map +1 -1
  1810. package/dist/esm/core/events/EventBusContext.d.ts.map +1 -1
  1811. package/dist/esm/core/events/EventBusContext.js.map +1 -1
  1812. package/dist/esm/core/events/NotificationContext.d.ts +22 -0
  1813. package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
  1814. package/dist/esm/core/events/NotificationContext.js +239 -70
  1815. package/dist/esm/core/events/NotificationContext.js.map +1 -1
  1816. package/dist/esm/core/events/event-bus.frontend.service.d.ts.map +1 -1
  1817. package/dist/esm/core/events/event-bus.frontend.service.js.map +1 -1
  1818. package/dist/esm/core/events/events.frontend.schemas.d.ts +121 -46
  1819. package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
  1820. package/dist/esm/core/events/events.frontend.schemas.js +68 -7
  1821. package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
  1822. package/dist/esm/core/events/notification-display-policy.frontend.schemas.d.ts +0 -13
  1823. package/dist/esm/core/events/notification-display-policy.frontend.schemas.d.ts.map +1 -1
  1824. package/dist/esm/core/events/notification-display-policy.frontend.schemas.js +0 -23
  1825. package/dist/esm/core/events/notification-display-policy.frontend.schemas.js.map +1 -1
  1826. package/dist/esm/core/events/toast.d.ts.map +1 -1
  1827. package/dist/esm/core/events/toast.js.map +1 -1
  1828. package/dist/esm/core/events/useEventBus.d.ts.map +1 -1
  1829. package/dist/esm/core/events/useEventBus.js.map +1 -1
  1830. package/dist/esm/core/events/useNotification.d.ts.map +1 -1
  1831. package/dist/esm/core/events/useNotification.js.map +1 -1
  1832. package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.d.ts.map +1 -1
  1833. package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.js.map +1 -1
  1834. package/dist/esm/core/execution/ExecutionRuntimeContext.d.ts.map +1 -1
  1835. package/dist/esm/core/execution/ExecutionRuntimeContext.js.map +1 -1
  1836. package/dist/esm/core/execution/execution-anchor.utils.d.ts.map +1 -1
  1837. package/dist/esm/core/execution/execution-anchor.utils.js.map +1 -1
  1838. package/dist/esm/core/execution/execution-dirty-markers.utils.d.ts.map +1 -1
  1839. package/dist/esm/core/execution/execution-dirty-markers.utils.js.map +1 -1
  1840. package/dist/esm/core/execution/execution-failure-handling.utils.d.ts.map +1 -1
  1841. package/dist/esm/core/execution/execution-failure-handling.utils.js.map +1 -1
  1842. package/dist/esm/core/execution/execution-outcome-emission.utils.d.ts.map +1 -1
  1843. package/dist/esm/core/execution/execution-outcome-emission.utils.js +3 -4
  1844. package/dist/esm/core/execution/execution-outcome-emission.utils.js.map +1 -1
  1845. package/dist/esm/core/execution/execution-participation.utils.d.ts.map +1 -1
  1846. package/dist/esm/core/execution/execution-participation.utils.js.map +1 -1
  1847. package/dist/esm/core/execution/useExecution.d.ts +7 -1
  1848. package/dist/esm/core/execution/useExecution.d.ts.map +1 -1
  1849. package/dist/esm/core/execution/useExecution.js.map +1 -1
  1850. package/dist/esm/core/execution/useExecutionDirtyBridge.d.ts.map +1 -1
  1851. package/dist/esm/core/execution/useExecutionDirtyBridge.js.map +1 -1
  1852. package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.d.ts.map +1 -1
  1853. package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.js.map +1 -1
  1854. package/dist/esm/core/execution/useExecutionParticipationPrefetch.d.ts.map +1 -1
  1855. package/dist/esm/core/execution/useExecutionParticipationPrefetch.js.map +1 -1
  1856. package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
  1857. package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
  1858. package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.d.ts.map +1 -1
  1859. package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.js.map +1 -1
  1860. package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
  1861. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js +8 -1
  1862. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
  1863. package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts +24 -1
  1864. package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -1
  1865. package/dist/esm/core/external-providers/ProviderFilePickerHost.js +47 -4
  1866. package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -1
  1867. package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.d.ts.map +1 -1
  1868. package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.js.map +1 -1
  1869. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts +1 -2
  1870. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts.map +1 -1
  1871. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
  1872. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts +1 -2
  1873. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts.map +1 -1
  1874. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js.map +1 -1
  1875. package/dist/esm/core/features/FeatureGate.d.ts.map +1 -1
  1876. package/dist/esm/core/features/FeatureGate.js.map +1 -1
  1877. package/dist/esm/core/features/FeatureRouteGuard.d.ts.map +1 -1
  1878. package/dist/esm/core/features/FeatureRouteGuard.js.map +1 -1
  1879. package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
  1880. package/dist/esm/core/features/FeaturesContext.js +30 -3
  1881. package/dist/esm/core/features/FeaturesContext.js.map +1 -1
  1882. package/dist/esm/core/features/feature-gate-surface.example.d.ts +44 -0
  1883. package/dist/esm/core/features/feature-gate-surface.example.d.ts.map +1 -0
  1884. package/dist/esm/core/features/feature-gate-surface.example.js +38 -0
  1885. package/dist/esm/core/features/feature-gate-surface.example.js.map +1 -0
  1886. package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts.map +1 -1
  1887. package/dist/esm/core/features/feature-unavailability.frontend.utils.js.map +1 -1
  1888. package/dist/esm/core/features/useFeatureAvailability.d.ts.map +1 -1
  1889. package/dist/esm/core/features/useFeatureAvailability.js.map +1 -1
  1890. package/dist/esm/core/features/useFeatureGate.d.ts.map +1 -1
  1891. package/dist/esm/core/features/useFeatureGate.js.map +1 -1
  1892. package/dist/esm/core/features/useFeatures.d.ts.map +1 -1
  1893. package/dist/esm/core/features/useFeatures.js.map +1 -1
  1894. package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
  1895. package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
  1896. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +48 -4
  1897. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
  1898. package/dist/esm/core/flows-actors/FlowsActorsContext.js +144 -20
  1899. package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
  1900. package/dist/esm/core/flows-actors/useFlowsActors.d.ts.map +1 -1
  1901. package/dist/esm/core/flows-actors/useFlowsActors.js.map +1 -1
  1902. package/dist/esm/core/guidance/GuidanceContext.d.ts +34 -1
  1903. package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
  1904. package/dist/esm/core/guidance/GuidanceContext.js +1004 -117
  1905. package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
  1906. package/dist/esm/core/guidance/GuidanceRenderer.d.ts +54 -1
  1907. package/dist/esm/core/guidance/GuidanceRenderer.d.ts.map +1 -1
  1908. package/dist/esm/core/guidance/GuidanceRenderer.js +355 -13
  1909. package/dist/esm/core/guidance/GuidanceRenderer.js.map +1 -1
  1910. package/dist/esm/core/guidance/guidance-audience.frontend.utils.d.ts +22 -2
  1911. package/dist/esm/core/guidance/guidance-audience.frontend.utils.d.ts.map +1 -1
  1912. package/dist/esm/core/guidance/guidance-audience.frontend.utils.js +59 -1
  1913. package/dist/esm/core/guidance/guidance-audience.frontend.utils.js.map +1 -1
  1914. package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.d.ts.map +1 -1
  1915. package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.js +51 -1
  1916. package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.js.map +1 -1
  1917. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.d.ts.map +1 -1
  1918. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.js.map +1 -1
  1919. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.d.ts.map +1 -1
  1920. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.js.map +1 -1
  1921. package/dist/esm/core/guidance/renderers/GuidanceBadge.d.ts.map +1 -1
  1922. package/dist/esm/core/guidance/renderers/GuidanceBadge.js +17 -8
  1923. package/dist/esm/core/guidance/renderers/GuidanceBadge.js.map +1 -1
  1924. package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.d.ts.map +1 -1
  1925. package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.js.map +1 -1
  1926. package/dist/esm/core/guidance/renderers/GuidanceBanner.d.ts.map +1 -1
  1927. package/dist/esm/core/guidance/renderers/GuidanceBanner.js +11 -1
  1928. package/dist/esm/core/guidance/renderers/GuidanceBanner.js.map +1 -1
  1929. package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.d.ts.map +1 -1
  1930. package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.js.map +1 -1
  1931. package/dist/esm/core/guidance/renderers/GuidanceCard.d.ts.map +1 -1
  1932. package/dist/esm/core/guidance/renderers/GuidanceCard.js.map +1 -1
  1933. package/dist/esm/core/guidance/renderers/GuidanceCard.labels.d.ts.map +1 -1
  1934. package/dist/esm/core/guidance/renderers/GuidanceCard.labels.js.map +1 -1
  1935. package/dist/esm/core/guidance/renderers/GuidanceChecklist.d.ts.map +1 -1
  1936. package/dist/esm/core/guidance/renderers/GuidanceChecklist.js +4 -1
  1937. package/dist/esm/core/guidance/renderers/GuidanceChecklist.js.map +1 -1
  1938. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.d.ts.map +1 -1
  1939. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
  1940. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.d.ts.map +1 -1
  1941. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.js.map +1 -1
  1942. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.d.ts.map +1 -1
  1943. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.js +4 -0
  1944. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.js.map +1 -1
  1945. package/dist/esm/core/guidance/renderers/GuidanceModal.d.ts.map +1 -1
  1946. package/dist/esm/core/guidance/renderers/GuidanceModal.js.map +1 -1
  1947. package/dist/esm/core/guidance/renderers/GuidanceModal.labels.d.ts.map +1 -1
  1948. package/dist/esm/core/guidance/renderers/GuidanceModal.labels.js.map +1 -1
  1949. package/dist/esm/core/guidance/renderers/GuidanceSurvey.d.ts.map +1 -1
  1950. package/dist/esm/core/guidance/renderers/GuidanceSurvey.js +28 -5
  1951. package/dist/esm/core/guidance/renderers/GuidanceSurvey.js.map +1 -1
  1952. package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.d.ts.map +1 -1
  1953. package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.js +8 -0
  1954. package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.js.map +1 -1
  1955. package/dist/esm/core/guidance/renderers/GuidanceTooltip.d.ts.map +1 -1
  1956. package/dist/esm/core/guidance/renderers/GuidanceTooltip.js +14 -1
  1957. package/dist/esm/core/guidance/renderers/GuidanceTooltip.js.map +1 -1
  1958. package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.d.ts.map +1 -1
  1959. package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.js.map +1 -1
  1960. package/dist/esm/core/guidance/renderers/GuidanceTour.d.ts.map +1 -1
  1961. package/dist/esm/core/guidance/renderers/GuidanceTour.js +26 -3
  1962. package/dist/esm/core/guidance/renderers/GuidanceTour.js.map +1 -1
  1963. package/dist/esm/core/guidance/renderers/GuidanceTour.labels.d.ts.map +1 -1
  1964. package/dist/esm/core/guidance/renderers/GuidanceTour.labels.js.map +1 -1
  1965. package/dist/esm/core/guidance/useGuidance.d.ts.map +1 -1
  1966. package/dist/esm/core/guidance/useGuidance.js.map +1 -1
  1967. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +8 -4
  1968. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
  1969. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +9 -5
  1970. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
  1971. package/dist/esm/core/hotkey/HotkeyRegistryContext.d.ts.map +1 -1
  1972. package/dist/esm/core/hotkey/HotkeyRegistryContext.js +3 -2
  1973. package/dist/esm/core/hotkey/HotkeyRegistryContext.js.map +1 -1
  1974. package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.d.ts.map +1 -1
  1975. package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.js +2 -1
  1976. package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.js.map +1 -1
  1977. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts +25 -1
  1978. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts.map +1 -1
  1979. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js +28 -2
  1980. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js.map +1 -1
  1981. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts.map +1 -1
  1982. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
  1983. package/dist/esm/core/hotkey/useHotkey.d.ts.map +1 -1
  1984. package/dist/esm/core/hotkey/useHotkey.js.map +1 -1
  1985. package/dist/esm/core/i18n/I18nContext.d.ts +59 -6
  1986. package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
  1987. package/dist/esm/core/i18n/I18nContext.js +125 -28
  1988. package/dist/esm/core/i18n/I18nContext.js.map +1 -1
  1989. package/dist/esm/core/i18n/component-label-resolution.utils.d.ts +41 -30
  1990. package/dist/esm/core/i18n/component-label-resolution.utils.d.ts.map +1 -1
  1991. package/dist/esm/core/i18n/component-label-resolution.utils.js +69 -34
  1992. package/dist/esm/core/i18n/component-label-resolution.utils.js.map +1 -1
  1993. package/dist/esm/core/i18n/operation-title-resolution.utils.d.ts +23 -0
  1994. package/dist/esm/core/i18n/operation-title-resolution.utils.d.ts.map +1 -0
  1995. package/dist/esm/core/i18n/operation-title-resolution.utils.js +25 -0
  1996. package/dist/esm/core/i18n/operation-title-resolution.utils.js.map +1 -0
  1997. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -1
  1998. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -1
  1999. package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
  2000. package/dist/esm/core/i18n/useI18n.js.map +1 -1
  2001. package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
  2002. package/dist/esm/core/icons/IconRegistryBridge.js.map +1 -1
  2003. package/dist/esm/core/icons/IconRegistryContext.d.ts.map +1 -1
  2004. package/dist/esm/core/icons/IconRegistryContext.js +10 -0
  2005. package/dist/esm/core/icons/IconRegistryContext.js.map +1 -1
  2006. package/dist/esm/core/icons/icon-registry.frontend.definitions.d.ts.map +1 -1
  2007. package/dist/esm/core/icons/icon-registry.frontend.definitions.js.map +1 -1
  2008. package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts +8 -0
  2009. package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
  2010. package/dist/esm/core/icons/icon-registry.frontend.schemas.js +8 -0
  2011. package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
  2012. package/dist/esm/core/icons/useIconRegistry.d.ts.map +1 -1
  2013. package/dist/esm/core/icons/useIconRegistry.js.map +1 -1
  2014. package/dist/esm/core/loading/AppLoadingGate.d.ts.map +1 -1
  2015. package/dist/esm/core/loading/AppLoadingGate.js.map +1 -1
  2016. package/dist/esm/core/loading/LoadingBarrier.d.ts.map +1 -1
  2017. package/dist/esm/core/loading/LoadingBarrier.js.map +1 -1
  2018. package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
  2019. package/dist/esm/core/loading/LoadingContext.js.map +1 -1
  2020. package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
  2021. package/dist/esm/core/loading/LoadingGate.js +41 -7
  2022. package/dist/esm/core/loading/LoadingGate.js.map +1 -1
  2023. package/dist/esm/core/loading/loading-policy.frontend.schemas.d.ts.map +1 -1
  2024. package/dist/esm/core/loading/loading-policy.frontend.schemas.js.map +1 -1
  2025. package/dist/esm/core/loading/loading-scope.frontend.utils.d.ts.map +1 -1
  2026. package/dist/esm/core/loading/loading-scope.frontend.utils.js.map +1 -1
  2027. package/dist/esm/core/loading/loading-types.frontend.schemas.d.ts.map +1 -1
  2028. package/dist/esm/core/loading/loading-types.frontend.schemas.js.map +1 -1
  2029. package/dist/esm/core/loading/resolveLoadingPolicy.d.ts.map +1 -1
  2030. package/dist/esm/core/loading/resolveLoadingPolicy.js.map +1 -1
  2031. package/dist/esm/core/loading/useAppLoading.d.ts.map +1 -1
  2032. package/dist/esm/core/loading/useAppLoading.js.map +1 -1
  2033. package/dist/esm/core/loading/useComponentLoading.d.ts.map +1 -1
  2034. package/dist/esm/core/loading/useComponentLoading.js.map +1 -1
  2035. package/dist/esm/core/loading/useEmitLoadingScope.d.ts.map +1 -1
  2036. package/dist/esm/core/loading/useEmitLoadingScope.js.map +1 -1
  2037. package/dist/esm/core/loading/useLoading.d.ts.map +1 -1
  2038. package/dist/esm/core/loading/useLoading.js.map +1 -1
  2039. package/dist/esm/core/mode/AppModeContext.d.ts.map +1 -1
  2040. package/dist/esm/core/mode/AppModeContext.js.map +1 -1
  2041. package/dist/esm/core/mode/section-visibility.d.ts.map +1 -1
  2042. package/dist/esm/core/mode/section-visibility.js.map +1 -1
  2043. package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts +9 -1
  2044. package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
  2045. package/dist/esm/core/monitoring/analytics/AnalyticsContext.js +131 -59
  2046. package/dist/esm/core/monitoring/analytics/AnalyticsContext.js.map +1 -1
  2047. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts +9 -0
  2048. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts.map +1 -1
  2049. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js +80 -73
  2050. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js.map +1 -1
  2051. package/dist/esm/core/monitoring/analytics/AnalyticsScopeBridge.d.ts +5 -0
  2052. package/dist/esm/core/monitoring/analytics/AnalyticsScopeBridge.d.ts.map +1 -0
  2053. package/dist/esm/core/monitoring/analytics/AnalyticsScopeBridge.js +16 -0
  2054. package/dist/esm/core/monitoring/analytics/AnalyticsScopeBridge.js.map +1 -0
  2055. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts.map +1 -1
  2056. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js.map +1 -1
  2057. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts.map +1 -1
  2058. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js.map +1 -1
  2059. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
  2060. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
  2061. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts.map +1 -1
  2062. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js.map +1 -1
  2063. package/dist/esm/core/monitoring/analytics/useAnalytics.d.ts.map +1 -1
  2064. package/dist/esm/core/monitoring/analytics/useAnalytics.js +1 -1
  2065. package/dist/esm/core/monitoring/analytics/useAnalytics.js.map +1 -1
  2066. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts.map +1 -1
  2067. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js.map +1 -1
  2068. package/dist/esm/core/monitoring/logger.frontend.service.d.ts.map +1 -1
  2069. package/dist/esm/core/monitoring/logger.frontend.service.js.map +1 -1
  2070. package/dist/esm/core/navigation/NavigationContentAreas.d.ts +66 -2
  2071. package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
  2072. package/dist/esm/core/navigation/NavigationContentAreas.js +482 -73
  2073. package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
  2074. package/dist/esm/core/navigation/NavigationContext.d.ts +42 -0
  2075. package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
  2076. package/dist/esm/core/navigation/NavigationContext.js +8 -0
  2077. package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
  2078. package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
  2079. package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
  2080. package/dist/esm/core/navigation/hosted-pane.constants.d.ts.map +1 -1
  2081. package/dist/esm/core/navigation/hosted-pane.constants.js.map +1 -1
  2082. package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
  2083. package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
  2084. package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
  2085. package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
  2086. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts +22 -0
  2087. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
  2088. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js +24 -0
  2089. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js.map +1 -1
  2090. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
  2091. package/dist/esm/core/navigation/navigation-policy-resolver.service.js +79 -17
  2092. package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
  2093. package/dist/esm/core/navigation/navigation.schemas.d.ts +38 -14
  2094. package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
  2095. package/dist/esm/core/navigation/navigation.schemas.js +10 -4
  2096. package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
  2097. package/dist/esm/core/navigation/navigation.utils.d.ts +60 -2
  2098. package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
  2099. package/dist/esm/core/navigation/navigation.utils.js +123 -17
  2100. package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
  2101. package/dist/esm/core/navigation/primary-destination-layout.d.ts +58 -0
  2102. package/dist/esm/core/navigation/primary-destination-layout.d.ts.map +1 -1
  2103. package/dist/esm/core/navigation/primary-destination-layout.js +58 -0
  2104. package/dist/esm/core/navigation/primary-destination-layout.js.map +1 -1
  2105. package/dist/esm/core/navigation/split-fit.d.ts +56 -0
  2106. package/dist/esm/core/navigation/split-fit.d.ts.map +1 -0
  2107. package/dist/esm/core/navigation/split-fit.js +61 -0
  2108. package/dist/esm/core/navigation/split-fit.js.map +1 -0
  2109. package/dist/esm/core/navigation/useIsStackEntryActive.d.ts.map +1 -1
  2110. package/dist/esm/core/navigation/useIsStackEntryActive.js.map +1 -1
  2111. package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts +4 -2
  2112. package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
  2113. package/dist/esm/core/navigation/useLauncherResolutionContext.js +26 -4
  2114. package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
  2115. package/dist/esm/core/navigation/useNavigationController.d.ts +6 -3
  2116. package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
  2117. package/dist/esm/core/navigation/useNavigationController.js +167 -22
  2118. package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
  2119. package/dist/esm/core/navigation/useNavigationState.d.ts.map +1 -1
  2120. package/dist/esm/core/navigation/useNavigationState.js.map +1 -1
  2121. package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
  2122. package/dist/esm/core/navigation/useOverlayTitle.js +2 -5
  2123. package/dist/esm/core/navigation/useOverlayTitle.js.map +1 -1
  2124. package/dist/esm/core/navigation/useSynchronousBrowserLocation.d.ts +58 -0
  2125. package/dist/esm/core/navigation/useSynchronousBrowserLocation.d.ts.map +1 -0
  2126. package/dist/esm/core/navigation/useSynchronousBrowserLocation.js +68 -0
  2127. package/dist/esm/core/navigation/useSynchronousBrowserLocation.js.map +1 -0
  2128. package/dist/esm/core/navigation/useTransactionAwareSyncRetry.d.ts.map +1 -1
  2129. package/dist/esm/core/navigation/useTransactionAwareSyncRetry.js.map +1 -1
  2130. package/dist/esm/core/navigation/view-title-resolution.d.ts +18 -0
  2131. package/dist/esm/core/navigation/view-title-resolution.d.ts.map +1 -1
  2132. package/dist/esm/core/navigation/view-title-resolution.js +20 -2
  2133. package/dist/esm/core/navigation/view-title-resolution.js.map +1 -1
  2134. package/dist/esm/core/navigation/zone-content-geometry.d.ts.map +1 -1
  2135. package/dist/esm/core/navigation/zone-content-geometry.js.map +1 -1
  2136. package/dist/esm/core/navigation/zone-emphasis.d.ts +42 -0
  2137. package/dist/esm/core/navigation/zone-emphasis.d.ts.map +1 -0
  2138. package/dist/esm/core/navigation/zone-emphasis.js +50 -0
  2139. package/dist/esm/core/navigation/zone-emphasis.js.map +1 -0
  2140. package/dist/esm/core/navigation/zone-empty-behavior.d.ts +22 -0
  2141. package/dist/esm/core/navigation/zone-empty-behavior.d.ts.map +1 -1
  2142. package/dist/esm/core/navigation/zone-empty-behavior.js +21 -0
  2143. package/dist/esm/core/navigation/zone-empty-behavior.js.map +1 -1
  2144. package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -1
  2145. package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -1
  2146. package/dist/esm/core/requests/api-readiness-checker.frontend.service.d.ts.map +1 -1
  2147. package/dist/esm/core/requests/api-readiness-checker.frontend.service.js.map +1 -1
  2148. package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
  2149. package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
  2150. package/dist/esm/core/requests/client-instance-id.frontend.service.d.ts.map +1 -1
  2151. package/dist/esm/core/requests/client-instance-id.frontend.service.js.map +1 -1
  2152. package/dist/esm/core/requests/network-backoff.frontend.utils.d.ts.map +1 -1
  2153. package/dist/esm/core/requests/network-backoff.frontend.utils.js.map +1 -1
  2154. package/dist/esm/core/requests/offline-replay-policy.frontend.d.ts.map +1 -1
  2155. package/dist/esm/core/requests/offline-replay-policy.frontend.js.map +1 -1
  2156. package/dist/esm/core/requests/request-cancellation.frontend.utils.d.ts.map +1 -1
  2157. package/dist/esm/core/requests/request-cancellation.frontend.utils.js.map +1 -1
  2158. package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.d.ts.map +1 -1
  2159. package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.js.map +1 -1
  2160. package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
  2161. package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
  2162. package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts +1 -0
  2163. package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
  2164. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js +22 -0
  2165. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
  2166. package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts.map +1 -1
  2167. package/dist/esm/core/requests/websockets/useNotificationBadges.js.map +1 -1
  2168. package/dist/esm/core/requests/websockets/useResourceRoom.d.ts.map +1 -1
  2169. package/dist/esm/core/requests/websockets/useResourceRoom.js.map +1 -1
  2170. package/dist/esm/core/requests/websockets/useWebSocket.d.ts.map +1 -1
  2171. package/dist/esm/core/requests/websockets/useWebSocket.js.map +1 -1
  2172. package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.d.ts.map +1 -1
  2173. package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.js.map +1 -1
  2174. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +417 -30
  2175. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
  2176. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +232 -17
  2177. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
  2178. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts +19 -2
  2179. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
  2180. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js +129 -13
  2181. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
  2182. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +22 -4
  2183. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
  2184. package/dist/esm/core/requests/wildo-http-client.frontend.service.js +24 -4
  2185. package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
  2186. package/dist/esm/core/resources/ResourceOperationViewContext.d.ts.map +1 -1
  2187. package/dist/esm/core/resources/ResourceOperationViewContext.js.map +1 -1
  2188. package/dist/esm/core/resources/ResourceOperationViewProvider.d.ts.map +1 -1
  2189. package/dist/esm/core/resources/ResourceOperationViewProvider.js.map +1 -1
  2190. package/dist/esm/core/resources/ResourceReadCacheBridge.d.ts.map +1 -1
  2191. package/dist/esm/core/resources/ResourceReadCacheBridge.js +148 -51
  2192. package/dist/esm/core/resources/ResourceReadCacheBridge.js.map +1 -1
  2193. package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
  2194. package/dist/esm/core/resources/ResourceRegistryContext.js.map +1 -1
  2195. package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
  2196. package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
  2197. package/dist/esm/core/resources/bulk-failure-grouping.frontend.utils.d.ts +26 -0
  2198. package/dist/esm/core/resources/bulk-failure-grouping.frontend.utils.d.ts.map +1 -0
  2199. package/dist/esm/core/resources/bulk-failure-grouping.frontend.utils.js +23 -0
  2200. package/dist/esm/core/resources/bulk-failure-grouping.frontend.utils.js.map +1 -0
  2201. package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
  2202. package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
  2203. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts +41 -0
  2204. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts.map +1 -0
  2205. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js +143 -0
  2206. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js.map +1 -0
  2207. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.d.ts +7 -0
  2208. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.d.ts.map +1 -1
  2209. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js +7 -1
  2210. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js.map +1 -1
  2211. package/dist/esm/core/resources/ephemeral-fields.utils.d.ts.map +1 -1
  2212. package/dist/esm/core/resources/ephemeral-fields.utils.js.map +1 -1
  2213. package/dist/esm/core/resources/file-serve-url.frontend.utils.d.ts.map +1 -1
  2214. package/dist/esm/core/resources/file-serve-url.frontend.utils.js.map +1 -1
  2215. package/dist/esm/core/resources/frontend-resource.utils.d.ts +74 -2
  2216. package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
  2217. package/dist/esm/core/resources/frontend-resource.utils.js +152 -19
  2218. package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
  2219. package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts +18 -0
  2220. package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
  2221. package/dist/esm/core/resources/hooks/useOperationEnabled.js +18 -4
  2222. package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
  2223. package/dist/esm/core/resources/in-place/InPlaceOperationContext.d.ts.map +1 -1
  2224. package/dist/esm/core/resources/in-place/InPlaceOperationContext.js.map +1 -1
  2225. package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.d.ts.map +1 -1
  2226. package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.js.map +1 -1
  2227. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts +137 -7
  2228. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
  2229. package/dist/esm/core/resources/operation-semantics.frontend.utils.js +209 -16
  2230. package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
  2231. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.d.ts.map +1 -1
  2232. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js.map +1 -1
  2233. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts.map +1 -1
  2234. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js.map +1 -1
  2235. package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts +42 -0
  2236. package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts.map +1 -1
  2237. package/dist/esm/core/resources/resource-addressability.frontend.utils.js +36 -1
  2238. package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
  2239. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.d.ts +59 -0
  2240. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.d.ts.map +1 -0
  2241. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.js +151 -0
  2242. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.js.map +1 -0
  2243. package/dist/esm/core/resources/resource-operation-view.frontend.utils.d.ts.map +1 -1
  2244. package/dist/esm/core/resources/resource-operation-view.frontend.utils.js.map +1 -1
  2245. package/dist/esm/core/resources/resource-path.frontend.schemas.d.ts.map +1 -1
  2246. package/dist/esm/core/resources/resource-path.frontend.schemas.js.map +1 -1
  2247. package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts +26 -0
  2248. package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts.map +1 -1
  2249. package/dist/esm/core/resources/resource-read-cache.frontend.service.js +30 -0
  2250. package/dist/esm/core/resources/resource-read-cache.frontend.service.js.map +1 -1
  2251. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
  2252. package/dist/esm/core/resources/resources-repository.frontend.service.js +2 -2
  2253. package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
  2254. package/dist/esm/core/resources/resources.frontend.schemas.d.ts +231 -14
  2255. package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
  2256. package/dist/esm/core/resources/resources.frontend.schemas.js +182 -8
  2257. package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
  2258. package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts +6 -0
  2259. package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
  2260. package/dist/esm/core/resources/rmm/HttpTransportAdapter.js +14 -2
  2261. package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
  2262. package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
  2263. package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
  2264. package/dist/esm/core/resources/rmm/RMMRegistryContext.d.ts.map +1 -1
  2265. package/dist/esm/core/resources/rmm/RMMRegistryContext.js.map +1 -1
  2266. package/dist/esm/core/resources/rmm/RMMWebSocketBridge.d.ts.map +1 -1
  2267. package/dist/esm/core/resources/rmm/RMMWebSocketBridge.js +3 -3
  2268. package/dist/esm/core/resources/rmm/RMMWebSocketBridge.js.map +1 -1
  2269. package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
  2270. package/dist/esm/core/resources/rmm/ResourceMutationManager.js +77 -8
  2271. package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
  2272. package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.d.ts.map +1 -1
  2273. package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.js.map +1 -1
  2274. package/dist/esm/core/resources/rmm/field-path.utils.d.ts.map +1 -1
  2275. package/dist/esm/core/resources/rmm/field-path.utils.js.map +1 -1
  2276. package/dist/esm/core/resources/rmm/mutation-error-report.utils.d.ts +18 -0
  2277. package/dist/esm/core/resources/rmm/mutation-error-report.utils.d.ts.map +1 -0
  2278. package/dist/esm/core/resources/rmm/mutation-error-report.utils.js +21 -0
  2279. package/dist/esm/core/resources/rmm/mutation-error-report.utils.js.map +1 -0
  2280. package/dist/esm/core/resources/rmm/rmm-constants.d.ts.map +1 -1
  2281. package/dist/esm/core/resources/rmm/rmm-constants.js.map +1 -1
  2282. package/dist/esm/core/resources/rmm/rmm-noop-snapshot.d.ts.map +1 -1
  2283. package/dist/esm/core/resources/rmm/rmm-noop-snapshot.js.map +1 -1
  2284. package/dist/esm/core/resources/rmm/types.d.ts +14 -0
  2285. package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
  2286. package/dist/esm/core/resources/rmm/types.js.map +1 -1
  2287. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
  2288. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
  2289. package/dist/esm/core/resources/rmm/useListInvalidation.d.ts.map +1 -1
  2290. package/dist/esm/core/resources/rmm/useListInvalidation.js.map +1 -1
  2291. package/dist/esm/core/resources/rmm/useRMMEventHandler.d.ts.map +1 -1
  2292. package/dist/esm/core/resources/rmm/useRMMEventHandler.js.map +1 -1
  2293. package/dist/esm/core/resources/rmm/useRMMSnapshot.d.ts.map +1 -1
  2294. package/dist/esm/core/resources/rmm/useRMMSnapshot.js.map +1 -1
  2295. package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
  2296. package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
  2297. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
  2298. package/dist/esm/core/resources/rmm/useResourceRMM.js +2 -3
  2299. package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
  2300. package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.d.ts.map +1 -1
  2301. package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.js.map +1 -1
  2302. package/dist/esm/core/resources/useBulkJobProgress.d.ts +22 -0
  2303. package/dist/esm/core/resources/useBulkJobProgress.d.ts.map +1 -0
  2304. package/dist/esm/core/resources/useBulkJobProgress.js +51 -0
  2305. package/dist/esm/core/resources/useBulkJobProgress.js.map +1 -0
  2306. package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
  2307. package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
  2308. package/dist/esm/core/resources/useOperationEnabled.d.ts.map +1 -1
  2309. package/dist/esm/core/resources/useOperationEnabled.js.map +1 -1
  2310. package/dist/esm/core/resources/useResourceLabels.d.ts +27 -9
  2311. package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
  2312. package/dist/esm/core/resources/useResourceLabels.js +45 -138
  2313. package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
  2314. package/dist/esm/core/resources/useResourceOperationActions.d.ts +33 -0
  2315. package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
  2316. package/dist/esm/core/resources/useResourceOperationActions.js +393 -87
  2317. package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
  2318. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts +23 -0
  2319. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts.map +1 -0
  2320. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js +85 -0
  2321. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js.map +1 -0
  2322. package/dist/esm/core/resources/useResourceOperationSurface.d.ts +5 -0
  2323. package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
  2324. package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
  2325. package/dist/esm/core/resources/useResourceRegistry.d.ts +18 -0
  2326. package/dist/esm/core/resources/useResourceRegistry.d.ts.map +1 -1
  2327. package/dist/esm/core/resources/useResourceRegistry.js +23 -0
  2328. package/dist/esm/core/resources/useResourceRegistry.js.map +1 -1
  2329. package/dist/esm/core/resources/useResourceSelection.d.ts +36 -1
  2330. package/dist/esm/core/resources/useResourceSelection.d.ts.map +1 -1
  2331. package/dist/esm/core/resources/useResourceSelection.js +32 -1
  2332. package/dist/esm/core/resources/useResourceSelection.js.map +1 -1
  2333. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts.map +1 -1
  2334. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js.map +1 -1
  2335. package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
  2336. package/dist/esm/core/runtime/AppRouter.js +25 -4
  2337. package/dist/esm/core/runtime/AppRouter.js.map +1 -1
  2338. package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
  2339. package/dist/esm/core/runtime/ApplicationContext.shared.js.map +1 -1
  2340. package/dist/esm/core/runtime/ApplicationMainContext.d.ts +3 -0
  2341. package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
  2342. package/dist/esm/core/runtime/ApplicationMainContext.js +30 -2
  2343. package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
  2344. package/dist/esm/core/runtime/StartupFailureScreen.d.ts +24 -0
  2345. package/dist/esm/core/runtime/StartupFailureScreen.d.ts.map +1 -0
  2346. package/dist/esm/core/runtime/StartupFailureScreen.js +25 -0
  2347. package/dist/esm/core/runtime/StartupFailureScreen.js.map +1 -0
  2348. package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.d.ts.map +1 -1
  2349. package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.js.map +1 -1
  2350. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
  2351. package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
  2352. package/dist/esm/core/runtime/env-variable-loader.frontend.service.d.ts +16 -0
  2353. package/dist/esm/core/runtime/env-variable-loader.frontend.service.d.ts.map +1 -1
  2354. package/dist/esm/core/runtime/env-variable-loader.frontend.service.js +22 -0
  2355. package/dist/esm/core/runtime/env-variable-loader.frontend.service.js.map +1 -1
  2356. package/dist/esm/core/runtime/frontend-companion-resource-inputs.d.ts.map +1 -1
  2357. package/dist/esm/core/runtime/frontend-companion-resource-inputs.js.map +1 -1
  2358. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +28 -4
  2359. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
  2360. package/dist/esm/core/runtime/routes.frontend.definitions.js +29 -5
  2361. package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
  2362. package/dist/esm/core/runtime/runtime.frontend.schemas.d.ts.map +1 -1
  2363. package/dist/esm/core/runtime/runtime.frontend.schemas.js.map +1 -1
  2364. package/dist/esm/core/runtime/start-application.frontend.service.d.ts +2 -2
  2365. package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
  2366. package/dist/esm/core/runtime/start-application.frontend.service.js +54 -15
  2367. package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
  2368. package/dist/esm/core/runtime/startup-failure-copy.frontend.d.ts +48 -0
  2369. package/dist/esm/core/runtime/startup-failure-copy.frontend.d.ts.map +1 -0
  2370. package/dist/esm/core/runtime/startup-failure-copy.frontend.js +95 -0
  2371. package/dist/esm/core/runtime/startup-failure-copy.frontend.js.map +1 -0
  2372. package/dist/esm/core/runtime/useApplication.d.ts.map +1 -1
  2373. package/dist/esm/core/runtime/useApplication.js.map +1 -1
  2374. package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
  2375. package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
  2376. package/dist/esm/core/scope/scope.frontend.schemas.d.ts.map +1 -1
  2377. package/dist/esm/core/scope/scope.frontend.schemas.js.map +1 -1
  2378. package/dist/esm/core/scope/scope.utils.frontend.service.d.ts.map +1 -1
  2379. package/dist/esm/core/scope/scope.utils.frontend.service.js.map +1 -1
  2380. package/dist/esm/core/scope/useAppScope.d.ts.map +1 -1
  2381. package/dist/esm/core/scope/useAppScope.js.map +1 -1
  2382. package/dist/esm/core/security/AnonymousSessionContext.d.ts.map +1 -1
  2383. package/dist/esm/core/security/AnonymousSessionContext.js.map +1 -1
  2384. package/dist/esm/core/security/AuthSessionContext.d.ts +88 -3
  2385. package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
  2386. package/dist/esm/core/security/AuthSessionContext.js +607 -116
  2387. package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
  2388. package/dist/esm/core/security/StepUpAuthContext.d.ts +12 -0
  2389. package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
  2390. package/dist/esm/core/security/StepUpAuthContext.js +58 -12
  2391. package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
  2392. package/dist/esm/core/security/UserOrgsContext.d.ts +15 -1
  2393. package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
  2394. package/dist/esm/core/security/UserOrgsContext.js +110 -16
  2395. package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
  2396. package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
  2397. package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
  2398. package/dist/esm/core/security/auth-session.utils.d.ts.map +1 -1
  2399. package/dist/esm/core/security/auth-session.utils.js +21 -4
  2400. package/dist/esm/core/security/auth-session.utils.js.map +1 -1
  2401. package/dist/esm/core/security/consent-gate.frontend.utils.d.ts +102 -0
  2402. package/dist/esm/core/security/consent-gate.frontend.utils.d.ts.map +1 -0
  2403. package/dist/esm/core/security/consent-gate.frontend.utils.js +112 -0
  2404. package/dist/esm/core/security/consent-gate.frontend.utils.js.map +1 -0
  2405. package/dist/esm/core/security/cross-frontend-handoff.frontend.service.d.ts.map +1 -1
  2406. package/dist/esm/core/security/cross-frontend-handoff.frontend.service.js.map +1 -1
  2407. package/dist/esm/core/security/federated-reauthentication.frontend.d.ts +74 -0
  2408. package/dist/esm/core/security/federated-reauthentication.frontend.d.ts.map +1 -0
  2409. package/dist/esm/core/security/federated-reauthentication.frontend.js +135 -0
  2410. package/dist/esm/core/security/federated-reauthentication.frontend.js.map +1 -0
  2411. package/dist/esm/core/security/jwt.frontend.utils.d.ts.map +1 -1
  2412. package/dist/esm/core/security/jwt.frontend.utils.js.map +1 -1
  2413. package/dist/esm/core/security/organization-onboarding.frontend.utils.d.ts +50 -0
  2414. package/dist/esm/core/security/organization-onboarding.frontend.utils.d.ts.map +1 -0
  2415. package/dist/esm/core/security/organization-onboarding.frontend.utils.js +55 -0
  2416. package/dist/esm/core/security/organization-onboarding.frontend.utils.js.map +1 -0
  2417. package/dist/esm/core/security/pending-mfa-session-storage.frontend.utils.d.ts +58 -0
  2418. package/dist/esm/core/security/pending-mfa-session-storage.frontend.utils.d.ts.map +1 -0
  2419. package/dist/esm/core/security/pending-mfa-session-storage.frontend.utils.js +88 -0
  2420. package/dist/esm/core/security/pending-mfa-session-storage.frontend.utils.js.map +1 -0
  2421. package/dist/esm/core/security/registration-outcome.frontend.utils.d.ts +78 -0
  2422. package/dist/esm/core/security/registration-outcome.frontend.utils.d.ts.map +1 -0
  2423. package/dist/esm/core/security/registration-outcome.frontend.utils.js +114 -0
  2424. package/dist/esm/core/security/registration-outcome.frontend.utils.js.map +1 -0
  2425. package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts +75 -0
  2426. package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts.map +1 -0
  2427. package/dist/esm/core/security/route-organization-access.frontend.utils.js +78 -0
  2428. package/dist/esm/core/security/route-organization-access.frontend.utils.js.map +1 -0
  2429. package/dist/esm/core/security/security.frontend.schemas.d.ts +70 -1
  2430. package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
  2431. package/dist/esm/core/security/security.frontend.schemas.js +68 -0
  2432. package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
  2433. package/dist/esm/core/security/session-token-storage.frontend.service.d.ts.map +1 -1
  2434. package/dist/esm/core/security/session-token-storage.frontend.service.js.map +1 -1
  2435. package/dist/esm/core/security/useAuthSession.d.ts.map +1 -1
  2436. package/dist/esm/core/security/useAuthSession.js.map +1 -1
  2437. package/dist/esm/core/security/useConsentGateBehavior.d.ts +36 -0
  2438. package/dist/esm/core/security/useConsentGateBehavior.d.ts.map +1 -0
  2439. package/dist/esm/core/security/useConsentGateBehavior.js +59 -0
  2440. package/dist/esm/core/security/useConsentGateBehavior.js.map +1 -0
  2441. package/dist/esm/core/security/useDocumentAcceptanceGateBehavior.d.ts +76 -0
  2442. package/dist/esm/core/security/useDocumentAcceptanceGateBehavior.d.ts.map +1 -0
  2443. package/dist/esm/core/security/useDocumentAcceptanceGateBehavior.js +168 -0
  2444. package/dist/esm/core/security/useDocumentAcceptanceGateBehavior.js.map +1 -0
  2445. package/dist/esm/core/security/useResolvedAuthConfig.d.ts +21 -2
  2446. package/dist/esm/core/security/useResolvedAuthConfig.d.ts.map +1 -1
  2447. package/dist/esm/core/security/useResolvedAuthConfig.js +9 -5
  2448. package/dist/esm/core/security/useResolvedAuthConfig.js.map +1 -1
  2449. package/dist/esm/core/security/useRouteOrganizationAccess.d.ts +13 -0
  2450. package/dist/esm/core/security/useRouteOrganizationAccess.d.ts.map +1 -0
  2451. package/dist/esm/core/security/useRouteOrganizationAccess.js +101 -0
  2452. package/dist/esm/core/security/useRouteOrganizationAccess.js.map +1 -0
  2453. package/dist/esm/core/security/useStepUpAuth.d.ts.map +1 -1
  2454. package/dist/esm/core/security/useStepUpAuth.js.map +1 -1
  2455. package/dist/esm/core/security/useUserOrgs.d.ts.map +1 -1
  2456. package/dist/esm/core/security/useUserOrgs.js.map +1 -1
  2457. package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts +3 -0
  2458. package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts.map +1 -1
  2459. package/dist/esm/core/ui/SurfaceErrorBoundary.js +46 -14
  2460. package/dist/esm/core/ui/SurfaceErrorBoundary.js.map +1 -1
  2461. package/dist/esm/core/ui/SurfaceErrorBoundary.labels.d.ts +3 -0
  2462. package/dist/esm/core/ui/SurfaceErrorBoundary.labels.d.ts.map +1 -0
  2463. package/dist/esm/core/ui/SurfaceErrorBoundary.labels.js +14 -0
  2464. package/dist/esm/core/ui/SurfaceErrorBoundary.labels.js.map +1 -0
  2465. package/dist/esm/core/ui/SurfacePolicyContext.d.ts.map +1 -1
  2466. package/dist/esm/core/ui/SurfacePolicyContext.js.map +1 -1
  2467. package/dist/esm/core/ui/TypographyScopeContext.d.ts.map +1 -1
  2468. package/dist/esm/core/ui/TypographyScopeContext.js.map +1 -1
  2469. package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
  2470. package/dist/esm/core/ui/UIContext.js +22 -5
  2471. package/dist/esm/core/ui/UIContext.js.map +1 -1
  2472. package/dist/esm/core/ui/chart-style-defaults.d.ts.map +1 -1
  2473. package/dist/esm/core/ui/chart-style-defaults.js.map +1 -1
  2474. package/dist/esm/core/ui/cn.d.ts.map +1 -1
  2475. package/dist/esm/core/ui/cn.js.map +1 -1
  2476. package/dist/esm/core/ui/color-conversion.utils.d.ts.map +1 -1
  2477. package/dist/esm/core/ui/color-conversion.utils.js.map +1 -1
  2478. package/dist/esm/core/ui/design-token-class-groups.d.ts.map +1 -1
  2479. package/dist/esm/core/ui/design-token-class-groups.js.map +1 -1
  2480. package/dist/esm/core/ui/design-token-config.utils.d.ts.map +1 -1
  2481. package/dist/esm/core/ui/design-token-config.utils.js.map +1 -1
  2482. package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
  2483. package/dist/esm/core/ui/design-token.utils.js +3 -3
  2484. package/dist/esm/core/ui/design-token.utils.js.map +1 -1
  2485. package/dist/esm/core/ui/material-runtime.d.ts.map +1 -1
  2486. package/dist/esm/core/ui/material-runtime.js.map +1 -1
  2487. package/dist/esm/core/ui/surface-a11y.utils.d.ts.map +1 -1
  2488. package/dist/esm/core/ui/surface-a11y.utils.js.map +1 -1
  2489. package/dist/esm/core/ui/theme-preference-storage.shared.d.ts.map +1 -1
  2490. package/dist/esm/core/ui/theme-preference-storage.shared.js.map +1 -1
  2491. package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
  2492. package/dist/esm/core/ui/themes/default.theme.js +109 -13
  2493. package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
  2494. package/dist/esm/core/ui/ui.frontend.schemas.d.ts +2 -5
  2495. package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
  2496. package/dist/esm/core/ui/ui.frontend.schemas.js.map +1 -1
  2497. package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
  2498. package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
  2499. package/dist/esm/core/ui/useUI.d.ts.map +1 -1
  2500. package/dist/esm/core/ui/useUI.js.map +1 -1
  2501. package/dist/esm/index.d.ts +29 -0
  2502. package/dist/esm/index.d.ts.map +1 -1
  2503. package/dist/esm/index.js +41 -0
  2504. package/dist/esm/index.js.map +1 -1
  2505. package/dist/esm/tailwind/index.d.ts.map +1 -1
  2506. package/dist/esm/tailwind/index.js +95 -2
  2507. package/dist/esm/tailwind/index.js.map +1 -1
  2508. package/dist/esm/testing/mock-builders.d.ts.map +1 -1
  2509. package/dist/esm/testing/mock-builders.js +35 -1
  2510. package/dist/esm/testing/mock-builders.js.map +1 -1
  2511. package/dist/esm/testing/mock-factory.d.ts.map +1 -1
  2512. package/dist/esm/testing/mock-factory.js.map +1 -1
  2513. package/dist/esm/testing/rmm-helpers.d.ts +2 -0
  2514. package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
  2515. package/dist/esm/testing/rmm-helpers.js.map +1 -1
  2516. package/dist/esm/testing/test-providers.d.ts.map +1 -1
  2517. package/dist/esm/testing/test-providers.js.map +1 -1
  2518. package/dist/esm/testing.d.ts.map +1 -1
  2519. package/dist/esm/testing.js.map +1 -1
  2520. package/dist/tsconfig.build.tsbuildinfo +1 -1
  2521. package/package.json +22 -33
@@ -1 +1 @@
1
- {"version":3,"file":"resources.frontend.schemas.js","sourceRoot":"","sources":["../../../../src/core/resources/resources.frontend.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import { RESPONSIVE_MAX_WIDTH_VALUES } from '@wildo-ai/presets-components-models';\nimport type React from 'react';\nimport { z } from \"zod\";\nimport type { EnumLikeType, IconLike, AutosaveFieldParams, ValidationMode, ResponsiveAware, EditChromeMode, DisplayChromeMode, DraftableConfigParams } from '@wildo-ai/zod-decorators';\nimport { getZodObjectShape } from '@wildo-ai/zod-decorators';\nimport type { ButtonVariants_Variant } from '~wildo-frontend-lib/components/actions/button';\nimport type { QuickSwitcherScopeField } from '~wildo-frontend-lib/core/config/app-configuration-frontend.schemas';\nimport {\n ResourceParentResourceRequirement,\n ResourcePrimaryScope,\n ResourceRelationship,\n ResourceTranspositionPolicy,\n CoreResourceOperation,\n ResourceOperationDisplayMode,\n ResourceOperationFrontendSurface,\n ResourceFieldIdentifier,\n ResourceType,\n ResourceTypeSchema,\n ResourceConfiguration_Operation_ApiCall,\n ResourceConfiguration_Operation_ApiCallWithCallback,\n ResourceConfiguration_ResourceRelationships,\n ResourceConfiguration_InheritanceSchemaDefinition,\n TourStepPlacement,\n NavigationZoneName,\n OverlayAppearance,\n SplitAppearance,\n TransitionConfigSchema,\n ZoneEmptyBehavior,\n viewportDiscriminatedSchema,\n computePolymorphicVariantSchemas,\n} from '@wildo-ai/saas-models';\nimport type {\n ResourceConfiguration,\n ResourceConfiguration_InitializationFactory,\n ValidOperationKeys,\n RelationshipDisplayInParentNavigation,\n RelationshipDisplayInChildView,\n} from '@wildo-ai/saas-models';\nimport type { InsertedChartDeclaration } from '~wildo-frontend-lib/core/config/chart-view.frontend.schemas';\nimport type {\n InsertedExecutionDeclaration,\n ResourceExecutionViewsConfig,\n} from '~wildo-frontend-lib/core/config/execution-view.schemas';\nimport type {\n OnboardingElementType,\n GuidanceRenderMode,\n GuidanceFlowScope,\n GuidanceAudience,\n NotificationBadgeDefinition,\n UserNotificationDefinition,\n SubtreeMap,\n ManyToManyScopeJunctionMap,\n} from '@wildo-ai/saas-models';\nimport { ViewportBreakpoint, DisplayDirection } from '@wildo-ai/zod-decorators';\nimport type {\n CorePresetNames,\n ActionLabelDisplayMode,\n} from '@wildo-ai/presets-components-models';\nimport {\n VerticalPlacement,\n HorizontalPlacement,\n} from '@wildo-ai/presets-components-models';\nimport type {\n CompositeViewComponentProps,\n InsertedCompositeDeclaration,\n ResourceCompositeViewAuthoringConfig,\n} from '../config/composite-view.schemas';\n\n\n\n// ================================================================================================\n// Types transferred from saas-models/config/frontend/navigation.shared.schemas.ts\n// NavigationOperationOverrideSchema only — the rest of navigation stays in saas-models.\n// ================================================================================================\n\n/**\n * @wildo_source:part:start saas.frontend.navigation.operation-override facet:layer:frontend facet:family:navigation-config\n *\n * Per-operation navigation chrome: transition, overlay/split appearance, source zone.\n *\n * **How to use:** attach fragments of this shape under\n * `ResourceOperationFrontendConfig.navigationOverrides` in `resourceUIBehavior()`.\n * Each override applies when navigating **from** the configured zone/viewport into\n * this operation. Prefer mirroring a sibling resource that already matches the\n * product’s overlay vs split behavior.\n */\nexport const NavigationOperationOverrideSchema = z.object({\n transition: TransitionConfigSchema,\n appearance: viewportDiscriminatedSchema(z.union([\n z.enum(OverlayAppearance),\n z.enum(SplitAppearance),\n ])).optional(),\n fromZone: z.union([z.enum(NavigationZoneName), z.literal('appLevel')]).optional(),\n viewport: z.enum(ViewportBreakpoint).optional(),\n /**\n * Behaviour of the OVERLAY this override resolves to — whether the page behind stays interactive,\n * whether touching it dismisses, whether it is dimmed. Ignored for non-overlay transitions.\n *\n * These three were already declared on `OverlayContainerConfig` with documented defaults and read by\n * nothing; they are honoured now, and this is the channel that lets a NAVIGATION-driven overlay set\n * them. Declared per operation because it describes the CONTENT: an application legitimately has a\n * create dialog that blocks everything and a detail sheet beside a live canvas that blocks nothing.\n */\n overlayBehavior: z.object({\n modal: z.boolean().optional(),\n closeOnOutsideClick: z.boolean().optional(),\n showBackdrop: z.boolean().optional(),\n }).optional(),\n});\nexport type NavigationOperationOverride = z.infer<typeof NavigationOperationOverrideSchema>;\n/** @wildo_source:part:end saas.frontend.navigation.operation-override */\n\n\n// ================================================================================================\n// Types transferred from saas-models/resources/resource-frontend.shared.schemas.ts\n// Strictly identical signatures — canonical home is now saas-frontend-lib.\n// ================================================================================================\n\n// --------------------------------\n// App Scope Field Types\n// --------------------------------\n\n/**\n * Runtime-resolved scope field definition.\n *\n * Extends the config-declared `QuickSwitcherScopeField` (from top-level\n * `appScope.fields`) with properties resolved at initialization time from the\n * resource registry.\n *\n * Created by AppScopeContext from the `appScope.fields` configuration.\n */\nexport interface AppScopeFieldDefinition extends QuickSwitcherScopeField {\n /** Resolved from the resource configuration at initialization */\n resourcePrimaryScope: ResourcePrimaryScope;\n}\n\n\n// --------------------------------\n// Frontend Resource Path Schemas\n// Defined in resource-path.frontend.schemas.ts (import here only — no re-export).\n// --------------------------------\n\nimport { FrontendResourceOperationPathSchema } from './resource-path.frontend.schemas';\nimport type { FrontendResourceOperationPath, FrontendResource_ParentResourceRequirement } from './resource-path.frontend.schemas';\n\n\n// --------------------------------\n// Frontend-Specific Operation Types\n// --------------------------------\n\n/**\n * Resolved operation row the **frontend registry** stores: same structural operation\n * config as `@wildo-ai/saas-models` (API_CALL / callback variants) plus optional\n * `operationFrontendConfig` from the app preset.\n *\n * **How to use:** app authors normally do **not** construct this type by hand —\n * `buildFrontendResourceConfigurations()` merges backend `ResourceConfiguration`\n * with `ResourceUIBehavior`. Use it when typing hooks/components that receive the\n * merged registry (e.g. operation context, launcher resolution).\n */\ntype FrontendResourceOperation_Base = {\n /**\n * Frontend UI behavior config for this operation, carrying its `surface`\n * ({@link ResourceOperationFrontendSurface}). After `buildFrontendResourceConfigurations`\n * runs, EVERY operation has a resolved config: preset-surfaced operations get\n * their authored config; everything else resolves to `{ surface: API_ONLY }`\n * (headless) from the operation's `defaultFrontendPosture` or the default.\n * The field stays optional only for the pre-resolution / partial-mock case —\n * read the surface via `isOperationAddressable()` / `isOperationHeadless()`,\n * never by testing presence.\n */\n operationFrontendConfig?: ResourceOperationFrontendConfig;\n}\n\nexport type FrontendResourceConfiguration_Operation<\n TCustomOperationEnum extends EnumLikeType | undefined = any,\n TCoreOperationEnum extends Partial<CoreResourceOperation> | undefined = any,\n TMainSchema extends z.ZodTypeAny = z.ZodAny,\n> = (\n | ResourceConfiguration_Operation_ApiCall<TCustomOperationEnum, TCoreOperationEnum, TMainSchema>\n | ResourceConfiguration_Operation_ApiCallWithCallback<TCustomOperationEnum, TCoreOperationEnum, TMainSchema>\n) & FrontendResourceOperation_Base;\n\n/**\n * Full **merged** resource row in the frontend registry: backend fields (scope, schema,\n * relationships, operations) plus optional `frontendConfiguration` (labels, layout,\n * views map, guidance, …) derived from the app’s `ResourceUIBehavior` preset.\n *\n * **How to use:** read-only shape at runtime and in typed frontend services. Authoring\n * happens in `*.resources-config.ts` + `*.ui-behavior.tsx`, not by filling this object\n * manually.\n */\nexport type FrontendResourceConfiguration<\n TCustomOperationEnum extends EnumLikeType | undefined = any,\n TCoreOperationEnum extends Partial<CoreResourceOperation> | undefined = any,\n TMainSchema extends z.ZodTypeAny = z.ZodAny,\n> = {\n isDisabled: boolean;\n resourcePrimaryScope: ResourcePrimaryScope;\n resourceIdentifier: ResourceType;\n resourceFieldIdentifier: ResourceFieldIdentifier;\n coreOperations: TCoreOperationEnum[];\n customOperation?: TCustomOperationEnum;\n mainSchema: TMainSchema;\n resourceRelationships: ResourceConfiguration_ResourceRelationships;\n inheritenceSchemaDefinition?: ResourceConfiguration_InheritanceSchemaDefinition<EnumLikeType, TMainSchema>;\n frontendConfiguration?: ResourceUIBehaviorResourceLevelConfig<TCustomOperationEnum, TCoreOperationEnum, TMainSchema>;\n isSystemResource: boolean;\n /**\n * Mirrors `ResourceConfiguration.primaryKeyIdentifiesInitiator` from `@wildo-ai/saas-models`.\n * `buildFrontendResourceConfigurations` spreads the backend config onto every frontend\n * registry entry, so this is always populated at runtime; it must stay declared here too\n * so shared `saas-models` utils typed against `AnyResourceConfiguration` (e.g.\n * `ResourcesConfigOperationsUrlsBuilderUtils`) accept a frontend registry entry.\n */\n primaryKeyIdentifiesInitiator: boolean;\n isAnonymizable: boolean;\n transpositionPolicy: ResourceTranspositionPolicy;\n operations: FrontendResourceConfiguration_Operation<TCustomOperationEnum, TCoreOperationEnum, TMainSchema>[];\n}\n\nexport type AnyFrontendResourceConfiguration = FrontendResourceConfiguration<any, any, any>;\n\n/**\n * Application **frontend** resource registry built at startup (field-id maps, relationships,\n * notification defs, subtree map, and per-resource `FrontendResourceConfiguration`).\n *\n * **How to use:** consume via React context / services (`ResourcesRepository`, routing,\n * layout hosts). Authors extend it indirectly by registering presets and module wiring —\n * not by mutating this object ad hoc.\n */\nexport type FrontendResourcesRegistry = {\n allResourceFieldIdentifiers: Record<string, string>;\n fieldIdentifierToResourceType: Record<string, ResourceType>;\n /**\n * Scope-required reference-search junctions, keyed by `${target}|${scope}`.\n * Drives the inference-based people-picker: a FK targeting `T` from a resource\n * scoped by `S`, where `T ↔ S` is an M:N via junction `J`, searches `T` scoped\n * to the caller's current `S` through `J`. Mirrors the backend registry.\n *\n * OPTIONAL: the real registry builder always populates it, but partial test\n * registries omit it — consumers (e.g. `useResourceSearch`) treat an absent map\n * as \"no junction scoping\" (plain target search).\n */\n manyToManyScopeJunctions?: ManyToManyScopeJunctionMap;\n notificationBadgeDefinitions: NotificationBadgeDefinition[];\n additionalUserNotificationDefinitions: UserNotificationDefinition[];\n resourceRelationships: ResourceRelationship[];\n resourceConfigurations: {\n [key: ResourceType]: AnyFrontendResourceConfiguration;\n };\n subtreeMap: SubtreeMap;\n}\n\n\n// ================================================================================================\n// Original resources.frontend.schemas.ts content\n// ================================================================================================\n\n/**\n * Everything the framework knows about the **current resource operation** while rendering\n * a layout host (read/update/list/custom view, nested child, etc.).\n *\n * **How to use:** custom templates and views receive compatible props via framework\n * hooks; use `contextResourceIdentifiers` for parent/child route params and FK scope.\n * `operation` is the merged backend operation + `operationFrontendConfig` — prefer it\n * over guessing URLs or variant keys. `parentResourcesRequirements` repeats path\n * requirements from routing for hosts that must validate scope before fetch.\n */\nexport interface FrontendResourceOperationContext extends FrontendResourceOperationPath {\n /** Current operation being executed */\n resourceType: string;\n\n /** The operation configuration - properly typed */\n operation: FrontendResourceConfiguration_Operation;\n\n /** Resource context map: ResourceType -> resourceId | {fieldIdentifier, resourceId} */\n contextResourceIdentifiers: Record<string,\n | string\n | { fieldIdentifier: string; resourceId: string; }\n >;\n\n /** Additional context data that can be passed */\n additionalContext?: Record<string, unknown>;\n\n /** Parent resource requirements - explicitly included from FrontendResourceOperationPath */\n parentResourcesRequirements: FrontendResource_ParentResourceRequirement[];\n}\n\n/** ──────────────────────────────────────────────────────────────\n * Internal Schemas (concrete, for method access)\n * ────────────────────────────────────────────────────────────── */\n\nexport const FrontendResourceOperationContextSchema = FrontendResourceOperationPathSchema.extend({\n // operation is typed as z.any() in schema — the FrontendResourceOperationContext interface\n // provides proper typing (FrontendResourceConfiguration_Operation) for compile-time consumers\n operation: z.any(),\n contextResourceIdentifiers: z.record(z.string(), z.union([\n z.string(),\n z.object({\n fieldIdentifier: z.string(),\n resourceId: z.string()\n })\n ])),\n additionalContext: z.record(z.string(), z.unknown()).optional(),\n});\n\n\n/**\n * Frontend-native resource configuration types.\n *\n * Defines the complete frontend configuration for resources and their operations,\n * independent of app type. This replaces the legacy per-app discriminated\n * `ResourceOperationFrontendConfig`.\n *\n * The resource-level fields (labels, sections, views, empty state, guidance) are\n * written to `FrontendResourceConfiguration.frontendConfiguration` during registry\n * build. The `views` sub-field provides per-operation frontend config — giving\n * a single, self-contained definition of how each resource appears and behaves in\n * a given frontend application.\n *\n * **How to use (authoring):** in app code, build a `ResourceUIBehavior` map with\n * `resourceUIBehavior(factory, schema, callback)` and merge presets; the framework\n * compiles that into `FrontendResourceConfiguration` entries. The types below\n * (`ResourceUIBehavior_EmptyState`, `ResourceLayoutConfig`, …) are the pieces you\n * pass inside that callback’s return value.\n */\n\n\n\n// ── Resource frontend config sub-types ──────────────────────────────\n\n/** Secondary action type for empty state (link to URL vs guidance flow). */\nexport enum ResourceFrontend_EmptyStateSecondaryActionType {\n LINK = 'link',\n GUIDANCE = 'guidance',\n}\n\n/** Trigger type for resource-level guidance flows. */\nexport enum ResourceFrontend_GuidanceFlowTriggerType {\n FIRST_VISIT = 'FIRST_VISIT',\n MANUAL = 'MANUAL',\n DELAYED = 'DELAYED',\n EVENT = 'EVENT',\n}\n\n/**\n * Empty state configuration for list/table views when no items exist.\n * Labels (title, description, primaryActionLabel) come from i18n.\n *\n * @example\n * ```\n * emptyState: {\n * icon: 'inbox',\n * primaryAction: CoreResourceOperation.CREATE,\n * secondaryAction: { type: ResourceFrontend_EmptyStateSecondaryActionType.LINK, target: 'https://docs.example.com/projects' },\n * }\n * ```\n */\nexport interface ResourceUIBehavior_EmptyState {\n /** Icon ref from the icon registry. If not provided, uses a default empty-state icon. */\n icon?: string;\n /**\n * Operation ref for the primary CTA (e.g., `CoreResourceOperation.CREATE`).\n * If not provided, auto-detects CREATE from available operations.\n * Set to `false` to explicitly disable the primary action button.\n */\n primaryAction?: string | false;\n /** Secondary action — link to docs, guidance flow, or external URL. */\n secondaryAction?: {\n type: ResourceFrontend_EmptyStateSecondaryActionType;\n target: string;\n };\n}\n/**\n * Single guidance element within a resource-level guidance flow.\n * Maps to an OnboardingElement during compilation.\n */\nexport interface ResourceFrontend_GuidanceElement {\n type: OnboardingElementType;\n ref: string;\n targetField?: string;\n targetSelector?: string;\n placement?: TourStepPlacement;\n actionRef?: string;\n steps?: Array<{ ref: string; targetField?: string; targetSelector?: string; placement?: TourStepPlacement }>;\n questions?: Array<{ id: string; type: string; required?: boolean; options?: Array<{ ref: string; value?: string }> }>;\n}\n\n/**\n * Resource-level guidance flow declaration.\n * Compiled into a standard `GuidanceFlowDefinition` by the guidance-resource-compiler.\n */\nexport interface ResourceUIBehavior_GuidanceFlow {\n ref: string;\n bindToOperation: string;\n renderMode: GuidanceRenderMode;\n trigger: {\n type: ResourceFrontend_GuidanceFlowTriggerType;\n delayMs?: number;\n eventName?: string;\n };\n scope?: GuidanceFlowScope;\n audience?: GuidanceAudience;\n priority?: number;\n elements: ResourceFrontend_GuidanceElement[];\n}\n\n// ── Operation key ───────────────────────────────────────────────────\n\n/**\n * @wildo_source:part:start saas.frontend.operation-key-and-resource-config-like facet:layer:frontend facet:family:resource-ui\n *\n * Key identifying a resource operation in the frontend preset.\n *\n * - `string` — default operation (e.g., `CoreResourceOperation.READ`)\n * - `readonly [string, string]` — non-default variant: `[operationIdentifier, variantKey]`\n * (e.g., `[CoreResourceOperation.READ, 'admin']`)\n *\n * The same extracted span also includes `FRONTEND_SCHEMA_KEY`, `ObjectShape`,\n * `ResourceConfigLike`, and `TypedOperationKey` — the schema bridge and typed\n * operation keys used by `resourceUIBehavior()` inference.\n */\nexport type OperationKey = string | readonly [string, string];\n\n\n// ── Schema bridge key ───────────────────────────────────────────────\n\n/**\n * Symbol key used internally by `resourceUIBehavior()` to attach the schema\n * reference to the config object, and by `buildFrontendResourceConfigurations()`\n * to extract it. Using a Symbol prevents collision with user-defined properties\n * and is invisible in Object.keys()/JSON serialization.\n */\nexport const FRONTEND_SCHEMA_KEY: unique symbol = Symbol('frontendSchema');\n\n\n// ── Typed helper types ──────────────────────────────────────────────\n\n/** Extracts the typed shape from a ZodObject, falls back to Record for non-objects. */\nexport type ObjectShape<T extends z.ZodTypeAny> =\n T extends z.ZodObject<infer S> ? S : Record<string, z.ZodTypeAny>;\n\n/**\n * Accepts both factory functions and configuration instances for type inference.\n * Used by `resourceUIBehavior()` to infer generics from either form.\n */\nexport type ResourceConfigLike<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n> = ResourceConfiguration<TCustomOp, TCoreOp, TSchema>\n | ResourceConfiguration_InitializationFactory<TCustomOp, TCoreOp, TSchema>;\n\n/**\n * Typed operation key — extends `ValidOperationKeys` with variant tuple support.\n * When both generics default to `any`, collapses to `any` — backward compatible\n * with untyped `OperationKey` usage.\n */\nexport type TypedOperationKey<\n TCustomOp extends EnumLikeType | undefined = any,\n TCoreOp extends Partial<CoreResourceOperation> | undefined = any,\n> = ValidOperationKeys<TCustomOp, TCoreOp> | readonly [ValidOperationKeys<TCustomOp, TCoreOp>, string];\n/** @wildo_source:part:end saas.frontend.operation-key-and-resource-config-like */\n\n// ── Operation-level frontend config ─────────────────────────────────\n\n/**\n * @wildo_source:part:start saas.frontend.resource-operation-frontend-config facet:layer:frontend facet:family:resource-ui\n *\n * How a resource collection renders its items (cards vs table). A FRONTEND\n * presentation vocabulary — authored on a LIST/SEARCH operation's\n * `collectionDisplayConfig` (below) in the resource UI behavior, NEVER on the\n * shared resources-config operation: the backend has no notion of cards-vs-table.\n * The string values are the persisted view-mode keys, so a stored user choice\n * reads straight across.\n *\n * @example\n * // resource UI behavior `views` entry:\n * [Op.LIST, { collectionDisplayConfig: { displayMode: CollectionDisplayMode.TABLE, userSwitchableDisplayMode: true } }]\n */\nexport enum CollectionDisplayMode {\n /** Stacked cards — one row per item via `ResourceListItemRenderer`. */\n CARDS = 'cards',\n /** Dense table — one column per summary field via the table body. */\n TABLE = 'table',\n}\n\n/**\n * How CARDS-mode items are arranged. Orthogonal to {@link CollectionDisplayMode}\n * (this only shapes the CARDS body; TABLE ignores it). LIST and GRID are kept as\n * DISTINCT layouts, not a `columns: 1` collapse — a list is bordered rows sharing\n * one container (`divide-y`), a grid is separated card cells in N responsive\n * columns.\n */\nexport enum CardLayoutStyle {\n /** Bordered rows in a single shared container (the classic stacked list). */\n LIST = 'list',\n /** Separated card cells laid out in an N-column responsive grid. */\n GRID = 'grid',\n}\n/** @wildo_source:part:end saas.frontend.resource-operation-frontend-config */\n\n/**\n * @wildo_source:part:start saas.frontend.resource-operation-frontend-config facet:layer:frontend facet:family:resource-ui\n *\n * Frontend configuration for a single resource operation.\n *\n * Controls how the operation is surfaced in the frontend:\n * - `surface` — the operation's frontend surface: `ADDRESSABLE` (routable page),\n * `EMBEDDED` (non-addressable view rendered within a host: overlay, composite, or\n * nested), or `API_ONLY` (headless — no interface, callable as an API). See\n * `ResourceOperationFrontendSurface`.\n * - `customView` — direct UIBehavior-owned React component override for authored custom operation views.\n * Use the exported operation-family component types (`ResourceReadCustomViewComponent`,\n * `ResourceListCustomViewComponent`, etc.) plus the matching\n * `useReadOperationSurface()` / `useListOperationSurface()` helpers when you\n * want a strongly truthful custom host for a specific layout family.\n * - `displayPresetOverride` — layout preset override for the operation's UI\n * - `navigationOverrides` — per-operation navigation transition overrides\n * - `displayPriority` — visual ordering in ActionBar/operation lists (lower = higher priority)\n * - `iconOverride` — per-operation icon ref (overrides resource-level icon in navigation items)\n * - `collectionDisplayConfig` — for LIST/SEARCH collection operations: the default\n * cards-vs-table body (`displayMode`) and whether the user may toggle it\n * (`userSwitchableDisplayMode`, persisted per resource type); the CARDS\n * arrangement (`cardLayout` — LIST vs N-column GRID); where each card's action\n * buttons sit (`cardActionPlacement` — 2-axis anchor + orientation); and\n * whether items are selectable for bulk actions (`selectable`). Pure frontend\n * presentation; the backend never reads it.\n *\n * **Resource-owned inserted views are NOT configured here.** Composite, chart,\n * and execution views declared on the resource UI behavior surface themselves\n * into their targeted operation host directly, via their own canonical fields:\n * `compositeViews[*].operationLike` / `chartViews[*].operationLike` (single)\n * and `executionViews[*].surfaceInOperations` (list). The layout consumer\n * (`ResourceLayout_InsertedViews`) reads those declarations and filters them\n * by the current operation at render time — there is no operation-level\n * view-ref list to author or compile.\n *\n * **Historical note (search hit):** earlier versions of this schema exposed an\n * `additionalViews: ResourceViewRef[]` (and before that `additionalViewLinks:\n * string[]`) operation-level field that authored which resource-owned views\n * surfaced in this operation. That field was removed in the\n * `resource-owned-view-surfacing-contract.md` workstream because it duplicated\n * the per-view declaration sites (`compositeViews`, `chartViews`,\n * `executionViews`) and could silently disagree with them. If you are looking\n * for `additionalViews` because a doc, comment, prompt, or downstream code\n * still references it, the answer is: declare the surface on the view itself\n * (use `operationLike` for composite/chart, `surfaceInOperations` for\n * execution), do not re-introduce an operation-level seam.\n */\n/**\n * How an operation's ACTION (its action-bar button) is surfaced in this application.\n *\n * A per-app, **display-only** axis — backend authorization is unaffected, roles\n * remain the only security authority, so this never makes an operation reachable\n * that wasn't already; it only governs the button.\n */\nexport enum ActionVisibility {\n /** Always shown; rendered DISABLED when its `enabledCondition` is unmet. The default. */\n ALWAYS = 'always',\n /**\n * Never shown — this app declares the operation's action off for this surface.\n *\n * Invariant: do NOT pair with a visible (addressable) view for the same operation.\n * The action is the entry point to the view, so a visible view whose action is\n * hidden is contradictory — there is no way to reach it. Hiding the action removes\n * the operation, and the path to any view it has, from this app's UI.\n */\n HIDDEN = 'hidden',\n /**\n * Shown ONLY when its `enabledCondition` is met; HIDDEN (not disabled) otherwise.\n *\n * For state-conditional operations whose disabled state is just noise — e.g.\n * organization `ACTIVATE` appears on a suspended org but vanishes on an active one,\n * rather than sitting there greyed out.\n */\n WHEN_AVAILABLE = 'when_available',\n}\n\n/**\n * Where an operation's ACTION sits in the action bar for this application.\n *\n * A per-app, **display-only** layout axis, orthogonal to authorization. When\n * omitted, placement is DERIVED from the operation's `riskLevel`: HIGH/CRITICAL\n * operations default to `DANGER_ZONE`, everything else to `PRIMARY`. Set it\n * explicitly to override that default — e.g. tuck a non-risky-but-rare action\n * into the danger zone, or keep a CRITICAL action inline in a dedicated admin\n * tool. The same axis drives the bulk action bar, since both are built from the\n * same operation pipeline.\n */\nexport enum ActionPlacement {\n /** Inline in the main action group. The default for low/medium-risk operations. */\n PRIMARY = 'primary',\n /**\n * Segregated into a trailing \"danger zone\" group, fenced off by a separator,\n * after every PRIMARY action. The default for HIGH/CRITICAL-risk operations\n * (destructive deletes, lifecycle suspends).\n */\n DANGER_ZONE = 'danger_zone',\n}\n\n/**\n * HOW an operation's action collects its input and shows its result — the chrome the user meets\n * when they click the button.\n *\n * ## Why this axis exists\n *\n * Until this axis, one rule decided the answer for every custom operation:\n * *has a `requestDto` ⇒ navigate*. So an action asking for a single reason string got the same\n * full-page treatment as a multi-step wizard, and the only way out was to author\n * `navigationOverrides` — per operation, in terms of a zone, a transition verb and an appearance.\n * Three concepts to answer one question.\n *\n * This is that one question. It is a **display-only** axis: backend authorization is untouched and\n * `roles` remain the only security authority, exactly like its siblings {@link ActionVisibility},\n * {@link ActionPlacement} and {@link ResourceOperationActionScope}.\n *\n * ## It is an ALIAS, not a parallel mechanism\n *\n * `MODAL` and `PAGE` do not render anything themselves — they resolve to the navigation transitions\n * that already exist (`OVERLAY`, and the ordinary chain), so there is one runtime mechanism and one\n * set of zone/appearance/URL semantics. `DIRECT`, `POPOVER` and `INLINE` never enter navigation at\n * all, because none of them is a destination: nothing is pushed, no zone changes, and there is\n * nothing for a back button to pop. `INLINE` is hosted by the collection the element belongs to —\n * see `InPlaceOperationContext` for why that is not the navigation layer's job.\n *\n * Consequently an explicit `navigationOverrides` entry still WINS over a presentation authored here\n * (it is the more specific instrument, and it is checked first in the resolution chain). Author this\n * axis to say what KIND of chrome the action wants; author `navigationOverrides` when you need to\n * name the zone, the appearance or the viewport yourself.\n *\n * ## When omitted\n *\n * It is DERIVED from the operation — see `resolveResourceOperationActionPresentation()`. An\n * operation that asks for nothing executes directly; a small field set opens a modal; input the\n * framework cannot fit in an overlay (files, nested writes, a large field set) keeps the page it\n * has always had. An operation whose `surface` is `ADDRESSABLE` always keeps its page: the author\n * has already said it is a deep-linkable destination.\n */\nexport enum ResourceOperationActionPresentation {\n /**\n * Execute on click, with no form at all — the confirmation dialog for a risky operation is the\n * only thing between the click and the request.\n *\n * Only meaningful for an operation that needs no caller input. Declaring it on an operation that\n * DOES have required request fields would send an empty body, so the resolver refuses to derive it\n * there and an author who declares it anyway gets the operation's fields dropped — check\n * `requestDto` before reaching for this.\n */\n DIRECT = 'direct',\n /**\n * A small form anchored to the button that opened it, dismissed by clicking away.\n *\n * The single-input idiom (\"assign to…\", \"snooze until…\"). Transient by construction: no URL, no\n * history entry, nothing to deep-link. Use it when the surrounding context is the point — the user\n * is reading the row they are acting on and must not lose sight of it.\n */\n POPOVER = 'popover',\n /**\n * The element being acted on transforms in place to collect the input, leaving its neighbours\n * visible — the row becomes the form rather than being covered by one.\n *\n * Use it when the surrounding rows are the point: the user is comparing, and an overlay would hide\n * the very thing that made them act on this row.\n *\n * **Transient, like {@link POPOVER}, and for the same reason.** Nothing is pushed, no URL changes,\n * and a reload returns the list to rest. An inline row-edit is a momentary state of a listing, not\n * a place — which is also why no admin framework deep-links one, and why anything that SHOULD be\n * linkable, reloadable or reachable by a back button wants {@link PAGE}.\n *\n * **It requires a collection.** The host is provided by the list the element belongs to\n * (`InPlaceOperationProvider`); the same action rendered on a detail page, in a danger zone or in a\n * picker has no row to transform and degrades to an overlay rather than becoming a dead button.\n *\n * Note it does NOT resolve to `NavigationTransition.INPLACE`. Element-level hosting uses none of\n * what the navigation layer offers — no zone, no stack entry, no appearance — and routing it there\n * is exactly why that transition has never done what its own docstring promises. See\n * `InPlaceOperationContext`.\n */\n INLINE = 'inline',\n /**\n * An overlay above the layout — the workhorse for \"a handful of fields\", and the default the\n * derivation reaches for.\n *\n * Resolves to {@link NavigationTransition.OVERLAY}. The concrete appearance (dialog / sheet /\n * drawer / panel) stays the app's decision, resolved from its navigation layout exactly as any\n * other overlay: this axis says \"an overlay\", not \"a dialog specifically\". Author\n * `navigationOverrides` when you need to name one.\n */\n MODAL = 'modal',\n /**\n * A routable page, resolved through the ordinary navigation chain (zone transitions, viewport\n * overrides, the framework `PUSH` fallback) — i.e. exactly the behaviour every parameterised\n * action had before this axis existed.\n *\n * The right answer for complex or multi-step input, and for anything a user should be able to\n * link to, reload, or reach with a back button.\n */\n PAGE = 'page',\n}\n\n/**\n * Does an operation's action target a SINGLE resource instance, or the WHOLE\n * collection in the current scope?\n *\n * A per-app **surfacing** axis, orthogonal to authorization. Most actions are\n * `ITEM` (edit / delete / retry one row) and render in the per-row and detail\n * action bars. A `COLLECTION` action operates on every row in scope at once\n * (e.g. \"retry all failed deliveries\", \"purge the queue\"): it renders ONCE in\n * the list's collection-action surface (the toolbar), never per row, and\n * confirms + executes in place rather than opening a per-row form.\n *\n * For a `COLLECTION` action to have a callable route, its operation must borrow\n * a COLLECTION verb via `resourceOperationLike` (`UPDATE_MANY` / `DELETE_MANY` /\n * `CREATE_MANY`) — an entity verb (`UPDATE` / `DELETE`) generates a route with a\n * `:id` segment the scope-level surface has no single row to fill.\n */\nexport enum ResourceOperationActionScope {\n /** Targets one resource instance — the per-row / detail action bars. The default when omitted. */\n ITEM = 'item',\n /** Targets the whole collection in scope — rendered once in the list's collection-action surface. */\n COLLECTION = 'collection',\n}\n\n/**\n * What happens to an operation's action when its `enabledCondition` is currently\n * unmet — the per-view default for actions that don't declare an explicit\n * `actionVisibility`. An explicit per-operation `actionVisibility` always wins\n * over this policy; feature-gated unavailability keeps its own\n * `FeatureUnavailabilityBehavior` (upgrade/prompt) and is never hidden by this.\n *\n * - `HIDE` — drop the action entirely while unavailable (as if it declared\n * `ActionVisibility.WHEN_AVAILABLE`). The framework default for BOTH views: a\n * greyed, non-actionable button is noise wherever it sits, and hiding it also\n * collapses mutually-exclusive state pairs (e.g. \"Set as recurring\" / \"Set as\n * one time\") down to the one that currently applies.\n * - `SHOW_DISABLED` — render the action greyed/disabled (the classic behavior).\n * Opt in per view when the disabled action + its reason tooltip is genuinely\n * informative and you want it always present.\n */\nexport enum DisabledActionHandling {\n SHOW_DISABLED = 'show_disabled',\n HIDE = 'hide',\n}\n\n/**\n * Per-view action-surfacing (disclosure) policy — how many actions stay visible\n * and how unavailable ones are treated, for ONE {@link ResourceOperationDisplayMode}.\n */\nexport interface ResourceActionDisclosureConfig {\n /**\n * How many PRIMARY actions render as direct buttons before the remainder\n * collapse into the `…` overflow menu. Omitted inherits the framework default\n * for the view ({@link DEFAULT_ACTION_DISCLOSURE}): 3 for SUMMARY, unlimited\n * for DETAIL. `0` pushes every action into the menu.\n */\n maxPrimaryActions?: number;\n /**\n * Default handling for actions disabled by an unmet `enabledCondition` — see\n * {@link DisabledActionHandling}. Omitted inherits the framework default,\n * which is `HIDE` for both views (set `SHOW_DISABLED` here to keep disabled\n * actions greyed-but-present for a view).\n */\n disabledActionHandling?: DisabledActionHandling;\n}\n\n/** Fully-resolved disclosure policy (no optional fields) for one view. */\nexport interface ResolvedActionDisclosure {\n /** `undefined` = unlimited (no overflow cap). */\n maxPrimaryActions: number | undefined;\n disabledActionHandling: DisabledActionHandling;\n}\n\n/**\n * Framework defaults per view. Both views HIDE actions disabled by an unmet\n * `enabledCondition` — an inapplicable, greyed button is noise everywhere, so\n * the bar only ever shows actions the user can actually take right now. They\n * differ on the overflow cap: SUMMARY (dense list/table rows) shows at most 3\n * direct actions before the `…` menu; DETAIL (roomy read view) is uncapped.\n * A resource that WANTS the informative greyed-with-reason affordance opts into\n * `SHOW_DISABLED` per view via `layout.actionDisclosure`.\n */\nexport const DEFAULT_ACTION_DISCLOSURE: Record<ResourceOperationDisplayMode, ResolvedActionDisclosure> = {\n [ResourceOperationDisplayMode.SUMMARY]: {\n maxPrimaryActions: 3,\n disabledActionHandling: DisabledActionHandling.HIDE,\n },\n [ResourceOperationDisplayMode.DETAIL]: {\n maxPrimaryActions: undefined,\n disabledActionHandling: DisabledActionHandling.HIDE,\n },\n};\n\n/**\n * Resolve the effective disclosure policy for a view: per-resource override\n * (`layout.actionDisclosure[view]`) layered over the framework default. Used by\n * both the action-building hook (disabled handling) and the operations-items\n * host (overflow cap).\n */\nexport function resolveActionDisclosure(\n displayMode: ResourceOperationDisplayMode,\n disclosure: Partial<Record<ResourceOperationDisplayMode, ResourceActionDisclosureConfig>> | undefined,\n): ResolvedActionDisclosure {\n const base = DEFAULT_ACTION_DISCLOSURE[displayMode] ?? DEFAULT_ACTION_DISCLOSURE[ResourceOperationDisplayMode.DETAIL];\n const override = disclosure?.[displayMode];\n return {\n maxPrimaryActions: override?.maxPrimaryActions ?? base.maxPrimaryActions,\n disabledActionHandling: override?.disabledActionHandling ?? base.disabledActionHandling,\n };\n}\n\n/**\n * 2-axis card action-button placement. Single source of truth for the config\n * field AND the `card-action-placement.utils` resolver (which imports the\n * `CardActionPlacement` type inferred from this schema, so the two can never\n * drift). `MIDDLE × MIDDLE` is rejected — dead-center overlaps the card content.\n */\nexport const CardActionPlacementSchema = z.object({\n vertical: z.enum(VerticalPlacement),\n horizontal: z.enum(HorizontalPlacement),\n orientation: z.enum(DisplayDirection).optional(),\n}).refine(\n (p) => !(p.vertical === VerticalPlacement.MIDDLE && p.horizontal === HorizontalPlacement.MIDDLE),\n { message: 'cardActionPlacement cannot be MIDDLE × MIDDLE (dead-center overlaps card content); choose an edge or corner.' },\n);\n\n/** Authored 2-axis card action placement — inferred from {@link CardActionPlacementSchema}. */\nexport type CardActionPlacement = z.infer<typeof CardActionPlacementSchema>;\n\n/**\n * Who paints the identity GLYPH on this operation's page header.\n *\n * The header band renders the resource's registry icon beside the identity line by default. A\n * `layout.header` template that composes its own record-linked glyph (a per-row kind icon, a\n * per-family symbol) would otherwise sit BESIDE the resource icon — two glyphs naming one thing.\n *\n * Declared at the OPERATION layer rather than detected from the template, deliberately: the\n * resource icon renders before the template mounts, so detection could only suppress it after the\n * fact — a glyph that flashes and vanishes on every load. Mirrors\n * `SummaryTitlePlacement.TEMPLATE_OWNED`, the same contract one surface over: ceding a\n * framework-owned element to the template is a declaration, not an inference.\n */\nexport enum HeaderIconPlacement {\n /** The framework renders the resource's registry icon (default). */\n AUTO = 'auto',\n /** The header template owns the glyph; the framework renders none. */\n TEMPLATE_OWNED = 'template_owned',\n}\n\nexport const ResourceOperationFrontendConfigSchema = z.object({\n /**\n * The operation's frontend **surface** — see {@link ResourceOperationFrontendSurface}.\n * `ADDRESSABLE` (routable page) and `EMBEDDED` (non-addressable view rendered within\n * a host — overlay/composite/nested) both have a view + action button; `API_ONLY` is\n * headless (no view, no button). The view fields below (`actionVisibility`,\n * `customView`, `iconOverride`, layout, …) apply only to `ADDRESSABLE`/`EMBEDDED`; a\n * build-time check rejects them on `API_ONLY`.\n * Replaces the former `isAddressable` boolean — read via `isOperationAddressable()`.\n */\n surface: z.enum(ResourceOperationFrontendSurface),\n /** Who paints the page header's identity glyph — see {@link HeaderIconPlacement}. Omitted = AUTO. */\n headerIconPlacement: z.enum(HeaderIconPlacement).optional(),\n /**\n * How this operation's action is surfaced — see {@link ActionVisibility}. Omitted\n * (the common case) behaves as `ALWAYS`.\n */\n actionVisibility: z.enum(ActionVisibility).optional(),\n /**\n * Where this operation's action sits in the bar — see {@link ActionPlacement}.\n * Omitted derives from `riskLevel` (HIGH/CRITICAL → danger zone, else primary).\n */\n actionPlacement: z.enum(ActionPlacement).optional(),\n /**\n * Visual button variant (colour) for this operation's action — a\n * `ButtonVariants_Variant` (e.g. `DESTRUCTIVE`, `GHOST`, `ACCENT`). Omitted\n * derives from `riskLevel` (HIGH/CRITICAL → destructive/red, else ghost). Typed\n * on the interface below; the Zod field stays `z.any()` because the enum lives\n * in a component module a schema must not pull at runtime (same as `iconOverride`).\n */\n actionVariant: z.any().optional(),\n /**\n * Does this action target one row or the whole collection — see\n * {@link ResourceOperationActionScope}. Omitted behaves as `ITEM`. A\n * `COLLECTION` action renders once in the list's collection-action surface\n * (never per row) and confirms + executes in place; pair it with a COLLECTION\n * `resourceOperationLike` (`*_MANY`) so its generated route carries no `:id`.\n */\n actionScope: z.enum(ResourceOperationActionScope).optional(),\n /**\n * For an `ITEM` action whose backend addresses the target row by a field in\n * the REQUEST BODY (not the URL id), the request-DTO field name to fill with\n * the clicked row's id. When set, clicking the action executes IN PLACE —\n * sending `{ [rowTargetRequestField]: <rowId> }` — instead of opening a form:\n * e.g. a per-row \"Retry\" whose handler reads `{ entryId }` from the body. (The\n * row id still rides the URL path too, which the handler may ignore.)\n */\n rowTargetRequestField: z.string().optional(),\n /**\n * HOW this action collects its input — see {@link ResourceOperationActionPresentation}.\n * Omitted derives from the operation (`resolveResourceOperationActionPresentation`): no input\n * executes directly, a small field set opens a modal, complex input keeps its page.\n *\n * Display-only. An explicit `navigationOverrides` entry is the more specific instrument and wins\n * over whatever this resolves to.\n */\n actionPresentation: z.enum(ResourceOperationActionPresentation).optional(),\n customView: z.any().optional(),\n displayPresetOverride: z.object({\n resourceLayoutPresetKey: z.string().optional(),\n }).optional(),\n navigationOverrides: z.array(NavigationOperationOverrideSchema).optional(),\n displayPriority: z.number().optional(),\n iconOverride: z.any().optional(),\n collectionDisplayConfig: z.object({\n displayMode: z.enum(CollectionDisplayMode).optional(),\n userSwitchableDisplayMode: z.boolean().optional(),\n /**\n * Promote ONE enum filter field to a prominent quick-filter tab strip\n * rendered above the collection toolbar (\"All · <value> · <value> …\" —\n * the Stripe/Ignisign webhook-dashboard idiom, e.g. All/Delivered/Failed).\n *\n * The named field MUST be an enum member of the operation's backend\n * `filterFields` — the tabs write into the SAME filter state as the\n * filters panel (selecting a tab filters server-side), and the field is\n * removed from the panel/chips so there is never a second competing\n * control for it. Unknown / non-enum field names degrade gracefully\n * (no tab strip, field stays in the panel). Tab labels reuse the enum\n * value i18n (`tResourceFieldEnumValue`).\n */\n quickFilterField: z.string().optional(),\n /**\n * Group CARDS-mode rows into day buckets by this date field, rendering a\n * date heading between groups (activity-feed idiom for log-like\n * collections, e.g. webhook deliveries by day). Purely presentational:\n * grouping applies to the fetched page in its server order — pair it\n * with a default sort on the same field so buckets are contiguous.\n * Ignored in TABLE mode (column sorting owns the ordering there). Rows\n * whose field value is missing/unparsable render in a trailing bucket\n * without a date heading rather than being dropped.\n */\n temporalGroupField: z.string().optional(),\n /**\n * Group CARDS-mode rows into buckets by this ENUM field, rendering the\n * enum value's own label as a heading between groups.\n *\n * Sibling of {@link temporalGroupField}, and deliberately NOT the same\n * algorithm. Temporal grouping ADJACENT-MERGES in server order, because\n * dates are open-ended and a page can legitimately revisit one. An enum is\n * a CLOSED, ORDERED vocabulary, so its buckets are emitted in the enum's\n * DECLARATION ORDER regardless of the order rows arrived in — the\n * declaration is the authority for \"which concern comes first\", and a\n * server sort cannot express it without a second, drifting copy of that\n * order. Rows are therefore collected across the whole fetched page rather\n * than merged adjacently, and no sort needs pairing with it.\n *\n * Headings resolve through `tResourceFieldEnumValue` — the SAME source the\n * filters panel and the promoted quick-filter tabs use, so a bucket\n * heading and its tab can never disagree.\n *\n * Ignored in TABLE mode (column sorting owns the ordering there). Rows\n * whose value is absent, or outside the vocabulary, render in a trailing\n * bucket with no heading rather than being dropped — the same fail-open\n * the temporal grouping makes.\n */\n enumGroupField: z.string().optional(),\n /**\n * CARDS-mode arrangement — a single-column bordered LIST (default) or an\n * N-column responsive GRID. See {@link CardLayoutStyle}. `columns` (1–6) is\n * the TARGET maximum; the grid steps DOWN to fewer columns as the grid's own\n * available WIDTH narrows (an intrinsic `auto-fill minmax` track spec — so a\n * grid embedded in a narrow pane collapses even on a wide viewport, with no\n * media breakpoint). Authors give one N; the framework handles the rest.\n * Ignored in TABLE mode.\n *\n * @example\n * cardLayout: { style: CardLayoutStyle.GRID, columns: 3 }\n */\n cardLayout: z.discriminatedUnion('style', [\n z.object({ style: z.literal(CardLayoutStyle.LIST) }),\n z.object({\n style: z.literal(CardLayoutStyle.GRID),\n columns: z.number().int().min(1).max(6),\n }),\n ]).optional(),\n /**\n * Where each card's per-item action buttons sit, as a 2-axis anchor:\n * `vertical` ({@link VerticalPlacement} TOP/MIDDLE/BOTTOM) × `horizontal`\n * ({@link HorizontalPlacement} START/MIDDLE/END, RTL-aware). `orientation`\n * ({@link DisplayDirection}) lays the button set out as a row (HORIZONTAL,\n * default) or a vertical stack (VERTICAL). Omitted → the classic\n * MIDDLE × END horizontal row.\n *\n * `MIDDLE × MIDDLE` is rejected (dead-center overlaps the card content and\n * has no sensible meaning).\n *\n * @example\n * cardActionPlacement: { vertical: VerticalPlacement.TOP, horizontal: HorizontalPlacement.END }\n */\n cardActionPlacement: CardActionPlacementSchema.optional(),\n /**\n * Enable per-item SELECTION (checkboxes on cards / a select column in the\n * table) and the resulting BULK ACTION bar. Explicit opt-in per view. The\n * bar surfaces only operations declared `isBulkOperation` — a `selectable`\n * view with no bulk operations shows checkboxes that drive an empty bar, so\n * pair it with at least one bulk operation. Selection state is shared across\n * the cards↔table toggle (it does not reset when switching modes).\n */\n selectable: z.boolean().optional(),\n }).optional(),\n /**\n * Opt this operation into a generated per-operation description label\n * (`resources.{res}.operations.{op}.description`, read via `tResourceOperation`).\n * Default off — most operations need no description (making it mandatory for\n * every operation is far too verbose). Surfaces that show one (e.g. the danger\n * zone) fall back to risk-based copy when this is unset. Mirrors how fields opt\n * into a description via the `.describe()` decorator.\n */\n hasDescription: z.boolean().optional(),\n /**\n * What happens to an ADJACENT zone (secondary / companion) this operation\n * splits into, once that zone's last content is dismissed — overriding the\n * zone's own `onEmpty` while this operation occupies primary.\n *\n * The zone-level `ZoneConfig.onEmpty` is one value for every destination that\n * splits into that zone, and destinations legitimately disagree: a LIST wants\n * the detail pane to stay put (`EMPTY_STATE`) so the layout does not reflow\n * while a reviewer steps through rows, while a CANVAS wants its width back\n * (`COLLAPSE`) the moment nothing is selected. Both share one secondary zone,\n * so without this override one of them is always wrong.\n *\n * Declared on the SOURCE operation — the one occupying primary — not on the\n * operation that lands in the pane: it answers \"what should MY layout do when\n * the detail closes\", which is a property of the surface being returned to.\n *\n * Omitted (the common case) defers to the zone, which itself defaults to\n * `ZoneEmptyBehavior.COLLAPSE`. Resolution order is destination → zone →\n * COLLAPSE; see `resolveZoneEmptyBehavior`.\n */\n adjacentZoneOnEmpty: z.enum(ZoneEmptyBehavior).optional(),\n /**\n * How wide this destination's content may grow in the zone, in the framework's shared width\n * vocabulary — the SAME `ResponsiveMaxWidth` a Surface, a `DisplayLayout` and a `FormLayout` use.\n *\n * Omitted (the common case) is `'content'`: capped and centred at `var(--content-max-width, 80rem)`,\n * right for a form, a list or a detail page and wrong only for content whose value IS the space it\n * occupies — a board, a wide table, a canvas — which declare `'none'`.\n */\n zoneContentMaxWidth: z.enum(RESPONSIVE_MAX_WIDTH_VALUES).optional(),\n /**\n * Whether this destination's content fills the zone's HEIGHT as well.\n *\n * `true` makes the zone's content boundary a definite-height flex column, so this view's root may use\n * `flex-1 min-h-0` and resolve against something real. Without it a canvas has no intrinsic height\n * and collapses to zero — which is why one had to hand-roll `h-[70vh]`, sizing against the WINDOW\n * rather than the container it sits in. PRIMARY only: an adjacent zone scrolls, so a filling child\n * and a scrolling parent contradict each other.\n *\n * Separate from the width above ON PURPOSE — see `zone-content-geometry.ts` for why the enum that\n * fused them could not express a capped width with a definite height.\n */\n zoneContentFillsHeight: z.boolean().optional(),\n});\n\n/**\n * TypeScript interface for `ResourceOperationFrontendConfigSchema`.\n * `iconOverride`, `customView`, and `actionVariant` are typed with their real\n * React/enum values even though the Zod schema uses `z.any()` — Zod cannot\n * validate function types, and `actionVariant`'s enum lives in a component\n * module the schema must not import at runtime.\n */\nexport type ResourceOperationFrontendConfig = Omit<z.infer<typeof ResourceOperationFrontendConfigSchema>, 'iconOverride' | 'customView' | 'actionVariant'> & {\n iconOverride?: IconLike;\n customView?: React.ComponentType;\n actionVariant?: ButtonVariants_Variant;\n};\n/** @wildo_source:part:end saas.frontend.resource-operation-frontend-config */\n\n/**\n * Is this operation's frontend surface URL-addressable (a routable page)?\n *\n * The canonical replacement for the former `isAddressable` boolean field — read\n * `surface` rather than storing addressability, so the three surfaces stay a\n * single source of truth. Safe on `undefined` (an operation whose frontend\n * config has not been resolved yet is treated as not addressable).\n */\nexport function isOperationAddressable(\n config?: Pick<ResourceOperationFrontendConfig, 'surface'>,\n): boolean {\n return config?.surface === ResourceOperationFrontendSurface.ADDRESSABLE;\n}\n\n/**\n * Is this operation headless — callable as an API with no rendered interface\n * (no page, no overlay, no action button)? See {@link ResourceOperationFrontendSurface.API_ONLY}.\n */\nexport function isOperationHeadless(\n config?: Pick<ResourceOperationFrontendConfig, 'surface'>,\n): boolean {\n return config?.surface === ResourceOperationFrontendSurface.API_ONLY;\n}\n\n/**\n * Does this operation's action target the whole collection in scope, rather than\n * a single row? See {@link ResourceOperationActionScope}. Safe on `undefined`\n * (treated as `ITEM`). Collection-scoped actions render ONLY in the list's\n * collection-action surface (the toolbar) and are excluded from the per-row,\n * detail, danger-zone, and bulk bars.\n */\nexport function isCollectionScopedOperation(\n config?: Pick<ResourceOperationFrontendConfig, 'actionScope'>,\n): boolean {\n return config?.actionScope === ResourceOperationActionScope.COLLECTION;\n}\n\n/**\n * Resource-owned **composite** templates keyed by view ref (authoring form).\n *\n * **How to use:** set `compositeViews` on `ResourceUIBehaviorConfig` to\n * `ResourceCompositeViewAuthoringConfig` objects. Each composite renders\n * inside exactly one resource operation host, declared via\n * {@link ResourceCompositeViewAuthoringConfig.operationLike} (defaulting to\n * `CoreResourceOperation.READ`). Prefer `executionViews` / `chartViews` for\n * those families instead of overloading composites.\n *\n * Note: this type is **distinct** from `AppCompositeViewsConfig`. Only\n * resource composites carry `operationLike`, because app-level composites have\n * no resource operation host to surface into.\n */\nexport type ResourceCompositeViewsConfig = Record<string, ResourceCompositeViewAuthoringConfig>;\n\n\n// ── Resource-level label function params ────────────────────────────\n\n/**\n * Parameters passed to `getFrontendResourceLabel` functions.\n *\n * Generic `TMainSchema` defaults to `z.ZodAny` — presets and records use the\n * default (giving `currentObject: any`), while app-level configs can narrow it\n * to a concrete schema for type-safe field access.\n */\nexport type ResourceUIBehaviorLabelParams<TMainSchema extends z.ZodTypeAny = z.ZodAny> = {\n currentObject: z.infer<TMainSchema>;\n objectContext: any;\n initiatorUserContext?: any;\n t: (toTranslate: string, params?: Record<string, any>) => string;\n};\n\n// ── Layout system types (Phase 5) ───────────────────────────────────\n\n/** @wildo_source:part:start saas.frontend.resource-layout-templates facet:layer:frontend facet:family:resource-ui */\n/**\n * Static manifest of structural refs used in JSX templates.\n * Readable by the companion without JSX/AST parsing.\n *\n * Produces i18n keys:\n * - `resources.{type}.sections.{ref}.title`\n * - `resources.{type}.sections.{ref}.description`\n * - `resources.{type}.wizardSteps.{ref}.title`\n * - `resources.{type}.wizardSteps.{ref}.description`\n * - `resources.{type}.groups.{ref}.title`\n */\nexport interface LayoutRefManifest {\n /** Section names used in `<Section name=\"...\">` components. */\n sections?: string[];\n /** Wizard step names used in `<WizardStep name=\"...\">` components. */\n wizardSteps?: string[];\n /** Group names used in `<Group name=\"...\">` components. */\n groups?: string[];\n}\n\n/**\n * Layout template — a React component rendered inside the appropriate provider stack.\n *\n * - Edit context: rendered inside `<Form>` providers. Use `useFormTemplateContext()` for\n * labels/schema/operation and `useWatch()` for field-reactive branching.\n * - Display context: rendered inside `<DisplayTemplateProvider>` by `AutomaticDisplayer`.\n * Use `useDisplayTemplateContext()` for `data`, `isLoading`, `schema`, labels, and breakpoint.\n * - Summary context: same as display, rendered by `ResourceSummaryDisplayer` with\n * `disableInlineEdit={true}` and compact chrome (INLINE default).\n */\nexport type LayoutTemplate = React.ComponentType;\n\n/**\n * Resource layout configuration — template-based layout for forms and displays.\n *\n * Templates use skeleton components (`<FormField>`, `<Section>`,\n * `<WizardLayout>`, `<DisplayField>`, etc.) with Tailwind CSS for positioning.\n * Conditional visibility is handled with `useWatch()` and standard React conditionals.\n *\n * When no template is provided for a context, the framework generates a\n * default flat template at runtime from the schema.\n *\n * **How to use:** set `layout: { refs, edit, display, summary }` on the object returned\n * from `resourceUIBehavior()`. Every `<Section name=\"…\">`, `<WizardStep name=\"…\">`, and\n * `<Group name=\"…\">` in those templates should appear under `refs` for i18n and\n * companion validation. Omit `edit` / `display` / `summary` individually to keep the\n * auto-generated default for that context only.\n */\nexport interface ResourceLayoutConfig {\n\n /**\n * Companion-readable manifest of all structural names used in templates.\n * Required for i18n label generation.\n * Dev-time validation cross-checks manifest names against template `name` props.\n */\n refs?: LayoutRefManifest;\n\n /**\n * Default chrome mode for fields in each context.\n * Used when a field's `{primitive}UI.{context}.chromeMode` is not set.\n * Renderers read: `{primitive}UI.{context}.chromeMode ?? layout.defaultChromeMode.{context} ?? system-default`\n */\n defaultChromeMode?: {\n /** Default chrome for display context. */\n display?: ResponsiveAware<DisplayChromeMode>;\n /** Default chrome for summary context. */\n summary?: ResponsiveAware<DisplayChromeMode>;\n /** Default chrome for edit context. */\n edit?: ResponsiveAware<EditChromeMode>;\n };\n\n /**\n * Per-view override for how this resource's action buttons render their\n * label, keyed by {@link ResourceOperationDisplayMode} (`SUMMARY` = list/table\n * rows & cards, `DETAIL` = full read view). Overrides the app-wide theme\n * default (`ComponentStyleTheme.actionLabelDisplayMode`). Omit a key to\n * inherit the app default for that view.\n *\n * Precedence: `layout.actionLabelDisplayMode[view]` → app theme default → `TOOLTIP`.\n *\n * @example\n * // Dense list rows stay icon-only; the full detail view spells actions out.\n * actionLabelDisplayMode: {\n * [ResourceOperationDisplayMode.SUMMARY]: ActionLabelDisplayMode.TOOLTIP,\n * [ResourceOperationDisplayMode.DETAIL]: ActionLabelDisplayMode.INLINE,\n * }\n */\n actionLabelDisplayMode?: Partial<Record<ResourceOperationDisplayMode, ActionLabelDisplayMode>>;\n\n /**\n * Per-view action-surfacing (disclosure) policy — see {@link ResourceActionDisclosureConfig}.\n * Controls how many actions stay visible before overflow (`maxPrimaryActions`)\n * and whether actions disabled by an unmet `enabledCondition` are hidden or\n * greyed (`disabledActionHandling`), keyed by {@link ResourceOperationDisplayMode}.\n * Omit a view (or a field) to inherit the framework default\n * ({@link DEFAULT_ACTION_DISCLOSURE}): SUMMARY = { max 3, hide-disabled },\n * DETAIL = { unlimited, hide-disabled }.\n *\n * @example\n * // A busy list keeps just one action inline; the detail view spells them all out.\n * actionDisclosure: {\n * [ResourceOperationDisplayMode.SUMMARY]: { maxPrimaryActions: 1 },\n * }\n */\n actionDisclosure?: Partial<Record<ResourceOperationDisplayMode, ResourceActionDisclosureConfig>>;\n\n /**\n * Edit layout template — a `React.ComponentType` rendered inside `<Form>` providers.\n * The component is instantiated as `<EditTemplate />` and has access to\n * `useFormTemplateContext()` for labels/schema/operation and `useWatch()` for reactivity.\n * For operation-specific branching, read `operationType` from `FormTemplateContext`.\n * Standard `<FormField name=\"...\">` slots automatically honor upstream\n * generated replacements (for example relationship-backed fields reshaped by\n * `ResourceAutomatedForm`). When a generated override exists, that replacement\n * node owns its own chrome and ignores extra `FormField`-style props passed at\n * the template slot.\n */\n edit?: LayoutTemplate;\n\n /**\n * Display layout template — rendered for read-only detail views.\n * The component is instantiated inside `<DisplayTemplateProvider>` and has access to\n * `useDisplayTemplateContext()` for `data`, `isLoading`, `variant`, labels, and breakpoint.\n */\n display?: LayoutTemplate;\n\n /**\n * Header layout template — the record's IDENTITY LINE in the READ page header.\n *\n * The header band is framework-owned chrome (back button, breadcrumb, resource\n * icon, action cluster) wrapped around one middle region: the record's name.\n * Authoring this template cedes that middle region to the resource, so state\n * that belongs ON the identity line — a status badge, a visibility marker, an\n * accent swatch — sits beside the name instead of in a labelled strip below it.\n *\n * Rendered inside a display-template provider over the loaded record, so\n * `<DisplayField name=\"…\">` and `useDisplayTemplateContext()` work exactly as\n * they do in `display` / `summary`. Inline editing is off (the header shows\n * state, it does not edit it) and chrome defaults to `INLINE` so fields render\n * bare, without their labels.\n *\n * **Place `<ResourceHeaderTitle />` yourself.** The header stops rendering its\n * own title once this template exists, so a template that omits the element\n * produces a page with no record name (a dev warning names the resource).\n *\n * Distinct from `summary` on purpose: a card/FK-popover summary answers \"how\n * does this record identify itself in a LIST\", and commonly carries fields a\n * page header should not repeat. Both surfaces compose the same way; neither\n * inherits the other's body.\n *\n * @example\n * // Accent dot before the name, status badge after it, \"Public\" only when true:\n * header: () => {\n * const { data, fieldLabels } = useDisplayTemplateContext();\n * return (\n * <>\n * {Boolean(data?.color) && <ColorDot value={String(data.color)} />}\n * <ResourceHeaderTitle />\n * <DisplayField name=\"status\" hideLabel className=\"w-auto\" />\n * {Boolean(data?.isPublic) && <Badge>{fieldLabels.isPublic}</Badge>}\n * </>\n * );\n * }\n */\n header?: LayoutTemplate;\n\n /**\n * Summary layout template — rendered for cards, list items, FK references.\n * Typically a compact single-line or small card layout.\n * The component is instantiated inside `<DisplayTemplateProvider>` by `ResourceSummaryDisplayer`,\n * with `disableInlineEdit={true}` and chrome defaulting to `DisplayChromeMode.INLINE`.\n * Use `useDisplayTemplateContext()` for reactive data access.\n *\n * **The title is part of the template flow.** Wrap the body in `<SummaryLayout>`;\n * by default (`titlePlacement={AUTO}`) it renders the resource's primary label\n * (`<SummaryTitle />`) at the top, then your fields below — the classic\n * title-above-body card. To put something on the title's line (a status badge),\n * switch to `titlePlacement={TEMPLATE_OWNED}` and place `<SummaryTitle />`\n * yourself, typically inside a `<SummaryHeader>`:\n *\n * @example\n * // Title above a couple of fields (title rendered automatically):\n * summary: () => (\n * <SummaryLayout>\n * <DisplayField name=\"createdAt\" />\n * </SummaryLayout>\n * )\n *\n * @example\n * // Status badge inline with the title:\n * summary: () => (\n * <SummaryLayout titlePlacement={SummaryTitlePlacement.TEMPLATE_OWNED}>\n * <SummaryHeader>\n * <SummaryTitle />\n * <DisplayField name=\"status\" hideLabel />\n * </SummaryHeader>\n * <DisplayField name=\"createdAt\" />\n * </SummaryLayout>\n * )\n */\n summary?: LayoutTemplate;\n\n}\n/** @wildo_source:part:end saas.frontend.resource-layout-templates */\n\n\n// ── Relationship display overrides ──────────────────────────────────\n\n/**\n * Per-relationship display override declared on the **owning resource's** preset.\n *\n * Each entry targets a specific relationship by `target` resource type (and\n * optionally `foreignKeyField` for disambiguation when multiple relationships\n * exist to the same type). The `inParentNavigation` /\n * `inChildView` sub-objects are shallow-merged onto the relationship's shared\n * `display` config during registry build — frontend values win over shared defaults.\n *\n * **Ownership principle**: each resource configures its own view:\n * - `inParentNavigation` → \"how does navigation from **my view** to this child behave?\"\n * - `inChildView` → \"how does the parent reference appear **in my view** when I'm the child?\"\n *\n * @example\n * ```ts\n * relationshipOverrides: [\n * // I'm parent of TASKS — make Tasks appear as accordion in MY view\n * { target: ResourceType.TASKS,\n * // I'm child of USERS (FK: assignedToUserId) — show user as badge in MY view\n * { target: ResourceType.USERS, foreignKeyField: 'assignedToUserId',\n * inChildView: { parentDisplay: ParentDisplay.BADGE } },\n * ]\n * ```\n */\nexport interface RelationshipDisplayOverride {\n /** Related resource type to match against. */\n target: string;\n /**\n * FK field name for disambiguation when multiple relationships exist to the\n * same `target` type. Matches against both explicit `rel.foreignKeyField` and\n * implied FK from `allResourceFieldIdentifiers`.\n */\n foreignKeyField?: string;\n /** Override for how children appear in THIS resource's view (when I'm parent). */\n /** Override for how navigation from THIS resource's view to the child behaves. */\n inParentNavigation?: Partial<RelationshipDisplayInParentNavigation>;\n /** Override for how parent reference appears in THIS resource's view (when I'm child). */\n inChildView?: Partial<RelationshipDisplayInChildView>;\n}\n\n\n// ── Resource-level frontend config ──────────────────────────────────\n\n/**\n * @wildo_source:part:start saas.frontend.resource-ui-behavior-config facet:layer:frontend facet:family:resource-ui\n *\n * Complete frontend configuration for a single resource within an application.\n *\n * Canonical frontend resource configuration type. Contains resource-level settings\n * (labels, sections, views, empty state, guidance) plus per-operation frontend config.\n *\n * Generic `TMainSchema` defaults to `z.ZodAny`. Presets and `ResourceUIBehavior`\n * records use the default; app-level configs can narrow it to a concrete schema\n * for type-safe `getFrontendResourceLabel` callbacks.\n *\n * This is the canonical frontend type — it is self-contained and does not\n * reference or depend on backend resource configuration factories.\n *\n * UI views use a `Map` keyed by `OperationKey`:\n * - `string` key for default operations\n * - `[operationId, variantKey]` tuple for non-default variants\n *\n * @example\n * ```\n * const orgConfig: ResourceUIBehaviorConfig<any, any, typeof OrgSchema> = {\n * getFrontendResourceLabel: ({ currentObject }) => currentObject.name, // type-safe\n * views: new Map([\n * [CoreResourceOperation.CREATE, notAddressable()],\n * [CoreResourceOperation.LIST, addressable()],\n * ]),\n * };\n *\n * // Input form (via resourceUIBehavior callback) uses array-of-tuples:\n * // views: [\n * // [CoreResourceOperation.CREATE, notAddressable()],\n * // [CoreResourceOperation.LIST, addressable()],\n * // ],\n * ```\n */\nexport type ResourceUIBehaviorConfig<\n TCustomOp extends EnumLikeType | undefined = any,\n TCoreOp extends Partial<CoreResourceOperation> | undefined = any,\n TMainSchema extends z.ZodTypeAny = z.ZodAny,\n> = {\n\n // ── Resource Icon ──────────────────────────────────────────────\n\n /**\n * Resource-level icon — React component (e.g., Lucide) or string\n * (StandardIconReference). Registered into `IconRegistry.resources`\n * during `buildFrontendResourceConfigurations()`.\n */\n icon?: IconLike;\n\n\n // ── Field Addons ───────────────────────────────────────────────\n\n /**\n * Per-field decorator overrides for the resource's `mainSchema`.\n *\n * Keys are field names of `TMainSchema`; values are decorated Zod schemas\n * from the same shape (e.g., `shape.status.enumUI({ ... })`).\n *\n * The merge happens at **module evaluation time** — calling `.enumUI()`\n * on a shape field mutates its metadata in place via `applySingleDecorator`\n * merge semantics. Schema-level decorators are preserved, addon decorators\n * overlay. No explicit runtime consumption is needed; the `fields`\n * field exists primarily for type safety (`keyof z.infer<TMainSchema>`)\n * and as a declaration container.\n *\n * @example\n * ```ts\n * fields: {\n * status: shape.status.enumUI({\n * values: { pending: { color: 'secondary' }, completed: { color: 'success' } },\n * }),\n * }\n * ```\n */\n fields?: {\n [K in keyof ObjectShape<TMainSchema>]?: ObjectShape<TMainSchema>[K];\n };\n\n\n // ── Form Defaults ──────────────────────────────────────────────\n\n /**\n * Resource-level default validation mode for form fields.\n * Individual fields can override via `{primitive}UI({ edit: { validationMode } })`.\n * Falls back to framework default (`ON_BLUR`) when not set.\n */\n defaultValidationMode?: ValidationMode;\n\n /**\n * Resource-level default autosave config for form fields.\n * Individual fields can override via `{primitive}UI({ edit: { autosave } })`.\n * When not set, autosave is disabled unless explicitly configured per-field.\n */\n defaultAutosave?: AutosaveFieldParams | true;\n\n\n // ── Draft Mode ─────────────────────────────────────────────────\n\n /**\n * Resource-level draft mode configuration.\n * Defines how draft/publish discrimination works — which field acts as\n * discriminator, what values mean \"draft\" vs \"published\", and whether\n * publishing requires confirmation.\n *\n * Consumed by `ResourceAutomatedForm` to enable Save-as-Draft / Publish\n * buttons and relaxed validation for draft saves.\n */\n draftableConfig?: DraftableConfigParams;\n\n\n // ── Layout ──────────────────────────────────────────────────────\n\n /**\n * Template-based layout configuration. Resources needing sections, wizard steps,\n * or custom layouts provide explicit JSX templates using skeleton components\n * (`<Section>`, `<FormField>`, `<WizardLayout>`, etc.).\n *\n * @see ResourceLayoutConfig\n */\n layout?: ResourceLayoutConfig;\n\n\n // ── Label ──────────────────────────────────────────────────────\n\n /**\n * Label generation for resource instances in the frontend.\n *\n * Can be either:\n * - `string[]` — array of field paths to concatenate (each entry is a field\n * name on the summary record, including any server-resolved virtual field\n * such as a `forwardedLabel`, e.g. `['instanceLabel']`).\n * - `(params: ResourceUIBehaviorLabelParams) => string` — a function\n *\n * Used by `ResourceListItemRenderer` (rows) and `ResourceLayout_Header` (titles).\n */\n getFrontendResourceLabel?: string[] | ((params: ResourceUIBehaviorLabelParams<TMainSchema>) => string);\n\n\n // ── Views ──────────────────────────────────────────────────────\n\n /** Resource-owned composite templates declared inline on the resource UI behavior. */\n compositeViews?: ResourceCompositeViewsConfig;\n\n /** Resource-owned execution surfaces declared inline on the resource UI behavior. */\n executionViews?: ResourceExecutionViewsConfig;\n\n /** Resource-owned inserted chart declarations for this resource. */\n chartViews?: InsertedChartDeclaration[];\n\n\n // ── Empty State ────────────────────────────────────────────────\n\n /**\n * Empty state configuration for list/table views when no items exist.\n * Labels (title, description, primaryActionLabel) come from i18n.\n */\n emptyState?: ResourceUIBehavior_EmptyState;\n\n\n // ── Guidance ───────────────────────────────────────────────────\n\n /**\n * Resource-level guidance flow declarations.\n * Compiled into standard `GuidanceFlowDefinition` objects by the guidance compiler.\n */\n guidance?: ResourceUIBehavior_GuidanceFlow[];\n\n\n // ── Relationship Display Overrides ───────────────────────────────\n\n /**\n * Per-relationship display overrides for this resource.\n *\n * Allows the frontend preset to override how relationships are displayed\n * without modifying the shared `display` config on the relationship itself.\n * Consumed at build time by `resolveRelationshipDisplayOverrides()` and\n * stripped from `frontendConfiguration` before storage.\n *\n * @see RelationshipDisplayOverride\n */\n relationshipOverrides?: RelationshipDisplayOverride[];\n\n\n // ── UI Views ───────────────────────────────────────────────────\n\n /**\n * Per-operation frontend configuration — which operations have a UI view\n * and how they appear (addressability, launchers, overrides).\n *\n * Keyed by `TypedOperationKey`:\n * - `string` — default operation (e.g., `CoreResourceOperation.READ`)\n * - `[operationId, variantKey]` — non-default variant\n *\n * When typed via `resourceUIBehavior()`, operation keys are validated\n * at compile time against the resource's valid operations.\n */\n views: Map<TypedOperationKey<TCustomOp, TCoreOp>, ResourceOperationFrontendConfig>;\n};\n/** @wildo_source:part:end saas.frontend.resource-ui-behavior-config */\n\n/**\n * Resource-level UI behavior configuration — the subset of `ResourceUIBehaviorConfig`\n * that describes the resource itself (labels, sections, views, empty state, guidance),\n * excluding `views` (lives on individual operation entries),\n * `relationshipOverrides` (consumed at build time, not stored at runtime).\n *\n * Resource-owned composite/execution authoring maps are compiled into inserted\n * runtime declarations before storage.\n *\n * This is what gets written to `FrontendResourceConfiguration.frontendConfiguration`\n * during preset-driven registry build.\n */\nexport type ResourceUIBehaviorResourceLevelConfig<\n TCustomOp extends EnumLikeType | undefined = any,\n TCoreOp extends Partial<CoreResourceOperation> | undefined = any,\n TMainSchema extends z.ZodTypeAny = z.ZodAny,\n> = Omit<ResourceUIBehaviorConfig<TCustomOp, TCoreOp, TMainSchema>, 'views' | 'relationshipOverrides' | 'compositeViews' | 'executionViews'> & {\n compositeViews?: InsertedCompositeDeclaration[];\n executionViews?: InsertedExecutionDeclaration[];\n};\n\n// ── Preset type ─────────────────────────────────────────────────────\n\n/**\n * @wildo_source:part:start saas.frontend.resource-ui-behavior-preset-map facet:layer:frontend facet:family:resource-ui\n *\n * Complete frontend resource configuration preset for an application.\n *\n * Maps resource types to their full frontend configuration — including\n * resource-level settings (labels, sections, views, empty state, guidance)\n * and operation-level settings (addressability, launchers, overrides).\n *\n * Each application provides its own preset defining exactly which resources\n * and operations it exposes and how they appear in the UI.\n *\n * When authoring presets, use `resourceUIBehavior()` which accepts views\n * as an array of tuples (for contextual typing) and converts to Map internally.\n *\n * @example\n * ```\n * const preset: ResourceUIBehavior = {\n * [CoreResourceType.ORGANIZATIONS]: resourceUIBehavior(factory, Schema, ({ schema, schemaShape, opsVariantResolver }) => ({\n * getFrontendResourceLabel: ({ currentObject }) => currentObject.name,\n * views: [\n * [CoreResourceOperation.CREATE, notAddressable()],\n * [CoreResourceOperation.READ, notAddressable()],\n * ],\n * })),\n * };\n * ```\n */\nexport type ResourceUIBehavior = Record<string, ResourceUIBehaviorConfig>;\n/** @wildo_source:part:end saas.frontend.resource-ui-behavior-preset-map */\n\n// ── Polymorphic frontend declaration ────────────────────────────────\n\n/**\n * A single variant within a polymorphic frontend declaration.\n * Maps a parent resource type (the discriminator) to the concrete resource type it produces.\n *\n * Mirrors the backend's `PolymorphicResolvedVariant` — stripped of schema-level\n * concerns, keeping only the routing information the frontend needs.\n */\nexport interface PolymorphicFrontendVariant {\n /** Parent resource type — the polymorphic discriminator (e.g., `CoreResourceType.ORGANIZATIONS`) */\n parentResourceType: string;\n /** Concrete resource type for this variant (e.g., `CoreResourceType.ORGANIZATION_BILLING_ACCOUNTS`) */\n resourceType: string;\n}\n\n/**\n * Frontend polymorphic declaration — lightweight equivalent of the backend's\n * `PolymorphicSchemaDeclaration`.\n *\n * Contains the variant mapping (discriminator → concrete resource type) without\n * any Zod schema coupling. Used by `createPolymorphicFrontendPreset()` to generate\n * per-variant preset entries.\n *\n * Declarations are typically defined per resource family (billing accounts,\n * subscriptions, SSO config, etc.) and mirror the backend's\n * `BILLING_SCOPE_VARIANTS` / `AUTH_SCOPE_VARIANTS` grouping.\n *\n * @example\n * ```ts\n * const BILLING_ACCOUNTS: PolymorphicFrontendDeclaration = {\n * variants: [\n * { parentResourceType: CoreResourceType.ORGANIZATIONS, resourceType: CoreResourceType.ORGANIZATION_BILLING_ACCOUNTS },\n * { parentResourceType: CoreResourceType.USERS, resourceType: CoreResourceType.USER_BILLING_ACCOUNTS },\n * ],\n * };\n * ```\n */\nexport interface PolymorphicFrontendDeclaration {\n variants: PolymorphicFrontendVariant[];\n}\n\n\n// ── Polymorphic preset config ───────────────────────────────────────\n\n/**\n * Resource frontend config with optional per-variant overrides.\n *\n * Mirrors the backend's `PolymorphicResourceConfig` + `polymorphicRole` pattern:\n * - Shared fields apply to all scope variants as the default\n * - `variantOverrides` keyed by `parentResourceType` (the discriminator)\n * allow per-variant differentiation — just like `polymorphicRole` resolves\n * different roles per parent resource type\n *\n * Override resolution (same as backend `polymorphicRole`):\n * - If a variant's `parentResourceType` is in `variantOverrides`, the override\n * **replaces** the corresponding shared fields (not merged)\n * - If not present, the shared config is used as-is (fallback)\n * - `views` in an override fully replaces the shared views Map\n * (use an empty `new Map()` to make a variant invisible in the preset)\n */\nexport type PolymorphicResourceUIBehaviorConfig<\n TCustomOp extends EnumLikeType | undefined = any,\n TCoreOp extends Partial<CoreResourceOperation> | undefined = any,\n TMainSchema extends z.ZodTypeAny = z.ZodAny,\n> = Omit<ResourceUIBehaviorConfig<TCustomOp, TCoreOp, TMainSchema>, 'views'> & {\n /**\n * Per-operation frontend config — array-of-tuples form (converted to Map internally).\n * Same semantics as `ResourceUIBehaviorConfig.views` but using arrays for\n * TypeScript contextual typing compatibility.\n */\n views: OperationEntries<TCustomOp, TCoreOp>;\n /**\n * Per-variant overrides, keyed by `parentResourceType` (the polymorphic discriminator).\n *\n * Like backend `polymorphicRole`, provides variant-specific configuration.\n * Each override **replaces** the corresponding shared field — `views`\n * is a full replacement, not a merge. If `views` is omitted in the\n * override, the shared views apply.\n *\n * Pass an empty array `[]` for `views` to exclude a variant from\n * surfacing in the preset (variant still exists in the declaration, but\n * has no frontend operations).\n */\n variantOverrides?: Record<string, Partial<Omit<ResourceUIBehaviorConfig<TCustomOp, TCoreOp, TMainSchema>, 'views'>> & { views?: OperationEntries<TCustomOp, TCoreOp> }>;\n };\n\n/**\n * Return type of the `polymorphicResourceUIBehavior()` callback overload.\n * Same structure as `PolymorphicResourceUIBehaviorConfig` — the callback form\n * provides `{ schema, schemaShape, opsVariantResolver }` for the same typed control as `resourceUIBehavior()`:\n * operation keys in `views` and `variantOverrides` are validated at compile time.\n */\nexport type PolymorphicResourceUIBehaviorConfigResult<\n TCustomOp extends EnumLikeType | undefined = any,\n TCoreOp extends Partial<CoreResourceOperation> | undefined = any,\n TMainSchema extends z.ZodTypeAny = z.ZodAny,\n> = PolymorphicResourceUIBehaviorConfig<TCustomOp, TCoreOp, TMainSchema>;\n\n// ── Polymorphic preset factory ──────────────────────────────────────\n\n/**\n * Creates frontend preset entries for all scope variants of a polymorphic resource.\n *\n * Mirrors the backend `createPolymorphicResourceConfigurations` pattern:\n * takes a polymorphic declaration (discriminator → concrete resource types) and\n * a shared config with optional per-variant overrides, producing a\n * `ResourceUIBehavior` partial that can be spread into the main preset.\n *\n * Resolution per variant (same semantics as backend `polymorphicRole` → `roles`):\n * 1. If `variantOverrides[parentResourceType]` exists → override fields **replace**\n * corresponding shared fields (views is a full replacement, not merge)\n * 2. If no override → shared config used as-is (fallback)\n *\n * The declaration must always contain ALL variants of the polymorphic resource.\n * Use `variantOverrides` with an empty `views: []` to exclude a variant\n * from a specific preset (the variant is declared but has no frontend presence).\n *\n * @param declaration - Polymorphic frontend declaration with ALL variant mappings\n * @param config - Shared config (default) with optional `variantOverrides` per discriminator\n * @returns Partial `ResourceUIBehavior` with one entry per variant\n *\n * @example\n * ```ts\n * // Main app: org scope gets full ops, app scope excluded\n * ...createPolymorphicFrontendPreset({\n * variants: [\n * { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SSO_CONFIG },\n * { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SSO_CONFIG },\n * ],\n * }, {\n * views: [\n * [Op.READ, addressable()],\n * [CustomOperations.RUN_DIAGNOSTIC, notAddressable()],\n * ],\n * variantOverrides: {\n * [R.APPLICATION]: { views: [] },\n * },\n * }),\n *\n * // Admin app: app scope gets full ops, org scope read-only\n * ...createPolymorphicFrontendPreset({\n * variants: [\n * { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SSO_CONFIG },\n * { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SSO_CONFIG },\n * ],\n * }, {\n * views: [\n * [Op.READ, addressable()],\n * [CustomOperations.RUN_DIAGNOSTIC, notAddressable()],\n * ],\n * variantOverrides: {\n * [R.ORGANIZATIONS]: {\n * views: [\n * [Op.READ, notAddressable()],\n * [Op.LIST, notAddressable()],\n * ],\n * },\n * },\n * }),\n * ```\n */\nexport function createPolymorphicFrontendPreset(\n declaration: PolymorphicFrontendDeclaration,\n config: PolymorphicResourceUIBehaviorConfig,\n): ResourceUIBehavior {\n const schema = (config as any)[FRONTEND_SCHEMA_KEY];\n const { variantOverrides, views: sharedViewsEntries, ...sharedRest } = config;\n const sharedViews = new Map(sharedViewsEntries);\n const sharedConfig = { ...sharedRest, views: sharedViews } as ResourceUIBehaviorConfig;\n\n // Compute per-variant FK-renamed schemas. The author passes ONE base\n // schema to `polymorphicResourceUIBehavior(decl, factory, baseSchema, ...)`,\n // but the runtime polymorphic factory renames `polymorphicVariants`-marked\n // FK fields per variant (e.g. `billingAccountId` →\n // `organizationBillingAccountId` for the ORGANIZATIONS variant). If we\n // attach the un-renamed base schema as `FRONTEND_SCHEMA_KEY` on every\n // variant, `buildFrontendResourceConfigurations` later replaces the\n // renamed `mainSchema` with the un-renamed base — and the FK→parent\n // resolution check throws because the base's `billingAccountId` doesn't\n // resolve to a unique parent. Mirror the factory's rename at this seam\n // so per-variant `FRONTEND_SCHEMA_KEY` matches the per-variant\n // `mainSchema` keys.\n const variantSchemas =\n schema !== undefined && (schema as z.ZodTypeAny)?._zod?.def?.type === 'object'\n ? computePolymorphicVariantSchemas(\n schema as z.ZodObject<z.ZodRawShape>,\n declaration.variants,\n )\n : null;\n\n if (schema !== undefined) {\n (sharedConfig as any)[FRONTEND_SCHEMA_KEY] = schema;\n }\n const result: ResourceUIBehavior = {};\n\n for (const variant of declaration.variants) {\n const override = variantOverrides?.[variant.parentResourceType];\n // Use the per-variant renamed schema when available; fall back to the\n // shared base schema for declarations whose fields have no\n // `polymorphicVariants` metadata (rename map is empty → identity).\n const variantSchema =\n variantSchemas?.get(variant.parentResourceType) ?? schema;\n\n if (override) {\n const { views: overrideViewsEntries, ...overrideRest } = override;\n const concreteConfig = {\n ...sharedConfig,\n ...overrideRest,\n views: overrideViewsEntries ? new Map(overrideViewsEntries) : sharedViews,\n };\n if (variantSchema !== undefined) {\n (concreteConfig as any)[FRONTEND_SCHEMA_KEY] = variantSchema;\n }\n result[variant.resourceType] = concreteConfig;\n } else if (variantSchemas && variantSchema !== schema) {\n // Distinct per-variant schema: clone sharedConfig so each variant\n // keeps its own FRONTEND_SCHEMA_KEY rather than sharing the base.\n const concreteConfig = { ...sharedConfig, views: sharedViews } as ResourceUIBehaviorConfig;\n (concreteConfig as any)[FRONTEND_SCHEMA_KEY] = variantSchema;\n result[variant.resourceType] = concreteConfig;\n } else {\n result[variant.resourceType] = sharedConfig;\n }\n }\n\n return result;\n}\n\n\n// ── Utility types for extracting generics from ResourceConfiguration ────────\n\n/**\n * Infers the custom operation enum from a resource factory or config type.\n *\n * **How to use:** in generic helpers that wrap `resourceUIBehavior(yourFactory, …)`\n * so `TypedOperationKey` and `views` tuples stay aligned without repeating type params.\n */\nexport type ExtractCustomOp<T> =\n T extends ResourceConfiguration<infer C, any, any> ? C :\n T extends ResourceConfiguration_InitializationFactory<infer C, any, any> ? C :\n never;\n\n/** Same as {@link ExtractCustomOp} for the **core** operations subset on the resource. */\nexport type ExtractCoreOp<T> =\n T extends ResourceConfiguration<any, infer O, any> ? O :\n T extends ResourceConfiguration_InitializationFactory<any, infer O, any> ? O :\n never;\n\n/** Same as {@link ExtractCustomOp} for the resource **main Zod schema** type. */\nexport type ExtractSchema<T> =\n T extends ResourceConfiguration<any, any, infer S> ? S :\n T extends ResourceConfiguration_InitializationFactory<any, any, infer S> ? S :\n never;\n\n\n// ── Standalone variant helper ───────────────────────────────────────────────\n\n/**\n * Creates a typed operation variant tuple `[operationKey, variantKey]`.\n * Preserves the literal operation key for `TypedOperationKey` assignability.\n *\n * **How to use:** in `views: [ … ]` when the operation key must stay a narrow literal\n * (custom enum member or core op). Equivalent to `opsVariantResolver(op, key)` but\n * useful in static arrays outside the callback.\n */\nexport function variant<TOp extends string>(\n op: TOp, variantKey: string,\n): readonly [TOp, string] {\n return [op, variantKey] as const;\n}\n\n\n// ── Operation entries (input form) ───────────────────────────────────────────\n\n/**\n * Array-of-tuples form for specifying operations in input contexts\n * (`resourceUIBehavior` callback, `polymorphicResourceUIBehavior` config).\n *\n * TypeScript's `new Map([...])` doesn't pick up contextual typing for\n * heterogeneous key types, so input types use arrays — the factory functions\n * convert to `Map` at the boundary. Each entry's key is individually checked\n * against `TypedOperationKey<TCustomOp, TCoreOp>` via contextual typing.\n */\nexport type OperationEntries<\n TCustomOp extends EnumLikeType | undefined = any,\n TCoreOp extends Partial<CoreResourceOperation> | undefined = any,\n> = [TypedOperationKey<TCustomOp, TCoreOp>, ResourceOperationFrontendConfig][];\n\n\n// ── Callback parameter type for resourceUIBehavior / polymorphicResourceUIBehavior ─\n\n/**\n * Callback argument bag for `resourceUIBehavior()` / `polymorphicResourceUIBehavior()`.\n *\n * **How to use:** prefer `schemaShape.fieldName` for per-field `.enumUI()` / `.stringUI()`\n * overrides; use `schema` when applying decorators on the root object; use\n * `opsVariantResolver(CoreResourceOperation.READ, 'summary')` (or `variant()`) so\n * non-default variant keys type-check against valid operations.\n */\nexport type ResourceUIBehaviorCallbackParams<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n> = {\n schema: TSchema;\n schemaShape: ObjectShape<TSchema>;\n opsVariantResolver: <TOp extends ValidOperationKeys<TCustomOp, TCoreOp>>(\n op: TOp, variantKey: string,\n ) => readonly [TOp, string];\n};\n\n\n// ── Callback return type for resourceUIBehavior ─────────────────────────────\n\n/**\n * Return type of the `resourceUIBehavior()` callback — overrides `views`\n * to accept an array of tuples (instead of Map) for ergonomic authoring.\n * The `resourceUIBehavior()` function converts the array to a Map.\n *\n * `schemaOverride` is applied during callback execution as a side effect and\n * stripped from the returned config. Must appear BEFORE `fields` in the\n * object literal to ensure schema-level defaults are set before field-level overrides.\n */\nexport type ResourceUIBehaviorConfigResult<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n> = Omit<ResourceUIBehaviorConfig<TCustomOp, TCoreOp, TSchema>, 'views'> & {\n views: OperationEntries<TCustomOp, TCoreOp>;\n schemaOverride?: TSchema;\n};\n\n\n// ── Typed resource UI behavior factory ──────────────────────────────────────\n\n/**\n * Creates a typed `ResourceUIBehaviorConfig` entry for a given resource.\n *\n * All generics are inferred from the `_factory` argument — no explicit type\n * parameters needed. The callback receives `{ schema, schemaShape, opsVariantResolver }`:\n * - `schema` — the Zod schema (for schema-level mutations like `.stringUI()`, `.enumUI()`, etc.)\n * - `schemaShape` — the typed shape object (for per-field decorator overrides with autocomplete)\n * - `opsVariantResolver` — typed variant tuple helper constrained to valid operation keys\n *\n * The `_factory` parameter is for **type inference only** and is never called at runtime.\n *\n * @example\n * ```ts\n * [R.TODOS]: resourceUIBehavior(\n * todos_ResourceConfiguration_InitializationFactory,\n * Todos_Schema,\n * ({ schema, schemaShape, opsVariantResolver }) => ({\n * icon: CheckSquare,\n * fields: {\n * status: schemaShape.status.enumUI({\n * values: { completed: { color: 'success', icon: CheckCircle } },\n * }),\n * },\n * views: [\n * [CoreResourceOperation.LIST, addressable()],\n * [opsVariantResolver(CoreResourceOperation.CREATE, 'quick-add'), notAddressable()],\n * ],\n * }),\n * ),\n * ```\n */\nexport function resourceUIBehavior<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n>(\n _factory: ResourceConfigLike<TCustomOp, TCoreOp, TSchema>,\n schema: TSchema,\n configFactory: (\n params: ResourceUIBehaviorCallbackParams<TCustomOp, TCoreOp, TSchema>,\n ) => ResourceUIBehaviorConfigResult<TCustomOp, TCoreOp, TSchema>,\n): ResourceUIBehaviorConfig {\n const schemaShape = (\n schema && 'shape' in schema\n ? (schema as unknown as z.ZodObject<any>).shape\n : getZodObjectShape(schema)\n ) as ObjectShape<TSchema>;\n\n const opsVariantResolver = <TOp extends string>(op: TOp, variantKey: string) =>\n [op, variantKey] as readonly [TOp, string];\n\n const { schemaOverride: _, views: viewsEntries, ...config } =\n configFactory({ schema, schemaShape, opsVariantResolver: opsVariantResolver as any });\n\n (config as any)[FRONTEND_SCHEMA_KEY] = schema;\n\n return {\n ...config,\n views: new Map(viewsEntries),\n } as unknown as ResourceUIBehaviorConfig;\n}\n\n\n// ── Derived resource UI behavior factory ────────────────────────────────────\n\n/**\n * Callback parameter type for `resourceUIBehaviorFrom()`.\n * Extends the standard callback params with a `base` reference to the resolved base config.\n */\nexport type ResourceUIBehaviorFromCallbackParams<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n> = ResourceUIBehaviorCallbackParams<TCustomOp, TCoreOp, TSchema> & {\n /** The resolved base config — use to reference existing values when composing overrides. */\n base: ResourceUIBehaviorConfig<TCustomOp, TCoreOp, TSchema>;\n};\n\n/**\n * Return type of the `resourceUIBehaviorFrom()` callback — everything is optional.\n *\n * Merge semantics applied by `resourceUIBehaviorFrom`:\n * - `views` — **replaced** (the primary differentiator between main/admin)\n * - `layout` — **shallow-merged** (`{ ...base.layout, ...override.layout }`)\n * - `fields` — **shallow-merged** (base fields preserved, overrides overlay per-key)\n * - `compositeViews` — **shallow-merged** by ref (`{ ...base.compositeViews, ...override.compositeViews }`)\n * - `executionViews` — **shallow-merged** by ref (`{ ...base.executionViews, ...override.executionViews }`)\n * - Scalars (`icon`, `emptyState`, `getFrontendResourceLabel`, etc.) — **replaced** if provided\n */\nexport type ResourceUIBehaviorFromResult<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n> = Partial<Omit<ResourceUIBehaviorConfig<TCustomOp, TCoreOp, TSchema>, 'views'>> & {\n views?: OperationEntries<TCustomOp, TCoreOp>;\n};\n\n/**\n * Derives a new `ResourceUIBehaviorConfig` from an existing base, overriding only\n * the specified properties. Eliminates duplication between main and admin presets\n * where the majority of the config (icon, fields, layout, labels) is identical\n * and only `views` (and occasionally `variantOverrides`) differ.\n *\n * The `_factory` parameter is for **type inference only** — same as `resourceUIBehavior()`.\n * The schema is extracted from the base config via `FRONTEND_SCHEMA_KEY`, so it does not\n * need to be passed again.\n *\n * For resources that are completely identical between main and admin, skip this function\n * entirely and forward the config directly: `[R.PRODUCTS]: main[R.PRODUCTS]!`\n *\n * @param _factory - Any factory from the resource — for type inference only (never called)\n * @param base - The resolved base `ResourceUIBehaviorConfig` (from main presets)\n * @param overrideFn - Callback returning only the properties to override\n *\n * @example\n * ```ts\n * // Admin promotions — same icon/fields/layout, different views\n * [R.PROMOTIONS]: resourceUIBehaviorFrom(\n * promotionsFactory,\n * main[R.PROMOTIONS]!,\n * ({ opsVariantResolver }) => ({\n * views: [\n * [Promotion_Operations.DEACTIVATE, notAddressable()],\n * ],\n * })\n * ),\n * ```\n */\nexport function resourceUIBehaviorFrom<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n>(\n _factory: ResourceConfigLike<TCustomOp, TCoreOp, TSchema>,\n base: ResourceUIBehaviorConfig,\n overrideFn: (\n params: ResourceUIBehaviorFromCallbackParams<TCustomOp, TCoreOp, TSchema>,\n ) => ResourceUIBehaviorFromResult<TCustomOp, TCoreOp, TSchema>,\n): ResourceUIBehaviorConfig {\n const schema = (base as any)[FRONTEND_SCHEMA_KEY] as TSchema;\n const schemaShape = (\n schema && 'shape' in schema\n ? (schema as unknown as z.ZodObject<any>).shape\n : getZodObjectShape(schema)\n ) as ObjectShape<TSchema>;\n const opsVariantResolver = <TOp extends string>(op: TOp, variantKey: string) =>\n [op, variantKey] as readonly [TOp, string];\n\n const {\n views: overrideViews,\n layout: overrideLayout,\n fields: overrideFields,\n compositeViews: overrideCompositeViews,\n executionViews: overrideExecutionViews,\n ...overrideRest\n } =\n overrideFn({\n schema,\n schemaShape,\n opsVariantResolver: opsVariantResolver as any,\n base: base as unknown as ResourceUIBehaviorConfig<TCustomOp, TCoreOp, TSchema>,\n });\n\n return {\n ...base,\n ...overrideRest,\n ...(overrideLayout !== undefined && {\n layout: { ...base.layout, ...overrideLayout },\n }),\n ...(overrideFields !== undefined && {\n fields: { ...base.fields, ...overrideFields },\n }),\n ...(overrideCompositeViews !== undefined && {\n compositeViews: { ...base.compositeViews, ...overrideCompositeViews },\n }),\n ...(overrideExecutionViews !== undefined && {\n executionViews: { ...base.executionViews, ...overrideExecutionViews },\n }),\n views: overrideViews ? new Map(overrideViews) : base.views,\n } as unknown as ResourceUIBehaviorConfig;\n}\n\n\n// ── Derived polymorphic resource UI behavior factory ─────────────────────────\n\n/**\n * Return type of the `polymorphicResourceUIBehaviorFrom()` callback — everything is optional.\n * Same merge semantics as `resourceUIBehaviorFrom()`, plus `variantOverrides` is shallow-merged\n * per parent key (inner overrides replace, not merge).\n */\nexport type PolymorphicResourceUIBehaviorFromResult<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n> = Partial<Omit<PolymorphicResourceUIBehaviorConfig<TCustomOp, TCoreOp, TSchema>, 'views'>> & {\n views?: OperationEntries<TCustomOp, TCoreOp>;\n};\n\n/**\n * Derives a polymorphic preset from an existing base, overriding only the specified\n * properties. Works like `resourceUIBehaviorFrom()` but for polymorphic resources\n * produced by `polymorphicResourceUIBehavior()`.\n *\n * The base entries are the already-spread `Partial<ResourceUIBehavior>` from the main\n * preset. Internally, the first variant's config is used as the shared base — the\n * callback receives it as `base` and returns only what changes.\n *\n * @param declaration - Same polymorphic declaration used in the main preset\n * @param _factory - Any single factory from the polymorphic map — for type inference only\n * @param baseEntries - The spread result from the main preset (keyed by concrete resource type)\n * @param overrideFn - Callback returning only the properties to override\n *\n * @example\n * ```ts\n * // Admin SIEM — same icon/layout/fields, different variantOverrides\n * ...polymorphicResourceUIBehaviorFrom(\n * SIEM_EXPORT_DECLARATION,\n * siemFactory,\n * main,\n * ({ opsVariantResolver }) => ({\n * variantOverrides: {\n * [R.ORGANIZATIONS]: {\n * views: [[Op.READ, notAddressable()]],\n * },\n * },\n * })\n * ),\n * ```\n */\nexport function polymorphicResourceUIBehaviorFrom<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n>(\n declaration: PolymorphicFrontendDeclaration,\n _factory: ResourceConfigLike<TCustomOp, TCoreOp, TSchema>,\n baseEntries: Partial<ResourceUIBehavior>,\n overrideFn: (\n params: ResourceUIBehaviorFromCallbackParams<TCustomOp, TCoreOp, TSchema>,\n ) => PolymorphicResourceUIBehaviorFromResult<TCustomOp, TCoreOp, TSchema>,\n): ResourceUIBehavior {\n const firstVariantType = declaration.variants[0]?.resourceType;\n const baseConfig = firstVariantType ? baseEntries[firstVariantType] : undefined;\n if (!baseConfig) {\n throw new Error(\n `polymorphicResourceUIBehaviorFrom: no base config found for first variant \"${firstVariantType}\"`,\n );\n }\n\n const schema = (baseConfig as any)[FRONTEND_SCHEMA_KEY] as TSchema;\n const schemaShape = (\n schema && 'shape' in schema\n ? (schema as unknown as z.ZodObject<any>).shape\n : getZodObjectShape(schema)\n ) as ObjectShape<TSchema>;\n const opsVariantResolver = <TOp extends string>(op: TOp, variantKey: string) =>\n [op, variantKey] as readonly [TOp, string];\n\n const {\n views: overrideViews,\n layout: overrideLayout,\n fields: overrideFields,\n compositeViews: overrideCompositeViews,\n executionViews: overrideExecutionViews,\n variantOverrides: overrideVariantOverrides,\n ...overrideRest\n } = overrideFn({\n schema,\n schemaShape,\n opsVariantResolver: opsVariantResolver as any,\n base: baseConfig as unknown as ResourceUIBehaviorConfig<TCustomOp, TCoreOp, TSchema>,\n });\n\n const mergedPolyConfig: PolymorphicResourceUIBehaviorConfig = {\n ...baseConfig,\n ...overrideRest,\n ...(overrideLayout !== undefined && {\n layout: { ...baseConfig.layout, ...overrideLayout },\n }),\n ...(overrideFields !== undefined && {\n fields: { ...baseConfig.fields, ...overrideFields },\n }),\n ...(overrideCompositeViews !== undefined && {\n compositeViews: { ...baseConfig.compositeViews, ...overrideCompositeViews },\n }),\n ...(overrideExecutionViews !== undefined && {\n executionViews: { ...baseConfig.executionViews, ...overrideExecutionViews },\n }),\n views: overrideViews ?? [...baseConfig.views.entries()],\n ...(overrideVariantOverrides !== undefined && {\n variantOverrides: overrideVariantOverrides,\n }),\n } as unknown as PolymorphicResourceUIBehaviorConfig;\n\n return createPolymorphicFrontendPreset(declaration, mergedPolyConfig);\n}\n\n\n// ── Typed polymorphic UI behavior factory ───────────────────────────────────\n\n/**\n * Creates a typed polymorphic UI behavior preset — wraps `createPolymorphicFrontendPreset()`\n * with type inference from a factory or configuration.\n *\n * For resources built with `createFamilySchema` (discriminated unions), the factory\n * provides the generic context for `fields` typing and operation key validation.\n *\n * **Two overloads** — use the callback form for the same typed control as `resourceUIBehavior()`:\n * - Callback: `(declaration, factory, schema, ({ schema, schemaShape, opsVariantResolver }) => config)` — operation keys\n * in `views` and `variantOverrides` are validated at compile time via the `opsVariantResolver` helper.\n * - Object: `(declaration, factory, config)` — config object; typing may be weaker for array literals.\n *\n * @param declaration - Polymorphic frontend declaration with variant mappings\n * @param _factory - Any single factory from the polymorphic map — for type inference only\n * @param schemaOrConfig - Base schema (for callback form) or config object (for object form)\n * @param configFactory - Callback form only: receives { schema, schemaShape, opsVariantResolver } like resourceUIBehavior\n */\nexport function polymorphicResourceUIBehavior<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n>(\n declaration: PolymorphicFrontendDeclaration,\n _factory: ResourceConfigLike<TCustomOp, TCoreOp, TSchema>,\n schema: TSchema,\n configFactory: (\n params: ResourceUIBehaviorCallbackParams<TCustomOp, TCoreOp, TSchema>,\n ) => PolymorphicResourceUIBehaviorConfigResult<TCustomOp, TCoreOp, TSchema>,\n): ResourceUIBehavior;\n\n\nexport function polymorphicResourceUIBehavior<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n>(\n declaration: PolymorphicFrontendDeclaration,\n _factory: ResourceConfigLike<TCustomOp, TCoreOp, TSchema>,\n config: PolymorphicResourceUIBehaviorConfig<TCustomOp, TCoreOp, TSchema>,\n): ResourceUIBehavior;\n\n\nexport function polymorphicResourceUIBehavior<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n>(\n declaration: PolymorphicFrontendDeclaration,\n _factory: ResourceConfigLike<TCustomOp, TCoreOp, TSchema>,\n schemaOrConfig: TSchema | PolymorphicResourceUIBehaviorConfig<TCustomOp, TCoreOp, TSchema>,\n configFactory?: (\n params: ResourceUIBehaviorCallbackParams<TCustomOp, TCoreOp, TSchema>,\n ) => PolymorphicResourceUIBehaviorConfigResult<TCustomOp, TCoreOp, TSchema>,\n): ResourceUIBehavior {\n const config = configFactory\n ? (() => {\n const schema = schemaOrConfig as TSchema;\n const schemaShape = (\n schema && 'shape' in schema\n ? (schema as unknown as z.ZodObject<any>).shape\n : getZodObjectShape(schema)\n ) as ObjectShape<TSchema>;\n const opsVariantResolver = <TOp extends string>(op: TOp, variantKey: string) =>\n [op, variantKey] as readonly [TOp, string];\n const config = configFactory({ schema, schemaShape, opsVariantResolver: opsVariantResolver as any });\n (config as any)[FRONTEND_SCHEMA_KEY] = schema;\n return config;\n })()\n : (schemaOrConfig as PolymorphicResourceUIBehaviorConfig);\n\n return createPolymorphicFrontendPreset(declaration, config as PolymorphicResourceUIBehaviorConfig);\n}\n"]}
1
+ {"version":3,"file":"resources.frontend.schemas.js","sourceRoot":"","sources":["../../../../../src/core/resources/resources.frontend.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import { RESPONSIVE_MAX_WIDTH_VALUES } from '@wildo-ai/presets-components-models';\nimport type { AutoEmptyValue } from '@wildo-ai/presets-components-models';\nimport type React from 'react';\nimport { z } from \"zod\";\nimport type { EnumLikeType, IconLike, AutosaveFieldParams, ValidationMode, ResponsiveAware, EditChromeMode, DisplayChromeMode, DraftableConfigParams, ContainerSectionMode } from '@wildo-ai/zod-decorators';\nimport { getZodObjectShape } from '@wildo-ai/zod-decorators';\nimport type { ButtonVariants_Variant } from '~wildo-frontend-lib/components/actions/button';\nimport type { QuickSwitcherScopeField } from '~wildo-frontend-lib/core/config/app-configuration-frontend.schemas';\nimport {\n ResourceParentResourceRequirement,\n ResourcePrimaryScope,\n ResourceRelationship,\n ResourceTranspositionPolicy,\n CoreResourceOperation,\n ResourceOperationDisplayMode,\n ResourceOperationFrontendSurface,\n ResourceFieldIdentifier,\n ResourceType,\n ResourceTypeSchema,\n ResourceConfiguration_Operation_ApiCall,\n ResourceConfiguration_Operation_ApiCallWithCallback,\n ResourceConfiguration_ResourceRelationships,\n ResourceConfiguration_InheritanceSchemaDefinition,\n TourStepPlacement,\n NavigationZoneName,\n OverlayAppearance,\n SplitAppearance,\n TransitionConfigSchema,\n ZoneEmptyBehavior,\n viewportDiscriminatedSchema,\n computePolymorphicVariantSchemas,\n} from '@wildo-ai/saas-models';\nimport type {\n ResourceConfiguration,\n ResourceConfiguration_InitializationFactory,\n ValidOperationKeys,\n RelationshipDisplayInParentNavigation,\n RelationshipDisplayInChildView,\n} from '@wildo-ai/saas-models';\nimport type { InsertedChartDeclaration } from '~wildo-frontend-lib/core/config/chart-view.frontend.schemas';\nimport type {\n InsertedExecutionDeclaration,\n ResourceExecutionViewsConfig,\n} from '~wildo-frontend-lib/core/config/execution-view.schemas';\nimport type {\n OnboardingElementType,\n GuidanceRenderMode,\n GuidanceFlowScope,\n GuidanceAudience,\n NotificationBadgeDefinition,\n UserNotificationDefinition,\n SubtreeMap,\n ManyToManyScopeJunctionMap,\n} from '@wildo-ai/saas-models';\nimport { ViewportBreakpoint, DisplayDirection } from '@wildo-ai/zod-decorators';\nimport type {\n CorePresetNames,\n ActionLabelDisplayMode,\n} from '@wildo-ai/presets-components-models';\nimport {\n VerticalPlacement,\n HorizontalPlacement,\n} from '@wildo-ai/presets-components-models';\nimport type {\n CompositeViewComponentProps,\n InsertedCompositeDeclaration,\n ResourceCompositeViewAuthoringConfig,\n} from '../config/composite-view.schemas';\n\n\n\n// ================================================================================================\n// Types transferred from saas-models/config/frontend/navigation.shared.schemas.ts\n// NavigationOperationOverrideSchema only — the rest of navigation stays in saas-models.\n// ================================================================================================\n\n/**\n * @wildo_source:part:start saas.frontend.navigation.operation-override facet:layer:frontend facet:family:navigation-config\n *\n * Per-operation navigation chrome: transition, overlay/split appearance, source zone.\n *\n * **How to use:** attach fragments of this shape under\n * `ResourceOperationFrontendConfig.navigationOverrides` in `resourceUIBehavior()`.\n * Each override applies when navigating **from** the configured zone/viewport into\n * this operation. Prefer mirroring a sibling resource that already matches the\n * product’s overlay vs split behavior.\n */\nexport const NavigationOperationOverrideSchema = z.object({\n transition: TransitionConfigSchema,\n appearance: viewportDiscriminatedSchema(z.union([\n z.enum(OverlayAppearance),\n z.enum(SplitAppearance),\n ])).optional(),\n fromZone: z.union([z.enum(NavigationZoneName), z.literal('appLevel')]).optional(),\n viewport: z.enum(ViewportBreakpoint).optional(),\n /**\n * Behaviour of the OVERLAY this override resolves to — whether the page behind stays interactive,\n * whether touching it dismisses, whether it is dimmed. Ignored for non-overlay transitions.\n *\n * These three were already declared on `OverlayContainerConfig` with documented defaults and read by\n * nothing; they are honoured now, and this is the channel that lets a NAVIGATION-driven overlay set\n * them. Declared per operation because it describes the CONTENT: an application legitimately has a\n * create dialog that blocks everything and a detail sheet beside a live canvas that blocks nothing.\n */\n overlayBehavior: z.object({\n modal: z.boolean().optional(),\n closeOnOutsideClick: z.boolean().optional(),\n showBackdrop: z.boolean().optional(),\n }).optional(),\n});\nexport type NavigationOperationOverride = z.infer<typeof NavigationOperationOverrideSchema>;\n/** @wildo_source:part:end saas.frontend.navigation.operation-override */\n\n\n// ================================================================================================\n// Types transferred from saas-models/resources/resource-frontend.shared.schemas.ts\n// Strictly identical signatures — canonical home is now saas-frontend-lib.\n// ================================================================================================\n\n// --------------------------------\n// App Scope Field Types\n// --------------------------------\n\n/**\n * Runtime-resolved scope field definition.\n *\n * Extends the config-declared `QuickSwitcherScopeField` (from top-level\n * `appScope.fields`) with properties resolved at initialization time from the\n * resource registry.\n *\n * Created by AppScopeContext from the `appScope.fields` configuration.\n */\nexport interface AppScopeFieldDefinition extends QuickSwitcherScopeField {\n /** Resolved from the resource configuration at initialization */\n resourcePrimaryScope: ResourcePrimaryScope;\n}\n\n\n// --------------------------------\n// Frontend Resource Path Schemas\n// Defined in resource-path.frontend.schemas.ts (import here only — no re-export).\n// --------------------------------\n\nimport { FrontendResourceOperationPathSchema } from './resource-path.frontend.schemas';\nimport type { FrontendResourceOperationPath, FrontendResource_ParentResourceRequirement } from './resource-path.frontend.schemas';\n\n\n// --------------------------------\n// Frontend-Specific Operation Types\n// --------------------------------\n\n/**\n * Resolved operation row the **frontend registry** stores: same structural operation\n * config as `@wildo-ai/saas-models` (API_CALL / callback variants) plus optional\n * `operationFrontendConfig` from the app preset.\n *\n * **How to use:** app authors normally do **not** construct this type by hand —\n * `buildFrontendResourceConfigurations()` merges backend `ResourceConfiguration`\n * with `ResourceUIBehavior`. Use it when typing hooks/components that receive the\n * merged registry (e.g. operation context, launcher resolution).\n */\ntype FrontendResourceOperation_Base = {\n /**\n * Frontend UI behavior config for this operation, carrying its `surface`\n * ({@link ResourceOperationFrontendSurface}). After `buildFrontendResourceConfigurations`\n * runs, EVERY operation has a resolved config: preset-surfaced operations get\n * their authored config; everything else resolves to `{ surface: API_ONLY }`\n * (headless) from the operation's `defaultFrontendPosture` or the default.\n * The field stays optional only for the pre-resolution / partial-mock case —\n * read the surface via `isOperationAddressable()` / `isOperationHeadless()`,\n * never by testing presence.\n */\n operationFrontendConfig?: ResourceOperationFrontendConfig;\n}\n\nexport type FrontendResourceConfiguration_Operation<\n TCustomOperationEnum extends EnumLikeType | undefined = any,\n TCoreOperationEnum extends Partial<CoreResourceOperation> | undefined = any,\n TMainSchema extends z.ZodTypeAny = z.ZodAny,\n> = (\n | ResourceConfiguration_Operation_ApiCall<TCustomOperationEnum, TCoreOperationEnum, TMainSchema>\n | ResourceConfiguration_Operation_ApiCallWithCallback<TCustomOperationEnum, TCoreOperationEnum, TMainSchema>\n) & FrontendResourceOperation_Base;\n\n/**\n * Full **merged** resource row in the frontend registry: backend fields (scope, schema,\n * relationships, operations) plus optional `frontendConfiguration` (labels, layout,\n * views map, guidance, …) derived from the app’s `ResourceUIBehavior` preset.\n *\n * **How to use:** read-only shape at runtime and in typed frontend services. Authoring\n * happens in `*.resources-config.ts` + `*.ui-behavior.tsx`, not by filling this object\n * manually.\n */\nexport type FrontendResourceConfiguration<\n TCustomOperationEnum extends EnumLikeType | undefined = any,\n TCoreOperationEnum extends Partial<CoreResourceOperation> | undefined = any,\n TMainSchema extends z.ZodTypeAny = z.ZodAny,\n> = {\n isDisabled: boolean;\n resourcePrimaryScope: ResourcePrimaryScope;\n resourceIdentifier: ResourceType;\n resourceFieldIdentifier: ResourceFieldIdentifier;\n coreOperations: TCoreOperationEnum[];\n customOperation?: TCustomOperationEnum;\n mainSchema: TMainSchema;\n resourceRelationships: ResourceConfiguration_ResourceRelationships;\n inheritenceSchemaDefinition?: ResourceConfiguration_InheritanceSchemaDefinition<EnumLikeType, TMainSchema>;\n frontendConfiguration?: ResourceUIBehaviorResourceLevelConfig<TCustomOperationEnum, TCoreOperationEnum, TMainSchema>;\n isSystemResource: boolean;\n /**\n * Mirrors `ResourceConfiguration.primaryKeyIdentifiesInitiator` from `@wildo-ai/saas-models`.\n * `buildFrontendResourceConfigurations` spreads the backend config onto every frontend\n * registry entry, so this is always populated at runtime; it must stay declared here too\n * so shared `saas-models` utils typed against `AnyResourceConfiguration` (e.g.\n * `ResourcesConfigOperationsUrlsBuilderUtils`) accept a frontend registry entry.\n */\n primaryKeyIdentifiesInitiator: boolean;\n isAnonymizable: boolean;\n transpositionPolicy: ResourceTranspositionPolicy;\n operations: FrontendResourceConfiguration_Operation<TCustomOperationEnum, TCoreOperationEnum, TMainSchema>[];\n}\n\nexport type AnyFrontendResourceConfiguration = FrontendResourceConfiguration<any, any, any>;\n\n/**\n * Application **frontend** resource registry built at startup (field-id maps, relationships,\n * notification defs, subtree map, and per-resource `FrontendResourceConfiguration`).\n *\n * **How to use:** consume via React context / services (`ResourcesRepository`, routing,\n * layout hosts). Authors extend it indirectly by registering presets and module wiring —\n * not by mutating this object ad hoc.\n */\nexport type FrontendResourcesRegistry = {\n allResourceFieldIdentifiers: Record<string, string>;\n fieldIdentifierToResourceType: Record<string, ResourceType>;\n /**\n * Scope-required reference-search junctions, keyed by `${target}|${scope}`.\n * Drives the inference-based people-picker: a FK targeting `T` from a resource\n * scoped by `S`, where `T ↔ S` is an M:N via junction `J`, searches `T` scoped\n * to the caller's current `S` through `J`. Mirrors the backend registry.\n *\n * OPTIONAL: the real registry builder always populates it, but partial test\n * registries omit it — consumers (e.g. `useResourceSearch`) treat an absent map\n * as \"no junction scoping\" (plain target search).\n */\n manyToManyScopeJunctions?: ManyToManyScopeJunctionMap;\n notificationBadgeDefinitions: NotificationBadgeDefinition[];\n additionalUserNotificationDefinitions: UserNotificationDefinition[];\n resourceRelationships: ResourceRelationship[];\n resourceConfigurations: {\n [key: ResourceType]: AnyFrontendResourceConfiguration;\n };\n subtreeMap: SubtreeMap;\n}\n\n\n// ================================================================================================\n// Original resources.frontend.schemas.ts content\n// ================================================================================================\n\n/**\n * Everything the framework knows about the **current resource operation** while rendering\n * a layout host (read/update/list/custom view, nested child, etc.).\n *\n * **How to use:** custom templates and views receive compatible props via framework\n * hooks; use `contextResourceIdentifiers` for parent/child route params and FK scope.\n * `operation` is the merged backend operation + `operationFrontendConfig` — prefer it\n * over guessing URLs or variant keys. `parentResourcesRequirements` repeats path\n * requirements from routing for hosts that must validate scope before fetch.\n */\nexport interface FrontendResourceOperationContext extends FrontendResourceOperationPath {\n /** Current operation being executed */\n resourceType: string;\n\n /** The operation configuration - properly typed */\n operation: FrontendResourceConfiguration_Operation;\n\n /** Resource context map: ResourceType -> resourceId | {fieldIdentifier, resourceId} */\n contextResourceIdentifiers: Record<string,\n | string\n | { fieldIdentifier: string; resourceId: string; }\n >;\n\n /** Additional context data that can be passed */\n additionalContext?: Record<string, unknown>;\n\n /** Parent resource requirements - explicitly included from FrontendResourceOperationPath */\n parentResourcesRequirements: FrontendResource_ParentResourceRequirement[];\n}\n\n/** ──────────────────────────────────────────────────────────────\n * Internal Schemas (concrete, for method access)\n * ────────────────────────────────────────────────────────────── */\n\nexport const FrontendResourceOperationContextSchema = FrontendResourceOperationPathSchema.extend({\n // operation is typed as z.any() in schema — the FrontendResourceOperationContext interface\n // provides proper typing (FrontendResourceConfiguration_Operation) for compile-time consumers\n operation: z.any(),\n contextResourceIdentifiers: z.record(z.string(), z.union([\n z.string(),\n z.object({\n fieldIdentifier: z.string(),\n resourceId: z.string()\n })\n ])),\n additionalContext: z.record(z.string(), z.unknown()).optional(),\n});\n\n\n/**\n * Frontend-native resource configuration types.\n *\n * Defines the complete frontend configuration for resources and their operations,\n * independent of app type. This replaces the legacy per-app discriminated\n * `ResourceOperationFrontendConfig`.\n *\n * The resource-level fields (labels, sections, views, empty state, guidance) are\n * written to `FrontendResourceConfiguration.frontendConfiguration` during registry\n * build. The `views` sub-field provides per-operation frontend config — giving\n * a single, self-contained definition of how each resource appears and behaves in\n * a given frontend application.\n *\n * **How to use (authoring):** in app code, build a `ResourceUIBehavior` map with\n * `resourceUIBehavior(factory, schema, callback)` and merge presets; the framework\n * compiles that into `FrontendResourceConfiguration` entries. The types below\n * (`ResourceUIBehavior_EmptyState`, `ResourceLayoutConfig`, …) are the pieces you\n * pass inside that callback’s return value.\n */\n\n\n\n// ── Resource frontend config sub-types ──────────────────────────────\n\n/** Secondary action type for empty state (link to URL vs guidance flow). */\nexport enum ResourceFrontend_EmptyStateSecondaryActionType {\n LINK = 'link',\n GUIDANCE = 'guidance',\n}\n\n/** Trigger type for resource-level guidance flows. */\nexport enum ResourceFrontend_GuidanceFlowTriggerType {\n FIRST_VISIT = 'FIRST_VISIT',\n MANUAL = 'MANUAL',\n DELAYED = 'DELAYED',\n EVENT = 'EVENT',\n}\n\n/**\n * Empty state configuration for list/table views when no items exist.\n * Labels (title, description, primaryActionLabel) come from i18n.\n *\n * @example\n * ```\n * emptyState: {\n * icon: 'inbox',\n * primaryAction: CoreResourceOperation.CREATE,\n * secondaryAction: { type: ResourceFrontend_EmptyStateSecondaryActionType.LINK, target: 'https://docs.example.com/projects' },\n * }\n * ```\n */\nexport interface ResourceUIBehavior_EmptyState {\n /** Icon ref from the icon registry. If not provided, uses a default empty-state icon. */\n icon?: string;\n /**\n * Operation ref for the primary CTA (e.g., `CoreResourceOperation.CREATE`).\n * If not provided, auto-detects CREATE from available operations.\n * Set to `false` to explicitly disable the primary action button.\n */\n primaryAction?: string | false;\n /** Secondary action — link to docs, guidance flow, or external URL. */\n secondaryAction?: {\n type: ResourceFrontend_EmptyStateSecondaryActionType;\n target: string;\n };\n}\n/**\n * Single guidance element within a resource-level guidance flow.\n * Maps to an OnboardingElement during compilation.\n */\nexport interface ResourceFrontend_GuidanceElement {\n type: OnboardingElementType;\n ref: string;\n targetField?: string;\n targetSelector?: string;\n placement?: TourStepPlacement;\n actionRef?: string;\n steps?: Array<{ ref: string; targetField?: string; targetSelector?: string; placement?: TourStepPlacement }>;\n questions?: Array<{ id: string; type: string; required?: boolean; options?: Array<{ ref: string; value?: string }> }>;\n}\n\n/**\n * Resource-level guidance flow declaration.\n * Compiled into a standard `GuidanceFlowDefinition` by the guidance-resource-compiler.\n */\nexport interface ResourceUIBehavior_GuidanceFlow {\n ref: string;\n bindToOperation: string;\n renderMode: GuidanceRenderMode;\n trigger: {\n type: ResourceFrontend_GuidanceFlowTriggerType;\n delayMs?: number;\n eventName?: string;\n };\n scope?: GuidanceFlowScope;\n audience?: GuidanceAudience;\n priority?: number;\n elements: ResourceFrontend_GuidanceElement[];\n}\n\n// ── Operation key ───────────────────────────────────────────────────\n\n/**\n * @wildo_source:part:start saas.frontend.operation-key-and-resource-config-like facet:layer:frontend facet:family:resource-ui\n *\n * Key identifying a resource operation in the frontend preset.\n *\n * - `string` — default operation (e.g., `CoreResourceOperation.READ`)\n * - `readonly [string, string]` — non-default variant: `[operationIdentifier, variantKey]`\n * (e.g., `[CoreResourceOperation.READ, 'admin']`)\n *\n * The same extracted span also includes `FRONTEND_SCHEMA_KEY`, `ObjectShape`,\n * `ResourceConfigLike`, and `TypedOperationKey` — the schema bridge and typed\n * operation keys used by `resourceUIBehavior()` inference.\n */\nexport type OperationKey = string | readonly [string, string];\n\n\n// ── Schema bridge key ───────────────────────────────────────────────\n\n/**\n * Symbol key used internally by `resourceUIBehavior()` to attach the schema\n * reference to the config object, and by `buildFrontendResourceConfigurations()`\n * to extract it. Using a Symbol prevents collision with user-defined properties\n * and is invisible in Object.keys()/JSON serialization.\n */\nexport const FRONTEND_SCHEMA_KEY: unique symbol = Symbol('frontendSchema');\n\n\n// ── Typed helper types ──────────────────────────────────────────────\n\n/** Extracts the typed shape from a ZodObject, falls back to Record for non-objects. */\nexport type ObjectShape<T extends z.ZodTypeAny> =\n T extends z.ZodObject<infer S> ? S : Record<string, z.ZodTypeAny>;\n\n/**\n * Accepts both factory functions and configuration instances for type inference.\n * Used by `resourceUIBehavior()` to infer generics from either form.\n */\nexport type ResourceConfigLike<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n> = ResourceConfiguration<TCustomOp, TCoreOp, TSchema>\n | ResourceConfiguration_InitializationFactory<TCustomOp, TCoreOp, TSchema>;\n\n/**\n * Typed operation key — extends `ValidOperationKeys` with variant tuple support.\n * When both generics default to `any`, collapses to `any` — backward compatible\n * with untyped `OperationKey` usage.\n */\nexport type TypedOperationKey<\n TCustomOp extends EnumLikeType | undefined = any,\n TCoreOp extends Partial<CoreResourceOperation> | undefined = any,\n> = ValidOperationKeys<TCustomOp, TCoreOp> | readonly [ValidOperationKeys<TCustomOp, TCoreOp>, string];\n/** @wildo_source:part:end saas.frontend.operation-key-and-resource-config-like */\n\n// ── Operation-level frontend config ─────────────────────────────────\n\n/**\n * @wildo_source:part:start saas.frontend.resource-operation-frontend-config facet:layer:frontend facet:family:resource-ui\n *\n * How a resource collection renders its items (cards vs table). A FRONTEND\n * presentation vocabulary — authored on a LIST/SEARCH operation's\n * `collectionDisplayConfig` (below) in the resource UI behavior, NEVER on the\n * shared resources-config operation: the backend has no notion of cards-vs-table.\n * The string values are the persisted view-mode keys, so a stored user choice\n * reads straight across.\n *\n * @example\n * // resource UI behavior `views` entry:\n * [Op.LIST, { collectionDisplayConfig: { displayMode: CollectionDisplayMode.TABLE, userSwitchableDisplayMode: true } }]\n */\nexport enum CollectionDisplayMode {\n /** Stacked cards — one row per item via `ResourceListItemRenderer`. */\n CARDS = 'cards',\n /** Dense table — one column per summary field via the table body. */\n TABLE = 'table',\n}\n\n/**\n * A DATE WINDOW named relative to NOW, for a preset filter that must mean the same thing tomorrow.\n *\n * A preset is authored once and clicked forever, so \"created today\" cannot be an authored pair of\n * instants — it has to be RESOLVED at the moment it is applied. The vocabulary is closed and small\n * on purpose: each member is a window a person actually asks for, and each resolves to the\n * `{ startDate, endDate }` pair the framework's date-range filter already carries end to end, so a\n * preset needs no filter grammar of its own and no backend change.\n *\n * Resolution is in the VIEWER's timezone, which is the only one that makes \"today\" true for the\n * person reading the screen. The backend compares instants, so the boundaries travel as absolute\n * times and nothing downstream has to know a timezone was involved.\n */\nexport enum CollectionFilterPresetRelativeRange {\n /** Midnight this morning until midnight tonight, local. */\n TODAY = 'today',\n /** The same window, one day back. */\n YESTERDAY = 'yesterday',\n /** The last seven days INCLUDING today — the rolling week, not the last seven whole days. */\n LAST_7_DAYS = 'last_7_days',\n /** The last thirty days including today. */\n LAST_30_DAYS = 'last_30_days',\n /** The first of this calendar month until now. */\n THIS_MONTH = 'this_month',\n /** The first of this calendar year until now. */\n THIS_YEAR = 'this_year',\n}\n\n/**\n * What a preset ASSIGNS to one filter field.\n *\n * Two members, and the split is between a value that is FIXED at authoring time and one that can\n * only be known when the pill is clicked. A literal covers every enum value, id, number and flag —\n * which is the whole of \"filter to HIGH priority\". A relative range covers the temporal case, whose\n * defining property is that an authored answer would be wrong by tomorrow.\n *\n * A NUMERIC BOUND is the third, and it is the one that needed the rest of the stack before it could\n * mean anything: the framework's collection filters carried a date range and scalars and no numeric\n * range, so a preset could have declared \"cost below 500\" and nothing between here and the database\n * would have honoured it. It is expressible now because `Resources_Filter_NumberRangeSchema`, the\n * controller's fail-closed value guard and the cross-adapter normalizer all learned the `{ min, max }`\n * vocabulary — a preset assigning one is writing the same value the filter panel's own two inputs do.\n *\n * Both bounds optional, for the same reason the schema has them optional: \"under 500\" is a range\n * with no floor, and that is the commonest threshold anyone asks for.\n */\nexport const CollectionFilterPresetValueSchema = z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.object({ relativeRange: z.enum(CollectionFilterPresetRelativeRange) }),\n z.object({ min: z.number().optional(), max: z.number().optional() }),\n]);\nexport type CollectionFilterPresetValue = z.infer<typeof CollectionFilterPresetValueSchema>;\n\n/**\n * ONE named, one-click narrowing of a collection, rendered as a toggleable pill above the list.\n *\n * ## Why this is not `quickFilterField`\n *\n * They answer different questions and both are worth having. A quick-filter field promotes ONE enum\n * and spends every one of its values on a TAB STRIP: the tabs are mutually exclusive and they read\n * as \"which slice of this collection am I looking at\". A preset is ADDITIVE and crosses fields —\n * \"high priority\", \"created today\", \"unassigned\" — and several can be on at once. Collapsing them\n * would cost one of the two meanings.\n *\n * ## No state of its own\n *\n * A preset is a WRITE into the collection's existing filter values, and its ON/OFF is DERIVED by\n * reading them back: it is active exactly when every key it assigns currently holds its value. So\n * clearing a chip, editing the panel, or applying a second preset that touches the same field all\n * update the pills for free, and there is no second copy of the filter state to keep in step.\n */\nexport const CollectionFilterPresetSchema = z.object({\n /**\n * Stable identity — the i18n key segment and the pill's DOM hook. Author-owned and never shown:\n * the words come from `resources.<type>.filterPresets.<ref>.label`.\n */\n ref: z.string().min(1),\n /**\n * The fields this preset assigns, and to what. Every key must be a filter field of the operation;\n * a key that is not simply never matches, so the pill would read as permanently off.\n */\n filters: z.record(z.string(), CollectionFilterPresetValueSchema),\n});\nexport type CollectionFilterPreset = z.infer<typeof CollectionFilterPresetSchema>;\n\n/**\n * How CARDS-mode items are arranged. Orthogonal to {@link CollectionDisplayMode}\n * (this only shapes the CARDS body; TABLE ignores it). LIST and GRID are kept as\n * DISTINCT layouts, not a `columns: 1` collapse — a list is bordered rows sharing\n * one container (`divide-y`), a grid is separated card cells in N responsive\n * columns.\n */\nexport enum CardLayoutStyle {\n /** Bordered rows in a single shared container (the classic stacked list). */\n LIST = 'list',\n /** Separated card cells laid out in an N-column responsive grid. */\n GRID = 'grid',\n}\n/** @wildo_source:part:end saas.frontend.resource-operation-frontend-config */\n\n/**\n * @wildo_source:part:start saas.frontend.resource-operation-frontend-config facet:layer:frontend facet:family:resource-ui\n *\n * Frontend configuration for a single resource operation.\n *\n * Controls how the operation is surfaced in the frontend:\n * - `surface` — the operation's frontend surface: `ADDRESSABLE` (routable page),\n * `EMBEDDED` (non-addressable view rendered within a host: overlay, composite, or\n * nested), or `API_ONLY` (headless — no interface, callable as an API). See\n * `ResourceOperationFrontendSurface`.\n * - `customView` — direct UIBehavior-owned React component override for authored custom operation views.\n * Use the exported operation-family component types (`ResourceReadCustomViewComponent`,\n * `ResourceListCustomViewComponent`, etc.) plus the matching\n * `useReadOperationSurface()` / `useListOperationSurface()` helpers when you\n * want a strongly truthful custom host for a specific layout family.\n * - `displayPresetOverride` — layout preset override for the operation's UI\n * - `navigationOverrides` — per-operation navigation transition overrides\n * - `displayPriority` — visual ordering in ActionBar/operation lists (lower = higher priority)\n * - `iconOverride` — per-operation icon ref (overrides resource-level icon in navigation items)\n * - `collectionDisplayConfig` — for LIST/SEARCH collection operations: the default\n * cards-vs-table body (`displayMode`) and whether the user may toggle it\n * (`userSwitchableDisplayMode`, persisted per resource type); the CARDS\n * arrangement (`cardLayout` — LIST vs N-column GRID); where each card's action\n * buttons sit (`cardActionPlacement` — 2-axis anchor + orientation); and\n * whether items are selectable for bulk actions (`selectable`). Pure frontend\n * presentation; the backend never reads it.\n *\n * **Resource-owned inserted views are NOT configured here.** Composite, chart,\n * and execution views declared on the resource UI behavior surface themselves\n * into their targeted operation host directly, via their own canonical fields:\n * `compositeViews[*].operationLike` / `chartViews[*].operationLike` (single)\n * and `executionViews[*].surfaceInOperations` (list). The layout consumer\n * (`ResourceLayout_InsertedViews`) reads those declarations and filters them\n * by the current operation at render time — there is no operation-level\n * view-ref list to author or compile.\n *\n * **Historical note (search hit):** earlier versions of this schema exposed an\n * `additionalViews: ResourceViewRef[]` (and before that `additionalViewLinks:\n * string[]`) operation-level field that authored which resource-owned views\n * surfaced in this operation. That field was removed in the\n * `resource-owned-view-surfacing-contract.md` workstream because it duplicated\n * the per-view declaration sites (`compositeViews`, `chartViews`,\n * `executionViews`) and could silently disagree with them. If you are looking\n * for `additionalViews` because a doc, comment, prompt, or downstream code\n * still references it, the answer is: declare the surface on the view itself\n * (use `operationLike` for composite/chart, `surfaceInOperations` for\n * execution), do not re-introduce an operation-level seam.\n */\n/**\n * How an operation's ACTION (its action-bar button) is surfaced in this application.\n *\n * A per-app, **display-only** axis — backend authorization is unaffected, roles\n * remain the only security authority, so this never makes an operation reachable\n * that wasn't already; it only governs the button.\n */\nexport enum ActionVisibility {\n /** Always shown; rendered DISABLED when its `enabledCondition` is unmet. The default. */\n ALWAYS = 'always',\n /**\n * Never shown — this app declares the operation's action off for this surface.\n *\n * Invariant: do NOT pair with a visible (addressable) view for the same operation.\n * The action is the entry point to the view, so a visible view whose action is\n * hidden is contradictory — there is no way to reach it. Hiding the action removes\n * the operation, and the path to any view it has, from this app's UI.\n */\n HIDDEN = 'hidden',\n /**\n * Shown ONLY when its `enabledCondition` is met; HIDDEN (not disabled) otherwise.\n *\n * For state-conditional operations whose disabled state is just noise — e.g.\n * organization `ACTIVATE` appears on a suspended org but vanishes on an active one,\n * rather than sitting there greyed out.\n */\n WHEN_AVAILABLE = 'when_available',\n}\n\n/**\n * Where an operation's ACTION sits in the action bar for this application.\n *\n * A per-app, **display-only** layout axis, orthogonal to authorization. When\n * omitted, placement is DERIVED from the operation's `riskLevel`: HIGH/CRITICAL\n * operations default to `DANGER_ZONE`, everything else to `PRIMARY`. Set it\n * explicitly to override that default — e.g. tuck a non-risky-but-rare action\n * into the danger zone, or keep a CRITICAL action inline in a dedicated admin\n * tool. The same axis drives the bulk action bar, since both are built from the\n * same operation pipeline.\n */\nexport enum ActionPlacement {\n /** Inline in the main action group. The default for low/medium-risk operations. */\n PRIMARY = 'primary',\n /**\n * Segregated into a trailing \"danger zone\" group, fenced off by a separator,\n * after every PRIMARY action. The default for HIGH/CRITICAL-risk operations\n * (destructive deletes, lifecycle suspends).\n */\n DANGER_ZONE = 'danger_zone',\n}\n\n/**\n * HOW an operation's action collects its input and shows its result — the chrome the user meets\n * when they click the button.\n *\n * ## Why this axis exists\n *\n * Until this axis, one rule decided the answer for every custom operation:\n * *has a `requestDto` ⇒ navigate*. So an action asking for a single reason string got the same\n * full-page treatment as a multi-step wizard, and the only way out was to author\n * `navigationOverrides` — per operation, in terms of a zone, a transition verb and an appearance.\n * Three concepts to answer one question.\n *\n * This is that one question. It is a **display-only** axis: backend authorization is untouched and\n * `roles` remain the only security authority, exactly like its siblings {@link ActionVisibility},\n * {@link ActionPlacement} and {@link ResourceOperationActionScope}.\n *\n * ## It is an ALIAS, not a parallel mechanism\n *\n * `MODAL` and `PAGE` do not render anything themselves — they resolve to the navigation transitions\n * that already exist (`OVERLAY`, and the ordinary chain), so there is one runtime mechanism and one\n * set of zone/appearance/URL semantics. `DIRECT`, `POPOVER` and `INLINE` never enter navigation at\n * all, because none of them is a destination: nothing is pushed, no zone changes, and there is\n * nothing for a back button to pop. `INLINE` is hosted by the collection the element belongs to —\n * see `InPlaceOperationContext` for why that is not the navigation layer's job.\n *\n * Consequently an explicit `navigationOverrides` entry still WINS over a presentation authored here\n * (it is the more specific instrument, and it is checked first in the resolution chain). Author this\n * axis to say what KIND of chrome the action wants; author `navigationOverrides` when you need to\n * name the zone, the appearance or the viewport yourself.\n *\n * ## When omitted\n *\n * It is DERIVED from the operation — see `resolveResourceOperationActionPresentation()`. An\n * operation that asks for nothing executes directly; a small field set opens a modal; input the\n * framework cannot fit in an overlay (files, nested writes, a large field set) keeps the page it\n * has always had. An operation whose `surface` is `ADDRESSABLE` always keeps its page: the author\n * has already said it is a deep-linkable destination.\n */\nexport enum ResourceOperationActionPresentation {\n /**\n * Execute on click, with no form at all — the confirmation dialog for a risky operation is the\n * only thing between the click and the request.\n *\n * Only meaningful for an operation that needs no caller input. Declaring it on an operation that\n * DOES have required request fields would send an empty body, so the resolver refuses to derive it\n * there and an author who declares it anyway gets the operation's fields dropped — check\n * `requestDto` before reaching for this.\n */\n DIRECT = 'direct',\n /**\n * A small form anchored to the button that opened it, dismissed by clicking away.\n *\n * The single-input idiom (\"assign to…\", \"snooze until…\"). Transient by construction: no URL, no\n * history entry, nothing to deep-link. Use it when the surrounding context is the point — the user\n * is reading the row they are acting on and must not lose sight of it.\n */\n POPOVER = 'popover',\n /**\n * The element being acted on transforms in place to collect the input, leaving its neighbours\n * visible — the row becomes the form rather than being covered by one.\n *\n * Use it when the surrounding rows are the point: the user is comparing, and an overlay would hide\n * the very thing that made them act on this row.\n *\n * **Transient, like {@link POPOVER}, and for the same reason.** Nothing is pushed, no URL changes,\n * and a reload returns the list to rest. An inline row-edit is a momentary state of a listing, not\n * a place — which is also why no admin framework deep-links one, and why anything that SHOULD be\n * linkable, reloadable or reachable by a back button wants {@link PAGE}.\n *\n * **It requires a collection.** The host is provided by the list the element belongs to\n * (`InPlaceOperationProvider`); the same action rendered on a detail page, in a danger zone or in a\n * picker has no row to transform and degrades to an overlay rather than becoming a dead button.\n *\n * Note it does NOT resolve to `NavigationTransition.INPLACE`. Element-level hosting uses none of\n * what the navigation layer offers — no zone, no stack entry, no appearance — and routing it there\n * is exactly why that transition has never done what its own docstring promises. See\n * `InPlaceOperationContext`.\n */\n INLINE = 'inline',\n /**\n * An overlay above the layout — the workhorse for \"a handful of fields\", and the default the\n * derivation reaches for.\n *\n * Resolves to {@link NavigationTransition.OVERLAY}. The concrete appearance (dialog / sheet /\n * drawer / panel) stays the app's decision, resolved from its navigation layout exactly as any\n * other overlay: this axis says \"an overlay\", not \"a dialog specifically\". Author\n * `navigationOverrides` when you need to name one.\n */\n MODAL = 'modal',\n /**\n * A routable page, resolved through the ordinary navigation chain (zone transitions, viewport\n * overrides, the framework `PUSH` fallback) — i.e. exactly the behaviour every parameterised\n * action had before this axis existed.\n *\n * The right answer for complex or multi-step input, and for anything a user should be able to\n * link to, reload, or reach with a back button.\n */\n PAGE = 'page',\n}\n\n/**\n * Does an operation's action target a SINGLE resource instance, or the WHOLE\n * collection in the current scope?\n *\n * A per-app **surfacing** axis, orthogonal to authorization. Most actions are\n * `ITEM` (edit / delete / retry one row) and render in the per-row and detail\n * action bars. A `COLLECTION` action operates on every row in scope at once\n * (e.g. \"retry all failed deliveries\", \"purge the queue\"): it renders ONCE in\n * the list's collection-action surface (the toolbar), never per row, and\n * confirms + executes in place rather than opening a per-row form.\n *\n * For a `COLLECTION` action to have a callable route, its operation must borrow\n * a COLLECTION verb via `resourceOperationLike` (`UPDATE_MANY` / `DELETE_MANY` /\n * `CREATE_MANY`) — an entity verb (`UPDATE` / `DELETE`) generates a route with a\n * `:id` segment the scope-level surface has no single row to fill.\n */\nexport enum ResourceOperationActionScope {\n /** Targets one resource instance — the per-row / detail action bars. The default when omitted. */\n ITEM = 'item',\n /** Targets the whole collection in scope — rendered once in the list's collection-action surface. */\n COLLECTION = 'collection',\n}\n\n/**\n * What happens to an operation's action when its `enabledCondition` is currently\n * unmet — the per-view default for actions that don't declare an explicit\n * `actionVisibility`. An explicit per-operation `actionVisibility` always wins\n * over this policy; feature-gated unavailability keeps its own\n * `FeatureUnavailabilityBehavior` (upgrade/prompt) and is never hidden by this.\n *\n * - `HIDE` — drop the action entirely while unavailable (as if it declared\n * `ActionVisibility.WHEN_AVAILABLE`). The framework default for BOTH views: a\n * greyed, non-actionable button is noise wherever it sits, and hiding it also\n * collapses mutually-exclusive state pairs (e.g. \"Set as recurring\" / \"Set as\n * one time\") down to the one that currently applies.\n * - `SHOW_DISABLED` — render the action greyed/disabled (the classic behavior).\n * Opt in per view when the disabled action + its reason tooltip is genuinely\n * informative and you want it always present.\n */\nexport enum DisabledActionHandling {\n SHOW_DISABLED = 'show_disabled',\n HIDE = 'hide',\n}\n\n/**\n * Per-view action-surfacing (disclosure) policy — how many actions stay visible\n * and how unavailable ones are treated, for ONE {@link ResourceOperationDisplayMode}.\n */\nexport interface ResourceActionDisclosureConfig {\n /**\n * How many PRIMARY actions render as direct buttons before the remainder\n * collapse into the `…` overflow menu. Omitted inherits the framework default\n * for the view ({@link DEFAULT_ACTION_DISCLOSURE}): 3 for SUMMARY, unlimited\n * for DETAIL. `0` pushes every action into the menu.\n */\n maxPrimaryActions?: number;\n /**\n * Default handling for actions disabled by an unmet `enabledCondition` — see\n * {@link DisabledActionHandling}. Omitted inherits the framework default:\n * `HIDE` on SUMMARY rows, `SHOW_DISABLED` on DETAIL (where each unavailable\n * action explains why it cannot run).\n */\n disabledActionHandling?: DisabledActionHandling;\n}\n\n/** Fully-resolved disclosure policy (no optional fields) for one view. */\nexport interface ResolvedActionDisclosure {\n /** `undefined` = unlimited (no overflow cap). */\n maxPrimaryActions: number | undefined;\n disabledActionHandling: DisabledActionHandling;\n}\n\n/**\n * Framework defaults per view.\n *\n * - SUMMARY (dense list/table rows) HIDES actions an unmet `enabledCondition`\n * disables and caps direct actions at 3 before the `…` menu: on a row, a greyed\n * button is noise repeated N times.\n * - DETAIL (the read view and the bulk bar) SHOWS them, uncapped. Both views used\n * to hide, on the reasoning that \"an inapplicable, greyed button is noise\" — true\n * of a greyed button that explained nothing. An unavailable action now opens its\n * reason (and, for a bulk selection, offers to keep only the eligible rows), so on\n * the surface where someone is deciding what to do, hiding it would hide the\n * answer to \"why can't I?\".\n *\n * A resource overrides either view via `layout.actionDisclosure`.\n */\nexport const DEFAULT_ACTION_DISCLOSURE: Record<ResourceOperationDisplayMode, ResolvedActionDisclosure> = {\n [ResourceOperationDisplayMode.SUMMARY]: {\n maxPrimaryActions: 3,\n disabledActionHandling: DisabledActionHandling.HIDE,\n },\n /*\n * A roomy surface SHOWS what cannot run, because an unavailable action now explains itself (its\n * reason opens on activation — `ActionBarUnavailability`). Hide what is irrelevant, disable and\n * explain what is temporarily unavailable: hiding it here would also hide the answer to \"why can't\n * I?\". This was HIDE from the day it was written, while the hook's own comment and Wonder Todos'\n * override both said DETAIL shows the unavailable — the default contradicted the stated design. The\n * bulk bar renders in DETAIL, so a bulk action a selection does not qualify for is now visible and\n * says which rows are the problem.\n */\n [ResourceOperationDisplayMode.DETAIL]: {\n maxPrimaryActions: undefined,\n disabledActionHandling: DisabledActionHandling.SHOW_DISABLED,\n },\n};\n\n/**\n * Resolve the effective disclosure policy for a view: per-resource override\n * (`layout.actionDisclosure[view]`) layered over the framework default. Used by\n * both the action-building hook (disabled handling) and the operations-items\n * host (overflow cap).\n */\nexport function resolveActionDisclosure(\n displayMode: ResourceOperationDisplayMode,\n disclosure: Partial<Record<ResourceOperationDisplayMode, ResourceActionDisclosureConfig>> | undefined,\n): ResolvedActionDisclosure {\n const base = DEFAULT_ACTION_DISCLOSURE[displayMode] ?? DEFAULT_ACTION_DISCLOSURE[ResourceOperationDisplayMode.DETAIL];\n const override = disclosure?.[displayMode];\n return {\n maxPrimaryActions: override?.maxPrimaryActions ?? base.maxPrimaryActions,\n disabledActionHandling: override?.disabledActionHandling ?? base.disabledActionHandling,\n };\n}\n\n/**\n * 2-axis card action-button placement. Single source of truth for the config\n * field AND the `card-action-placement.utils` resolver (which imports the\n * `CardActionPlacement` type inferred from this schema, so the two can never\n * drift). `MIDDLE × MIDDLE` is rejected — dead-center overlaps the card content.\n */\nexport const CardActionPlacementSchema = z.object({\n vertical: z.enum(VerticalPlacement),\n horizontal: z.enum(HorizontalPlacement),\n orientation: z.enum(DisplayDirection).optional(),\n}).refine(\n (p) => !(p.vertical === VerticalPlacement.MIDDLE && p.horizontal === HorizontalPlacement.MIDDLE),\n { message: 'cardActionPlacement cannot be MIDDLE × MIDDLE (dead-center overlaps card content); choose an edge or corner.' },\n);\n\n/** Authored 2-axis card action placement — inferred from {@link CardActionPlacementSchema}. */\nexport type CardActionPlacement = z.infer<typeof CardActionPlacementSchema>;\n\n/**\n * Who paints the identity GLYPH on this operation's page header.\n *\n * The header band renders the resource's registry icon beside the identity line by default. A\n * `layout.header` template that composes its own record-linked glyph (a per-row kind icon, a\n * per-family symbol) would otherwise sit BESIDE the resource icon — two glyphs naming one thing.\n *\n * Declared at the OPERATION layer rather than detected from the template, deliberately: the\n * resource icon renders before the template mounts, so detection could only suppress it after the\n * fact — a glyph that flashes and vanishes on every load. Mirrors\n * `SummaryTitlePlacement.TEMPLATE_OWNED`, the same contract one surface over: ceding a\n * framework-owned element to the template is a declaration, not an inference.\n */\nexport enum HeaderIconPlacement {\n /** The framework renders the resource's registry icon (default). */\n AUTO = 'auto',\n /** The header template owns the glyph; the framework renders none. */\n TEMPLATE_OWNED = 'template_owned',\n}\n\nexport const ResourceOperationFrontendConfigSchema = z.object({\n /**\n * The operation's frontend **surface** — see {@link ResourceOperationFrontendSurface}.\n * `ADDRESSABLE` (routable page) and `EMBEDDED` (non-addressable view rendered within\n * a host — overlay/composite/nested) both have a view + action button; `API_ONLY` is\n * headless (no view, no button). The view fields below (`actionVisibility`,\n * `customView`, `iconOverride`, layout, …) apply only to `ADDRESSABLE`/`EMBEDDED`; a\n * build-time check rejects them on `API_ONLY`.\n * Replaces the former `isAddressable` boolean — read via `isOperationAddressable()`.\n */\n surface: z.enum(ResourceOperationFrontendSurface),\n /** Who paints the page header's identity glyph — see {@link HeaderIconPlacement}. Omitted = AUTO. */\n headerIconPlacement: z.enum(HeaderIconPlacement).optional(),\n /**\n * How this operation's action is surfaced — see {@link ActionVisibility}. Omitted\n * (the common case) behaves as `ALWAYS`.\n */\n actionVisibility: z.enum(ActionVisibility).optional(),\n /**\n * Where this operation's action sits in the bar — see {@link ActionPlacement}.\n * Omitted derives from `riskLevel` (HIGH/CRITICAL → danger zone, else primary).\n */\n actionPlacement: z.enum(ActionPlacement).optional(),\n /**\n * Visual button variant (colour) for this operation's action — a\n * `ButtonVariants_Variant` (e.g. `DESTRUCTIVE`, `GHOST`, `ACCENT`). Omitted\n * derives from `riskLevel` (HIGH/CRITICAL → destructive/red, else ghost). Typed\n * on the interface below; the Zod field stays `z.any()` because the enum lives\n * in a component module a schema must not pull at runtime (same as `iconOverride`).\n */\n actionVariant: z.any().optional(),\n /**\n * Does this action target one row or the whole collection — see\n * {@link ResourceOperationActionScope}. Omitted behaves as `ITEM`. A\n * `COLLECTION` action renders once in the list's collection-action surface\n * (never per row) and confirms + executes in place; pair it with a COLLECTION\n * `resourceOperationLike` (`*_MANY`) so its generated route carries no `:id`.\n */\n actionScope: z.enum(ResourceOperationActionScope).optional(),\n /**\n * For an `ITEM` action whose backend addresses the target row by a field in\n * the REQUEST BODY (not the URL id), the request-DTO field name to fill with\n * the clicked row's id. When set, clicking the action executes IN PLACE —\n * sending `{ [rowTargetRequestField]: <rowId> }` — instead of opening a form:\n * e.g. a per-row \"Retry\" whose handler reads `{ entryId }` from the body. (The\n * row id still rides the URL path too, which the handler may ignore.)\n */\n rowTargetRequestField: z.string().optional(),\n /**\n * HOW this action collects its input — see {@link ResourceOperationActionPresentation}.\n * Omitted derives from the operation (`resolveResourceOperationActionPresentation`): no input\n * executes directly, a small field set opens a modal, complex input keeps its page.\n *\n * Display-only. An explicit `navigationOverrides` entry is the more specific instrument and wins\n * over whatever this resolves to.\n */\n actionPresentation: z.enum(ResourceOperationActionPresentation).optional(),\n customView: z.any().optional(),\n displayPresetOverride: z.object({\n resourceLayoutPresetKey: z.string().optional(),\n }).optional(),\n navigationOverrides: z.array(NavigationOperationOverrideSchema).optional(),\n displayPriority: z.number().optional(),\n iconOverride: z.any().optional(),\n collectionDisplayConfig: z.object({\n displayMode: z.enum(CollectionDisplayMode).optional(),\n userSwitchableDisplayMode: z.boolean().optional(),\n /**\n * Promote ONE enum filter field to a prominent quick-filter tab strip\n * rendered above the collection toolbar (\"All · <value> · <value> …\" —\n * the Stripe/Ignisign webhook-dashboard idiom, e.g. All/Delivered/Failed).\n *\n * The named field MUST be an enum member of the operation's backend\n * `filterFields` — the tabs write into the SAME filter state as the\n * filters panel (selecting a tab filters server-side), and the field is\n * removed from the panel/chips so there is never a second competing\n * control for it. Unknown / non-enum field names degrade gracefully\n * (no tab strip, field stays in the panel). Tab labels reuse the enum\n * value i18n (`tResourceFieldEnumValue`).\n */\n quickFilterField: z.string().optional(),\n /**\n * Named one-click narrowings, rendered as a row of toggleable pills between the quick-filter\n * tabs and the toolbar. See {@link CollectionFilterPresetSchema} for the semantics and for why\n * this is not the same mechanism as `quickFilterField`.\n *\n * Each preset's words come from `resources.<resourceType>.filterPresets.<ref>.label`; a preset\n * whose label is not authored renders its raw `ref`, so a missing label LOOKS missing instead\n * of being invented from the identifier.\n *\n * @example\n * presetFilters: [\n * { ref: 'urgent', filters: { priority: 'high' } },\n * { ref: 'created-today', filters: { createdAt: { relativeRange: CollectionFilterPresetRelativeRange.TODAY } } },\n * ]\n */\n presetFilters: z.array(CollectionFilterPresetSchema).optional(),\n /**\n * Group CARDS-mode rows into day buckets by this date field, rendering a\n * date heading between groups (activity-feed idiom for log-like\n * collections, e.g. webhook deliveries by day). Purely presentational:\n * grouping applies to the fetched page in its server order — pair it\n * with a default sort on the same field so buckets are contiguous.\n * Ignored in TABLE mode (column sorting owns the ordering there). Rows\n * whose field value is missing/unparsable render in a trailing bucket\n * without a date heading rather than being dropped.\n */\n temporalGroupField: z.string().optional(),\n /**\n * Group CARDS-mode rows into buckets by this ENUM field, rendering the\n * enum value's own label as a heading between groups.\n *\n * Sibling of {@link temporalGroupField}, and deliberately NOT the same\n * algorithm. Temporal grouping ADJACENT-MERGES in server order, because\n * dates are open-ended and a page can legitimately revisit one. An enum is\n * a CLOSED, ORDERED vocabulary, so its buckets are emitted in the enum's\n * DECLARATION ORDER regardless of the order rows arrived in — the\n * declaration is the authority for \"which concern comes first\", and a\n * server sort cannot express it without a second, drifting copy of that\n * order. Rows are therefore collected across the whole fetched page rather\n * than merged adjacently, and no sort needs pairing with it.\n *\n * Headings resolve through `tResourceFieldEnumValue` — the SAME source the\n * filters panel and the promoted quick-filter tabs use, so a bucket\n * heading and its tab can never disagree.\n *\n * Ignored in TABLE mode (column sorting owns the ordering there). Rows\n * whose value is absent, or outside the vocabulary, render in a trailing\n * bucket with no heading rather than being dropped — the same fail-open\n * the temporal grouping makes.\n */\n enumGroupField: z.string().optional(),\n /**\n * CARDS-mode arrangement — a single-column bordered LIST (default) or an\n * N-column responsive GRID. See {@link CardLayoutStyle}. `columns` (1–6) is\n * the TARGET maximum; the grid steps DOWN to fewer columns as the grid's own\n * available WIDTH narrows (an intrinsic `auto-fill minmax` track spec — so a\n * grid embedded in a narrow pane collapses even on a wide viewport, with no\n * media breakpoint). Authors give one N; the framework handles the rest.\n * Ignored in TABLE mode.\n *\n * @example\n * cardLayout: { style: CardLayoutStyle.GRID, columns: 3 }\n */\n cardLayout: z.discriminatedUnion('style', [\n z.object({ style: z.literal(CardLayoutStyle.LIST) }),\n z.object({\n style: z.literal(CardLayoutStyle.GRID),\n columns: z.number().int().min(1).max(6),\n }),\n ]).optional(),\n /**\n * Where each card's per-item action buttons sit, as a 2-axis anchor:\n * `vertical` ({@link VerticalPlacement} TOP/MIDDLE/BOTTOM) × `horizontal`\n * ({@link HorizontalPlacement} START/MIDDLE/END, RTL-aware). `orientation`\n * ({@link DisplayDirection}) lays the button set out as a row (HORIZONTAL,\n * default) or a vertical stack (VERTICAL). Omitted → the classic\n * MIDDLE × END horizontal row.\n *\n * `MIDDLE × MIDDLE` is rejected (dead-center overlaps the card content and\n * has no sensible meaning).\n *\n * @example\n * cardActionPlacement: { vertical: VerticalPlacement.TOP, horizontal: HorizontalPlacement.END }\n */\n cardActionPlacement: CardActionPlacementSchema.optional(),\n /**\n * Enable per-item SELECTION (checkboxes on cards / a select column in the\n * table) and the resulting BULK ACTION bar. Explicit opt-in per view. The\n * bar surfaces only operations declared `isBulkOperation` — a `selectable`\n * view with no bulk operations shows checkboxes that drive an empty bar, so\n * pair it with at least one bulk operation. Selection state is shared across\n * the cards↔table toggle (it does not reset when switching modes).\n */\n selectable: z.boolean().optional(),\n }).optional(),\n /**\n * Opt this operation into a generated per-operation description label\n * (`resources.{res}.operations.{op}.description`, read via `tResourceOperation`).\n * Default off — most operations need no description (making it mandatory for\n * every operation is far too verbose). Surfaces that show one (e.g. the danger\n * zone) fall back to risk-based copy when this is unset. Mirrors how fields opt\n * into a description via the `.describe()` decorator.\n */\n hasDescription: z.boolean().optional(),\n /**\n * What happens to an ADJACENT zone (secondary / companion) this operation\n * splits into, once that zone's last content is dismissed — overriding the\n * zone's own `onEmpty` while this operation occupies primary.\n *\n * The zone-level `ZoneConfig.onEmpty` is one value for every destination that\n * splits into that zone, and destinations legitimately disagree: a LIST wants\n * the detail pane to stay put (`EMPTY_STATE`) so the layout does not reflow\n * while a reviewer steps through rows, while a CANVAS wants its width back\n * (`COLLAPSE`) the moment nothing is selected. Both share one secondary zone,\n * so without this override one of them is always wrong.\n *\n * Declared on the SOURCE operation — the one occupying primary — not on the\n * operation that lands in the pane: it answers \"what should MY layout do when\n * the detail closes\", which is a property of the surface being returned to.\n *\n * Omitted (the common case) defers to the zone, which itself defaults to\n * `ZoneEmptyBehavior.COLLAPSE`. Resolution order is destination → zone →\n * COLLAPSE; see `resolveZoneEmptyBehavior`.\n */\n adjacentZoneOnEmpty: z.enum(ZoneEmptyBehavior).optional(),\n /**\n * How wide this destination's content may grow in the zone, in the framework's shared width\n * vocabulary — the SAME `ResponsiveMaxWidth` a Surface, a `DisplayLayout` and a `FormLayout` use.\n *\n * Omitted (the common case) is `'content'`: capped and centred at `var(--content-max-width, 80rem)`,\n * right for a form, a list or a detail page and wrong only for content whose value IS the space it\n * occupies — a board, a wide table, a canvas — which declare `'none'`.\n */\n zoneContentMaxWidth: z.enum(RESPONSIVE_MAX_WIDTH_VALUES).optional(),\n /**\n * Whether this destination's content fills the zone's HEIGHT as well.\n *\n * `true` makes the zone's content boundary a definite-height flex column, so this view's root may use\n * `flex-1 min-h-0` and resolve against something real. Without it a canvas has no intrinsic height\n * and collapses to zero — which is why one had to hand-roll `h-[70vh]`, sizing against the WINDOW\n * rather than the container it sits in. PRIMARY only: an adjacent zone scrolls, so a filling child\n * and a scrolling parent contradict each other.\n *\n * Separate from the width above ON PURPOSE — see `zone-content-geometry.ts` for why the enum that\n * fused them could not express a capped width with a definite height.\n */\n zoneContentFillsHeight: z.boolean().optional(),\n});\n\n/**\n * TypeScript interface for `ResourceOperationFrontendConfigSchema`.\n * `iconOverride`, `customView`, and `actionVariant` are typed with their real\n * React/enum values even though the Zod schema uses `z.any()` — Zod cannot\n * validate function types, and `actionVariant`'s enum lives in a component\n * module the schema must not import at runtime.\n */\nexport type ResourceOperationFrontendConfig = Omit<z.infer<typeof ResourceOperationFrontendConfigSchema>, 'iconOverride' | 'customView' | 'actionVariant'> & {\n iconOverride?: IconLike;\n customView?: React.ComponentType;\n actionVariant?: ButtonVariants_Variant;\n};\n/** @wildo_source:part:end saas.frontend.resource-operation-frontend-config */\n\n/**\n * Is this operation's frontend surface URL-addressable (a routable page)?\n *\n * The canonical replacement for the former `isAddressable` boolean field — read\n * `surface` rather than storing addressability, so the three surfaces stay a\n * single source of truth. Safe on `undefined` (an operation whose frontend\n * config has not been resolved yet is treated as not addressable).\n */\nexport function isOperationAddressable(\n config?: Pick<ResourceOperationFrontendConfig, 'surface'>,\n): boolean {\n return config?.surface === ResourceOperationFrontendSurface.ADDRESSABLE;\n}\n\n/**\n * Is this operation headless — callable as an API with no rendered interface\n * (no page, no overlay, no action button)? See {@link ResourceOperationFrontendSurface.API_ONLY}.\n */\nexport function isOperationHeadless(\n config?: Pick<ResourceOperationFrontendConfig, 'surface'>,\n): boolean {\n return config?.surface === ResourceOperationFrontendSurface.API_ONLY;\n}\n\n/**\n * Does this operation's action target the whole collection in scope, rather than\n * a single row? See {@link ResourceOperationActionScope}. Safe on `undefined`\n * (treated as `ITEM`). Collection-scoped actions render ONLY in the list's\n * collection-action surface (the toolbar) and are excluded from the per-row,\n * detail, danger-zone, and bulk bars.\n */\nexport function isCollectionScopedOperation(\n config?: Pick<ResourceOperationFrontendConfig, 'actionScope'>,\n): boolean {\n return config?.actionScope === ResourceOperationActionScope.COLLECTION;\n}\n\n/**\n * Resource-owned **composite** templates keyed by view ref (authoring form).\n *\n * **How to use:** set `compositeViews` on `ResourceUIBehaviorConfig` to\n * `ResourceCompositeViewAuthoringConfig` objects. Each composite renders\n * inside exactly one resource operation host, declared via\n * {@link ResourceCompositeViewAuthoringConfig.operationLike} (defaulting to\n * `CoreResourceOperation.READ`). Prefer `executionViews` / `chartViews` for\n * those families instead of overloading composites.\n *\n * Note: this type is **distinct** from `AppCompositeViewsConfig`. Only\n * resource composites carry `operationLike`, because app-level composites have\n * no resource operation host to surface into.\n */\nexport type ResourceCompositeViewsConfig = Record<string, ResourceCompositeViewAuthoringConfig>;\n\n\n// ── Resource-level label function params ────────────────────────────\n\n/**\n * Parameters passed to `getFrontendResourceLabel` functions.\n *\n * Generic `TMainSchema` defaults to `z.ZodAny` — presets and records use the\n * default (giving `currentObject: any`), while app-level configs can narrow it\n * to a concrete schema for type-safe field access.\n */\nexport type ResourceUIBehaviorLabelParams<TMainSchema extends z.ZodTypeAny = z.ZodAny> = {\n currentObject: z.infer<TMainSchema>;\n objectContext: any;\n initiatorUserContext?: any;\n t: (toTranslate: string, params?: Record<string, any>) => string;\n};\n\n// ── Layout system types (Phase 5) ───────────────────────────────────\n\n/** @wildo_source:part:start saas.frontend.resource-layout-templates facet:layer:frontend facet:family:resource-ui */\n/**\n * Static manifest of structural refs used in JSX templates.\n * Readable by the companion without JSX/AST parsing.\n *\n * Produces i18n keys:\n * - `resources.{type}.sections.{ref}.title`\n * - `resources.{type}.sections.{ref}.description`\n * - `resources.{type}.wizardSteps.{ref}.title`\n * - `resources.{type}.wizardSteps.{ref}.description`\n * - `resources.{type}.groups.{ref}.title`\n */\nexport interface LayoutRefManifest {\n /** Section names used in `<Section name=\"...\">` components. */\n sections?: string[];\n /** Wizard step names used in `<WizardStep name=\"...\">` components. */\n wizardSteps?: string[];\n /** Group names used in `<Group name=\"...\">` components. */\n groups?: string[];\n}\n\n/**\n * Layout template — a React component rendered inside the appropriate provider stack.\n *\n * - Edit context: rendered inside `<Form>` providers. Use `useFormTemplateContext()` for\n * labels/schema/operation and `useWatch()` for field-reactive branching.\n * - Display context: rendered inside `<DisplayTemplateProvider>` by `AutomaticDisplayer`.\n * Use `useDisplayTemplateContext()` for `data`, `isLoading`, `schema`, labels, and breakpoint.\n * - Summary context: same as display, rendered by `ResourceSummaryDisplayer` with\n * `disableInlineEdit={true}` and compact chrome (INLINE default).\n */\nexport type LayoutTemplate = React.ComponentType;\n\n/**\n * Resource layout configuration — template-based layout for forms and displays.\n *\n * Templates use skeleton components (`<FormField>`, `<Section>`,\n * `<WizardLayout>`, `<DisplayField>`, etc.) with Tailwind CSS for positioning.\n * Conditional visibility is handled with `useWatch()` and standard React conditionals.\n *\n * When no template is provided for a context, the framework generates a\n * default flat template at runtime from the schema.\n *\n * **How to use:** set `layout: { refs, edit, display, summary }` on the object returned\n * from `resourceUIBehavior()`. Every `<Section name=\"…\">`, `<WizardStep name=\"…\">`, and\n * `<Group name=\"…\">` in those templates should appear under `refs` for i18n and\n * companion validation. Omit `edit` / `display` / `summary` individually to keep the\n * auto-generated default for that context only.\n */\n/**\n * How a layout decides which of its fields may be edited IN PLACE on the READ surface.\n *\n * ## Why this is a layout decision and not only a per-field one\n *\n * Inline edit was per-field only: a field became editable in place by declaring\n * `{primitive}UI.display.inlineEditable`. That is right for an ordinary resource, where editing a\n * row is an occasional act and a READ page is mostly for reading.\n *\n * It is the wrong default for a SETTINGS layout, and the Settings hub measured the cost. A settings\n * pane is a list of DECISIONS an operator came to take, so a read-only rendering of a policy is not\n * a conservative choice — it is a pane that cannot do its job. Measured 2026-09-19 on the running\n * dogfood application: `organizationSsoConfig` declares 24 fields across seven sections, including\n * `enforcement.requireSSO` and `enforcement.allowPasswordFallback`, and NOT ONE declared\n * `inlineEditable`. Every boolean therefore rendered through `BooleanDisplayMode.CHECKMARK` — a\n * read-only ✓ or ✕ glyph, where ✕ is also indistinguishable from a remove affordance — and the only\n * way to change a policy was a pencil that flipped the entire pane into a form.\n *\n * The per-field remedy is to write `.inlineEditable()` on all 24, and on every field added to any\n * settings schema afterwards. That is a hand-kept list of somebody else's population: correct on the\n * day it is written and silently incomplete forever after, because nothing goes red when the\n * twenty-fifth field is added without it.\n *\n * So the layout — which already knows it is a settings surface, because it sets\n * `defaultChromeMode: { display: SETTINGS_ROW }` — declares it once, and the set is DERIVED over\n * the layout's fields rather than enumerated.\n */\nexport enum ResourceLayoutInlineEditDefault {\n /**\n * No default. Only a field carrying `{primitive}UI.display.inlineEditable` is editable in place.\n * This is the system default and the correct choice for an ordinary resource READ page.\n */\n NONE = 'none',\n\n /**\n * Every WRITABLE field in this layout is editable in place, unless it declines.\n *\n * Eligibility is `isEligibleForLayoutDefaultInlineEdit` in `@wildo-ai/zod-decorators` — not the\n * primary key, not `.excludeFromUpdate()`, not `.isHidden()`, and not an explicit\n * `inlineEditable: false`. A field declaring `inlineEditable` with PARAMS still wins: the default\n * decides WHETHER, the decorator decides HOW.\n */\n WRITABLE_FIELDS = 'writable-fields',\n}\n\nexport interface ResourceLayoutConfig {\n\n /**\n * Companion-readable manifest of all structural names used in templates.\n * Required for i18n label generation.\n * Dev-time validation cross-checks manifest names against template `name` props.\n */\n refs?: LayoutRefManifest;\n\n /**\n * Whether this layout's READ surface offers its writable fields for in-place editing without\n * each one declaring `inlineEditable` for itself. See {@link ResourceLayoutInlineEditDefault}.\n *\n * Renderers read:\n * `{primitive}UI.display.inlineEditable ?? (layout.defaultInlineEdit === WRITABLE_FIELDS && eligible)`\n *\n * Defaults to {@link ResourceLayoutInlineEditDefault.NONE}, so no existing resource changes\n * behaviour by this field being added. Turning it on is the settings-surface opt-in, and it pairs\n * with `defaultChromeMode.display: SETTINGS_ROW` — the row geometry that gives the control\n * somewhere to sit.\n *\n * **This does not bypass authorization.** `canInlineEdit` on the display context still requires a\n * usable UPDATE path (an RMM, an `onInlineEdit`, or a real UPDATE operation the caller may\n * perform), so a layout that turns this on for a reader who cannot write still renders read-only.\n */\n defaultInlineEdit?: ResourceLayoutInlineEditDefault;\n\n /**\n * How an EMPTY field renders on this layout's read surface, overriding the surface policy.\n *\n * ## Why a layout may outrank the surface here\n *\n * `AutoEmptyValue` is declared per SURFACE VARIANT — BASE, RAISED, OVERLAY and INSET all default\n * to `em-dash`. That is a sensible default for a surface, which knows nothing about the fields it\n * happens to contain: in a dense table or a summary card a dash is exactly right, because the\n * reader is scanning and the row's meaning comes from its neighbours.\n *\n * A settings pane is the opposite case. Its rows ARE the content, an operator reads one at a time\n * to decide something, and an em dash there is an answer that refuses to say which of four things\n * it means — a field awaiting their input, a list with no members, or a computed value nothing has\n * produced yet (see `DisplayEmptyReason`). `placeholder` renders the reason's own words instead:\n * \"No value\", \"None yet\", \"Not available\".\n *\n * Declared on the LAYOUT because that is the thing that knows it is a settings surface — it is\n * already saying so with `defaultChromeMode.display: SETTINGS_ROW` and `defaultInlineEdit` — and\n * because a per-field declaration would be a hand-kept list that goes silently incomplete the\n * first time a field is added without it.\n *\n * ## What it costs, stated plainly\n *\n * It outranks the resolved surface policy, and this seam cannot distinguish a variant's DEFAULT\n * from a deliberate per-surface `policyOverride` — both arrive as the same resolved value. So a\n * layout that sets this wins over both. That is what a settings layout wants and it is why the\n * field exists; a layout with no opinion omits it and every surface keeps its own policy exactly\n * as before.\n */\n defaultEmptyValue?: AutoEmptyValue;\n\n /**\n * The container mode this layout's DISPLAY sections adopt when they declare none of their own.\n *\n * ## What it is for\n *\n * A section's `appearance` is a per-section prop, and the container modes — `VERTICAL_TABS`,\n * `TABS`, `ACCORDION`, `GRID` — are not really per-section decisions at all. Grouping keys on\n * `(mode, its mode-specific props)` over CONSECUTIVE siblings, so a set of sections becomes one\n * container only when every member declares the same mode with the same props and nothing\n * separates them. Declared per section that is an agreement N authors must keep; one that slips\n * does not fail, it silently renders TWO rails, or one rail and a stray bare section.\n *\n * So the declaration belongs where the decision does: the layout knows it is a settings pane with\n * seven groups of fields, and says it once. A section that declares its own `appearance` still\n * wins — this is the fallback, not an override.\n *\n * ## Why DISPLAY only, in the name\n *\n * `defaultChromeMode` carries display / summary / edit keys, and a bare `defaultSectionAppearance`\n * would read as covering the same three while covering one. An edit form's section grouping is a\n * different question — a wizard's steps, a form's save boundaries — and nothing asks for it yet.\n * The name says which surface it governs so the answer is not assumed.\n *\n * ## It also decides how much ROOM the pane is given\n *\n * A navigation container mode puts a second vertical rail inside the pane, and the Settings Hub\n * reads this to widen its frame accordingly — see `settingsSectionNeedsWideFrame`. That is the\n * reason this is a layout DECLARATION rather than seven JSX props: a prop inside a template is\n * invisible to anything that has to size the surface around it.\n */\n defaultDisplaySectionAppearance?: ContainerSectionMode;\n\n /**\n * Default chrome mode for fields in each context.\n * Used when a field's `{primitive}UI.{context}.chromeMode` is not set.\n * Renderers read: `{primitive}UI.{context}.chromeMode ?? layout.defaultChromeMode.{context} ?? system-default`\n */\n defaultChromeMode?: {\n /** Default chrome for display context. */\n display?: ResponsiveAware<DisplayChromeMode>;\n /** Default chrome for summary context. */\n summary?: ResponsiveAware<DisplayChromeMode>;\n /** Default chrome for edit context. */\n edit?: ResponsiveAware<EditChromeMode>;\n };\n\n /**\n * Per-view override for how this resource's action buttons render their\n * label, keyed by {@link ResourceOperationDisplayMode} (`SUMMARY` = list/table\n * rows & cards, `DETAIL` = full read view). Overrides the app-wide theme\n * default (`ComponentStyleTheme.actionLabelDisplayMode`). Omit a key to\n * inherit the app default for that view.\n *\n * Precedence: `layout.actionLabelDisplayMode[view]` → app theme default → `TOOLTIP`.\n *\n * @example\n * // Dense list rows stay icon-only; the full detail view spells actions out.\n * actionLabelDisplayMode: {\n * [ResourceOperationDisplayMode.SUMMARY]: ActionLabelDisplayMode.TOOLTIP,\n * [ResourceOperationDisplayMode.DETAIL]: ActionLabelDisplayMode.INLINE,\n * }\n */\n actionLabelDisplayMode?: Partial<Record<ResourceOperationDisplayMode, ActionLabelDisplayMode>>;\n\n /**\n * Per-view action-surfacing (disclosure) policy — see {@link ResourceActionDisclosureConfig}.\n * Controls how many actions stay visible before overflow (`maxPrimaryActions`)\n * and whether actions disabled by an unmet `enabledCondition` are hidden or\n * greyed (`disabledActionHandling`), keyed by {@link ResourceOperationDisplayMode}.\n * Omit a view (or a field) to inherit the framework default\n * ({@link DEFAULT_ACTION_DISCLOSURE}): SUMMARY = { max 3, hide-disabled },\n * DETAIL = { unlimited, show-disabled — each explains why it cannot run }.\n *\n * @example\n * // A busy list keeps just one action inline; the detail view spells them all out.\n * actionDisclosure: {\n * [ResourceOperationDisplayMode.SUMMARY]: { maxPrimaryActions: 1 },\n * }\n */\n actionDisclosure?: Partial<Record<ResourceOperationDisplayMode, ResourceActionDisclosureConfig>>;\n\n /**\n * Edit layout template — a `React.ComponentType` rendered inside `<Form>` providers.\n * The component is instantiated as `<EditTemplate />` and has access to\n * `useFormTemplateContext()` for labels/schema/operation and `useWatch()` for reactivity.\n * For operation-specific branching, read `operationType` from `FormTemplateContext`.\n * Standard `<FormField name=\"...\">` slots automatically honor upstream\n * generated replacements (for example relationship-backed fields reshaped by\n * `ResourceAutomatedForm`). When a generated override exists, that replacement\n * node owns its own chrome and ignores extra `FormField`-style props passed at\n * the template slot.\n */\n edit?: LayoutTemplate;\n\n /**\n * Display layout template — rendered for read-only detail views.\n * The component is instantiated inside `<DisplayTemplateProvider>` and has access to\n * `useDisplayTemplateContext()` for `data`, `isLoading`, `variant`, labels, and breakpoint.\n */\n display?: LayoutTemplate;\n\n /**\n * Header layout template — the record's IDENTITY LINE in the READ page header.\n *\n * The header band is framework-owned chrome (back button, breadcrumb, resource\n * icon, action cluster) wrapped around one middle region: the record's name.\n * Authoring this template cedes that middle region to the resource, so state\n * that belongs ON the identity line — a status badge, a visibility marker, an\n * accent swatch — sits beside the name instead of in a labelled strip below it.\n *\n * Rendered inside a display-template provider over the loaded record, so\n * `<DisplayField name=\"…\">` and `useDisplayTemplateContext()` work exactly as\n * they do in `display` / `summary`. Inline editing is off (the header shows\n * state, it does not edit it) and chrome defaults to `INLINE` so fields render\n * bare, without their labels.\n *\n * **Place `<ResourceHeaderTitle />` yourself.** The header stops rendering its\n * own title once this template exists, so a template that omits the element\n * produces a page with no record name (a dev warning names the resource).\n *\n * Distinct from `summary` on purpose: a card/FK-popover summary answers \"how\n * does this record identify itself in a LIST\", and commonly carries fields a\n * page header should not repeat. Both surfaces compose the same way; neither\n * inherits the other's body.\n *\n * @example\n * // Accent dot before the name, status badge after it, \"Public\" only when true:\n * header: () => {\n * const { data, fieldLabels } = useDisplayTemplateContext();\n * return (\n * <>\n * {Boolean(data?.color) && <ColorDot value={String(data.color)} />}\n * <ResourceHeaderTitle />\n * <DisplayField name=\"status\" hideLabel className=\"w-auto\" />\n * {Boolean(data?.isPublic) && <Badge>{fieldLabels.isPublic}</Badge>}\n * </>\n * );\n * }\n */\n header?: LayoutTemplate;\n\n /**\n * Summary layout template — rendered for cards, list items, FK references.\n * Typically a compact single-line or small card layout.\n * The component is instantiated inside `<DisplayTemplateProvider>` by `ResourceSummaryDisplayer`,\n * with `disableInlineEdit={true}` and chrome defaulting to `DisplayChromeMode.INLINE`.\n * Use `useDisplayTemplateContext()` for reactive data access.\n *\n * **The title is part of the template flow.** Wrap the body in `<SummaryLayout>`;\n * by default (`titlePlacement={AUTO}`) it renders the resource's primary label\n * (`<SummaryTitle />`) at the top, then your fields below — the classic\n * title-above-body card. To put something on the title's line (a status badge),\n * switch to `titlePlacement={TEMPLATE_OWNED}` and place `<SummaryTitle />`\n * yourself, typically inside a `<SummaryHeader>`:\n *\n * @example\n * // Title above a couple of fields (title rendered automatically):\n * summary: () => (\n * <SummaryLayout>\n * <DisplayField name=\"createdAt\" />\n * </SummaryLayout>\n * )\n *\n * @example\n * // Status badge inline with the title:\n * summary: () => (\n * <SummaryLayout titlePlacement={SummaryTitlePlacement.TEMPLATE_OWNED}>\n * <SummaryHeader>\n * <SummaryTitle />\n * <DisplayField name=\"status\" hideLabel />\n * </SummaryHeader>\n * <DisplayField name=\"createdAt\" />\n * </SummaryLayout>\n * )\n */\n summary?: LayoutTemplate;\n\n}\n/** @wildo_source:part:end saas.frontend.resource-layout-templates */\n\n\n// ── Relationship display overrides ──────────────────────────────────\n\n/**\n * Per-relationship display override declared on the **owning resource's** preset.\n *\n * Each entry targets a specific relationship by `target` resource type (and\n * optionally `foreignKeyField` for disambiguation when multiple relationships\n * exist to the same type). The `inParentNavigation` /\n * `inChildView` sub-objects are shallow-merged onto the relationship's shared\n * `display` config during registry build — frontend values win over shared defaults.\n *\n * **Ownership principle**: each resource configures its own view:\n * - `inParentNavigation` → \"how does navigation from **my view** to this child behave?\"\n * - `inChildView` → \"how does the parent reference appear **in my view** when I'm the child?\"\n *\n * @example\n * ```ts\n * relationshipOverrides: [\n * // I'm parent of TASKS — make Tasks appear as accordion in MY view\n * { target: ResourceType.TASKS,\n * // I'm child of USERS (FK: assignedToUserId) — show user as badge in MY view\n * { target: ResourceType.USERS, foreignKeyField: 'assignedToUserId',\n * inChildView: { parentDisplay: ParentDisplay.BADGE } },\n * ]\n * ```\n */\nexport interface RelationshipDisplayOverride {\n /** Related resource type to match against. */\n target: string;\n /**\n * FK field name for disambiguation when multiple relationships exist to the\n * same `target` type. Matches against both explicit `rel.foreignKeyField` and\n * implied FK from `allResourceFieldIdentifiers`.\n */\n foreignKeyField?: string;\n /** Override for how children appear in THIS resource's view (when I'm parent). */\n /** Override for how navigation from THIS resource's view to the child behaves. */\n inParentNavigation?: Partial<RelationshipDisplayInParentNavigation>;\n /** Override for how parent reference appears in THIS resource's view (when I'm child). */\n inChildView?: Partial<RelationshipDisplayInChildView>;\n}\n\n\n// ── Resource-level frontend config ──────────────────────────────────\n\n/**\n * @wildo_source:part:start saas.frontend.resource-ui-behavior-config facet:layer:frontend facet:family:resource-ui\n *\n * Complete frontend configuration for a single resource within an application.\n *\n * Canonical frontend resource configuration type. Contains resource-level settings\n * (labels, sections, views, empty state, guidance) plus per-operation frontend config.\n *\n * Generic `TMainSchema` defaults to `z.ZodAny`. Presets and `ResourceUIBehavior`\n * records use the default; app-level configs can narrow it to a concrete schema\n * for type-safe `getFrontendResourceLabel` callbacks.\n *\n * This is the canonical frontend type — it is self-contained and does not\n * reference or depend on backend resource configuration factories.\n *\n * UI views use a `Map` keyed by `OperationKey`:\n * - `string` key for default operations\n * - `[operationId, variantKey]` tuple for non-default variants\n *\n * @example\n * ```\n * const orgConfig: ResourceUIBehaviorConfig<any, any, typeof OrgSchema> = {\n * getFrontendResourceLabel: ({ currentObject }) => currentObject.name, // type-safe\n * views: new Map([\n * [CoreResourceOperation.CREATE, notAddressable()],\n * [CoreResourceOperation.LIST, addressable()],\n * ]),\n * };\n *\n * // Input form (via resourceUIBehavior callback) uses array-of-tuples:\n * // views: [\n * // [CoreResourceOperation.CREATE, notAddressable()],\n * // [CoreResourceOperation.LIST, addressable()],\n * // ],\n * ```\n */\nexport type ResourceUIBehaviorConfig<\n TCustomOp extends EnumLikeType | undefined = any,\n TCoreOp extends Partial<CoreResourceOperation> | undefined = any,\n TMainSchema extends z.ZodTypeAny = z.ZodAny,\n> = {\n\n // ── Resource Icon ──────────────────────────────────────────────\n\n /**\n * Resource-level icon — React component (e.g., Lucide) or string\n * (StandardIconReference). Registered into `IconRegistry.resources`\n * during `buildFrontendResourceConfigurations()`.\n */\n icon?: IconLike;\n\n\n // ── Field Addons ───────────────────────────────────────────────\n\n /**\n * Per-field decorator overrides for the resource's `mainSchema`.\n *\n * Keys are field names of `TMainSchema`; values are decorated Zod schemas\n * from the same shape (e.g., `shape.status.enumUI({ ... })`).\n *\n * The merge happens at **module evaluation time** — calling `.enumUI()`\n * on a shape field mutates its metadata in place via `applySingleDecorator`\n * merge semantics. Schema-level decorators are preserved, addon decorators\n * overlay. No explicit runtime consumption is needed; the `fields`\n * field exists primarily for type safety (`keyof z.infer<TMainSchema>`)\n * and as a declaration container.\n *\n * @example\n * ```ts\n * fields: {\n * status: shape.status.enumUI({\n * values: { pending: { color: 'secondary' }, completed: { color: 'success' } },\n * }),\n * }\n * ```\n */\n fields?: {\n [K in keyof ObjectShape<TMainSchema>]?: ObjectShape<TMainSchema>[K];\n };\n\n\n // ── Form Defaults ──────────────────────────────────────────────\n\n /**\n * Resource-level default validation mode for form fields.\n * Individual fields can override via `{primitive}UI({ edit: { validationMode } })`.\n * Falls back to framework default (`ON_BLUR`) when not set.\n */\n defaultValidationMode?: ValidationMode;\n\n /**\n * Resource-level default autosave config for form fields.\n * Individual fields can override via `{primitive}UI({ edit: { autosave } })`.\n * When not set, autosave is disabled unless explicitly configured per-field.\n */\n defaultAutosave?: AutosaveFieldParams | true;\n\n\n // ── Draft Mode ─────────────────────────────────────────────────\n\n /**\n * Resource-level draft mode configuration.\n * Defines how draft/publish discrimination works — which field acts as\n * discriminator, what values mean \"draft\" vs \"published\", and whether\n * publishing requires confirmation.\n *\n * Consumed by `ResourceAutomatedForm` to enable Save-as-Draft / Publish\n * buttons and relaxed validation for draft saves.\n */\n draftableConfig?: DraftableConfigParams;\n\n\n // ── Layout ──────────────────────────────────────────────────────\n\n /**\n * Template-based layout configuration. Resources needing sections, wizard steps,\n * or custom layouts provide explicit JSX templates using skeleton components\n * (`<Section>`, `<FormField>`, `<WizardLayout>`, etc.).\n *\n * @see ResourceLayoutConfig\n */\n layout?: ResourceLayoutConfig;\n\n\n // ── Label ──────────────────────────────────────────────────────\n\n /**\n * Label generation for resource instances in the frontend.\n *\n * Can be either:\n * - `string[]` — array of field paths to concatenate (each entry is a field\n * name on the summary record, including any server-resolved virtual field\n * such as a `forwardedLabel`, e.g. `['instanceLabel']`).\n * - `(params: ResourceUIBehaviorLabelParams) => string` — a function\n *\n * Used by `ResourceListItemRenderer` (rows) and `ResourceLayout_Header` (titles).\n */\n getFrontendResourceLabel?: string[] | ((params: ResourceUIBehaviorLabelParams<TMainSchema>) => string);\n\n\n // ── Views ──────────────────────────────────────────────────────\n\n /** Resource-owned composite templates declared inline on the resource UI behavior. */\n compositeViews?: ResourceCompositeViewsConfig;\n\n /** Resource-owned execution surfaces declared inline on the resource UI behavior. */\n executionViews?: ResourceExecutionViewsConfig;\n\n /** Resource-owned inserted chart declarations for this resource. */\n chartViews?: InsertedChartDeclaration[];\n\n\n // ── Empty State ────────────────────────────────────────────────\n\n /**\n * Empty state configuration for list/table views when no items exist.\n * Labels (title, description, primaryActionLabel) come from i18n.\n */\n emptyState?: ResourceUIBehavior_EmptyState;\n\n\n // ── Guidance ───────────────────────────────────────────────────\n\n /**\n * Resource-level guidance flow declarations.\n * Compiled into standard `GuidanceFlowDefinition` objects by the guidance compiler.\n */\n guidance?: ResourceUIBehavior_GuidanceFlow[];\n\n\n // ── Relationship Display Overrides ───────────────────────────────\n\n /**\n * Per-relationship display overrides for this resource.\n *\n * Allows the frontend preset to override how relationships are displayed\n * without modifying the shared `display` config on the relationship itself.\n * Consumed at build time by `resolveRelationshipDisplayOverrides()` and\n * stripped from `frontendConfiguration` before storage.\n *\n * @see RelationshipDisplayOverride\n */\n relationshipOverrides?: RelationshipDisplayOverride[];\n\n\n // ── UI Views ───────────────────────────────────────────────────\n\n /**\n * Per-operation frontend configuration — which operations have a UI view\n * and how they appear (addressability, launchers, overrides).\n *\n * Keyed by `TypedOperationKey`:\n * - `string` — default operation (e.g., `CoreResourceOperation.READ`)\n * - `[operationId, variantKey]` — non-default variant\n *\n * When typed via `resourceUIBehavior()`, operation keys are validated\n * at compile time against the resource's valid operations.\n */\n views: Map<TypedOperationKey<TCustomOp, TCoreOp>, ResourceOperationFrontendConfig>;\n};\n/** @wildo_source:part:end saas.frontend.resource-ui-behavior-config */\n\n/**\n * Resource-level UI behavior configuration — the subset of `ResourceUIBehaviorConfig`\n * that describes the resource itself (labels, sections, views, empty state, guidance),\n * excluding `views` (lives on individual operation entries),\n * `relationshipOverrides` (consumed at build time, not stored at runtime).\n *\n * Resource-owned composite/execution authoring maps are compiled into inserted\n * runtime declarations before storage.\n *\n * This is what gets written to `FrontendResourceConfiguration.frontendConfiguration`\n * during preset-driven registry build.\n */\nexport type ResourceUIBehaviorResourceLevelConfig<\n TCustomOp extends EnumLikeType | undefined = any,\n TCoreOp extends Partial<CoreResourceOperation> | undefined = any,\n TMainSchema extends z.ZodTypeAny = z.ZodAny,\n> = Omit<ResourceUIBehaviorConfig<TCustomOp, TCoreOp, TMainSchema>, 'views' | 'relationshipOverrides' | 'compositeViews' | 'executionViews'> & {\n compositeViews?: InsertedCompositeDeclaration[];\n executionViews?: InsertedExecutionDeclaration[];\n};\n\n// ── Preset type ─────────────────────────────────────────────────────\n\n/**\n * @wildo_source:part:start saas.frontend.resource-ui-behavior-preset-map facet:layer:frontend facet:family:resource-ui\n *\n * Complete frontend resource configuration preset for an application.\n *\n * Maps resource types to their full frontend configuration — including\n * resource-level settings (labels, sections, views, empty state, guidance)\n * and operation-level settings (addressability, launchers, overrides).\n *\n * Each application provides its own preset defining exactly which resources\n * and operations it exposes and how they appear in the UI.\n *\n * When authoring presets, use `resourceUIBehavior()` which accepts views\n * as an array of tuples (for contextual typing) and converts to Map internally.\n *\n * @example\n * ```\n * const preset: ResourceUIBehavior = {\n * [CoreResourceType.ORGANIZATIONS]: resourceUIBehavior(factory, Schema, ({ schema, schemaShape, opsVariantResolver }) => ({\n * getFrontendResourceLabel: ({ currentObject }) => currentObject.name,\n * views: [\n * [CoreResourceOperation.CREATE, notAddressable()],\n * [CoreResourceOperation.READ, notAddressable()],\n * ],\n * })),\n * };\n * ```\n */\nexport type ResourceUIBehavior = Record<string, ResourceUIBehaviorConfig>;\n/** @wildo_source:part:end saas.frontend.resource-ui-behavior-preset-map */\n\n// ── Polymorphic frontend declaration ────────────────────────────────\n\n/**\n * A single variant within a polymorphic frontend declaration.\n * Maps a parent resource type (the discriminator) to the concrete resource type it produces.\n *\n * Mirrors the backend's `PolymorphicResolvedVariant` — stripped of schema-level\n * concerns, keeping only the routing information the frontend needs.\n */\nexport interface PolymorphicFrontendVariant {\n /** Parent resource type — the polymorphic discriminator (e.g., `CoreResourceType.ORGANIZATIONS`) */\n parentResourceType: string;\n /** Concrete resource type for this variant (e.g., `CoreResourceType.ORGANIZATION_BILLING_ACCOUNTS`) */\n resourceType: string;\n}\n\n/**\n * Frontend polymorphic declaration — lightweight equivalent of the backend's\n * `PolymorphicSchemaDeclaration`.\n *\n * Contains the variant mapping (discriminator → concrete resource type) without\n * any Zod schema coupling. Used by `createPolymorphicFrontendPreset()` to generate\n * per-variant preset entries.\n *\n * Declarations are typically defined per resource family (billing accounts,\n * subscriptions, SSO config, etc.) and mirror the backend's\n * `BILLING_SCOPE_VARIANTS` / `AUTH_SCOPE_VARIANTS` grouping.\n *\n * @example\n * ```ts\n * const BILLING_ACCOUNTS: PolymorphicFrontendDeclaration = {\n * variants: [\n * { parentResourceType: CoreResourceType.ORGANIZATIONS, resourceType: CoreResourceType.ORGANIZATION_BILLING_ACCOUNTS },\n * { parentResourceType: CoreResourceType.USERS, resourceType: CoreResourceType.USER_BILLING_ACCOUNTS },\n * ],\n * };\n * ```\n */\nexport interface PolymorphicFrontendDeclaration {\n variants: PolymorphicFrontendVariant[];\n}\n\n\n// ── Polymorphic preset config ───────────────────────────────────────\n\n/**\n * Resource frontend config with optional per-variant overrides.\n *\n * Mirrors the backend's `PolymorphicResourceConfig` + `polymorphicRole` pattern:\n * - Shared fields apply to all scope variants as the default\n * - `variantOverrides` keyed by `parentResourceType` (the discriminator)\n * allow per-variant differentiation — just like `polymorphicRole` resolves\n * different roles per parent resource type\n *\n * Override resolution (same as backend `polymorphicRole`):\n * - If a variant's `parentResourceType` is in `variantOverrides`, the override\n * **replaces** the corresponding shared fields (not merged)\n * - If not present, the shared config is used as-is (fallback)\n * - `views` in an override fully replaces the shared views Map\n * (use an empty `new Map()` to make a variant invisible in the preset)\n */\nexport type PolymorphicResourceUIBehaviorConfig<\n TCustomOp extends EnumLikeType | undefined = any,\n TCoreOp extends Partial<CoreResourceOperation> | undefined = any,\n TMainSchema extends z.ZodTypeAny = z.ZodAny,\n> = Omit<ResourceUIBehaviorConfig<TCustomOp, TCoreOp, TMainSchema>, 'views'> & {\n /**\n * Per-operation frontend config — array-of-tuples form (converted to Map internally).\n * Same semantics as `ResourceUIBehaviorConfig.views` but using arrays for\n * TypeScript contextual typing compatibility.\n */\n views: OperationEntries<TCustomOp, TCoreOp>;\n /**\n * Per-variant overrides, keyed by `parentResourceType` (the polymorphic discriminator).\n *\n * Like backend `polymorphicRole`, provides variant-specific configuration.\n * Each override **replaces** the corresponding shared field — `views`\n * is a full replacement, not a merge. If `views` is omitted in the\n * override, the shared views apply.\n *\n * Pass an empty array `[]` for `views` to exclude a variant from\n * surfacing in the preset (variant still exists in the declaration, but\n * has no frontend operations).\n */\n variantOverrides?: Record<string, Partial<Omit<ResourceUIBehaviorConfig<TCustomOp, TCoreOp, TMainSchema>, 'views'>> & { views?: OperationEntries<TCustomOp, TCoreOp> }>;\n };\n\n/**\n * Return type of the `polymorphicResourceUIBehavior()` callback overload.\n * Same structure as `PolymorphicResourceUIBehaviorConfig` — the callback form\n * provides `{ schema, schemaShape, opsVariantResolver }` for the same typed control as `resourceUIBehavior()`:\n * operation keys in `views` and `variantOverrides` are validated at compile time.\n */\nexport type PolymorphicResourceUIBehaviorConfigResult<\n TCustomOp extends EnumLikeType | undefined = any,\n TCoreOp extends Partial<CoreResourceOperation> | undefined = any,\n TMainSchema extends z.ZodTypeAny = z.ZodAny,\n> = PolymorphicResourceUIBehaviorConfig<TCustomOp, TCoreOp, TMainSchema>;\n\n// ── Polymorphic preset factory ──────────────────────────────────────\n\n/**\n * Creates frontend preset entries for all scope variants of a polymorphic resource.\n *\n * Mirrors the backend `createPolymorphicResourceConfigurations` pattern:\n * takes a polymorphic declaration (discriminator → concrete resource types) and\n * a shared config with optional per-variant overrides, producing a\n * `ResourceUIBehavior` partial that can be spread into the main preset.\n *\n * Resolution per variant (same semantics as backend `polymorphicRole` → `roles`):\n * 1. If `variantOverrides[parentResourceType]` exists → override fields **replace**\n * corresponding shared fields (views is a full replacement, not merge)\n * 2. If no override → shared config used as-is (fallback)\n *\n * The declaration must always contain ALL variants of the polymorphic resource.\n * Use `variantOverrides` with an empty `views: []` to exclude a variant\n * from a specific preset (the variant is declared but has no frontend presence).\n *\n * @param declaration - Polymorphic frontend declaration with ALL variant mappings\n * @param config - Shared config (default) with optional `variantOverrides` per discriminator\n * @returns Partial `ResourceUIBehavior` with one entry per variant\n *\n * @example\n * ```ts\n * // Main app: org scope gets full ops, app scope excluded\n * ...createPolymorphicFrontendPreset({\n * variants: [\n * { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SSO_CONFIG },\n * { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SSO_CONFIG },\n * ],\n * }, {\n * views: [\n * [Op.READ, addressable()],\n * [CustomOperations.RUN_DIAGNOSTIC, notAddressable()],\n * ],\n * variantOverrides: {\n * [R.APPLICATION]: { views: [] },\n * },\n * }),\n *\n * // Admin app: app scope gets full ops, org scope read-only\n * ...createPolymorphicFrontendPreset({\n * variants: [\n * { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SSO_CONFIG },\n * { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SSO_CONFIG },\n * ],\n * }, {\n * views: [\n * [Op.READ, addressable()],\n * [CustomOperations.RUN_DIAGNOSTIC, notAddressable()],\n * ],\n * variantOverrides: {\n * [R.ORGANIZATIONS]: {\n * views: [\n * [Op.READ, notAddressable()],\n * [Op.LIST, notAddressable()],\n * ],\n * },\n * },\n * }),\n * ```\n */\nexport function createPolymorphicFrontendPreset(\n declaration: PolymorphicFrontendDeclaration,\n config: PolymorphicResourceUIBehaviorConfig,\n): ResourceUIBehavior {\n const schema = (config as any)[FRONTEND_SCHEMA_KEY];\n const { variantOverrides, views: sharedViewsEntries, ...sharedRest } = config;\n const sharedViews = new Map(sharedViewsEntries);\n const sharedConfig = { ...sharedRest, views: sharedViews } as ResourceUIBehaviorConfig;\n\n // Compute per-variant FK-renamed schemas. The author passes ONE base\n // schema to `polymorphicResourceUIBehavior(decl, factory, baseSchema, ...)`,\n // but the runtime polymorphic factory renames `polymorphicVariants`-marked\n // FK fields per variant (e.g. `billingAccountId` →\n // `organizationBillingAccountId` for the ORGANIZATIONS variant). If we\n // attach the un-renamed base schema as `FRONTEND_SCHEMA_KEY` on every\n // variant, `buildFrontendResourceConfigurations` later replaces the\n // renamed `mainSchema` with the un-renamed base — and the FK→parent\n // resolution check throws because the base's `billingAccountId` doesn't\n // resolve to a unique parent. Mirror the factory's rename at this seam\n // so per-variant `FRONTEND_SCHEMA_KEY` matches the per-variant\n // `mainSchema` keys.\n const variantSchemas =\n schema !== undefined && (schema as z.ZodTypeAny)?._zod?.def?.type === 'object'\n ? computePolymorphicVariantSchemas(\n schema as z.ZodObject<z.ZodRawShape>,\n declaration.variants,\n )\n : null;\n\n if (schema !== undefined) {\n (sharedConfig as any)[FRONTEND_SCHEMA_KEY] = schema;\n }\n const result: ResourceUIBehavior = {};\n\n for (const variant of declaration.variants) {\n const override = variantOverrides?.[variant.parentResourceType];\n // Use the per-variant renamed schema when available; fall back to the\n // shared base schema for declarations whose fields have no\n // `polymorphicVariants` metadata (rename map is empty → identity).\n const variantSchema =\n variantSchemas?.get(variant.parentResourceType) ?? schema;\n\n if (override) {\n const { views: overrideViewsEntries, ...overrideRest } = override;\n const concreteConfig = {\n ...sharedConfig,\n ...overrideRest,\n views: overrideViewsEntries ? new Map(overrideViewsEntries) : sharedViews,\n };\n if (variantSchema !== undefined) {\n (concreteConfig as any)[FRONTEND_SCHEMA_KEY] = variantSchema;\n }\n result[variant.resourceType] = concreteConfig;\n } else if (variantSchemas && variantSchema !== schema) {\n // Distinct per-variant schema: clone sharedConfig so each variant\n // keeps its own FRONTEND_SCHEMA_KEY rather than sharing the base.\n const concreteConfig = { ...sharedConfig, views: sharedViews } as ResourceUIBehaviorConfig;\n (concreteConfig as any)[FRONTEND_SCHEMA_KEY] = variantSchema;\n result[variant.resourceType] = concreteConfig;\n } else {\n result[variant.resourceType] = sharedConfig;\n }\n }\n\n return result;\n}\n\n\n// ── Utility types for extracting generics from ResourceConfiguration ────────\n\n/**\n * Infers the custom operation enum from a resource factory or config type.\n *\n * **How to use:** in generic helpers that wrap `resourceUIBehavior(yourFactory, …)`\n * so `TypedOperationKey` and `views` tuples stay aligned without repeating type params.\n */\nexport type ExtractCustomOp<T> =\n T extends ResourceConfiguration<infer C, any, any> ? C :\n T extends ResourceConfiguration_InitializationFactory<infer C, any, any> ? C :\n never;\n\n/** Same as {@link ExtractCustomOp} for the **core** operations subset on the resource. */\nexport type ExtractCoreOp<T> =\n T extends ResourceConfiguration<any, infer O, any> ? O :\n T extends ResourceConfiguration_InitializationFactory<any, infer O, any> ? O :\n never;\n\n/** Same as {@link ExtractCustomOp} for the resource **main Zod schema** type. */\nexport type ExtractSchema<T> =\n T extends ResourceConfiguration<any, any, infer S> ? S :\n T extends ResourceConfiguration_InitializationFactory<any, any, infer S> ? S :\n never;\n\n\n// ── Standalone variant helper ───────────────────────────────────────────────\n\n/**\n * Creates a typed operation variant tuple `[operationKey, variantKey]`.\n * Preserves the literal operation key for `TypedOperationKey` assignability.\n *\n * **How to use:** in `views: [ … ]` when the operation key must stay a narrow literal\n * (custom enum member or core op). Equivalent to `opsVariantResolver(op, key)` but\n * useful in static arrays outside the callback.\n */\nexport function variant<TOp extends string>(\n op: TOp, variantKey: string,\n): readonly [TOp, string] {\n return [op, variantKey] as const;\n}\n\n\n// ── Operation entries (input form) ───────────────────────────────────────────\n\n/**\n * Array-of-tuples form for specifying operations in input contexts\n * (`resourceUIBehavior` callback, `polymorphicResourceUIBehavior` config).\n *\n * TypeScript's `new Map([...])` doesn't pick up contextual typing for\n * heterogeneous key types, so input types use arrays — the factory functions\n * convert to `Map` at the boundary. Each entry's key is individually checked\n * against `TypedOperationKey<TCustomOp, TCoreOp>` via contextual typing.\n */\nexport type OperationEntries<\n TCustomOp extends EnumLikeType | undefined = any,\n TCoreOp extends Partial<CoreResourceOperation> | undefined = any,\n> = [TypedOperationKey<TCustomOp, TCoreOp>, ResourceOperationFrontendConfig][];\n\n\n// ── Callback parameter type for resourceUIBehavior / polymorphicResourceUIBehavior ─\n\n/**\n * Callback argument bag for `resourceUIBehavior()` / `polymorphicResourceUIBehavior()`.\n *\n * **How to use:** prefer `schemaShape.fieldName` for per-field `.enumUI()` / `.stringUI()`\n * overrides; use `schema` when applying decorators on the root object; use\n * `opsVariantResolver(CoreResourceOperation.READ, 'summary')` (or `variant()`) so\n * non-default variant keys type-check against valid operations.\n */\nexport type ResourceUIBehaviorCallbackParams<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n> = {\n schema: TSchema;\n schemaShape: ObjectShape<TSchema>;\n opsVariantResolver: <TOp extends ValidOperationKeys<TCustomOp, TCoreOp>>(\n op: TOp, variantKey: string,\n ) => readonly [TOp, string];\n};\n\n\n// ── Callback return type for resourceUIBehavior ─────────────────────────────\n\n/**\n * Return type of the `resourceUIBehavior()` callback — overrides `views`\n * to accept an array of tuples (instead of Map) for ergonomic authoring.\n * The `resourceUIBehavior()` function converts the array to a Map.\n *\n * `schemaOverride` is applied during callback execution as a side effect and\n * stripped from the returned config. Must appear BEFORE `fields` in the\n * object literal to ensure schema-level defaults are set before field-level overrides.\n */\nexport type ResourceUIBehaviorConfigResult<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n> = Omit<ResourceUIBehaviorConfig<TCustomOp, TCoreOp, TSchema>, 'views'> & {\n views: OperationEntries<TCustomOp, TCoreOp>;\n schemaOverride?: TSchema;\n};\n\n\n// ── Typed resource UI behavior factory ──────────────────────────────────────\n\n/**\n * Creates a typed `ResourceUIBehaviorConfig` entry for a given resource.\n *\n * All generics are inferred from the `_factory` argument — no explicit type\n * parameters needed. The callback receives `{ schema, schemaShape, opsVariantResolver }`:\n * - `schema` — the Zod schema (for schema-level mutations like `.stringUI()`, `.enumUI()`, etc.)\n * - `schemaShape` — the typed shape object (for per-field decorator overrides with autocomplete)\n * - `opsVariantResolver` — typed variant tuple helper constrained to valid operation keys\n *\n * The `_factory` parameter is for **type inference only** and is never called at runtime.\n *\n * @example\n * ```ts\n * [R.TODOS]: resourceUIBehavior(\n * todos_ResourceConfiguration_InitializationFactory,\n * Todos_Schema,\n * ({ schema, schemaShape, opsVariantResolver }) => ({\n * icon: CheckSquare,\n * fields: {\n * status: schemaShape.status.enumUI({\n * values: { completed: { color: 'success', icon: CheckCircle } },\n * }),\n * },\n * views: [\n * [CoreResourceOperation.LIST, addressable()],\n * [opsVariantResolver(CoreResourceOperation.CREATE, 'quick-add'), notAddressable()],\n * ],\n * }),\n * ),\n * ```\n */\nexport function resourceUIBehavior<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n>(\n _factory: ResourceConfigLike<TCustomOp, TCoreOp, TSchema>,\n schema: TSchema,\n configFactory: (\n params: ResourceUIBehaviorCallbackParams<TCustomOp, TCoreOp, TSchema>,\n ) => ResourceUIBehaviorConfigResult<TCustomOp, TCoreOp, TSchema>,\n): ResourceUIBehaviorConfig {\n const schemaShape = (\n schema && 'shape' in schema\n ? (schema as unknown as z.ZodObject<any>).shape\n : getZodObjectShape(schema)\n ) as ObjectShape<TSchema>;\n\n const opsVariantResolver = <TOp extends string>(op: TOp, variantKey: string) =>\n [op, variantKey] as readonly [TOp, string];\n\n const { schemaOverride: _, views: viewsEntries, ...config } =\n configFactory({ schema, schemaShape, opsVariantResolver: opsVariantResolver as any });\n\n (config as any)[FRONTEND_SCHEMA_KEY] = schema;\n\n return {\n ...config,\n views: new Map(viewsEntries),\n } as unknown as ResourceUIBehaviorConfig;\n}\n\n\n// ── Derived resource UI behavior factory ────────────────────────────────────\n\n/**\n * Callback parameter type for `resourceUIBehaviorFrom()`.\n * Extends the standard callback params with a `base` reference to the resolved base config.\n */\nexport type ResourceUIBehaviorFromCallbackParams<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n> = ResourceUIBehaviorCallbackParams<TCustomOp, TCoreOp, TSchema> & {\n /** The resolved base config — use to reference existing values when composing overrides. */\n base: ResourceUIBehaviorConfig<TCustomOp, TCoreOp, TSchema>;\n};\n\n/**\n * Return type of the `resourceUIBehaviorFrom()` callback — everything is optional.\n *\n * Merge semantics applied by `resourceUIBehaviorFrom`:\n * - `views` — **replaced** (the primary differentiator between main/admin)\n * - `layout` — **shallow-merged** (`{ ...base.layout, ...override.layout }`)\n * - `fields` — **shallow-merged** (base fields preserved, overrides overlay per-key)\n * - `compositeViews` — **shallow-merged** by ref (`{ ...base.compositeViews, ...override.compositeViews }`)\n * - `executionViews` — **shallow-merged** by ref (`{ ...base.executionViews, ...override.executionViews }`)\n * - Scalars (`icon`, `emptyState`, `getFrontendResourceLabel`, etc.) — **replaced** if provided\n */\nexport type ResourceUIBehaviorFromResult<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n> = Partial<Omit<ResourceUIBehaviorConfig<TCustomOp, TCoreOp, TSchema>, 'views'>> & {\n views?: OperationEntries<TCustomOp, TCoreOp>;\n};\n\n/**\n * Derives a new `ResourceUIBehaviorConfig` from an existing base, overriding only\n * the specified properties. Eliminates duplication between main and admin presets\n * where the majority of the config (icon, fields, layout, labels) is identical\n * and only `views` (and occasionally `variantOverrides`) differ.\n *\n * The `_factory` parameter is for **type inference only** — same as `resourceUIBehavior()`.\n * The schema is extracted from the base config via `FRONTEND_SCHEMA_KEY`, so it does not\n * need to be passed again.\n *\n * For resources that are completely identical between main and admin, skip this function\n * entirely and forward the config directly: `[R.PRODUCTS]: main[R.PRODUCTS]!`\n *\n * @param _factory - Any factory from the resource — for type inference only (never called)\n * @param base - The resolved base `ResourceUIBehaviorConfig` (from main presets)\n * @param overrideFn - Callback returning only the properties to override\n *\n * @example\n * ```ts\n * // Admin promotions — same icon/fields/layout, different views\n * [R.PROMOTIONS]: resourceUIBehaviorFrom(\n * promotionsFactory,\n * main[R.PROMOTIONS]!,\n * ({ opsVariantResolver }) => ({\n * views: [\n * [Promotion_Operations.DEACTIVATE, notAddressable()],\n * ],\n * })\n * ),\n * ```\n */\nexport function resourceUIBehaviorFrom<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n>(\n _factory: ResourceConfigLike<TCustomOp, TCoreOp, TSchema>,\n base: ResourceUIBehaviorConfig,\n overrideFn: (\n params: ResourceUIBehaviorFromCallbackParams<TCustomOp, TCoreOp, TSchema>,\n ) => ResourceUIBehaviorFromResult<TCustomOp, TCoreOp, TSchema>,\n): ResourceUIBehaviorConfig {\n const schema = (base as any)[FRONTEND_SCHEMA_KEY] as TSchema;\n const schemaShape = (\n schema && 'shape' in schema\n ? (schema as unknown as z.ZodObject<any>).shape\n : getZodObjectShape(schema)\n ) as ObjectShape<TSchema>;\n const opsVariantResolver = <TOp extends string>(op: TOp, variantKey: string) =>\n [op, variantKey] as readonly [TOp, string];\n\n const {\n views: overrideViews,\n layout: overrideLayout,\n fields: overrideFields,\n compositeViews: overrideCompositeViews,\n executionViews: overrideExecutionViews,\n ...overrideRest\n } =\n overrideFn({\n schema,\n schemaShape,\n opsVariantResolver: opsVariantResolver as any,\n base: base as unknown as ResourceUIBehaviorConfig<TCustomOp, TCoreOp, TSchema>,\n });\n\n return {\n ...base,\n ...overrideRest,\n ...(overrideLayout !== undefined && {\n layout: { ...base.layout, ...overrideLayout },\n }),\n ...(overrideFields !== undefined && {\n fields: { ...base.fields, ...overrideFields },\n }),\n ...(overrideCompositeViews !== undefined && {\n compositeViews: { ...base.compositeViews, ...overrideCompositeViews },\n }),\n ...(overrideExecutionViews !== undefined && {\n executionViews: { ...base.executionViews, ...overrideExecutionViews },\n }),\n views: overrideViews ? new Map(overrideViews) : base.views,\n } as unknown as ResourceUIBehaviorConfig;\n}\n\n\n// ── Derived polymorphic resource UI behavior factory ─────────────────────────\n\n/**\n * Return type of the `polymorphicResourceUIBehaviorFrom()` callback — everything is optional.\n * Same merge semantics as `resourceUIBehaviorFrom()`, plus `variantOverrides` is shallow-merged\n * per parent key (inner overrides replace, not merge).\n */\nexport type PolymorphicResourceUIBehaviorFromResult<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n> = Partial<Omit<PolymorphicResourceUIBehaviorConfig<TCustomOp, TCoreOp, TSchema>, 'views'>> & {\n views?: OperationEntries<TCustomOp, TCoreOp>;\n};\n\n/**\n * Derives a polymorphic preset from an existing base, overriding only the specified\n * properties. Works like `resourceUIBehaviorFrom()` but for polymorphic resources\n * produced by `polymorphicResourceUIBehavior()`.\n *\n * The base entries are the already-spread `Partial<ResourceUIBehavior>` from the main\n * preset. Internally, the first variant's config is used as the shared base — the\n * callback receives it as `base` and returns only what changes.\n *\n * @param declaration - Same polymorphic declaration used in the main preset\n * @param _factory - Any single factory from the polymorphic map — for type inference only\n * @param baseEntries - The spread result from the main preset (keyed by concrete resource type)\n * @param overrideFn - Callback returning only the properties to override\n *\n * @example\n * ```ts\n * // Admin SIEM — same icon/layout/fields, different variantOverrides\n * ...polymorphicResourceUIBehaviorFrom(\n * SIEM_EXPORT_DECLARATION,\n * siemFactory,\n * main,\n * ({ opsVariantResolver }) => ({\n * variantOverrides: {\n * [R.ORGANIZATIONS]: {\n * views: [[Op.READ, notAddressable()]],\n * },\n * },\n * })\n * ),\n * ```\n */\nexport function polymorphicResourceUIBehaviorFrom<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n>(\n declaration: PolymorphicFrontendDeclaration,\n _factory: ResourceConfigLike<TCustomOp, TCoreOp, TSchema>,\n baseEntries: Partial<ResourceUIBehavior>,\n overrideFn: (\n params: ResourceUIBehaviorFromCallbackParams<TCustomOp, TCoreOp, TSchema>,\n ) => PolymorphicResourceUIBehaviorFromResult<TCustomOp, TCoreOp, TSchema>,\n): ResourceUIBehavior {\n const firstVariantType = declaration.variants[0]?.resourceType;\n const baseConfig = firstVariantType ? baseEntries[firstVariantType] : undefined;\n if (!baseConfig) {\n throw new Error(\n `polymorphicResourceUIBehaviorFrom: no base config found for first variant \"${firstVariantType}\"`,\n );\n }\n\n const schema = (baseConfig as any)[FRONTEND_SCHEMA_KEY] as TSchema;\n const schemaShape = (\n schema && 'shape' in schema\n ? (schema as unknown as z.ZodObject<any>).shape\n : getZodObjectShape(schema)\n ) as ObjectShape<TSchema>;\n const opsVariantResolver = <TOp extends string>(op: TOp, variantKey: string) =>\n [op, variantKey] as readonly [TOp, string];\n\n const {\n views: overrideViews,\n layout: overrideLayout,\n fields: overrideFields,\n compositeViews: overrideCompositeViews,\n executionViews: overrideExecutionViews,\n variantOverrides: overrideVariantOverrides,\n ...overrideRest\n } = overrideFn({\n schema,\n schemaShape,\n opsVariantResolver: opsVariantResolver as any,\n base: baseConfig as unknown as ResourceUIBehaviorConfig<TCustomOp, TCoreOp, TSchema>,\n });\n\n const mergedPolyConfig: PolymorphicResourceUIBehaviorConfig = {\n ...baseConfig,\n ...overrideRest,\n ...(overrideLayout !== undefined && {\n layout: { ...baseConfig.layout, ...overrideLayout },\n }),\n ...(overrideFields !== undefined && {\n fields: { ...baseConfig.fields, ...overrideFields },\n }),\n ...(overrideCompositeViews !== undefined && {\n compositeViews: { ...baseConfig.compositeViews, ...overrideCompositeViews },\n }),\n ...(overrideExecutionViews !== undefined && {\n executionViews: { ...baseConfig.executionViews, ...overrideExecutionViews },\n }),\n views: overrideViews ?? [...baseConfig.views.entries()],\n ...(overrideVariantOverrides !== undefined && {\n variantOverrides: overrideVariantOverrides,\n }),\n } as unknown as PolymorphicResourceUIBehaviorConfig;\n\n return createPolymorphicFrontendPreset(declaration, mergedPolyConfig);\n}\n\n\n// ── Typed polymorphic UI behavior factory ───────────────────────────────────\n\n/**\n * Creates a typed polymorphic UI behavior preset — wraps `createPolymorphicFrontendPreset()`\n * with type inference from a factory or configuration.\n *\n * For resources built with `createFamilySchema` (discriminated unions), the factory\n * provides the generic context for `fields` typing and operation key validation.\n *\n * **Two overloads** — use the callback form for the same typed control as `resourceUIBehavior()`:\n * - Callback: `(declaration, factory, schema, ({ schema, schemaShape, opsVariantResolver }) => config)` — operation keys\n * in `views` and `variantOverrides` are validated at compile time via the `opsVariantResolver` helper.\n * - Object: `(declaration, factory, config)` — config object; typing may be weaker for array literals.\n *\n * @param declaration - Polymorphic frontend declaration with variant mappings\n * @param _factory - Any single factory from the polymorphic map — for type inference only\n * @param schemaOrConfig - Base schema (for callback form) or config object (for object form)\n * @param configFactory - Callback form only: receives { schema, schemaShape, opsVariantResolver } like resourceUIBehavior\n */\nexport function polymorphicResourceUIBehavior<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n>(\n declaration: PolymorphicFrontendDeclaration,\n _factory: ResourceConfigLike<TCustomOp, TCoreOp, TSchema>,\n schema: TSchema,\n configFactory: (\n params: ResourceUIBehaviorCallbackParams<TCustomOp, TCoreOp, TSchema>,\n ) => PolymorphicResourceUIBehaviorConfigResult<TCustomOp, TCoreOp, TSchema>,\n): ResourceUIBehavior;\n\n\nexport function polymorphicResourceUIBehavior<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n>(\n declaration: PolymorphicFrontendDeclaration,\n _factory: ResourceConfigLike<TCustomOp, TCoreOp, TSchema>,\n config: PolymorphicResourceUIBehaviorConfig<TCustomOp, TCoreOp, TSchema>,\n): ResourceUIBehavior;\n\n\nexport function polymorphicResourceUIBehavior<\n TCustomOp extends EnumLikeType | undefined,\n TCoreOp extends Partial<CoreResourceOperation> | undefined,\n TSchema extends z.ZodTypeAny,\n>(\n declaration: PolymorphicFrontendDeclaration,\n _factory: ResourceConfigLike<TCustomOp, TCoreOp, TSchema>,\n schemaOrConfig: TSchema | PolymorphicResourceUIBehaviorConfig<TCustomOp, TCoreOp, TSchema>,\n configFactory?: (\n params: ResourceUIBehaviorCallbackParams<TCustomOp, TCoreOp, TSchema>,\n ) => PolymorphicResourceUIBehaviorConfigResult<TCustomOp, TCoreOp, TSchema>,\n): ResourceUIBehavior {\n const config = configFactory\n ? (() => {\n const schema = schemaOrConfig as TSchema;\n const schemaShape = (\n schema && 'shape' in schema\n ? (schema as unknown as z.ZodObject<any>).shape\n : getZodObjectShape(schema)\n ) as ObjectShape<TSchema>;\n const opsVariantResolver = <TOp extends string>(op: TOp, variantKey: string) =>\n [op, variantKey] as readonly [TOp, string];\n const config = configFactory({ schema, schemaShape, opsVariantResolver: opsVariantResolver as any });\n (config as any)[FRONTEND_SCHEMA_KEY] = schema;\n return config;\n })()\n : (schemaOrConfig as PolymorphicResourceUIBehaviorConfig);\n\n return createPolymorphicFrontendPreset(declaration, config as PolymorphicResourceUIBehaviorConfig);\n}\n"]}