@wildo-ai/saas-frontend-lib 1.1.2 → 1.1.4

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 (1938) 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.map +1 -1
  12. package/dist/esm/components/actions/action-bar.js.map +1 -1
  13. package/dist/esm/components/actions/action-button.d.ts.map +1 -1
  14. package/dist/esm/components/actions/action-button.js.map +1 -1
  15. package/dist/esm/components/actions/button-group.d.ts.map +1 -1
  16. package/dist/esm/components/actions/button-group.js.map +1 -1
  17. package/dist/esm/components/actions/button.d.ts.map +1 -1
  18. package/dist/esm/components/actions/button.js.map +1 -1
  19. package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.d.ts.map +1 -1
  20. package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.js.map +1 -1
  21. package/dist/esm/components/ai-elements/artifacts/artifact-list.d.ts.map +1 -1
  22. package/dist/esm/components/ai-elements/artifacts/artifact-list.js.map +1 -1
  23. package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
  24. package/dist/esm/components/ai-elements/artifacts/artifact.js.map +1 -1
  25. package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
  26. package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
  27. package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
  28. package/dist/esm/components/ai-elements/artifacts/image.js.map +1 -1
  29. package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
  30. package/dist/esm/components/ai-elements/artifacts/web-preview.js.map +1 -1
  31. package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
  32. package/dist/esm/components/ai-elements/chat/conversation.js.map +1 -1
  33. package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
  34. package/dist/esm/components/ai-elements/chat/message.js.map +1 -1
  35. package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
  36. package/dist/esm/components/ai-elements/chat/prompt-input.js.map +1 -1
  37. package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
  38. package/dist/esm/components/ai-elements/chat/sources.js.map +1 -1
  39. package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
  40. package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
  41. package/dist/esm/components/ai-elements/decision/approval.d.ts +28 -3
  42. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  43. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  44. package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
  45. package/dist/esm/components/ai-elements/execution/confirmation.js.map +1 -1
  46. package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
  47. package/dist/esm/components/ai-elements/execution/queue.js.map +1 -1
  48. package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
  49. package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
  50. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  51. package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
  52. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  53. package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
  54. package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
  55. package/dist/esm/components/ai-elements/graph/connection.js.map +1 -1
  56. package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
  57. package/dist/esm/components/ai-elements/graph/controls.js.map +1 -1
  58. package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
  59. package/dist/esm/components/ai-elements/graph/edge.js.map +1 -1
  60. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  61. package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
  62. package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
  63. package/dist/esm/components/ai-elements/graph/panel.js.map +1 -1
  64. package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
  65. package/dist/esm/components/ai-elements/graph/toolbar.js.map +1 -1
  66. package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts.map +1 -1
  67. package/dist/esm/components/ai-elements/meta/agent-wrappers.js.map +1 -1
  68. package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
  69. package/dist/esm/components/ai-elements/meta/context.js.map +1 -1
  70. package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
  71. package/dist/esm/components/ai-elements/meta/model-selector.js.map +1 -1
  72. package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
  73. package/dist/esm/components/ai-elements/meta/open-in-chat.js.map +1 -1
  74. package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
  75. package/dist/esm/components/ai-elements/shared/loader.js.map +1 -1
  76. package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
  77. package/dist/esm/components/ai-elements/shared/shimmer.js.map +1 -1
  78. package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
  79. package/dist/esm/components/ai-elements/stream/execution-stream.js.map +1 -1
  80. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
  81. package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
  82. package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
  83. package/dist/esm/components/ai-elements/trace/checkpoint.js.map +1 -1
  84. package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
  85. package/dist/esm/components/ai-elements/trace/inline-citation.js.map +1 -1
  86. package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
  87. package/dist/esm/components/ai-elements/trace/plan.js.map +1 -1
  88. package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
  89. package/dist/esm/components/ai-elements/trace/reasoning.js.map +1 -1
  90. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
  91. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
  92. package/dist/esm/components/app/AppLayout_ErrorBoundary.d.ts.map +1 -1
  93. package/dist/esm/components/app/AppLayout_ErrorBoundary.js.map +1 -1
  94. package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.d.ts.map +1 -1
  95. package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.js.map +1 -1
  96. package/dist/esm/components/app/AppLayout_Home.d.ts.map +1 -1
  97. package/dist/esm/components/app/AppLayout_Home.js.map +1 -1
  98. package/dist/esm/components/app/AppLayout_Home.labels.d.ts.map +1 -1
  99. package/dist/esm/components/app/AppLayout_Home.labels.js.map +1 -1
  100. package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
  101. package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
  102. package/dist/esm/components/app/AppLayout_NotificationCenter.d.ts.map +1 -1
  103. package/dist/esm/components/app/AppLayout_NotificationCenter.js +7 -2
  104. package/dist/esm/components/app/AppLayout_NotificationCenter.js.map +1 -1
  105. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.d.ts.map +1 -1
  106. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.js.map +1 -1
  107. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.d.ts.map +1 -1
  108. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.js.map +1 -1
  109. package/dist/esm/components/app/AppPage_Home.d.ts.map +1 -1
  110. package/dist/esm/components/app/AppPage_Home.js.map +1 -1
  111. package/dist/esm/components/app/PublicLayout_MainContainer.d.ts.map +1 -1
  112. package/dist/esm/components/app/PublicLayout_MainContainer.js.map +1 -1
  113. package/dist/esm/components/app/PublicLayout_StaticContentContainer.d.ts.map +1 -1
  114. package/dist/esm/components/app/PublicLayout_StaticContentContainer.js.map +1 -1
  115. package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.d.ts.map +1 -1
  116. package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.js.map +1 -1
  117. package/dist/esm/components/app/PublicLayout_Terms.labels.d.ts.map +1 -1
  118. package/dist/esm/components/app/PublicLayout_Terms.labels.js.map +1 -1
  119. package/dist/esm/components/auth/Auth_AuthCallback.d.ts.map +1 -1
  120. package/dist/esm/components/auth/Auth_AuthCallback.js.map +1 -1
  121. package/dist/esm/components/auth/Auth_AuthCallback.labels.d.ts.map +1 -1
  122. package/dist/esm/components/auth/Auth_AuthCallback.labels.js.map +1 -1
  123. package/dist/esm/components/auth/Auth_ConfirmEmail.d.ts.map +1 -1
  124. package/dist/esm/components/auth/Auth_ConfirmEmail.js.map +1 -1
  125. package/dist/esm/components/auth/Auth_ConfirmEmail.labels.d.ts.map +1 -1
  126. package/dist/esm/components/auth/Auth_ConfirmEmail.labels.js.map +1 -1
  127. package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
  128. package/dist/esm/components/auth/Auth_EnrollmentRequired.js.map +1 -1
  129. package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.d.ts.map +1 -1
  130. package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.js.map +1 -1
  131. package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
  132. package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
  133. package/dist/esm/components/auth/Auth_Invitation.labels.d.ts.map +1 -1
  134. package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
  135. package/dist/esm/components/auth/Auth_MagicLinkVerify.d.ts.map +1 -1
  136. package/dist/esm/components/auth/Auth_MagicLinkVerify.js.map +1 -1
  137. package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.d.ts.map +1 -1
  138. package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.js.map +1 -1
  139. package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
  140. package/dist/esm/components/auth/Auth_Main.js.map +1 -1
  141. package/dist/esm/components/auth/Auth_Main.labels.d.ts.map +1 -1
  142. package/dist/esm/components/auth/Auth_Main.labels.js.map +1 -1
  143. package/dist/esm/components/auth/Auth_MfaChallenge.d.ts.map +1 -1
  144. package/dist/esm/components/auth/Auth_MfaChallenge.js.map +1 -1
  145. package/dist/esm/components/auth/Auth_MfaChallenge.labels.d.ts.map +1 -1
  146. package/dist/esm/components/auth/Auth_MfaChallenge.labels.js.map +1 -1
  147. package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
  148. package/dist/esm/components/auth/Auth_OAuthConsent.js.map +1 -1
  149. package/dist/esm/components/auth/Auth_OAuthConsent.labels.d.ts.map +1 -1
  150. package/dist/esm/components/auth/Auth_OAuthConsent.labels.js.map +1 -1
  151. package/dist/esm/components/auth/Auth_OAuthLoggedOut.d.ts.map +1 -1
  152. package/dist/esm/components/auth/Auth_OAuthLoggedOut.js.map +1 -1
  153. package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.d.ts.map +1 -1
  154. package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.js.map +1 -1
  155. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.d.ts.map +1 -1
  156. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.js.map +1 -1
  157. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.d.ts.map +1 -1
  158. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.js.map +1 -1
  159. package/dist/esm/components/auth/Auth_OneOffSession.d.ts.map +1 -1
  160. package/dist/esm/components/auth/Auth_OneOffSession.js.map +1 -1
  161. package/dist/esm/components/auth/Auth_OneOffSession.labels.d.ts.map +1 -1
  162. package/dist/esm/components/auth/Auth_OneOffSession.labels.js.map +1 -1
  163. package/dist/esm/components/auth/Auth_PasswordLost.d.ts.map +1 -1
  164. package/dist/esm/components/auth/Auth_PasswordLost.js.map +1 -1
  165. package/dist/esm/components/auth/Auth_PasswordLost.labels.d.ts.map +1 -1
  166. package/dist/esm/components/auth/Auth_PasswordLost.labels.js.map +1 -1
  167. package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
  168. package/dist/esm/components/auth/Auth_Register.js.map +1 -1
  169. package/dist/esm/components/auth/Auth_Register.labels.d.ts.map +1 -1
  170. package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
  171. package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
  172. package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
  173. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
  174. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
  175. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
  176. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
  177. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map +1 -1
  178. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js.map +1 -1
  179. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.d.ts.map +1 -1
  180. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.js.map +1 -1
  181. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.d.ts.map +1 -1
  182. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js.map +1 -1
  183. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.d.ts.map +1 -1
  184. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js.map +1 -1
  185. package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.d.ts.map +1 -1
  186. package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.js.map +1 -1
  187. package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.d.ts.map +1 -1
  188. package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.js.map +1 -1
  189. package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts.map +1 -1
  190. package/dist/esm/components/auth/enrollment/enrollment-method-components.js.map +1 -1
  191. package/dist/esm/components/auth/methods/EmailOtpAuthMethod.d.ts.map +1 -1
  192. package/dist/esm/components/auth/methods/EmailOtpAuthMethod.js.map +1 -1
  193. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
  194. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js.map +1 -1
  195. package/dist/esm/components/auth/methods/MagicLinkAuthMethod.d.ts.map +1 -1
  196. package/dist/esm/components/auth/methods/MagicLinkAuthMethod.js.map +1 -1
  197. package/dist/esm/components/auth/methods/OrgOidcAuthMethod.d.ts.map +1 -1
  198. package/dist/esm/components/auth/methods/OrgOidcAuthMethod.js.map +1 -1
  199. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
  200. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
  201. package/dist/esm/components/auth/methods/PasskeyAuthMethod.d.ts.map +1 -1
  202. package/dist/esm/components/auth/methods/PasskeyAuthMethod.js.map +1 -1
  203. package/dist/esm/components/auth/methods/PasswordAuthMethod.d.ts.map +1 -1
  204. package/dist/esm/components/auth/methods/PasswordAuthMethod.js.map +1 -1
  205. package/dist/esm/components/auth/methods/SmsOtpAuthMethod.d.ts.map +1 -1
  206. package/dist/esm/components/auth/methods/SmsOtpAuthMethod.js.map +1 -1
  207. package/dist/esm/components/auth/methods/TotpAuthMethod.d.ts.map +1 -1
  208. package/dist/esm/components/auth/methods/TotpAuthMethod.js.map +1 -1
  209. package/dist/esm/components/auth/methods/auth-method-components.d.ts.map +1 -1
  210. package/dist/esm/components/auth/methods/auth-method-components.js.map +1 -1
  211. package/dist/esm/components/auth/pages/AuthPage_AuthCallback.d.ts.map +1 -1
  212. package/dist/esm/components/auth/pages/AuthPage_AuthCallback.js.map +1 -1
  213. package/dist/esm/components/auth/pages/AuthPage_AuthExchange.d.ts.map +1 -1
  214. package/dist/esm/components/auth/pages/AuthPage_AuthExchange.js.map +1 -1
  215. package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.d.ts.map +1 -1
  216. package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.js.map +1 -1
  217. package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.d.ts.map +1 -1
  218. package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.js.map +1 -1
  219. package/dist/esm/components/auth/pages/AuthPage_Invitation.d.ts.map +1 -1
  220. package/dist/esm/components/auth/pages/AuthPage_Invitation.js.map +1 -1
  221. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts.map +1 -1
  222. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.js.map +1 -1
  223. package/dist/esm/components/auth/pages/AuthPage_Main.d.ts.map +1 -1
  224. package/dist/esm/components/auth/pages/AuthPage_Main.js.map +1 -1
  225. package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.d.ts.map +1 -1
  226. package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.js.map +1 -1
  227. package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.d.ts.map +1 -1
  228. package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.js.map +1 -1
  229. package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.d.ts.map +1 -1
  230. package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.js.map +1 -1
  231. package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.d.ts.map +1 -1
  232. package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.js.map +1 -1
  233. package/dist/esm/components/auth/pages/AuthPage_OneOffSession.d.ts.map +1 -1
  234. package/dist/esm/components/auth/pages/AuthPage_OneOffSession.js.map +1 -1
  235. package/dist/esm/components/auth/pages/AuthPage_PasswordLost.d.ts.map +1 -1
  236. package/dist/esm/components/auth/pages/AuthPage_PasswordLost.js.map +1 -1
  237. package/dist/esm/components/auth/pages/AuthPage_Register.d.ts.map +1 -1
  238. package/dist/esm/components/auth/pages/AuthPage_Register.js.map +1 -1
  239. package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.d.ts.map +1 -1
  240. package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.js.map +1 -1
  241. package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.d.ts.map +1 -1
  242. package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.js.map +1 -1
  243. package/dist/esm/components/auth/utils/LabeledDivider.d.ts.map +1 -1
  244. package/dist/esm/components/auth/utils/LabeledDivider.js.map +1 -1
  245. package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts.map +1 -1
  246. package/dist/esm/components/auth/utils/OAuthProvidersSection.js.map +1 -1
  247. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts.map +1 -1
  248. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
  249. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts.map +1 -1
  250. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js.map +1 -1
  251. package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.d.ts.map +1 -1
  252. package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.js.map +1 -1
  253. package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
  254. package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
  255. package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
  256. package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
  257. package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
  258. package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
  259. package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
  260. package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
  261. package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
  262. package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
  263. package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
  264. package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
  265. package/dist/esm/components/data-display/DisplayContextKindContext.d.ts.map +1 -1
  266. package/dist/esm/components/data-display/DisplayContextKindContext.js.map +1 -1
  267. package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
  268. package/dist/esm/components/data-display/DisplayField.js +8 -5
  269. package/dist/esm/components/data-display/DisplayField.js.map +1 -1
  270. package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
  271. package/dist/esm/components/data-display/DisplayFieldArray.js.map +1 -1
  272. package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
  273. package/dist/esm/components/data-display/DisplayFieldEditable.js +6 -2
  274. package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
  275. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
  276. package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
  277. package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
  278. package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
  279. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
  280. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js.map +1 -1
  281. package/dist/esm/components/data-display/DisplayTemplateContext.d.ts.map +1 -1
  282. package/dist/esm/components/data-display/DisplayTemplateContext.js.map +1 -1
  283. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
  284. package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
  285. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
  286. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
  287. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
  288. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
  289. package/dist/esm/components/data-display/SummaryContext.d.ts.map +1 -1
  290. package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
  291. package/dist/esm/components/data-display/automatic-displayer.utils.d.ts.map +1 -1
  292. package/dist/esm/components/data-display/automatic-displayer.utils.js.map +1 -1
  293. package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
  294. package/dist/esm/components/data-display/avatar.js.map +1 -1
  295. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  296. package/dist/esm/components/data-display/badge.js.map +1 -1
  297. package/dist/esm/components/data-display/chart-echarts.d.ts.map +1 -1
  298. package/dist/esm/components/data-display/chart-echarts.js.map +1 -1
  299. package/dist/esm/components/data-display/chromes/DisplayChromeContext.d.ts.map +1 -1
  300. package/dist/esm/components/data-display/chromes/DisplayChromeContext.js.map +1 -1
  301. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
  302. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
  303. package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
  304. package/dist/esm/components/data-display/description-list.js.map +1 -1
  305. package/dist/esm/components/data-display/display-field-resolution.utils.d.ts.map +1 -1
  306. package/dist/esm/components/data-display/display-field-resolution.utils.js.map +1 -1
  307. package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
  308. package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
  309. package/dist/esm/components/data-display/display-resource-link-trail.d.ts.map +1 -1
  310. package/dist/esm/components/data-display/display-resource-link-trail.js.map +1 -1
  311. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
  312. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
  313. package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
  314. package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
  315. package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
  316. package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
  317. package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
  318. package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
  319. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
  320. package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
  321. package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
  322. package/dist/esm/components/data-display/formatters/display-field-duration.js.map +1 -1
  323. package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
  324. package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
  325. package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
  326. package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
  327. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
  328. package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
  329. package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
  330. package/dist/esm/components/data-display/formatters/display-field-file-gallery.js.map +1 -1
  331. package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
  332. package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
  333. package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
  334. package/dist/esm/components/data-display/formatters/display-field-file-video.js.map +1 -1
  335. package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
  336. package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
  337. package/dist/esm/components/data-display/formatters/display-field-json.d.ts.map +1 -1
  338. package/dist/esm/components/data-display/formatters/display-field-json.js.map +1 -1
  339. package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
  340. package/dist/esm/components/data-display/formatters/display-field-money.js.map +1 -1
  341. package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
  342. package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
  343. package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
  344. package/dist/esm/components/data-display/formatters/display-field-phone.js.map +1 -1
  345. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
  346. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.js.map +1 -1
  347. package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
  348. package/dist/esm/components/data-display/formatters/display-field-range-date.js.map +1 -1
  349. package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
  350. package/dist/esm/components/data-display/formatters/display-field-range-datetime.js.map +1 -1
  351. package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
  352. package/dist/esm/components/data-display/formatters/display-field-range-money.js.map +1 -1
  353. package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
  354. package/dist/esm/components/data-display/formatters/display-field-range-number.js.map +1 -1
  355. package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
  356. package/dist/esm/components/data-display/formatters/display-field-range-time.js.map +1 -1
  357. package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
  358. package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
  359. package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
  360. package/dist/esm/components/data-display/formatters/display-field-time.js.map +1 -1
  361. package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
  362. package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
  363. package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
  364. package/dist/esm/components/data-display/useFileActivation.js.map +1 -1
  365. package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
  366. package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
  367. package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
  368. package/dist/esm/components/feedback/danger-zone.js.map +1 -1
  369. package/dist/esm/components/feedback/empty-display-policy.utils.d.ts.map +1 -1
  370. package/dist/esm/components/feedback/empty-display-policy.utils.js.map +1 -1
  371. package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
  372. package/dist/esm/components/feedback/empty-state.js.map +1 -1
  373. package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
  374. package/dist/esm/components/feedback/error-display.js.map +1 -1
  375. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  376. package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -1
  377. package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
  378. package/dist/esm/components/feedback/features/feature-lock-badge.js.map +1 -1
  379. package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
  380. package/dist/esm/components/feedback/features/feature-unavailable-dialog.js.map +1 -1
  381. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts +36 -0
  382. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
  383. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js +29 -0
  384. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
  385. package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
  386. package/dist/esm/components/feedback/loading-overlay.js.map +1 -1
  387. package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
  388. package/dist/esm/components/feedback/loading-spinner.js.map +1 -1
  389. package/dist/esm/components/feedback/notification-center.d.ts +11 -5
  390. package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
  391. package/dist/esm/components/feedback/notification-center.js +2 -3
  392. package/dist/esm/components/feedback/notification-center.js.map +1 -1
  393. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  394. package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
  395. package/dist/esm/components/feedback/progress.d.ts.map +1 -1
  396. package/dist/esm/components/feedback/progress.js.map +1 -1
  397. package/dist/esm/components/feedback/resource-empty-state.d.ts.map +1 -1
  398. package/dist/esm/components/feedback/resource-empty-state.js.map +1 -1
  399. package/dist/esm/components/feedback/skeleton-text.d.ts.map +1 -1
  400. package/dist/esm/components/feedback/skeleton-text.js.map +1 -1
  401. package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
  402. package/dist/esm/components/feedback/skeleton.js.map +1 -1
  403. package/dist/esm/components/feedback/toast.d.ts.map +1 -1
  404. package/dist/esm/components/feedback/toast.js.map +1 -1
  405. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts +41 -0
  406. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -0
  407. package/dist/esm/components/files/Files_UploadGrantDrop.js +207 -0
  408. package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -0
  409. package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts +3 -0
  410. package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts.map +1 -0
  411. package/dist/esm/components/files/Files_UploadGrantDrop.labels.js +36 -0
  412. package/dist/esm/components/files/Files_UploadGrantDrop.labels.js.map +1 -0
  413. package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts +8 -0
  414. package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts.map +1 -0
  415. package/dist/esm/components/files/pages/FilesPage_UploadGrant.js +14 -0
  416. package/dist/esm/components/files/pages/FilesPage_UploadGrant.js.map +1 -0
  417. package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
  418. package/dist/esm/components/flows-actors/actor.js.map +1 -1
  419. package/dist/esm/components/flows-actors/actor.labels.d.ts.map +1 -1
  420. package/dist/esm/components/flows-actors/actor.labels.js.map +1 -1
  421. package/dist/esm/components/flows-actors/agent-config.d.ts.map +1 -1
  422. package/dist/esm/components/flows-actors/agent-config.js.map +1 -1
  423. package/dist/esm/components/flows-actors/agent-config.labels.d.ts.map +1 -1
  424. package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
  425. package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
  426. package/dist/esm/components/flows-actors/approval.js +21 -4
  427. package/dist/esm/components/flows-actors/approval.js.map +1 -1
  428. package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
  429. package/dist/esm/components/flows-actors/approval.labels.js +5 -0
  430. package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
  431. package/dist/esm/components/flows-actors/artifact-browser.d.ts.map +1 -1
  432. package/dist/esm/components/flows-actors/artifact-browser.js.map +1 -1
  433. package/dist/esm/components/flows-actors/artifact-browser.labels.d.ts.map +1 -1
  434. package/dist/esm/components/flows-actors/artifact-browser.labels.js.map +1 -1
  435. package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
  436. package/dist/esm/components/flows-actors/execution-plan.js +1 -1
  437. package/dist/esm/components/flows-actors/execution-plan.js.map +1 -1
  438. package/dist/esm/components/flows-actors/execution-plan.labels.d.ts.map +1 -1
  439. package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
  440. package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
  441. package/dist/esm/components/flows-actors/flow-execution.js.map +1 -1
  442. package/dist/esm/components/flows-actors/flow-execution.labels.d.ts.map +1 -1
  443. package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
  444. package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
  445. package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
  446. package/dist/esm/components/flows-actors/flow-node.d.ts.map +1 -1
  447. package/dist/esm/components/flows-actors/flow-node.js.map +1 -1
  448. package/dist/esm/components/flows-actors/flow-node.labels.d.ts.map +1 -1
  449. package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
  450. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts.map +1 -1
  451. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js.map +1 -1
  452. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts.map +1 -1
  453. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js.map +1 -1
  454. package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts.map +1 -1
  455. package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
  456. package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
  457. package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
  458. package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
  459. package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
  460. package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
  461. package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
  462. package/dist/esm/components/flows-actors/task-detail.labels.d.ts.map +1 -1
  463. package/dist/esm/components/flows-actors/task-detail.labels.js.map +1 -1
  464. package/dist/esm/components/flows-actors/task-memory.d.ts.map +1 -1
  465. package/dist/esm/components/flows-actors/task-memory.js +1 -1
  466. package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
  467. package/dist/esm/components/flows-actors/task-memory.labels.d.ts.map +1 -1
  468. package/dist/esm/components/flows-actors/task-memory.labels.js.map +1 -1
  469. package/dist/esm/components/form/Form.d.ts.map +1 -1
  470. package/dist/esm/components/form/Form.js.map +1 -1
  471. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
  472. package/dist/esm/components/form/automated/AutomatedArrayField.js +1 -1
  473. package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
  474. package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
  475. package/dist/esm/components/form/automated/AutomatedForm.js +16 -9
  476. package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
  477. package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
  478. package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
  479. package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
  480. package/dist/esm/components/form/automated/FormField.js +9 -2
  481. package/dist/esm/components/form/automated/FormField.js.map +1 -1
  482. package/dist/esm/components/form/automated/FormFieldArray.d.ts.map +1 -1
  483. package/dist/esm/components/form/automated/FormFieldArray.js.map +1 -1
  484. package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
  485. package/dist/esm/components/form/automated/FormFieldComposite.js +8 -6
  486. package/dist/esm/components/form/automated/FormFieldComposite.js.map +1 -1
  487. package/dist/esm/components/form/automated/FormFieldRecord.d.ts.map +1 -1
  488. package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
  489. package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
  490. package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
  491. package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.d.ts.map +1 -1
  492. package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.js.map +1 -1
  493. package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.d.ts.map +1 -1
  494. package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.js.map +1 -1
  495. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
  496. package/dist/esm/components/form/automated/ResourceAutomatedForm.js +37 -3
  497. package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
  498. package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts.map +1 -1
  499. package/dist/esm/components/form/automated/ResourceFormActionsContext.js.map +1 -1
  500. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
  501. package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
  502. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts +12 -0
  503. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts.map +1 -0
  504. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js +26 -0
  505. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js.map +1 -0
  506. package/dist/esm/components/form/automated/autosave-indicator.d.ts.map +1 -1
  507. package/dist/esm/components/form/automated/autosave-indicator.js.map +1 -1
  508. package/dist/esm/components/form/automated/autosave-indicator.utils.d.ts.map +1 -1
  509. package/dist/esm/components/form/automated/autosave-indicator.utils.js.map +1 -1
  510. package/dist/esm/components/form/automated/create-form-default-values.utils.d.ts.map +1 -1
  511. package/dist/esm/components/form/automated/create-form-default-values.utils.js.map +1 -1
  512. package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.d.ts.map +1 -1
  513. package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.js.map +1 -1
  514. package/dist/esm/components/form/automated/generated-relationship-field.helpers.d.ts.map +1 -1
  515. package/dist/esm/components/form/automated/generated-relationship-field.helpers.js.map +1 -1
  516. package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts +1 -1
  517. package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts.map +1 -1
  518. package/dist/esm/components/form/automated/generated-relationship-field.hooks.js.map +1 -1
  519. package/dist/esm/components/form/automated/generated-relationship-field.shared.d.ts.map +1 -1
  520. package/dist/esm/components/form/automated/generated-relationship-field.shared.js.map +1 -1
  521. package/dist/esm/components/form/automated/generated-relationship-field.utils.d.ts.map +1 -1
  522. package/dist/esm/components/form/automated/generated-relationship-field.utils.js.map +1 -1
  523. package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
  524. package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
  525. package/dist/esm/components/form/chromes/FormChromeContext.d.ts.map +1 -1
  526. package/dist/esm/components/form/chromes/FormChromeContext.js.map +1 -1
  527. package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
  528. package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
  529. package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
  530. package/dist/esm/components/form/chromes/field.js.map +1 -1
  531. package/dist/esm/components/form/chromes/form-primitives.d.ts.map +1 -1
  532. package/dist/esm/components/form/chromes/form-primitives.js.map +1 -1
  533. package/dist/esm/components/form/combobox.d.ts.map +1 -1
  534. package/dist/esm/components/form/combobox.js.map +1 -1
  535. package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
  536. package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
  537. package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
  538. package/dist/esm/components/form/controls/boolean/switch.js.map +1 -1
  539. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
  540. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.js.map +1 -1
  541. package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
  542. package/dist/esm/components/form/controls/boolean/toggle.js.map +1 -1
  543. package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
  544. package/dist/esm/components/form/controls/date-time/calendar.js.map +1 -1
  545. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  546. package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
  547. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  548. package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
  549. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  550. package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -1
  551. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  552. package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -1
  553. package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
  554. package/dist/esm/components/form/controls/date-time/time-picker.js.map +1 -1
  555. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  556. package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -1
  557. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  558. package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
  559. package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
  560. package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
  561. package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
  562. package/dist/esm/components/form/controls/enum/select.js.map +1 -1
  563. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  564. package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
  565. package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
  566. package/dist/esm/components/form/controls/file/file-upload.js.map +1 -1
  567. package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
  568. package/dist/esm/components/form/controls/file/image-crop.frontend.utils.d.ts.map +1 -1
  569. package/dist/esm/components/form/controls/file/image-crop.frontend.utils.js.map +1 -1
  570. package/dist/esm/components/form/controls/file/image-crop.js.map +1 -1
  571. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
  572. package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
  573. package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
  574. package/dist/esm/components/form/controls/input-group.js.map +1 -1
  575. package/dist/esm/components/form/controls/input.d.ts.map +1 -1
  576. package/dist/esm/components/form/controls/input.js.map +1 -1
  577. package/dist/esm/components/form/controls/number/slider.d.ts +1 -1
  578. package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
  579. package/dist/esm/components/form/controls/number/slider.js.map +1 -1
  580. package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
  581. package/dist/esm/components/form/controls/string/color-input.js.map +1 -1
  582. package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
  583. package/dist/esm/components/form/controls/string/inline-edit-text.js.map +1 -1
  584. package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
  585. package/dist/esm/components/form/controls/string/input-otp.js.map +1 -1
  586. package/dist/esm/components/form/controls/string/markdown-editor.d.ts.map +1 -1
  587. package/dist/esm/components/form/controls/string/markdown-editor.js.map +1 -1
  588. package/dist/esm/components/form/controls/string/markdown-editor.labels.d.ts.map +1 -1
  589. package/dist/esm/components/form/controls/string/markdown-editor.labels.js.map +1 -1
  590. package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
  591. package/dist/esm/components/form/controls/string/password-input.js.map +1 -1
  592. package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
  593. package/dist/esm/components/form/controls/string/textarea.js.map +1 -1
  594. package/dist/esm/components/form/feedback/RemoteChangeNotification.d.ts.map +1 -1
  595. package/dist/esm/components/form/feedback/RemoteChangeNotification.js.map +1 -1
  596. package/dist/esm/components/form/fields/form-field-bigdecimal.d.ts.map +1 -1
  597. package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
  598. package/dist/esm/components/form/fields/form-field-bigdecimal.labels.d.ts.map +1 -1
  599. package/dist/esm/components/form/fields/form-field-bigdecimal.labels.js.map +1 -1
  600. package/dist/esm/components/form/fields/form-field-boolean.d.ts.map +1 -1
  601. package/dist/esm/components/form/fields/form-field-boolean.js +4 -2
  602. package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
  603. package/dist/esm/components/form/fields/form-field-boolean.labels.d.ts.map +1 -1
  604. package/dist/esm/components/form/fields/form-field-boolean.labels.js.map +1 -1
  605. package/dist/esm/components/form/fields/form-field-code.d.ts.map +1 -1
  606. package/dist/esm/components/form/fields/form-field-code.js.map +1 -1
  607. package/dist/esm/components/form/fields/form-field-code.labels.d.ts.map +1 -1
  608. package/dist/esm/components/form/fields/form-field-code.labels.js.map +1 -1
  609. package/dist/esm/components/form/fields/form-field-date.d.ts.map +1 -1
  610. package/dist/esm/components/form/fields/form-field-date.js.map +1 -1
  611. package/dist/esm/components/form/fields/form-field-date.labels.d.ts.map +1 -1
  612. package/dist/esm/components/form/fields/form-field-date.labels.js.map +1 -1
  613. package/dist/esm/components/form/fields/form-field-datetime.d.ts.map +1 -1
  614. package/dist/esm/components/form/fields/form-field-datetime.js.map +1 -1
  615. package/dist/esm/components/form/fields/form-field-datetime.labels.d.ts.map +1 -1
  616. package/dist/esm/components/form/fields/form-field-datetime.labels.js.map +1 -1
  617. package/dist/esm/components/form/fields/form-field-duration.d.ts.map +1 -1
  618. package/dist/esm/components/form/fields/form-field-duration.js.map +1 -1
  619. package/dist/esm/components/form/fields/form-field-duration.labels.d.ts.map +1 -1
  620. package/dist/esm/components/form/fields/form-field-duration.labels.js.map +1 -1
  621. package/dist/esm/components/form/fields/form-field-enum.d.ts.map +1 -1
  622. package/dist/esm/components/form/fields/form-field-enum.js +4 -2
  623. package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
  624. package/dist/esm/components/form/fields/form-field-enum.labels.d.ts.map +1 -1
  625. package/dist/esm/components/form/fields/form-field-enum.labels.js.map +1 -1
  626. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts +15 -5
  627. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts.map +1 -1
  628. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js +21 -18
  629. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js.map +1 -1
  630. package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
  631. package/dist/esm/components/form/fields/form-field-file.js +139 -2
  632. package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
  633. package/dist/esm/components/form/fields/form-field-file.labels.d.ts.map +1 -1
  634. package/dist/esm/components/form/fields/form-field-file.labels.js +15 -0
  635. package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
  636. package/dist/esm/components/form/fields/form-field-money.d.ts.map +1 -1
  637. package/dist/esm/components/form/fields/form-field-money.js.map +1 -1
  638. package/dist/esm/components/form/fields/form-field-money.labels.d.ts.map +1 -1
  639. package/dist/esm/components/form/fields/form-field-money.labels.js.map +1 -1
  640. package/dist/esm/components/form/fields/form-field-number.d.ts.map +1 -1
  641. package/dist/esm/components/form/fields/form-field-number.js +4 -2
  642. package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
  643. package/dist/esm/components/form/fields/form-field-number.labels.d.ts.map +1 -1
  644. package/dist/esm/components/form/fields/form-field-number.labels.js.map +1 -1
  645. package/dist/esm/components/form/fields/form-field-phone.d.ts.map +1 -1
  646. package/dist/esm/components/form/fields/form-field-phone.js.map +1 -1
  647. package/dist/esm/components/form/fields/form-field-phone.labels.d.ts.map +1 -1
  648. package/dist/esm/components/form/fields/form-field-phone.labels.js.map +1 -1
  649. package/dist/esm/components/form/fields/form-field-range-bigdecimal.d.ts.map +1 -1
  650. package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
  651. package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.d.ts.map +1 -1
  652. package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.js.map +1 -1
  653. package/dist/esm/components/form/fields/form-field-range-date.d.ts.map +1 -1
  654. package/dist/esm/components/form/fields/form-field-range-date.js.map +1 -1
  655. package/dist/esm/components/form/fields/form-field-range-date.labels.d.ts.map +1 -1
  656. package/dist/esm/components/form/fields/form-field-range-date.labels.js.map +1 -1
  657. package/dist/esm/components/form/fields/form-field-range-datetime.d.ts.map +1 -1
  658. package/dist/esm/components/form/fields/form-field-range-datetime.js.map +1 -1
  659. package/dist/esm/components/form/fields/form-field-range-datetime.labels.d.ts.map +1 -1
  660. package/dist/esm/components/form/fields/form-field-range-datetime.labels.js.map +1 -1
  661. package/dist/esm/components/form/fields/form-field-range-money.d.ts.map +1 -1
  662. package/dist/esm/components/form/fields/form-field-range-money.js.map +1 -1
  663. package/dist/esm/components/form/fields/form-field-range-money.labels.d.ts.map +1 -1
  664. package/dist/esm/components/form/fields/form-field-range-money.labels.js.map +1 -1
  665. package/dist/esm/components/form/fields/form-field-range-number.d.ts.map +1 -1
  666. package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
  667. package/dist/esm/components/form/fields/form-field-range-number.labels.d.ts.map +1 -1
  668. package/dist/esm/components/form/fields/form-field-range-number.labels.js.map +1 -1
  669. package/dist/esm/components/form/fields/form-field-range-time.d.ts.map +1 -1
  670. package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
  671. package/dist/esm/components/form/fields/form-field-range-time.labels.d.ts.map +1 -1
  672. package/dist/esm/components/form/fields/form-field-range-time.labels.js.map +1 -1
  673. package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
  674. package/dist/esm/components/form/fields/form-field-string.js +7 -2
  675. package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
  676. package/dist/esm/components/form/fields/form-field-string.labels.d.ts.map +1 -1
  677. package/dist/esm/components/form/fields/form-field-string.labels.js.map +1 -1
  678. package/dist/esm/components/form/fields/form-field-time.d.ts.map +1 -1
  679. package/dist/esm/components/form/fields/form-field-time.js.map +1 -1
  680. package/dist/esm/components/form/fields/form-field-time.labels.d.ts.map +1 -1
  681. package/dist/esm/components/form/fields/form-field-time.labels.js.map +1 -1
  682. package/dist/esm/components/form/fields/useFormField.d.ts.map +1 -1
  683. package/dist/esm/components/form/fields/useFormField.js.map +1 -1
  684. package/dist/esm/components/form/form-context.d.ts.map +1 -1
  685. package/dist/esm/components/form/form-context.js.map +1 -1
  686. package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
  687. package/dist/esm/components/form/form-context.utils.js.map +1 -1
  688. package/dist/esm/components/form/form-field-types.d.ts +20 -0
  689. package/dist/esm/components/form/form-field-types.d.ts.map +1 -1
  690. package/dist/esm/components/form/form-field-types.js.map +1 -1
  691. package/dist/esm/components/form/useFormSchemaContext.d.ts.map +1 -1
  692. package/dist/esm/components/form/useFormSchemaContext.js.map +1 -1
  693. package/dist/esm/components/form/validation-errors/FormErrorSummary.d.ts.map +1 -1
  694. package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
  695. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts.map +1 -1
  696. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.js.map +1 -1
  697. package/dist/esm/components/form/validation-errors/form-validation.d.ts.map +1 -1
  698. package/dist/esm/components/form/validation-errors/form-validation.js.map +1 -1
  699. package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
  700. package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
  701. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts.map +1 -1
  702. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
  703. package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.d.ts.map +1 -1
  704. package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.js.map +1 -1
  705. package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts.map +1 -1
  706. package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
  707. package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
  708. package/dist/esm/components/layout/aspect-ratio.js.map +1 -1
  709. package/dist/esm/components/layout/carousel.d.ts.map +1 -1
  710. package/dist/esm/components/layout/carousel.js.map +1 -1
  711. package/dist/esm/components/layout/divider.d.ts.map +1 -1
  712. package/dist/esm/components/layout/divider.js.map +1 -1
  713. package/dist/esm/components/layout/resizable.d.ts.map +1 -1
  714. package/dist/esm/components/layout/resizable.js.map +1 -1
  715. package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
  716. package/dist/esm/components/layout/scroll-area.js.map +1 -1
  717. package/dist/esm/components/layout/separator.d.ts.map +1 -1
  718. package/dist/esm/components/layout/separator.js.map +1 -1
  719. package/dist/esm/components/navigation/NavigationItemBadge.d.ts +13 -1
  720. package/dist/esm/components/navigation/NavigationItemBadge.d.ts.map +1 -1
  721. package/dist/esm/components/navigation/NavigationItemBadge.js +31 -2
  722. package/dist/esm/components/navigation/NavigationItemBadge.js.map +1 -1
  723. package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.d.ts.map +1 -1
  724. package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.js.map +1 -1
  725. package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.d.ts.map +1 -1
  726. package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.js.map +1 -1
  727. package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.d.ts.map +1 -1
  728. package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.js.map +1 -1
  729. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.d.ts.map +1 -1
  730. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.js.map +1 -1
  731. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.d.ts.map +1 -1
  732. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.js.map +1 -1
  733. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts.map +1 -1
  734. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js.map +1 -1
  735. package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.d.ts.map +1 -1
  736. package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.js.map +1 -1
  737. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts.map +1 -1
  738. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.js.map +1 -1
  739. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.d.ts.map +1 -1
  740. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.js.map +1 -1
  741. package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.d.ts.map +1 -1
  742. package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.js.map +1 -1
  743. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts.map +1 -1
  744. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.js.map +1 -1
  745. package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.d.ts.map +1 -1
  746. package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.js.map +1 -1
  747. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts.map +1 -1
  748. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.js.map +1 -1
  749. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.d.ts.map +1 -1
  750. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js.map +1 -1
  751. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.d.ts.map +1 -1
  752. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
  753. package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.d.ts.map +1 -1
  754. package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.js.map +1 -1
  755. package/dist/esm/components/navigation/app-level/useActivityBarBehavior.d.ts.map +1 -1
  756. package/dist/esm/components/navigation/app-level/useActivityBarBehavior.js.map +1 -1
  757. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
  758. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
  759. package/dist/esm/components/navigation/app-level/useControlPanelBehavior.d.ts.map +1 -1
  760. package/dist/esm/components/navigation/app-level/useControlPanelBehavior.js.map +1 -1
  761. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts.map +1 -1
  762. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js.map +1 -1
  763. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
  764. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
  765. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
  766. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
  767. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts +5 -2
  768. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts.map +1 -1
  769. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js +18 -41
  770. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js.map +1 -1
  771. package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.d.ts.map +1 -1
  772. package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.js.map +1 -1
  773. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
  774. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
  775. package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
  776. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +1 -1
  777. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
  778. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts.map +1 -1
  779. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js +13 -3
  780. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js.map +1 -1
  781. package/dist/esm/components/navigation/app-level/useToolbarBehavior.d.ts.map +1 -1
  782. package/dist/esm/components/navigation/app-level/useToolbarBehavior.js.map +1 -1
  783. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +23 -5
  784. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
  785. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +81 -13
  786. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
  787. package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
  788. package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
  789. package/dist/esm/components/navigation/command.d.ts.map +1 -1
  790. package/dist/esm/components/navigation/command.js.map +1 -1
  791. package/dist/esm/components/navigation/menu-bar.d.ts +1 -1
  792. package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
  793. package/dist/esm/components/navigation/menu-bar.js.map +1 -1
  794. package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
  795. package/dist/esm/components/navigation/navbar.js.map +1 -1
  796. package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
  797. package/dist/esm/components/navigation/sidebar.js.map +1 -1
  798. package/dist/esm/components/overlays/containers/OverlayContainer.d.ts.map +1 -1
  799. package/dist/esm/components/overlays/containers/OverlayContainer.js +36 -9
  800. package/dist/esm/components/overlays/containers/OverlayContainer.js.map +1 -1
  801. package/dist/esm/components/overlays/containers/OverlayContainer.labels.d.ts.map +1 -1
  802. package/dist/esm/components/overlays/containers/OverlayContainer.labels.js.map +1 -1
  803. package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
  804. package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
  805. package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
  806. package/dist/esm/components/overlays/containers/alert.js.map +1 -1
  807. package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
  808. package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
  809. package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts.map +1 -1
  810. package/dist/esm/components/overlays/containers/dialog.shared-types.js.map +1 -1
  811. package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
  812. package/dist/esm/components/overlays/containers/drawer.js.map +1 -1
  813. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts.map +1 -1
  814. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.js.map +1 -1
  815. package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.d.ts.map +1 -1
  816. package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.js.map +1 -1
  817. package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
  818. package/dist/esm/components/overlays/containers/sheet.js.map +1 -1
  819. package/dist/esm/components/overlays/floating/context-menu.d.ts +1 -1
  820. package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
  821. package/dist/esm/components/overlays/floating/context-menu.js.map +1 -1
  822. package/dist/esm/components/overlays/floating/dropdown-menu.d.ts +1 -1
  823. package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
  824. package/dist/esm/components/overlays/floating/dropdown-menu.js.map +1 -1
  825. package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
  826. package/dist/esm/components/overlays/floating/hover-card.js.map +1 -1
  827. package/dist/esm/components/overlays/floating/menu.shared-types.d.ts.map +1 -1
  828. package/dist/esm/components/overlays/floating/menu.shared-types.js.map +1 -1
  829. package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
  830. package/dist/esm/components/overlays/floating/popover.js.map +1 -1
  831. package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
  832. package/dist/esm/components/overlays/floating/tooltip.js.map +1 -1
  833. package/dist/esm/components/progression/ProgressionAchievementBadge.d.ts.map +1 -1
  834. package/dist/esm/components/progression/ProgressionAchievementBadge.js.map +1 -1
  835. package/dist/esm/components/progression/ProgressionAchievementBadge.labels.d.ts.map +1 -1
  836. package/dist/esm/components/progression/ProgressionAchievementBadge.labels.js.map +1 -1
  837. package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts.map +1 -1
  838. package/dist/esm/components/progression/ProgressionMilestoneTracker.js.map +1 -1
  839. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.d.ts.map +1 -1
  840. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
  841. package/dist/esm/components/resources/CollectionSelectionControls.d.ts.map +1 -1
  842. package/dist/esm/components/resources/CollectionSelectionControls.js.map +1 -1
  843. package/dist/esm/components/resources/EphemeralFieldsRevealDialog.d.ts.map +1 -1
  844. package/dist/esm/components/resources/EphemeralFieldsRevealDialog.js.map +1 -1
  845. package/dist/esm/components/resources/InlineSearchInput.d.ts.map +1 -1
  846. package/dist/esm/components/resources/InlineSearchInput.js.map +1 -1
  847. package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
  848. package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
  849. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
  850. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
  851. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
  852. package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
  853. package/dist/esm/components/resources/ResourceInPlaceOperationRow.d.ts.map +1 -1
  854. package/dist/esm/components/resources/ResourceInPlaceOperationRow.js.map +1 -1
  855. package/dist/esm/components/resources/ResourceLayout_Action.d.ts.map +1 -1
  856. package/dist/esm/components/resources/ResourceLayout_Action.js.map +1 -1
  857. package/dist/esm/components/resources/ResourceLayout_Action.labels.d.ts.map +1 -1
  858. package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
  859. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
  860. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
  861. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.d.ts.map +1 -1
  862. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.js.map +1 -1
  863. package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
  864. package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
  865. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.d.ts.map +1 -1
  866. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js.map +1 -1
  867. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.d.ts.map +1 -1
  868. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.js.map +1 -1
  869. package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
  870. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +9 -0
  871. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
  872. package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.d.ts.map +1 -1
  873. package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.js.map +1 -1
  874. package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
  875. package/dist/esm/components/resources/ResourceLayout_Create.js.map +1 -1
  876. package/dist/esm/components/resources/ResourceLayout_Create.labels.d.ts.map +1 -1
  877. package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
  878. package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
  879. package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
  880. package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.d.ts.map +1 -1
  881. package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.js.map +1 -1
  882. package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
  883. package/dist/esm/components/resources/ResourceLayout_FilterChips.js +1 -1
  884. package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
  885. package/dist/esm/components/resources/ResourceLayout_Filters.d.ts.map +1 -1
  886. package/dist/esm/components/resources/ResourceLayout_Filters.js.map +1 -1
  887. package/dist/esm/components/resources/ResourceLayout_Filters.labels.d.ts.map +1 -1
  888. package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
  889. package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
  890. package/dist/esm/components/resources/ResourceLayout_FiltersControl.js.map +1 -1
  891. package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
  892. package/dist/esm/components/resources/ResourceLayout_Header.js +1 -1
  893. package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
  894. package/dist/esm/components/resources/ResourceLayout_Header.labels.d.ts.map +1 -1
  895. package/dist/esm/components/resources/ResourceLayout_Header.labels.js.map +1 -1
  896. package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
  897. package/dist/esm/components/resources/ResourceLayout_InsertedViews.js.map +1 -1
  898. package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
  899. package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
  900. package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
  901. package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
  902. package/dist/esm/components/resources/ResourceLayout_List_Table.d.ts.map +1 -1
  903. package/dist/esm/components/resources/ResourceLayout_List_Table.js.map +1 -1
  904. package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
  905. package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
  906. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.d.ts.map +1 -1
  907. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
  908. package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
  909. package/dist/esm/components/resources/ResourceLayout_OperationsItems.js.map +1 -1
  910. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.d.ts.map +1 -1
  911. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js.map +1 -1
  912. package/dist/esm/components/resources/ResourceLayout_Pagination.d.ts.map +1 -1
  913. package/dist/esm/components/resources/ResourceLayout_Pagination.js.map +1 -1
  914. package/dist/esm/components/resources/ResourceLayout_Pagination.labels.d.ts.map +1 -1
  915. package/dist/esm/components/resources/ResourceLayout_Pagination.labels.js.map +1 -1
  916. package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
  917. package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
  918. package/dist/esm/components/resources/ResourceLayout_Read.labels.d.ts.map +1 -1
  919. package/dist/esm/components/resources/ResourceLayout_Read.labels.js.map +1 -1
  920. package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
  921. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
  922. package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.d.ts.map +1 -1
  923. package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.js.map +1 -1
  924. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
  925. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
  926. package/dist/esm/components/resources/ResourceLayout_Read_Expandable.d.ts.map +1 -1
  927. package/dist/esm/components/resources/ResourceLayout_Read_Expandable.js.map +1 -1
  928. package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
  929. package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
  930. package/dist/esm/components/resources/ResourceLayout_Search.labels.d.ts.map +1 -1
  931. package/dist/esm/components/resources/ResourceLayout_Search.labels.js.map +1 -1
  932. package/dist/esm/components/resources/ResourceLayout_Search_Table.d.ts.map +1 -1
  933. package/dist/esm/components/resources/ResourceLayout_Search_Table.js.map +1 -1
  934. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
  935. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
  936. package/dist/esm/components/resources/ResourceLayout_SortControl.d.ts.map +1 -1
  937. package/dist/esm/components/resources/ResourceLayout_SortControl.js.map +1 -1
  938. package/dist/esm/components/resources/ResourceLayout_Update.d.ts.map +1 -1
  939. package/dist/esm/components/resources/ResourceLayout_Update.js.map +1 -1
  940. package/dist/esm/components/resources/ResourceLayout_Update.labels.d.ts.map +1 -1
  941. package/dist/esm/components/resources/ResourceLayout_Update.labels.js.map +1 -1
  942. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
  943. package/dist/esm/components/resources/ResourceListItemRenderer.js +1 -1
  944. package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
  945. package/dist/esm/components/resources/ResourceOperationActionPopover.d.ts.map +1 -1
  946. package/dist/esm/components/resources/ResourceOperationActionPopover.js.map +1 -1
  947. package/dist/esm/components/resources/ResourceOperationSurface.d.ts.map +1 -1
  948. package/dist/esm/components/resources/ResourceOperationSurface.js.map +1 -1
  949. package/dist/esm/components/resources/ResourceOwnedViewEmbeds.d.ts.map +1 -1
  950. package/dist/esm/components/resources/ResourceOwnedViewEmbeds.js.map +1 -1
  951. package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
  952. package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
  953. package/dist/esm/components/resources/card-action-placement.utils.d.ts.map +1 -1
  954. package/dist/esm/components/resources/card-action-placement.utils.js.map +1 -1
  955. package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
  956. package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
  957. package/dist/esm/components/resources/collection-view-mode.frontend.d.ts.map +1 -1
  958. package/dist/esm/components/resources/collection-view-mode.frontend.js.map +1 -1
  959. package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.d.ts.map +1 -1
  960. package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.js.map +1 -1
  961. package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.d.ts.map +1 -1
  962. package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.js.map +1 -1
  963. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts.map +1 -1
  964. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.js.map +1 -1
  965. package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.d.ts.map +1 -1
  966. package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.js.map +1 -1
  967. package/dist/esm/components/resources/embeds/RelatedResourcePreview.d.ts.map +1 -1
  968. package/dist/esm/components/resources/embeds/RelatedResourcePreview.js.map +1 -1
  969. package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
  970. package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
  971. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
  972. package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
  973. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts.map +1 -1
  974. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
  975. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
  976. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
  977. package/dist/esm/components/resources/inserted-resource-view.frontend.utils.d.ts.map +1 -1
  978. package/dist/esm/components/resources/inserted-resource-view.frontend.utils.js.map +1 -1
  979. package/dist/esm/components/resources/resource-operation-custom-view.contracts.d.ts.map +1 -1
  980. package/dist/esm/components/resources/resource-operation-custom-view.contracts.js.map +1 -1
  981. package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
  982. package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
  983. package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
  984. package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
  985. package/dist/esm/components/resources/skeleton/ArrayItemTemplate.d.ts.map +1 -1
  986. package/dist/esm/components/resources/skeleton/ArrayItemTemplate.js.map +1 -1
  987. package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.d.ts.map +1 -1
  988. package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.js.map +1 -1
  989. package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
  990. package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
  991. package/dist/esm/components/resources/skeleton/Divider.d.ts.map +1 -1
  992. package/dist/esm/components/resources/skeleton/Divider.js.map +1 -1
  993. package/dist/esm/components/resources/skeleton/FieldScopeContext.d.ts.map +1 -1
  994. package/dist/esm/components/resources/skeleton/FieldScopeContext.js.map +1 -1
  995. package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.d.ts.map +1 -1
  996. package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.js.map +1 -1
  997. package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
  998. package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
  999. package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.d.ts.map +1 -1
  1000. package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.js.map +1 -1
  1001. package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
  1002. package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
  1003. package/dist/esm/components/resources/skeleton/ObjectScope.d.ts.map +1 -1
  1004. package/dist/esm/components/resources/skeleton/ObjectScope.js.map +1 -1
  1005. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts +12 -0
  1006. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
  1007. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js +13 -1
  1008. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
  1009. package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
  1010. package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
  1011. package/dist/esm/components/resources/skeleton/Section.shared.d.ts.map +1 -1
  1012. package/dist/esm/components/resources/skeleton/Section.shared.js.map +1 -1
  1013. package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts.map +1 -1
  1014. package/dist/esm/components/resources/skeleton/SectionFieldsContext.js.map +1 -1
  1015. package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.d.ts.map +1 -1
  1016. package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.js.map +1 -1
  1017. package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts.map +1 -1
  1018. package/dist/esm/components/resources/skeleton/SectionPresentationContext.js.map +1 -1
  1019. package/dist/esm/components/resources/skeleton/SubmitButton.d.ts.map +1 -1
  1020. package/dist/esm/components/resources/skeleton/SubmitButton.js.map +1 -1
  1021. package/dist/esm/components/resources/skeleton/SummaryHeader.d.ts.map +1 -1
  1022. package/dist/esm/components/resources/skeleton/SummaryHeader.js.map +1 -1
  1023. package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts.map +1 -1
  1024. package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
  1025. package/dist/esm/components/resources/skeleton/SummaryMeta.d.ts.map +1 -1
  1026. package/dist/esm/components/resources/skeleton/SummaryMeta.js.map +1 -1
  1027. package/dist/esm/components/resources/skeleton/SummaryTitle.d.ts.map +1 -1
  1028. package/dist/esm/components/resources/skeleton/SummaryTitle.js.map +1 -1
  1029. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
  1030. package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
  1031. package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
  1032. package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
  1033. package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
  1034. package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
  1035. package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.d.ts.map +1 -1
  1036. package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.js.map +1 -1
  1037. package/dist/esm/components/resources/skeleton/section-consolidation.shared.d.ts.map +1 -1
  1038. package/dist/esm/components/resources/skeleton/section-consolidation.shared.js.map +1 -1
  1039. package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts.map +1 -1
  1040. package/dist/esm/components/resources/skeleton/section-consolidation.utils.js.map +1 -1
  1041. package/dist/esm/components/resources/useInlineSearch.d.ts.map +1 -1
  1042. package/dist/esm/components/resources/useInlineSearch.js.map +1 -1
  1043. package/dist/esm/components/resources/useLongPress.d.ts.map +1 -1
  1044. package/dist/esm/components/resources/useLongPress.js.map +1 -1
  1045. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
  1046. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
  1047. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.d.ts.map +1 -1
  1048. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js.map +1 -1
  1049. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.d.ts.map +1 -1
  1050. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js.map +1 -1
  1051. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.d.ts.map +1 -1
  1052. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.js.map +1 -1
  1053. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts.map +1 -1
  1054. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.js.map +1 -1
  1055. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.d.ts.map +1 -1
  1056. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.js.map +1 -1
  1057. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
  1058. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
  1059. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
  1060. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
  1061. package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
  1062. package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
  1063. package/dist/esm/components/sections/ContentSectionContainer.labels.d.ts.map +1 -1
  1064. package/dist/esm/components/sections/ContentSectionContainer.labels.js.map +1 -1
  1065. package/dist/esm/components/sections/accordion.d.ts.map +1 -1
  1066. package/dist/esm/components/sections/accordion.js.map +1 -1
  1067. package/dist/esm/components/sections/card.d.ts.map +1 -1
  1068. package/dist/esm/components/sections/card.js.map +1 -1
  1069. package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
  1070. package/dist/esm/components/sections/collapsible.js.map +1 -1
  1071. package/dist/esm/components/sections/content-section.d.ts.map +1 -1
  1072. package/dist/esm/components/sections/content-section.js.map +1 -1
  1073. package/dist/esm/components/sections/pagination.d.ts.map +1 -1
  1074. package/dist/esm/components/sections/pagination.js.map +1 -1
  1075. package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
  1076. package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
  1077. package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
  1078. package/dist/esm/components/sections/stacked-layout.js.map +1 -1
  1079. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  1080. package/dist/esm/components/sections/stepper.js.map +1 -1
  1081. package/dist/esm/components/sections/surface.d.ts.map +1 -1
  1082. package/dist/esm/components/sections/surface.js.map +1 -1
  1083. package/dist/esm/components/sections/table.d.ts.map +1 -1
  1084. package/dist/esm/components/sections/table.js.map +1 -1
  1085. package/dist/esm/components/sections/tabs.d.ts.map +1 -1
  1086. package/dist/esm/components/sections/tabs.js.map +1 -1
  1087. package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
  1088. package/dist/esm/components/settings/AppPage_AppearanceSettings.js.map +1 -1
  1089. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
  1090. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js.map +1 -1
  1091. package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
  1092. package/dist/esm/components/settings/AppPage_BillingSettings.js.map +1 -1
  1093. package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
  1094. package/dist/esm/components/settings/AppPage_BillingSettings.labels.js.map +1 -1
  1095. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +121 -0
  1096. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -0
  1097. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +386 -0
  1098. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -0
  1099. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts +3 -0
  1100. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -0
  1101. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +56 -0
  1102. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -0
  1103. package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
  1104. package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
  1105. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
  1106. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
  1107. package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
  1108. package/dist/esm/components/settings/SettingsHub.js +32 -5
  1109. package/dist/esm/components/settings/SettingsHub.js.map +1 -1
  1110. package/dist/esm/components/settings/SettingsHub.labels.d.ts.map +1 -1
  1111. package/dist/esm/components/settings/SettingsHub.labels.js.map +1 -1
  1112. package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
  1113. package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
  1114. package/dist/esm/components/settings/SettingsSectionNavigationHost.d.ts.map +1 -1
  1115. package/dist/esm/components/settings/SettingsSectionNavigationHost.js.map +1 -1
  1116. package/dist/esm/components/typography/heading.d.ts.map +1 -1
  1117. package/dist/esm/components/typography/heading.js.map +1 -1
  1118. package/dist/esm/components/typography/label.d.ts.map +1 -1
  1119. package/dist/esm/components/typography/label.js.map +1 -1
  1120. package/dist/esm/components/typography/link.d.ts.map +1 -1
  1121. package/dist/esm/components/typography/link.js.map +1 -1
  1122. package/dist/esm/components/typography/text.d.ts.map +1 -1
  1123. package/dist/esm/components/typography/text.js.map +1 -1
  1124. package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
  1125. package/dist/esm/components/typography/truncated-text.js.map +1 -1
  1126. package/dist/esm/components/views/ViewLayout_Header.d.ts.map +1 -1
  1127. package/dist/esm/components/views/ViewLayout_Header.js.map +1 -1
  1128. package/dist/esm/components/views/ViewNotFound.d.ts.map +1 -1
  1129. package/dist/esm/components/views/ViewNotFound.js.map +1 -1
  1130. package/dist/esm/components/views/ViewNotFound.labels.d.ts.map +1 -1
  1131. package/dist/esm/components/views/ViewNotFound.labels.js.map +1 -1
  1132. package/dist/esm/components/views/chart-view/ChartEmptyState.d.ts.map +1 -1
  1133. package/dist/esm/components/views/chart-view/ChartEmptyState.js.map +1 -1
  1134. package/dist/esm/components/views/chart-view/ChartErrorState.d.ts.map +1 -1
  1135. package/dist/esm/components/views/chart-view/ChartErrorState.js.map +1 -1
  1136. package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.d.ts.map +1 -1
  1137. package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.js.map +1 -1
  1138. package/dist/esm/components/views/chart-view/ChartView.d.ts.map +1 -1
  1139. package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
  1140. package/dist/esm/components/views/chart-view/ChartView.labels.d.ts.map +1 -1
  1141. package/dist/esm/components/views/chart-view/ChartView.labels.js.map +1 -1
  1142. package/dist/esm/components/views/chart-view/ChartView.lazy.d.ts.map +1 -1
  1143. package/dist/esm/components/views/chart-view/ChartView.lazy.js.map +1 -1
  1144. package/dist/esm/components/views/chart-view/ChartWidget.d.ts.map +1 -1
  1145. package/dist/esm/components/views/chart-view/ChartWidget.js.map +1 -1
  1146. package/dist/esm/components/views/chart-view/ChartWidget.labels.d.ts.map +1 -1
  1147. package/dist/esm/components/views/chart-view/ChartWidget.labels.js.map +1 -1
  1148. package/dist/esm/components/views/chart-view/WildoEChart.d.ts.map +1 -1
  1149. package/dist/esm/components/views/chart-view/WildoEChart.js.map +1 -1
  1150. package/dist/esm/components/views/chart-view/chart-export.utils.d.ts.map +1 -1
  1151. package/dist/esm/components/views/chart-view/chart-export.utils.js.map +1 -1
  1152. package/dist/esm/components/views/chart-view/chart-runtime.utils.d.ts.map +1 -1
  1153. package/dist/esm/components/views/chart-view/chart-runtime.utils.js.map +1 -1
  1154. package/dist/esm/components/views/chart-view/chart-theme-bridge.d.ts.map +1 -1
  1155. package/dist/esm/components/views/chart-view/chart-theme-bridge.js.map +1 -1
  1156. package/dist/esm/components/views/chart-view/chart-view.utils.d.ts.map +1 -1
  1157. package/dist/esm/components/views/chart-view/chart-view.utils.js.map +1 -1
  1158. package/dist/esm/components/views/chart-view/dev/ChartView.example.d.ts.map +1 -1
  1159. package/dist/esm/components/views/chart-view/dev/ChartView.example.js.map +1 -1
  1160. package/dist/esm/components/views/chart-view/echarts-setup.d.ts.map +1 -1
  1161. package/dist/esm/components/views/chart-view/echarts-setup.js.map +1 -1
  1162. package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts.map +1 -1
  1163. package/dist/esm/components/views/chart-view/enum-color-bridge.js.map +1 -1
  1164. package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts.map +1 -1
  1165. package/dist/esm/components/views/chart-view/option-builder/builder-utils.js.map +1 -1
  1166. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.d.ts.map +1 -1
  1167. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map +1 -1
  1168. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.d.ts.map +1 -1
  1169. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map +1 -1
  1170. package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.d.ts.map +1 -1
  1171. package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.js.map +1 -1
  1172. package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.d.ts.map +1 -1
  1173. package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.js.map +1 -1
  1174. package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.d.ts.map +1 -1
  1175. package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.js.map +1 -1
  1176. package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.d.ts.map +1 -1
  1177. package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.js.map +1 -1
  1178. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.d.ts.map +1 -1
  1179. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js.map +1 -1
  1180. package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.d.ts.map +1 -1
  1181. package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.js.map +1 -1
  1182. package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.d.ts.map +1 -1
  1183. package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.js.map +1 -1
  1184. package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.d.ts.map +1 -1
  1185. package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.js.map +1 -1
  1186. package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.d.ts.map +1 -1
  1187. package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.js.map +1 -1
  1188. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.d.ts.map +1 -1
  1189. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js.map +1 -1
  1190. package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.d.ts.map +1 -1
  1191. package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.js.map +1 -1
  1192. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts.map +1 -1
  1193. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.js.map +1 -1
  1194. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts.map +1 -1
  1195. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
  1196. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
  1197. package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
  1198. package/dist/esm/components/views/composite-view/CompositeView.d.ts.map +1 -1
  1199. package/dist/esm/components/views/composite-view/CompositeView.js.map +1 -1
  1200. package/dist/esm/components/views/composite-view/CompositeViewContext.d.ts.map +1 -1
  1201. package/dist/esm/components/views/composite-view/CompositeViewContext.js.map +1 -1
  1202. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.d.ts.map +1 -1
  1203. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js.map +1 -1
  1204. package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.d.ts.map +1 -1
  1205. package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.js.map +1 -1
  1206. package/dist/esm/components/views/execution-view/ExecutionView.d.ts.map +1 -1
  1207. package/dist/esm/components/views/execution-view/ExecutionView.js.map +1 -1
  1208. package/dist/esm/components/views/execution-view/ExecutionView.labels.d.ts.map +1 -1
  1209. package/dist/esm/components/views/execution-view/ExecutionView.labels.js.map +1 -1
  1210. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
  1211. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +11 -7
  1212. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js.map +1 -1
  1213. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts.map +1 -1
  1214. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
  1215. package/dist/esm/components/views/full-custom-view/FullCustomView.d.ts.map +1 -1
  1216. package/dist/esm/components/views/full-custom-view/FullCustomView.js.map +1 -1
  1217. package/dist/esm/components/views/onboarding-view/OnboardingView.d.ts.map +1 -1
  1218. package/dist/esm/components/views/onboarding-view/OnboardingView.js +9 -2
  1219. package/dist/esm/components/views/onboarding-view/OnboardingView.js.map +1 -1
  1220. package/dist/esm/components/views/onboarding-view/OnboardingView.labels.d.ts.map +1 -1
  1221. package/dist/esm/components/views/onboarding-view/OnboardingView.labels.js.map +1 -1
  1222. package/dist/esm/components/views/onboarding-view/onboarding-view.utils.d.ts.map +1 -1
  1223. package/dist/esm/components/views/onboarding-view/onboarding-view.utils.js.map +1 -1
  1224. package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
  1225. package/dist/esm/core/app-shell/PortalContainerContext.js.map +1 -1
  1226. package/dist/esm/core/app-shell/app-shell.schemas.d.ts +40 -18
  1227. package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
  1228. package/dist/esm/core/app-shell/app-shell.schemas.js +0 -5
  1229. package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
  1230. package/dist/esm/core/app-shell/app-shell.utils.d.ts.map +1 -1
  1231. package/dist/esm/core/app-shell/app-shell.utils.js.map +1 -1
  1232. package/dist/esm/core/app-shell/hosted-components.utils.d.ts.map +1 -1
  1233. package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
  1234. package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
  1235. package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
  1236. package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
  1237. package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
  1238. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts +16 -0
  1239. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts.map +1 -1
  1240. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js +17 -0
  1241. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js.map +1 -1
  1242. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +31 -11
  1243. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
  1244. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +34 -25
  1245. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
  1246. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +30 -4
  1247. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts.map +1 -1
  1248. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js +233 -17
  1249. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
  1250. package/dist/esm/core/billing/BillingContext.d.ts +36 -0
  1251. package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
  1252. package/dist/esm/core/billing/BillingContext.js +1 -0
  1253. package/dist/esm/core/billing/BillingContext.js.map +1 -1
  1254. package/dist/esm/core/billing/BillingErrorNotifier.d.ts.map +1 -1
  1255. package/dist/esm/core/billing/BillingErrorNotifier.js.map +1 -1
  1256. package/dist/esm/core/billing/billing-launcher.d.ts.map +1 -1
  1257. package/dist/esm/core/billing/billing-launcher.js +1 -1
  1258. package/dist/esm/core/billing/billing-launcher.js.map +1 -1
  1259. package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
  1260. package/dist/esm/core/billing/billing-provider-display.frontend.utils.js.map +1 -1
  1261. package/dist/esm/core/billing/useBilling.d.ts.map +1 -1
  1262. package/dist/esm/core/billing/useBilling.js.map +1 -1
  1263. package/dist/esm/core/billing/useBillingAction.d.ts.map +1 -1
  1264. package/dist/esm/core/billing/useBillingAction.js.map +1 -1
  1265. package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts.map +1 -1
  1266. package/dist/esm/core/billing/useSafeBillingActionExecutor.js.map +1 -1
  1267. package/dist/esm/core/branding/useBrandIdentity.d.ts +17 -0
  1268. package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
  1269. package/dist/esm/core/branding/useBrandIdentity.js +17 -0
  1270. package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
  1271. package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
  1272. package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
  1273. package/dist/esm/core/commons/devices.frontend.schemas.d.ts.map +1 -1
  1274. package/dist/esm/core/commons/devices.frontend.schemas.js.map +1 -1
  1275. package/dist/esm/core/commons/local-storage.frontend.schemas.d.ts.map +1 -1
  1276. package/dist/esm/core/commons/local-storage.frontend.schemas.js.map +1 -1
  1277. package/dist/esm/core/commons/window-event.frontend.schemas.d.ts.map +1 -1
  1278. package/dist/esm/core/commons/window-event.frontend.schemas.js.map +1 -1
  1279. package/dist/esm/core/companion/companion-exports.frontend.definitions.d.ts.map +1 -1
  1280. package/dist/esm/core/companion/companion-exports.frontend.definitions.js.map +1 -1
  1281. package/dist/esm/core/components-registry/ComponentNotInjected.d.ts.map +1 -1
  1282. package/dist/esm/core/components-registry/ComponentNotInjected.js.map +1 -1
  1283. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
  1284. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +1 -0
  1285. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
  1286. package/dist/esm/core/components-registry/component-registry-loader.frontend.service.d.ts.map +1 -1
  1287. package/dist/esm/core/components-registry/component-registry-loader.frontend.service.js.map +1 -1
  1288. package/dist/esm/core/components-registry/component-registry.frontend.schemas.d.ts.map +1 -1
  1289. package/dist/esm/core/components-registry/component-registry.frontend.schemas.js.map +1 -1
  1290. package/dist/esm/core/components-registry/component-registry.frontend.service.d.ts.map +1 -1
  1291. package/dist/esm/core/components-registry/component-registry.frontend.service.js +4 -1
  1292. package/dist/esm/core/components-registry/component-registry.frontend.service.js.map +1 -1
  1293. package/dist/esm/core/components-registry/component-resolver.frontend.helper.d.ts.map +1 -1
  1294. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js +8 -1
  1295. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
  1296. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts +188 -0
  1297. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -0
  1298. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js +255 -0
  1299. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -0
  1300. package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
  1301. package/dist/esm/core/components-registry/register-framework-layouts.js +2 -0
  1302. package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
  1303. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts +76 -0
  1304. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -0
  1305. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js +99 -0
  1306. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -0
  1307. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +15 -5
  1308. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
  1309. package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
  1310. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +44 -7
  1311. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
  1312. package/dist/esm/core/config/app-level-components.frontend.schemas.js +44 -7
  1313. package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
  1314. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +14 -14
  1315. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
  1316. package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
  1317. package/dist/esm/core/config/composite-view.schemas.d.ts.map +1 -1
  1318. package/dist/esm/core/config/composite-view.schemas.js.map +1 -1
  1319. package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
  1320. package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
  1321. package/dist/esm/core/config/engine-settings-destinations.d.ts +0 -49
  1322. package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
  1323. package/dist/esm/core/config/engine-settings-destinations.js +102 -56
  1324. package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
  1325. package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
  1326. package/dist/esm/core/config/execution-view.schemas.js.map +1 -1
  1327. package/dist/esm/core/config/flows-actors-view.schemas.d.ts +5 -3
  1328. package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
  1329. package/dist/esm/core/config/flows-actors-view.schemas.js +2 -2
  1330. package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
  1331. package/dist/esm/core/config/full-custom-view.schemas.d.ts.map +1 -1
  1332. package/dist/esm/core/config/full-custom-view.schemas.js.map +1 -1
  1333. package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
  1334. package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
  1335. package/dist/esm/core/config/inserted-view.frontend.schemas.d.ts.map +1 -1
  1336. package/dist/esm/core/config/inserted-view.frontend.schemas.js.map +1 -1
  1337. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +51 -11
  1338. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
  1339. package/dist/esm/core/config/launcher-items.frontend.schemas.js +21 -7
  1340. package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
  1341. package/dist/esm/core/config/onboarding-view.frontend.schemas.d.ts.map +1 -1
  1342. package/dist/esm/core/config/onboarding-view.frontend.schemas.js.map +1 -1
  1343. package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.d.ts.map +1 -1
  1344. package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.js.map +1 -1
  1345. package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts.map +1 -1
  1346. package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
  1347. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +23 -1
  1348. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
  1349. package/dist/esm/core/config/settings-hub.frontend.schemas.js +22 -0
  1350. package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
  1351. package/dist/esm/core/config/useSettingsHubConfig.d.ts.map +1 -1
  1352. package/dist/esm/core/config/useSettingsHubConfig.js +8 -1
  1353. package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
  1354. package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
  1355. package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
  1356. package/dist/esm/core/config/verify-feature-references.frontend.d.ts +7 -0
  1357. package/dist/esm/core/config/verify-feature-references.frontend.d.ts.map +1 -1
  1358. package/dist/esm/core/config/verify-feature-references.frontend.js +42 -1
  1359. package/dist/esm/core/config/verify-feature-references.frontend.js.map +1 -1
  1360. package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
  1361. package/dist/esm/core/config/verify-launcher-content.js +9 -2
  1362. package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
  1363. package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
  1364. package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
  1365. package/dist/esm/core/config/views-frontend.schemas.d.ts.map +1 -1
  1366. package/dist/esm/core/config/views-frontend.schemas.js.map +1 -1
  1367. package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
  1368. package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
  1369. package/dist/esm/core/errors/ErrorBoundary.d.ts.map +1 -1
  1370. package/dist/esm/core/errors/ErrorBoundary.js.map +1 -1
  1371. package/dist/esm/core/errors/ErrorContext.d.ts.map +1 -1
  1372. package/dist/esm/core/errors/ErrorContext.js.map +1 -1
  1373. package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
  1374. package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
  1375. package/dist/esm/core/errors/RouterErrorBoundary.d.ts.map +1 -1
  1376. package/dist/esm/core/errors/RouterErrorBoundary.js.map +1 -1
  1377. package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
  1378. package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
  1379. package/dist/esm/core/errors/errors-builder.frontend.services.d.ts.map +1 -1
  1380. package/dist/esm/core/errors/errors-builder.frontend.services.js.map +1 -1
  1381. package/dist/esm/core/errors/errors.frontend.schemas.d.ts.map +1 -1
  1382. package/dist/esm/core/errors/errors.frontend.schemas.js.map +1 -1
  1383. package/dist/esm/core/errors/http-error-behavior.frontend.schemas.d.ts.map +1 -1
  1384. package/dist/esm/core/errors/http-error-behavior.frontend.schemas.js.map +1 -1
  1385. package/dist/esm/core/errors/useError.d.ts.map +1 -1
  1386. package/dist/esm/core/errors/useError.js.map +1 -1
  1387. package/dist/esm/core/errors/withErrorBoundary.d.ts.map +1 -1
  1388. package/dist/esm/core/errors/withErrorBoundary.js.map +1 -1
  1389. package/dist/esm/core/events/EventBusContext.d.ts.map +1 -1
  1390. package/dist/esm/core/events/EventBusContext.js.map +1 -1
  1391. package/dist/esm/core/events/NotificationContext.d.ts +6 -5
  1392. package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
  1393. package/dist/esm/core/events/NotificationContext.js +41 -39
  1394. package/dist/esm/core/events/NotificationContext.js.map +1 -1
  1395. package/dist/esm/core/events/event-bus.frontend.service.d.ts.map +1 -1
  1396. package/dist/esm/core/events/event-bus.frontend.service.js.map +1 -1
  1397. package/dist/esm/core/events/events.frontend.schemas.d.ts +34 -18
  1398. package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
  1399. package/dist/esm/core/events/events.frontend.schemas.js +22 -1
  1400. package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
  1401. package/dist/esm/core/events/notification-display-policy.frontend.schemas.d.ts.map +1 -1
  1402. package/dist/esm/core/events/notification-display-policy.frontend.schemas.js.map +1 -1
  1403. package/dist/esm/core/events/toast.d.ts.map +1 -1
  1404. package/dist/esm/core/events/toast.js.map +1 -1
  1405. package/dist/esm/core/events/useEventBus.d.ts.map +1 -1
  1406. package/dist/esm/core/events/useEventBus.js.map +1 -1
  1407. package/dist/esm/core/events/useNotification.d.ts.map +1 -1
  1408. package/dist/esm/core/events/useNotification.js.map +1 -1
  1409. package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.d.ts.map +1 -1
  1410. package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.js.map +1 -1
  1411. package/dist/esm/core/execution/ExecutionRuntimeContext.d.ts.map +1 -1
  1412. package/dist/esm/core/execution/ExecutionRuntimeContext.js.map +1 -1
  1413. package/dist/esm/core/execution/execution-anchor.utils.d.ts.map +1 -1
  1414. package/dist/esm/core/execution/execution-anchor.utils.js.map +1 -1
  1415. package/dist/esm/core/execution/execution-dirty-markers.utils.d.ts.map +1 -1
  1416. package/dist/esm/core/execution/execution-dirty-markers.utils.js.map +1 -1
  1417. package/dist/esm/core/execution/execution-failure-handling.utils.d.ts.map +1 -1
  1418. package/dist/esm/core/execution/execution-failure-handling.utils.js.map +1 -1
  1419. package/dist/esm/core/execution/execution-outcome-emission.utils.d.ts.map +1 -1
  1420. package/dist/esm/core/execution/execution-outcome-emission.utils.js.map +1 -1
  1421. package/dist/esm/core/execution/execution-participation.utils.d.ts.map +1 -1
  1422. package/dist/esm/core/execution/execution-participation.utils.js.map +1 -1
  1423. package/dist/esm/core/execution/useExecution.d.ts.map +1 -1
  1424. package/dist/esm/core/execution/useExecution.js.map +1 -1
  1425. package/dist/esm/core/execution/useExecutionDirtyBridge.d.ts.map +1 -1
  1426. package/dist/esm/core/execution/useExecutionDirtyBridge.js.map +1 -1
  1427. package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.d.ts.map +1 -1
  1428. package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.js.map +1 -1
  1429. package/dist/esm/core/execution/useExecutionParticipationPrefetch.d.ts.map +1 -1
  1430. package/dist/esm/core/execution/useExecutionParticipationPrefetch.js.map +1 -1
  1431. package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
  1432. package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
  1433. package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.d.ts.map +1 -1
  1434. package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.js.map +1 -1
  1435. package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
  1436. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
  1437. package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts +77 -0
  1438. package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -0
  1439. package/dist/esm/core/external-providers/ProviderFilePickerHost.js +114 -0
  1440. package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -0
  1441. package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.d.ts.map +1 -1
  1442. package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.js.map +1 -1
  1443. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts +33 -15
  1444. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts.map +1 -1
  1445. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js +27 -21
  1446. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
  1447. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts +102 -0
  1448. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts.map +1 -0
  1449. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js +117 -0
  1450. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js.map +1 -0
  1451. package/dist/esm/core/features/FeatureGate.d.ts.map +1 -1
  1452. package/dist/esm/core/features/FeatureGate.js +1 -1
  1453. package/dist/esm/core/features/FeatureGate.js.map +1 -1
  1454. package/dist/esm/core/features/FeatureRouteGuard.d.ts.map +1 -1
  1455. package/dist/esm/core/features/FeatureRouteGuard.js +1 -1
  1456. package/dist/esm/core/features/FeatureRouteGuard.js.map +1 -1
  1457. package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
  1458. package/dist/esm/core/features/FeaturesContext.js.map +1 -1
  1459. package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts +7 -0
  1460. package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts.map +1 -1
  1461. package/dist/esm/core/features/feature-unavailability.frontend.utils.js +5 -0
  1462. package/dist/esm/core/features/feature-unavailability.frontend.utils.js.map +1 -1
  1463. package/dist/esm/core/features/useFeatureAvailability.d.ts +2 -0
  1464. package/dist/esm/core/features/useFeatureAvailability.d.ts.map +1 -1
  1465. package/dist/esm/core/features/useFeatureAvailability.js +4 -2
  1466. package/dist/esm/core/features/useFeatureAvailability.js.map +1 -1
  1467. package/dist/esm/core/features/useFeatureGate.d.ts.map +1 -1
  1468. package/dist/esm/core/features/useFeatureGate.js.map +1 -1
  1469. package/dist/esm/core/features/useFeatures.d.ts.map +1 -1
  1470. package/dist/esm/core/features/useFeatures.js.map +1 -1
  1471. package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
  1472. package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
  1473. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +26 -2
  1474. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
  1475. package/dist/esm/core/flows-actors/FlowsActorsContext.js +60 -3
  1476. package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
  1477. package/dist/esm/core/flows-actors/useFlowsActors.d.ts.map +1 -1
  1478. package/dist/esm/core/flows-actors/useFlowsActors.js.map +1 -1
  1479. package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
  1480. package/dist/esm/core/guidance/GuidanceContext.js +2 -2
  1481. package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
  1482. package/dist/esm/core/guidance/GuidanceRenderer.d.ts.map +1 -1
  1483. package/dist/esm/core/guidance/GuidanceRenderer.js.map +1 -1
  1484. package/dist/esm/core/guidance/guidance-audience.frontend.utils.d.ts.map +1 -1
  1485. package/dist/esm/core/guidance/guidance-audience.frontend.utils.js.map +1 -1
  1486. package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.d.ts.map +1 -1
  1487. package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.js.map +1 -1
  1488. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.d.ts.map +1 -1
  1489. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.js.map +1 -1
  1490. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.d.ts.map +1 -1
  1491. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.js.map +1 -1
  1492. package/dist/esm/core/guidance/renderers/GuidanceBadge.d.ts.map +1 -1
  1493. package/dist/esm/core/guidance/renderers/GuidanceBadge.js.map +1 -1
  1494. package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.d.ts.map +1 -1
  1495. package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.js.map +1 -1
  1496. package/dist/esm/core/guidance/renderers/GuidanceBanner.d.ts.map +1 -1
  1497. package/dist/esm/core/guidance/renderers/GuidanceBanner.js.map +1 -1
  1498. package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.d.ts.map +1 -1
  1499. package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.js.map +1 -1
  1500. package/dist/esm/core/guidance/renderers/GuidanceCard.d.ts.map +1 -1
  1501. package/dist/esm/core/guidance/renderers/GuidanceCard.js.map +1 -1
  1502. package/dist/esm/core/guidance/renderers/GuidanceCard.labels.d.ts.map +1 -1
  1503. package/dist/esm/core/guidance/renderers/GuidanceCard.labels.js.map +1 -1
  1504. package/dist/esm/core/guidance/renderers/GuidanceChecklist.d.ts.map +1 -1
  1505. package/dist/esm/core/guidance/renderers/GuidanceChecklist.js.map +1 -1
  1506. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.d.ts.map +1 -1
  1507. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
  1508. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.d.ts.map +1 -1
  1509. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.js.map +1 -1
  1510. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.d.ts.map +1 -1
  1511. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.js.map +1 -1
  1512. package/dist/esm/core/guidance/renderers/GuidanceModal.d.ts.map +1 -1
  1513. package/dist/esm/core/guidance/renderers/GuidanceModal.js.map +1 -1
  1514. package/dist/esm/core/guidance/renderers/GuidanceModal.labels.d.ts.map +1 -1
  1515. package/dist/esm/core/guidance/renderers/GuidanceModal.labels.js.map +1 -1
  1516. package/dist/esm/core/guidance/renderers/GuidanceSurvey.d.ts.map +1 -1
  1517. package/dist/esm/core/guidance/renderers/GuidanceSurvey.js.map +1 -1
  1518. package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.d.ts.map +1 -1
  1519. package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.js.map +1 -1
  1520. package/dist/esm/core/guidance/renderers/GuidanceTooltip.d.ts.map +1 -1
  1521. package/dist/esm/core/guidance/renderers/GuidanceTooltip.js.map +1 -1
  1522. package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.d.ts.map +1 -1
  1523. package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.js.map +1 -1
  1524. package/dist/esm/core/guidance/renderers/GuidanceTour.d.ts.map +1 -1
  1525. package/dist/esm/core/guidance/renderers/GuidanceTour.js.map +1 -1
  1526. package/dist/esm/core/guidance/renderers/GuidanceTour.labels.d.ts.map +1 -1
  1527. package/dist/esm/core/guidance/renderers/GuidanceTour.labels.js.map +1 -1
  1528. package/dist/esm/core/guidance/useGuidance.d.ts.map +1 -1
  1529. package/dist/esm/core/guidance/useGuidance.js.map +1 -1
  1530. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +29 -0
  1531. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
  1532. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +76 -1
  1533. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
  1534. package/dist/esm/core/hotkey/HotkeyRegistryContext.d.ts.map +1 -1
  1535. package/dist/esm/core/hotkey/HotkeyRegistryContext.js +44 -8
  1536. package/dist/esm/core/hotkey/HotkeyRegistryContext.js.map +1 -1
  1537. package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.d.ts.map +1 -1
  1538. package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.js.map +1 -1
  1539. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts +53 -1
  1540. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts.map +1 -1
  1541. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js +78 -13
  1542. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js.map +1 -1
  1543. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts.map +1 -1
  1544. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
  1545. package/dist/esm/core/hotkey/useHotkey.d.ts.map +1 -1
  1546. package/dist/esm/core/hotkey/useHotkey.js.map +1 -1
  1547. package/dist/esm/core/i18n/I18nContext.d.ts +32 -0
  1548. package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
  1549. package/dist/esm/core/i18n/I18nContext.js +154 -32
  1550. package/dist/esm/core/i18n/I18nContext.js.map +1 -1
  1551. package/dist/esm/core/i18n/component-label-resolution.utils.d.ts.map +1 -1
  1552. package/dist/esm/core/i18n/component-label-resolution.utils.js.map +1 -1
  1553. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts +51 -0
  1554. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -0
  1555. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js +66 -0
  1556. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -0
  1557. package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
  1558. package/dist/esm/core/i18n/useI18n.js +22 -2
  1559. package/dist/esm/core/i18n/useI18n.js.map +1 -1
  1560. package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
  1561. package/dist/esm/core/icons/IconRegistryBridge.js.map +1 -1
  1562. package/dist/esm/core/icons/IconRegistryContext.d.ts.map +1 -1
  1563. package/dist/esm/core/icons/IconRegistryContext.js.map +1 -1
  1564. package/dist/esm/core/icons/icon-registry.frontend.definitions.d.ts.map +1 -1
  1565. package/dist/esm/core/icons/icon-registry.frontend.definitions.js.map +1 -1
  1566. package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
  1567. package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
  1568. package/dist/esm/core/icons/useIconRegistry.d.ts.map +1 -1
  1569. package/dist/esm/core/icons/useIconRegistry.js.map +1 -1
  1570. package/dist/esm/core/loading/AppLoadingGate.d.ts.map +1 -1
  1571. package/dist/esm/core/loading/AppLoadingGate.js.map +1 -1
  1572. package/dist/esm/core/loading/LoadingBarrier.d.ts.map +1 -1
  1573. package/dist/esm/core/loading/LoadingBarrier.js.map +1 -1
  1574. package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
  1575. package/dist/esm/core/loading/LoadingContext.js.map +1 -1
  1576. package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
  1577. package/dist/esm/core/loading/LoadingGate.js +16 -3
  1578. package/dist/esm/core/loading/LoadingGate.js.map +1 -1
  1579. package/dist/esm/core/loading/loading-policy.frontend.schemas.d.ts.map +1 -1
  1580. package/dist/esm/core/loading/loading-policy.frontend.schemas.js.map +1 -1
  1581. package/dist/esm/core/loading/loading-scope.frontend.utils.d.ts.map +1 -1
  1582. package/dist/esm/core/loading/loading-scope.frontend.utils.js.map +1 -1
  1583. package/dist/esm/core/loading/loading-types.frontend.schemas.d.ts.map +1 -1
  1584. package/dist/esm/core/loading/loading-types.frontend.schemas.js.map +1 -1
  1585. package/dist/esm/core/loading/resolveLoadingPolicy.d.ts.map +1 -1
  1586. package/dist/esm/core/loading/resolveLoadingPolicy.js.map +1 -1
  1587. package/dist/esm/core/loading/useAppLoading.d.ts.map +1 -1
  1588. package/dist/esm/core/loading/useAppLoading.js.map +1 -1
  1589. package/dist/esm/core/loading/useComponentLoading.d.ts.map +1 -1
  1590. package/dist/esm/core/loading/useComponentLoading.js.map +1 -1
  1591. package/dist/esm/core/loading/useEmitLoadingScope.d.ts.map +1 -1
  1592. package/dist/esm/core/loading/useEmitLoadingScope.js.map +1 -1
  1593. package/dist/esm/core/loading/useLoading.d.ts.map +1 -1
  1594. package/dist/esm/core/loading/useLoading.js.map +1 -1
  1595. package/dist/esm/core/mode/AppModeContext.d.ts.map +1 -1
  1596. package/dist/esm/core/mode/AppModeContext.js.map +1 -1
  1597. package/dist/esm/core/mode/section-visibility.d.ts.map +1 -1
  1598. package/dist/esm/core/mode/section-visibility.js.map +1 -1
  1599. package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
  1600. package/dist/esm/core/monitoring/analytics/AnalyticsContext.js.map +1 -1
  1601. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts.map +1 -1
  1602. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js.map +1 -1
  1603. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts.map +1 -1
  1604. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js.map +1 -1
  1605. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts.map +1 -1
  1606. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js.map +1 -1
  1607. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
  1608. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
  1609. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts.map +1 -1
  1610. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js.map +1 -1
  1611. package/dist/esm/core/monitoring/analytics/useAnalytics.d.ts.map +1 -1
  1612. package/dist/esm/core/monitoring/analytics/useAnalytics.js.map +1 -1
  1613. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts +97 -0
  1614. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts.map +1 -0
  1615. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js +179 -0
  1616. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js.map +1 -0
  1617. package/dist/esm/core/monitoring/logger.frontend.service.d.ts.map +1 -1
  1618. package/dist/esm/core/monitoring/logger.frontend.service.js.map +1 -1
  1619. package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
  1620. package/dist/esm/core/navigation/NavigationContentAreas.js +76 -48
  1621. package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
  1622. package/dist/esm/core/navigation/NavigationContext.d.ts +12 -0
  1623. package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
  1624. package/dist/esm/core/navigation/NavigationContext.js +24 -0
  1625. package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
  1626. package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
  1627. package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
  1628. package/dist/esm/core/navigation/hosted-pane.constants.d.ts.map +1 -1
  1629. package/dist/esm/core/navigation/hosted-pane.constants.js.map +1 -1
  1630. package/dist/esm/core/navigation/launcher-resolution.d.ts +1 -1
  1631. package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
  1632. package/dist/esm/core/navigation/launcher-resolution.js +1 -1
  1633. package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
  1634. package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
  1635. package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
  1636. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
  1637. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js.map +1 -1
  1638. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +14 -5
  1639. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
  1640. package/dist/esm/core/navigation/navigation-policy-resolver.service.js +146 -17
  1641. package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
  1642. package/dist/esm/core/navigation/navigation.schemas.d.ts +58 -10
  1643. package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
  1644. package/dist/esm/core/navigation/navigation.schemas.js +1 -1
  1645. package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
  1646. package/dist/esm/core/navigation/navigation.utils.d.ts +2 -2
  1647. package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
  1648. package/dist/esm/core/navigation/navigation.utils.js +4 -4
  1649. package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
  1650. package/dist/esm/core/navigation/primary-destination-layout.d.ts.map +1 -1
  1651. package/dist/esm/core/navigation/primary-destination-layout.js.map +1 -1
  1652. package/dist/esm/core/navigation/useIsStackEntryActive.d.ts.map +1 -1
  1653. package/dist/esm/core/navigation/useIsStackEntryActive.js.map +1 -1
  1654. package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
  1655. package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
  1656. package/dist/esm/core/navigation/useNavigationController.d.ts +8 -0
  1657. package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
  1658. package/dist/esm/core/navigation/useNavigationController.js +26 -6
  1659. package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
  1660. package/dist/esm/core/navigation/useNavigationState.d.ts.map +1 -1
  1661. package/dist/esm/core/navigation/useNavigationState.js.map +1 -1
  1662. package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
  1663. package/dist/esm/core/navigation/useOverlayTitle.js.map +1 -1
  1664. package/dist/esm/core/navigation/useTransactionAwareSyncRetry.d.ts.map +1 -1
  1665. package/dist/esm/core/navigation/useTransactionAwareSyncRetry.js.map +1 -1
  1666. package/dist/esm/core/navigation/view-title-resolution.d.ts.map +1 -1
  1667. package/dist/esm/core/navigation/view-title-resolution.js.map +1 -1
  1668. package/dist/esm/core/navigation/zone-content-geometry.d.ts.map +1 -1
  1669. package/dist/esm/core/navigation/zone-content-geometry.js.map +1 -1
  1670. package/dist/esm/core/navigation/zone-empty-behavior.d.ts.map +1 -1
  1671. package/dist/esm/core/navigation/zone-empty-behavior.js.map +1 -1
  1672. package/dist/esm/core/navigation/zone-visible-entry.d.ts +26 -0
  1673. package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -0
  1674. package/dist/esm/core/navigation/zone-visible-entry.js +76 -0
  1675. package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -0
  1676. package/dist/esm/core/requests/api-readiness-checker.frontend.service.d.ts.map +1 -1
  1677. package/dist/esm/core/requests/api-readiness-checker.frontend.service.js.map +1 -1
  1678. package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
  1679. package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
  1680. package/dist/esm/core/requests/client-instance-id.frontend.service.d.ts.map +1 -1
  1681. package/dist/esm/core/requests/client-instance-id.frontend.service.js.map +1 -1
  1682. package/dist/esm/core/requests/network-backoff.frontend.utils.d.ts.map +1 -1
  1683. package/dist/esm/core/requests/network-backoff.frontend.utils.js.map +1 -1
  1684. package/dist/esm/core/requests/offline-replay-policy.frontend.d.ts.map +1 -1
  1685. package/dist/esm/core/requests/offline-replay-policy.frontend.js.map +1 -1
  1686. package/dist/esm/core/requests/request-cancellation.frontend.utils.d.ts.map +1 -1
  1687. package/dist/esm/core/requests/request-cancellation.frontend.utils.js.map +1 -1
  1688. package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.d.ts.map +1 -1
  1689. package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.js.map +1 -1
  1690. package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
  1691. package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
  1692. package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
  1693. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
  1694. package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts.map +1 -1
  1695. package/dist/esm/core/requests/websockets/useNotificationBadges.js +32 -19
  1696. package/dist/esm/core/requests/websockets/useNotificationBadges.js.map +1 -1
  1697. package/dist/esm/core/requests/websockets/useResourceRoom.d.ts.map +1 -1
  1698. package/dist/esm/core/requests/websockets/useResourceRoom.js.map +1 -1
  1699. package/dist/esm/core/requests/websockets/useWebSocket.d.ts.map +1 -1
  1700. package/dist/esm/core/requests/websockets/useWebSocket.js.map +1 -1
  1701. package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.d.ts.map +1 -1
  1702. package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.js.map +1 -1
  1703. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +146 -2
  1704. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
  1705. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +108 -1
  1706. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
  1707. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts +3 -2
  1708. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
  1709. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js +57 -4
  1710. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
  1711. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +6 -0
  1712. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
  1713. package/dist/esm/core/requests/wildo-http-client.frontend.service.js +1 -0
  1714. package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
  1715. package/dist/esm/core/resources/ResourceOperationViewContext.d.ts.map +1 -1
  1716. package/dist/esm/core/resources/ResourceOperationViewContext.js.map +1 -1
  1717. package/dist/esm/core/resources/ResourceOperationViewProvider.d.ts.map +1 -1
  1718. package/dist/esm/core/resources/ResourceOperationViewProvider.js.map +1 -1
  1719. package/dist/esm/core/resources/ResourceReadCacheBridge.d.ts.map +1 -1
  1720. package/dist/esm/core/resources/ResourceReadCacheBridge.js +130 -37
  1721. package/dist/esm/core/resources/ResourceReadCacheBridge.js.map +1 -1
  1722. package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
  1723. package/dist/esm/core/resources/ResourceRegistryContext.js.map +1 -1
  1724. package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
  1725. package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
  1726. package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
  1727. package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
  1728. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.d.ts.map +1 -1
  1729. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js.map +1 -1
  1730. package/dist/esm/core/resources/ephemeral-fields.utils.d.ts.map +1 -1
  1731. package/dist/esm/core/resources/ephemeral-fields.utils.js.map +1 -1
  1732. package/dist/esm/core/resources/file-serve-url.frontend.utils.d.ts.map +1 -1
  1733. package/dist/esm/core/resources/file-serve-url.frontend.utils.js.map +1 -1
  1734. package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
  1735. package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
  1736. package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
  1737. package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
  1738. package/dist/esm/core/resources/in-place/InPlaceOperationContext.d.ts.map +1 -1
  1739. package/dist/esm/core/resources/in-place/InPlaceOperationContext.js.map +1 -1
  1740. package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.d.ts.map +1 -1
  1741. package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.js.map +1 -1
  1742. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
  1743. package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
  1744. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.d.ts.map +1 -1
  1745. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js.map +1 -1
  1746. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts.map +1 -1
  1747. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js.map +1 -1
  1748. package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts.map +1 -1
  1749. package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
  1750. package/dist/esm/core/resources/resource-operation-view.frontend.utils.d.ts.map +1 -1
  1751. package/dist/esm/core/resources/resource-operation-view.frontend.utils.js.map +1 -1
  1752. package/dist/esm/core/resources/resource-path.frontend.schemas.d.ts.map +1 -1
  1753. package/dist/esm/core/resources/resource-path.frontend.schemas.js.map +1 -1
  1754. package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts.map +1 -1
  1755. package/dist/esm/core/resources/resource-read-cache.frontend.service.js.map +1 -1
  1756. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
  1757. package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
  1758. package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
  1759. package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
  1760. package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
  1761. package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
  1762. package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
  1763. package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
  1764. package/dist/esm/core/resources/rmm/RMMRegistryContext.d.ts.map +1 -1
  1765. package/dist/esm/core/resources/rmm/RMMRegistryContext.js.map +1 -1
  1766. package/dist/esm/core/resources/rmm/RMMWebSocketBridge.d.ts.map +1 -1
  1767. package/dist/esm/core/resources/rmm/RMMWebSocketBridge.js.map +1 -1
  1768. package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
  1769. package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
  1770. package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.d.ts.map +1 -1
  1771. package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.js.map +1 -1
  1772. package/dist/esm/core/resources/rmm/field-path.utils.d.ts.map +1 -1
  1773. package/dist/esm/core/resources/rmm/field-path.utils.js.map +1 -1
  1774. package/dist/esm/core/resources/rmm/rmm-constants.d.ts.map +1 -1
  1775. package/dist/esm/core/resources/rmm/rmm-constants.js.map +1 -1
  1776. package/dist/esm/core/resources/rmm/rmm-noop-snapshot.d.ts.map +1 -1
  1777. package/dist/esm/core/resources/rmm/rmm-noop-snapshot.js.map +1 -1
  1778. package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
  1779. package/dist/esm/core/resources/rmm/types.js.map +1 -1
  1780. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
  1781. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
  1782. package/dist/esm/core/resources/rmm/useListInvalidation.d.ts.map +1 -1
  1783. package/dist/esm/core/resources/rmm/useListInvalidation.js.map +1 -1
  1784. package/dist/esm/core/resources/rmm/useRMMEventHandler.d.ts.map +1 -1
  1785. package/dist/esm/core/resources/rmm/useRMMEventHandler.js.map +1 -1
  1786. package/dist/esm/core/resources/rmm/useRMMSnapshot.d.ts.map +1 -1
  1787. package/dist/esm/core/resources/rmm/useRMMSnapshot.js.map +1 -1
  1788. package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
  1789. package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
  1790. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
  1791. package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
  1792. package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.d.ts.map +1 -1
  1793. package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.js.map +1 -1
  1794. package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
  1795. package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
  1796. package/dist/esm/core/resources/useOperationEnabled.d.ts.map +1 -1
  1797. package/dist/esm/core/resources/useOperationEnabled.js.map +1 -1
  1798. package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
  1799. package/dist/esm/core/resources/useResourceLabels.js +20 -14
  1800. package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
  1801. package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
  1802. package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
  1803. package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
  1804. package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
  1805. package/dist/esm/core/resources/useResourceRegistry.d.ts.map +1 -1
  1806. package/dist/esm/core/resources/useResourceRegistry.js.map +1 -1
  1807. package/dist/esm/core/resources/useResourceSelection.d.ts.map +1 -1
  1808. package/dist/esm/core/resources/useResourceSelection.js.map +1 -1
  1809. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts.map +1 -1
  1810. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js.map +1 -1
  1811. package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
  1812. package/dist/esm/core/runtime/AppRouter.js +2 -1
  1813. package/dist/esm/core/runtime/AppRouter.js.map +1 -1
  1814. package/dist/esm/core/runtime/ApplicationContext.shared.d.ts +9 -0
  1815. package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
  1816. package/dist/esm/core/runtime/ApplicationContext.shared.js.map +1 -1
  1817. package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
  1818. package/dist/esm/core/runtime/ApplicationMainContext.js +1 -0
  1819. package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
  1820. package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.d.ts.map +1 -1
  1821. package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.js.map +1 -1
  1822. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
  1823. package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
  1824. package/dist/esm/core/runtime/env-variable-loader.frontend.service.d.ts.map +1 -1
  1825. package/dist/esm/core/runtime/env-variable-loader.frontend.service.js.map +1 -1
  1826. package/dist/esm/core/runtime/frontend-companion-resource-inputs.d.ts.map +1 -1
  1827. package/dist/esm/core/runtime/frontend-companion-resource-inputs.js.map +1 -1
  1828. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +6 -0
  1829. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
  1830. package/dist/esm/core/runtime/routes.frontend.definitions.js +7 -0
  1831. package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
  1832. package/dist/esm/core/runtime/runtime.frontend.schemas.d.ts.map +1 -1
  1833. package/dist/esm/core/runtime/runtime.frontend.schemas.js.map +1 -1
  1834. package/dist/esm/core/runtime/start-application.frontend.service.d.ts +38 -0
  1835. package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
  1836. package/dist/esm/core/runtime/start-application.frontend.service.js +92 -3
  1837. package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
  1838. package/dist/esm/core/runtime/useApplication.d.ts.map +1 -1
  1839. package/dist/esm/core/runtime/useApplication.js.map +1 -1
  1840. package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
  1841. package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
  1842. package/dist/esm/core/scope/scope.frontend.schemas.d.ts.map +1 -1
  1843. package/dist/esm/core/scope/scope.frontend.schemas.js.map +1 -1
  1844. package/dist/esm/core/scope/scope.utils.frontend.service.d.ts.map +1 -1
  1845. package/dist/esm/core/scope/scope.utils.frontend.service.js.map +1 -1
  1846. package/dist/esm/core/scope/useAppScope.d.ts.map +1 -1
  1847. package/dist/esm/core/scope/useAppScope.js.map +1 -1
  1848. package/dist/esm/core/security/AnonymousSessionContext.d.ts.map +1 -1
  1849. package/dist/esm/core/security/AnonymousSessionContext.js.map +1 -1
  1850. package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
  1851. package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
  1852. package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
  1853. package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
  1854. package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
  1855. package/dist/esm/core/security/UserOrgsContext.js +97 -13
  1856. package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
  1857. package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
  1858. package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
  1859. package/dist/esm/core/security/auth-session.utils.d.ts.map +1 -1
  1860. package/dist/esm/core/security/auth-session.utils.js.map +1 -1
  1861. package/dist/esm/core/security/cross-frontend-handoff.frontend.service.d.ts.map +1 -1
  1862. package/dist/esm/core/security/cross-frontend-handoff.frontend.service.js.map +1 -1
  1863. package/dist/esm/core/security/jwt.frontend.utils.d.ts.map +1 -1
  1864. package/dist/esm/core/security/jwt.frontend.utils.js.map +1 -1
  1865. package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
  1866. package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
  1867. package/dist/esm/core/security/session-token-storage.frontend.service.d.ts.map +1 -1
  1868. package/dist/esm/core/security/session-token-storage.frontend.service.js.map +1 -1
  1869. package/dist/esm/core/security/useAuthSession.d.ts.map +1 -1
  1870. package/dist/esm/core/security/useAuthSession.js.map +1 -1
  1871. package/dist/esm/core/security/useResolvedAuthConfig.d.ts.map +1 -1
  1872. package/dist/esm/core/security/useResolvedAuthConfig.js.map +1 -1
  1873. package/dist/esm/core/security/useStepUpAuth.d.ts.map +1 -1
  1874. package/dist/esm/core/security/useStepUpAuth.js.map +1 -1
  1875. package/dist/esm/core/security/useUserOrgs.d.ts.map +1 -1
  1876. package/dist/esm/core/security/useUserOrgs.js.map +1 -1
  1877. package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts.map +1 -1
  1878. package/dist/esm/core/ui/SurfaceErrorBoundary.js.map +1 -1
  1879. package/dist/esm/core/ui/SurfacePolicyContext.d.ts.map +1 -1
  1880. package/dist/esm/core/ui/SurfacePolicyContext.js.map +1 -1
  1881. package/dist/esm/core/ui/TypographyScopeContext.d.ts.map +1 -1
  1882. package/dist/esm/core/ui/TypographyScopeContext.js.map +1 -1
  1883. package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
  1884. package/dist/esm/core/ui/UIContext.js.map +1 -1
  1885. package/dist/esm/core/ui/chart-style-defaults.d.ts.map +1 -1
  1886. package/dist/esm/core/ui/chart-style-defaults.js.map +1 -1
  1887. package/dist/esm/core/ui/cn.d.ts.map +1 -1
  1888. package/dist/esm/core/ui/cn.js.map +1 -1
  1889. package/dist/esm/core/ui/color-conversion.utils.d.ts.map +1 -1
  1890. package/dist/esm/core/ui/color-conversion.utils.js.map +1 -1
  1891. package/dist/esm/core/ui/design-token-class-groups.d.ts.map +1 -1
  1892. package/dist/esm/core/ui/design-token-class-groups.js.map +1 -1
  1893. package/dist/esm/core/ui/design-token-config.utils.d.ts.map +1 -1
  1894. package/dist/esm/core/ui/design-token-config.utils.js.map +1 -1
  1895. package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
  1896. package/dist/esm/core/ui/design-token.utils.js.map +1 -1
  1897. package/dist/esm/core/ui/material-runtime.d.ts.map +1 -1
  1898. package/dist/esm/core/ui/material-runtime.js.map +1 -1
  1899. package/dist/esm/core/ui/surface-a11y.utils.d.ts.map +1 -1
  1900. package/dist/esm/core/ui/surface-a11y.utils.js.map +1 -1
  1901. package/dist/esm/core/ui/theme-preference-storage.shared.d.ts.map +1 -1
  1902. package/dist/esm/core/ui/theme-preference-storage.shared.js.map +1 -1
  1903. package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
  1904. package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
  1905. package/dist/esm/core/ui/ui.frontend.schemas.d.ts +7 -2
  1906. package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
  1907. package/dist/esm/core/ui/ui.frontend.schemas.js.map +1 -1
  1908. package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
  1909. package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
  1910. package/dist/esm/core/ui/useUI.d.ts.map +1 -1
  1911. package/dist/esm/core/ui/useUI.js.map +1 -1
  1912. package/dist/esm/index.d.ts +7 -2
  1913. package/dist/esm/index.d.ts.map +1 -1
  1914. package/dist/esm/index.js +20 -2
  1915. package/dist/esm/index.js.map +1 -1
  1916. package/dist/esm/tailwind/index.d.ts.map +1 -1
  1917. package/dist/esm/tailwind/index.js.map +1 -1
  1918. package/dist/esm/testing/mock-builders.d.ts.map +1 -1
  1919. package/dist/esm/testing/mock-builders.js +2 -0
  1920. package/dist/esm/testing/mock-builders.js.map +1 -1
  1921. package/dist/esm/testing/mock-factory.d.ts.map +1 -1
  1922. package/dist/esm/testing/mock-factory.js.map +1 -1
  1923. package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
  1924. package/dist/esm/testing/rmm-helpers.js.map +1 -1
  1925. package/dist/esm/testing/test-providers.d.ts.map +1 -1
  1926. package/dist/esm/testing/test-providers.js.map +1 -1
  1927. package/dist/esm/testing.d.ts.map +1 -1
  1928. package/dist/esm/testing.js.map +1 -1
  1929. package/dist/tsconfig.build.tsbuildinfo +1 -1
  1930. package/package.json +6 -5
  1931. package/dist/esm/components/billing/billing-plan-change-preview.d.ts +0 -21
  1932. package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +0 -1
  1933. package/dist/esm/components/billing/billing-plan-change-preview.js +0 -12
  1934. package/dist/esm/components/billing/billing-plan-change-preview.js.map +0 -1
  1935. package/dist/esm/components/billing/billing-promotion-code-input.d.ts +0 -12
  1936. package/dist/esm/components/billing/billing-promotion-code-input.d.ts.map +0 -1
  1937. package/dist/esm/components/billing/billing-promotion-code-input.js +0 -11
  1938. package/dist/esm/components/billing/billing-promotion-code-input.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useResourceOperationActions.js","sourceRoot":"","sources":["../../../../../src/core/resources/useResourceOperationActions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAElF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,6DAA6D,CAAC;AACtG,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAC;AACvG,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,4DAA4D,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,MAAM,uEAAuE,CAAC;AAClG,OAAO,EACL,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,yEAAyE,CAAC;AACjF,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GAGzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,yDAAyD,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,+DAA+D,CAAC;AAE9H,OAAO,EAAE,gBAAgB,EAAE,MAAM,+DAA+D,CAAC;AACjG,OAAO,EAAE,sBAAsB,EAA2B,MAAM,0BAA0B,CAAC;AAG3F,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,sBAAsB,EAAE,mCAAmC,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,+DAA+D,CAAC;AAE1P,OAAO,EAAE,kCAAkC,EAAE,MAAM,yEAAyE,CAAC;AAC7H,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,qEAAqE,CAAC;AACtI,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EACL,2BAA2B,EAC3B,wCAAwC,EACxC,iCAAiC,EACjC,0CAA0C,EAC1C,4BAA4B,EAC5B,qDAAqD,EAErD,kCAAkC,EAClC,oCAAoC,EAEpC,0CAA0C,EAC1C,0CAA0C,EAC1C,6CAA6C,EAC7C,qCAAqC,GACtC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,+CAA+C,EAC/C,mDAAmD,EACnD,qDAAqD,GACtD,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,6CAA6C,EAC7C,+CAA+C,GAChD,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,EAC5B,kCAAkC,EAClC,qBAAqB,EACrB,8BAA8B,EAE9B,gCAAgC,EAChC,8BAA8B,EAG9B,4BAA4B,EAC5B,6BAA6B,EAC7B,6BAA6B,EAC7B,2BAA2B,GAE5B,MAAM,uBAAuB,CAAC;AAE/B,SAAS,8BAA8B,CACrC,mBAAwC;IAExC,OAAO,mBAAyD,CAAC;AACnE,CAAC;AAED,SAAS,qCAAqC,CAC5C,SAAkD,EAClD,0BAA2F,EAC3F,oBAAqD;IAErD,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,IAAI,EAAE,CAAC;IACtD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE;QAC3C,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,IAAI,EAAE,CAAC;QAClD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,EAAE;YACpC,MAAM,aAAa,GAAG;gBACpB,SAAS,CAAC,eAAe;gBACzB,SAAS,CAAC,iBAAiB;gBAC3B,SAAS,CAAC,YAAY;aACvB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAE5E,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBAChC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,aAAa,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/F,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,MAAM,eAAe,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAClD,OAAO,eAAe,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AA0FD,gFAAgF;AAChF,+CAA+C;AAC/C,gFAAgF;AAEhF,MAAM,0BAA0B,GAA2B;IACzD,8DAA8D;IAC9D,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE;IAClC,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE;IAClC,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE;IAClC,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,EAAE;IACvC,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,EAAE;CACxC,CAAC;AAEF,MAAM,iCAAiC,GAAG,EAAE,CAAC;AAC7C,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC;;;;;;GAMG;AACH,SAAS,6BAA6B,CACpC,SAAkD;IAElD,MAAM,QAAQ,GAAG,SAAS,CAAC,kBAA6E,CAAC;IACzG,MAAM,YAAY,GAAG,QAAQ,EAAE,MAAM,CAAC;IACtC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM;QAAE,OAAO,SAAS,CAAC;IACxF,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;GAMG;AACH;;;;;;;GAOG;AACH,SAAS,8BAA8B,CACrC,MAA+D;IAE/D,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iCAAiC,CAAC,SAA4C;IACrF,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,KAAK,gCAAgC,CAAC,eAAe;QACxF,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,WAAW,CAAC;IAChB,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,UAAU,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,8BAA8B,CAAC,SAAkD;IACxF,+FAA+F;IAC/F,gGAAgG;IAChG,6FAA6F;IAC7F,mGAAmG;IACnG,4CAA4C;IAC5C,MAAM,uBAAuB,GAAG,SAAS,CAAC,kBAAkB,EAAE,IAAI,KAAK,8BAA8B,CAAC,yBAAyB;QAC7H,CAAC,CAAC,SAAS,CAAC,kBAAkB;QAC9B,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,SAAS,GAAG,OAAO,uBAAuB,EAAE,SAAS,KAAK,QAAQ;QACtE,CAAC,CAAC,uBAAuB,CAAC,SAAS;QACnC,CAAC,CAAC,OAAO,SAAS,CAAC,mBAAmB,KAAK,QAAQ;YACjD,CAAC,CAAC,qBAAqB,CAAC,+CAA+C,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,SAAS;YACjH,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAEjC,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC;IACvE,MAAM,KAAK,GAAG,WAAW;SACtB,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACtC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;SACxB,IAAI,EAAE,CAAC;IACV,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,gFAAgF;AAChF,+EAA+E;AAC/E,gFAAgF;AAEhF,gFAAgF;AAChF,sCAAsC;AACtC,gFAAgF;AAEhF,SAAS,kBAAkB,CAAC,SAAqC;IAC/D,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,0BAA0B,CAAC,QAAQ,CAAC;QACzC,KAAK,0BAA0B,CAAC,IAAI;YAClC,OAAO,sBAAsB,CAAC,WAAW,CAAC;QAC5C;YACE,OAAO,sBAAsB,CAAC,KAAK,CAAC;IACxC,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAqC;IAC7D,OAAO,SAAS,KAAK,0BAA0B,CAAC,IAAI,IAAI,SAAS,KAAK,0BAA0B,CAAC,QAAQ,CAAC;AAC5G,CAAC;AAED,gFAAgF;AAChF,uCAAuC;AACvC,gFAAgF;AAEhF,MAAM,yBAAyB,GAA2B;IACxD,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,aAAa;IAC3C,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM;IACtC,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,QAAQ;CACzC,CAAC;AAEF,gFAAgF;AAChF,MAAM,WAAW,GAAsB,EAAE,CAAC;AAE1C,gFAAgF;AAChF,OAAO;AACP,gFAAgF;AAEhF,MAAM,UAAU,2BAA2B,CACzC,MAAyC;IAEzC,MAAM,EACJ,YAAY,EACZ,WAAW,EACX,aAAa,EACb,0BAA0B,EAC1B,2BAA2B,EAC3B,cAAc,EACd,WAAW,GAAG,YAAY,EAC1B,iBAAiB,EACjB,QAAQ,GAAG,KAAK,EAChB,cAAc,GAAG,KAAK,EACtB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,GAAG,KAAK,EAC3B,mBAAmB,EACnB,qBAAqB,GACtB,GAAG,MAAM,CAAC;IAEX,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACxD,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,EAAE,kBAAkB,EAAE,GAAG,uBAAuB,EAAE,CAAC;IACzD,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,EAAE,SAAS,EAAE,qBAAqB,CAAC,kCAAkC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IAC7J,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAC;IACzC,kGAAkG;IAClG,wFAAwF;IACxF,MAAM,WAAW,GAAG,mBAAmB,EAAE,CAAC;IAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC/C,MAAM,oBAAoB,GAAG,SAAS,EAAE,WAAW,IAAI,KAAK,CAAC;IAC7D,4EAA4E;IAC5E,8EAA8E;IAC9E,gFAAgF;IAChF,mFAAmF;IACnF,iGAAiG;IACjG,iGAAiG;IACjG,6FAA6F;IAC7F,6EAA6E;IAC7E,MAAM,WAAW,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACnD,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IAErC,2FAA2F;IAC3F,sBAAsB;IACtB,EAAE;IACF,mGAAmG;IACnG,8FAA8F;IAC9F,iGAAiG;IACjG,iGAAiG;IACjG,kDAAkD;IAClD,EAAE;IACF,kGAAkG;IAClG,kGAAkG;IAClG,0FAA0F;IAC1F,gGAAgG;IAChG,8FAA8F;IAC9F,MAAM,wBAAwB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC/D,wBAAwB,CAAC,OAAO,GAAG,qBAAqB,CAAC;IAEzD,MAAM,YAAY,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAC7C,eAAe,CAAC,OAAO,GAAG,YAAY,CAAC;IAEvC,mCAAmC;IACnC,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,uBAAuB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC7D,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IACrC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IACvB,uBAAuB,CAAC,OAAO,GAAG,oBAAoB,CAAC;IAEvD,4BAA4B;IAC5B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAQ7C,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,yBAAyB,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACzG,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD;;;;;;;OAOG;IACH,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAE5F,8EAA8E;IAC9E,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAA8B,IAAI,CAAC,CAAC;IAC1F,MAAM,2BAA2B,GAAG,MAAM,CAAsB,IAAI,CAAC,CAAC;IAEtE,6BAA6B;IAC7B,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,OAAO,QAAQ,CAAC,sBAAsB,CAAC,YAAY,CAA8C,CAAC;IACpG,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAE7B,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,yEAAyE;IACzE,6EAA6E;IAC7E,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CAAC,uBAAuB,CAAC,WAAW,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAC3G,CAAC,WAAW,EAAE,cAAc,CAAC,CAC9B,CAAC;IAEF,8EAA8E;IAC9E,gFAAgF;IAChF,EAAE;IACF,iFAAiF;IACjF,yEAAyE;IACzE,gFAAgF;IAChF,2EAA2E;IAC3E,iFAAiF;IACjF,8EAA8E;IAC9E,oEAAoE;IACpE,6EAA6E;IAC7E,8EAA8E;IAC9E,2EAA2E;IAC3E,yEAAyE;IACzE,uCAAuC;IACvC,EAAE;IACF,gFAAgF;IAChF,sEAAsE;IACtE,4EAA4E;IAC5E,gFAAgF;IAChF,6EAA6E;IAC7E,aAAa;IACb,EAAE;IACF,4DAA4D;IAC5D,yEAAyE;IACzE,iFAAiF;IACjF,yEAAyE;IACzE,+DAA+D;IAC/D,MAAM,6BAA6B,GAAG,IAAI,CAAC,SAAS,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;IACvF,MAAM,gCAAgC,GAAG,OAAO,CAC9C,GAAG,EAAE,CAAC,0BAA0B,EAChC,CAAC,6BAA6B,CAAC,CAChC,CAAC;IAEF,MAAM,8BAA8B,GAAG,IAAI,CAAC,SAAS,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;IACzF,MAAM,iCAAiC,GAAG,OAAO,CAC/C,GAAG,EAAE,CAAC,2BAA2B,IAAI,EAAE,EACvC,CAAC,8BAA8B,CAAC,CACjC,CAAC;IAEF,iFAAiF;IACjF,6EAA6E;IAC7E,gFAAgF;IAChF,sEAAsE;IACtE,gFAAgF;IAChF,4EAA4E;IAC5E,gFAAgF;IAChF,kEAAkE;IAClE,mEAAmE;IACnE,gFAAgF;IAChF,mBAAmB;IACnB,MAAM,kCAAkC,GAAG,aAAa,EAAE,GAAG;WACxD,CAAC,cAAc,EAAE,uBAAuB;YACzC,CAAC,CAAC,aAAa,EAAE,CAAC,cAAc,CAAC,uBAAuB,CAAC;YACzD,CAAC,CAAC,SAAS,CAAC,CAAC;IACjB,MAAM,yBAAyB,GAAG,OAAO,kCAAkC,KAAK,QAAQ;WACnF,kCAAkC,CAAC,MAAM,GAAG,CAAC;QAChD,CAAC,CAAC,kCAAkC;QACpC,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,wCAAwC,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5D,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAC/B,OAAO,gCAAgC,CAAC;QAC1C,CAAC;QAED,MAAM,YAAY,GAAG,gCAAgC,CAAC,YAAY,CAAC,CAAC;QACpE,IAAI,qBAAqB,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,yBAAyB,EAAE,CAAC;YACpF,OAAO,gCAAgC,CAAC;QAC1C,CAAC;QAED,MAAM,eAAe,GAAG,YAAY;YAClC,CAAC,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,YAAY,CAAC;YACxD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO;YACL,GAAG,gCAAgC;YACnC,CAAC,YAAY,CAAC,EAAE,eAAe;gBAC7B,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE,yBAAyB,EAAE;gBAC5D,CAAC,CAAC,yBAAyB;SAC9B,CAAC;IACJ,CAAC,EAAE;QACD,gCAAgC;QAChC,yBAAyB;QACzB,YAAY;KACb,CAAC,CAAC;IAEH,6EAA6E;IAC7E,yEAAyE;IACzE,6EAA6E;IAC7E,8EAA8E;IAC9E,yEAAyE;IACzE,8DAA8D;IAC9D,8EAA8E;IAC9E,8EAA8E;IAC9E,uEAAuE;IACvE,oBAAoB;IACpB,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,uBAAuB,GAAG,OAAO,CACrC,GAAG,EAAE,CAAC,iBAAiB,IAAI,EAAE;IAC7B,uEAAuE;IACvE,wEAAwE;IACxE,oEAAoE;IACpE,oDAAoD;IACpD,CAAC,oBAAoB,CAAC,CACvB,CAAC;IAEF,+DAA+D;IAC/D,4EAA4E;IAC5E,2EAA2E;IAC3E,6EAA6E;IAC7E,yDAAyD;IACzD,8DAA8D;IAC9D,iDAAiD;IACjD,uEAAuE;IACvE,6EAA6E;IAC7E,0EAA0E;IAC1E,gFAAgF;IAChF,gEAAgE;IAChE,MAAM,qBAAqB,GAAG,QAAQ,EAAE,qBAAqB,IAAI,IAAI,CAAC;IACtE,MAAM,YAAY,GAAG,WAAW,EAAE,QAAQ,IAAI,WAAW,CAAC;IAC1D,MAAM,YAAY,GAAG,qBAAqB;QACxC,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,qBAAqB,CAAC,IAAI,WAAW;QACpE,CAAC,CAAC,WAAW,CAAC;IAChB,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,OAAO,CAChC,GAAG,EAAE,CAAC,YAAY;IAClB,2EAA2E;IAC3E,kEAAkE;IAClE,CAAC,eAAe,CAAC,CAClB,CAAC;IACF,MAAM,kBAAkB,GAAG,OAAO,CAChC,GAAG,EAAE,CAAC,YAAY,EAClB,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,uFAAuF;IACvF,MAAM,WAAW,GAAG,OAAO,CAAC,GAA8C,EAAE;QAC1E,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,CAAC;QAE/B,MAAM,UAAU,GAAG,CAAC,cAAc,CAAC,UAAU,IAAI,EAAE,CAA8C,CAAC;QAClG,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAEpD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,EAAE,CAAC,eAAe,IAAI,KAAK,CAAC;YAE3C,yCAAyC;YACzC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YAEvC,+EAA+E;YAC/E,mFAAmF;YACnF,kFAAkF;YAClF,wEAAwE;YACxE,IAAI,EAAE,CAAC,uBAAuB,EAAE,gBAAgB,KAAK,gBAAgB,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAE3F,8EAA8E;YAC9E,+EAA+E;YAC/E,gFAAgF;YAChF,uFAAuF;YACvF,EAAE;YACF,4FAA4F;YAC5F,8FAA8F;YAC9F,8FAA8F;YAC9F,+FAA+F;YAC/F,yFAAyF;YACzF,6FAA6F;YAC7F,2BAA2B;YAC3B,EAAE;YACF,8FAA8F;YAC9F,2FAA2F;YAC3F,oCAAoC;YACpC,IAAI,mBAAmB,CAAC,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,oCAAoC,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YAE/G,yEAAyE;YACzE,yEAAyE;YACzE,wEAAwE;YACxE,yEAAyE;YACzE,4EAA4E;YAC5E,4EAA4E;YAC5E,6EAA6E;YAC7E,wCAAwC;YACxC,+FAA+F;YAC/F,8FAA8F;YAC9F,4FAA4F;YAC5F,8FAA8F;YAC9F,+FAA+F;YAC/F,4FAA4F;YAC5F,iBAAiB;YACjB,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,EAAE,CAAC,uBAAuB,CAAC;mBAC7E,oCAAoC,CAAC,EAAE,CAAC,CAAC;YAC9C,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,kBAAkB,IAAI,MAAM;oBAAE,OAAO,KAAK,CAAC;YAClD,CAAC;iBAAM,IAAI,kBAAkB,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC;YACf,CAAC;YAED,kCAAkC;YAClC,IAAI,QAAQ,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAEtC,iEAAiE;YACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,MAAM;oBAAE,OAAO,KAAK,CAAC;gBACzB,IAAI,qCAAqC,CAAC,EAAE,CAAC;oBAAE,OAAO,KAAK,CAAC;YAC9D,CAAC;YAED,uEAAuE;YACvE,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC;YAC7B,IAAI,KAAK,IAAI,KAAK,KAAK,4BAA4B,CAAC,QAAQ,IAAI,KAAK,KAAK,4BAA4B,CAAC,sBAAsB,EAAE,CAAC;gBAC9H,OAAO,KAAK,CAAC;YACf,CAAC;YAED,2EAA2E;YAC3E,sEAAsE;YACtE,IAAI,CAAC,6BAA6B,CAAC;gBACjC,aAAa,EAAE,EAAE,CAAC,KAAK;gBACvB,YAAY,EAAE,kBAAkB;gBAChC,YAAY,EAAE,kBAAkB;aACjC,CAAC,EAAE,CAAC;gBACH,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,cAAc,EAAE,uBAAuB,EAAE,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEhH,wEAAwE;IACxE,0EAA0E;IAC1E,EAAE;IACF,qEAAqE;IACrE,8EAA8E;IAC9E,2EAA2E;IAC3E,+EAA+E;IAC/E,8EAA8E;IAC9E,4EAA4E;IAC5E,EAAE;IACF,8EAA8E;IAC9E,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,UAAU,GAAG,oBAAoB,CAAC,WAAW,EAAE;QACnD,aAAa;QACb,YAAY;KACb,CAAC,CAAC;IAEH,uEAAuE;IACvE,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,EAAE;QACxC,OAAO,qBAAqB,CAAC,yBAAyB,CACpD,wCAAwC,EACxC,QAAQ,CACT,CAAC;IACJ,CAAC,EAAE,CAAC,wCAAwC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzD,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAChD,qBAAqB,CAAC,aAAa,CAAC,wCAAwC,CAAC,YAAY,CAAC,CAAC,CAC5F,EAAE,CAAC,wCAAwC,EAAE,YAAY,CAAC,CAAC,CAAC;IAC7D,MAAM,6BAA6B,GAAG,oBAAoB;WACrD,0CAA0C,CAAC,iBAAiB,CAAC,CAAC;IAEnE,MAAM,gCAAgC,GAAG,WAAW,CAAC,CAAC,SAAkD,EAAW,EAAE;QACnH,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,SAAS,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YACvC,OAAO,qCAAqC,CAC1C,SAAS,EACT,wCAAwC,EACxC,oBAAoB,CACrB,CAAC;QACJ,CAAC;QAED,MAAM,iCAAiC,GAAG,qDAAqD,CAAC;YAC9F,SAAS;YACT,YAAY;YACZ,cAAc;SACf,CAAC,CAAC;QACH,IAAI,CAAC,iCAAiC,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,+CAA+C,CAAC;YACrD,cAAc;YACd,SAAS;YACT,QAAQ;YACR,aAAa,EAAE,oBAAoB;YACnC,0BAA0B,EAAE,wCAAwC;YACpE,oBAAoB;SACrB,CAAC,CAAC;IACL,CAAC,EAAE;QACD,wCAAwC;QACxC,oBAAoB;QACpB,oBAAoB;QACpB,QAAQ;QACR,cAAc;QACd,YAAY;KACb,CAAC,CAAC;IAEH,iCAAiC;IACjC,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,SAAkD,EAAU,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAEnD,IAAI,oCAAoC,CAAC,SAAS,CAAC,EAAE,CAAC;YACpD,4FAA4F;YAC5F,6FAA6F;YAC7F,iEAAiE;YACjE,MAAM,YAAY,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;YAC9D,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,MAAM,KAAK,GAAG,qBAAqB,CAAC;gBAClC,UAAU;gBACV,aAAa,EAAE,qBAAqB,CAAC,kCAAkC;gBACvE,GAAG,EAAE,kBAAkB;aACxB,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,KAAK,IAAI,KAAK,KAAK,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtE,8FAA8F;YAC9F,8FAA8F;YAC9F,8CAA8C;YAC9C,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,UAAU,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3F,CAAC;QAED,IAAI,kCAAkC,CAAC,SAAS,CAAC,EAAE,CAAC;YAClD,MAAM,UAAU,GAAG,8BAA8B,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,cAAc,UAAU,OAAO,CAAC;YACzC,CAAC;YACD,MAAM,KAAK,GAAG,qBAAqB,CAAC;gBAClC,UAAU;gBACV,aAAa,EAAE,qBAAqB,CAAC,kCAAkC;gBACvE,GAAG,EAAE,yBAAyB;aAC/B,CAAC,CAAC;YACH,IAAI,KAAK,IAAI,KAAK,KAAK,yBAAyB,EAAE,CAAC;gBACjD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QAED,qEAAqE;QACrE,yDAAyD;QACzD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,qBAAqB,CAAC;gBAClC,UAAU;gBACV,aAAa,EAAE,qBAAqB,CAAC,kCAAkC;gBACvE,GAAG,EAAE,QAAQ;aACd,CAAC,CAAC;YACH,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC1B,CAAC;QAED,wEAAwE;QACxE,kEAAkE;QAClE,2EAA2E;QAC3E,6EAA6E;QAC7E,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,uEAAuE;QACvE,wEAAwE;QACxE,oCAAoC;QACpC,EAAE;QACF,iEAAiE;QACjE,uEAAuE;QACvE,MAAM,cAAc,GAAG,kBAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACvE,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/D,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACvF,CAAC,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC,CAAC;IAEnD,gCAAgC;IAChC,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,SAAkD,EAAE,EAAE;QAC1F,OAAO,UAAU,CACf;YACE,QAAQ,EAAE,YAAY,CAAC,mBAAmB;YAC1C,YAAY;YACZ,kBAAkB,EAAE,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC;SAC1D,EACD,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CACtB,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IAE/B,wCAAwC;IACxC,MAAM,kBAAkB,GAAG,WAAW,CAAC,CAAC,SAAkD,EAAU,EAAE;QACpG,oDAAoD;QACpD,MAAM,cAAc,GAAG,SAAS,CAAC,uBAAuB,CAAC;QACzD,IAAI,cAAc,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;YAClD,OAAO,cAAc,CAAC,eAAe,CAAC;QACxC,CAAC;QACD,4BAA4B;QAC5B,MAAM,IAAI,GAAG,0CAA0C,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC5G,OAAO,0BAA0B,CAAC,IAAI,CAAC,IAAI,iCAAiC,CAAC;IAC/E,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,2EAA2E;IAC3E,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,SAAkD,EAAyB,EAAE;QAClH,MAAM,YAAY,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACzD,2GAA2G;QAC3G,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,SAAS,CAAC,gBAAgB,IAAI,SAAS,CAAC,gBAAgB,CAAC;gBAC/D,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE;gBACtB,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,UAAU,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;IACvC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,gFAAgF;IAChF,MAAM,kBAAkB,GAAG,WAAW,CAAC,CAAC,SAAkD,EAAW,EAAE;QACrG,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;IAChD,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB;;;;;;OAMG;IACH,MAAM,qBAAqB,GAAG,WAAW,CAAC,CAAC,SAAkD,EAAE,EAAE;QAC/F,OAAO,qBAAqB,CAAC,mDAAmD,CAAC;YAC/E,YAAY;YACZ,SAAS;YACT,0BAA0B,EAAE,wCAAwC;YACpE,iBAAiB,EAAE;gBACjB,GAAG,CAAC,SAAS,CAAC,eAAe,KAAK,IAAI,IAAI,eAAe,EAAE,MAAM;oBAC/D,CAAC,CAAC;wBACE,CAAC,wCAAwC,CAAC,EAAE,eAAe;qBAC5D;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,6BAA6B;oBAC/B,CAAC,CAAC;wBACE,CAAC,qDAAqD,CAAC,EAAE,6BAA6B;qBACvF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR;YACD,2BAA2B,EAAE,iCAAiC;YAC9D,kBAAkB,EAAE,SAAS,CAAC,kBAAkB,IAAI,IAAI;SACzD,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,YAAY,EAAE,wCAAwC,EAAE,iCAAiC,EAAE,eAAe,EAAE,6BAA6B,CAAC,CAAC,CAAC;IAEhJ,gDAAgD;IAChD,MAAM,uBAAuB,GAAG,WAAW,CAAC,CAAC,SAAkD,EAAE,EAAE;QACjG,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,MAAM,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAEnD,MAAM,4BAA4B,GAAG,qBAAqB,CAAC,yBAAyB,CAClF,wCAAwC,CACzC,CAAC;QACF,MAAM,OAAO,GAAG,eAAe,CAAC,kBAAkB,CAChD,cAAqB,EACrB,SAAgB,EAChB,4BAA4B,EAC5B,QAAQ,CAAC,2BAA2B,EACpC,iCAAwC,CACzC,EAAE,WAAW,CAAC;QAEf,kBAAkB,CAChB,SAAS,EACT,eAAe,CAAC,wBAAwB,CAAC,cAAc,EAAE,WAAW,CAAC,EACrE,OAAO,CACR,CAAC;IACJ,CAAC,EAAE,CAAC,cAAc,EAAE,qBAAqB,EAAE,wCAAwC,EAAE,iCAAiC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;IAEpL,8CAA8C;IAC9C;;;;;;;;;;OAUG;IACH,MAAM,8BAA8B,GAAG,WAAW,CAAC,KAAK,EACtD,SAAkD,EAClD,SAA4C,EAC7B,EAAE;QACjB,MAAM,YAAY,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC;QACtD,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,oCAAoC,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,gGAAgG;QAChG,6FAA6F;QAC7F,2FAA2F;QAC3F,iGAAiG;QACjG,kCAAkC;QAClC,MAAM,eAAe,GAAG,wBAAwB,CAAC,OAAO,CAAC;QACzD,MAAM,oBAAoB,GAAG,SAAS,CAAC,qBAAqB,KAAK,qBAAqB,CAAC,MAAM,CAAC;QAC9F,IAAI,eAAe,EAAE,cAAc,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC7D,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,CACpC,kGAAkG,CACnG,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;QACvC,MAAM,GAAG,GAAG,wBAAwB,CAAC;YACnC,QAAQ;YACR,cAAc;YACd,eAAe,EAAE,SAAS;YAC1B,YAAY;YACZ,mEAAmE;YACnE,8FAA8F;YAC9F,kFAAkF;YAClF,0BAA0B,EAAE,+CAA+C,CAAC,0BAA0B,CAA2B;YACjI,oBAAoB;YACpB,2BAA2B,EAAE,iCAAiC;YAC9D,UAAU,EAAE,SAAS,CAAC,SAAS,EAAE;YACjC,MAAM;YACN,QAAQ;YACR,8FAA8F;YAC9F,8FAA8F;YAC9F,yFAAyF;YACzF,YAAY,EAAE,QAAQ,KAAK,gCAAgC,CAAC,eAAe;gBACzE,CAAC,CAAC,8BAA8B,CAAC,eAAe,EAAE,MAAM,CAAC;gBACzD,CAAC,CAAC,eAAe,EAAE,MAAM;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,4CAA4C,CAAC,CAAC;YACrF,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,wBAAwB,CAAC;gBAC7B,GAAG;gBACH,YAAY;gBACZ,MAAM;gBACN,8FAA8F;gBAC9F,oDAAoD;gBACpD,OAAO,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC;aAChE,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+FAA+F;YAC/F,gGAAgG;YAChG,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,CACpC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mCAAmC,CAC9F,CAAC;QACJ,CAAC;IACH,CAAC,EAAE;QACD,QAAQ;QACR,cAAc;QACd,YAAY;QACZ,0BAA0B;QAC1B,oBAAoB;QACpB,iCAAiC;QACjC,kGAAkG;QAClG,iGAAiG;KAClG,CAAC,CAAC;IAEH,MAAM,sBAAsB,GAAG,WAAW,CAAC,KAAK,EAAE,SAAkD,EAAE,EAAE;QACtG,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,kCAAkC,CAAC,mCAAmC,CAAC,SAAS,CAAC,CAAC;YAE3G,6EAA6E;YAC7E,8EAA8E;YAC9E,8EAA8E;YAC9E,mEAAmE;YACnE,0EAA0E;YAC1E,oEAAoE;YACpE,MAAM,MAAM,GAAG,SAAS,CAAC,eAAe,IAAI,KAAK,CAAC;YAClD,MAAM,cAAc,GAAG,SAAS,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;YAChF,MAAM,WAAW,GAAG,cAAc;gBAChC,CAAC,CAAC,qBAAqB,CAAC,aAAa,CAAC,wCAAwC,CAAC,YAAY,CAAC,CAAC;gBAC7F,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,WAAW,GAAG,MAAM,IAAI,eAAe,EAAE,MAAM;gBACnD,CAAC,CAAC,iCAAiC,CAAC,eAAe,CAAC;gBACpD,CAAC,CAAC,cAAc,IAAI,WAAW;oBAC7B,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,WAAW,EAAE;oBACnC,CAAC,CAAC,SAAS,CAAC;YAEhB,0EAA0E;YAC1E,4EAA4E;YAC5E,sEAAsE;YACtE,iEAAiE;YACjE,2CAA2C;YAC3C,IAAI,cAAc,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,qDAAqD,CAAC,CAAC;YACzI,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,CACzC,gBAAgB,EAChB;gBACE,oBAAoB;gBACpB,2BAA2B,EAAE,iCAAiC;gBAC9D,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxC;YACD,2EAA2E;YAC3E,yEAAyE;YACzE,uEAAuE;YACvE,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;YAEF,4EAA4E;YAC5E,6EAA6E;YAC7E,8EAA8E;YAC9E,4EAA4E;YAC5E,2EAA2E;YAC3E,kEAAkE;YAClE,MAAM,aAAa,GAAG,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAClF,CAAC,CAAE,MAAkC,CAAC,OAAO;gBAC7C,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClE,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;YACxD,CAAC;YAED,iFAAiF;YACjF,MAAM,uBAAuB,GAAG,GAAG,EAAE;gBACnC,MAAM,yBAAyB,GAAG,kCAAkC,CAAC,SAAS,CAAC,CAAC;gBAChF,MAAM,0BAA0B,GAAG,+CAA+C,CAAC,wCAAwC,CAAC,CAAC;gBAC7H,MAAM,wBAAwB,GAAG,6CAA6C,CAAC;oBAC7E,0BAA0B,EAAE,wCAAwC;oBACpE,YAAY;oBACZ,MAAM;iBACP,CAAC,CAAC;gBACH,MAAM,2BAA2B,GAAG,qBAAqB,CAAC,yBAAyB,CACjF,wBAAwB,EACxB,QAAQ,CACT,CAAC;gBACF,MAAM,aAAa,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;oBACjE,CAAC,CAAC,MAAiC;oBACnC,CAAC,CAAC,SAAS,CAAC;gBAEd,IAAI,CAAC,uBAAuB,CAAC,OAAO,IAAI,6CAA6C,CAAC,SAAS,CAAC,EAAE,CAAC;oBACjG,MAAM,cAAc,GAAG,4BAA4B,CAChD,cAAc,CAAC,UAAoE,IAAI,EAAE,EAC1F,qBAAqB,CAAC,IAAI,CAC3B,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,EAAE,CACzB,qCAAqC,CACnC,aAAa,EACb,wCAAwC,EACxC,oBAAoB,CACrB,CACF,CAAC;oBACF,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,sBAAsB,EAAE,GAAG,0BAA0B,CAAC;oBACxF,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;wBAC9C,CAAC,CAAC,cAAc;wBAChB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAEX,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;wBAC3C,MAAM,oBAAoB,GAAG,aAAa;+BACpC,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,IAAI,EAA8C,CAAC;wBACtG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,gBAAgB,EAAE;4BAC/C,YAAY;4BACZ,mBAAmB,EAAE,MAAM,CAAC,oBAAoB,CAAC,mBAAmB,IAAI,qBAAqB,CAAC,IAAI,CAAC;4BACnG,SAAS,EAAE,oBAAoB;4BAC/B,WAAW,EAAE,aAAa,EAAE,WAAW;4BACvC,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,IAAI,IAAI;4BAC7D,eAAe,EAAE,aAAa,EAAE,eAAe,IAAI,KAAK;4BACxD,UAAU,EAAE,aAAa,EAAE,UAAU;4BACrC,0BAA0B,EAAE,sBAAsB;4BAClD,2BAA2B,EAAE,iCAAiC;4BAC9D,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBACnG,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,yBAAyB,EAAE,CAAC;wBAC9B,MAAM,cAAc,GAAG,4BAA4B,CAChD,cAAc,CAAC,UAAoE,IAAI,EAAE,EAC1F,qBAAqB,CAAC,IAAI,EAC1B;4BACE,kBAAkB,EAAE,IAAI;yBACzB,CACF,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,EAAE,CACzB,+CAA+C,CAAC;4BAC9C,cAAc;4BACd,SAAS,EAAE,aAAa;4BACxB,QAAQ;4BACR,aAAa,EAAE,qBAAqB,CAAC,aAAa,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;4BACrG,0BAA0B,EAAE,wBAAwB;4BACpD,oBAAoB,EAAE,2BAA2B;yBAClD,CAAC,CACH,CAAC;wBACF,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;4BAClD,CAAC,CAAC,cAAc;4BAChB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACX,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAU,CAAC;wBAEnD,KAAK,MAAM,aAAa,IAAI,kBAAkB,EAAE,CAAC;4BAC/C,MAAM,oBAAoB,GAAG,aAAa;mCACpC,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,IAAI,EAA8C,CAAC;4BACtG,MAAM,gBAAgB,GAAG;gCACvB,qBAAqB,CAAC,aAAa,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;gCAC3E,MAAM,CAAC,oBAAoB,CAAC,mBAAmB,CAAC;gCAChD,oBAAoB,CAAC,WAAW,IAAI,EAAE;gCACtC,oBAAoB,CAAC,UAAU,IAAI,EAAE;gCACrC,oBAAoB,CAAC,eAAe,IAAI,KAAK;6BAC9C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BACZ,IAAI,wBAAwB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;gCACnD,SAAS;4BACX,CAAC;4BACD,wBAAwB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;4BAE/C,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,gBAAgB,EAAE;gCAC/C,YAAY;gCACZ,mBAAmB,EAAE,MAAM,CAAC,oBAAoB,CAAC,mBAAmB,IAAI,qBAAqB,CAAC,IAAI,CAAC;gCACnG,SAAS,EAAE,oBAAoB;gCAC/B,WAAW,EAAE,aAAa,EAAE,WAAW;gCACvC,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,IAAI,IAAI;gCAC7D,eAAe,EAAE,aAAa,EAAE,eAAe,IAAI,KAAK;gCACxD,UAAU,EAAE,aAAa,EAAE,UAAU;gCACvC,0BAA0B,EAAE,wBAAwB;gCAClD,2BAA2B,EAAE,iCAAiC;gCAC9D,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BACnG,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,2BAA2B,EAAE;oBAC1D,YAAY;oBACZ,mBAAmB,EAAE,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC;oBAC1D,SAAS;oBACT,WAAW,EAAE,SAAS,CAAC,WAAW;oBAClC,kBAAkB,EAAE,SAAS,CAAC,kBAAkB,IAAI,IAAI;oBACxD,eAAe,EAAE,SAAS,CAAC,eAAe,IAAI,KAAK;oBACnD,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,0BAA0B,EAAE,wBAAwB;oBACpD,2BAA2B,EAAE,iCAAiC;oBAC9D,aAAa;oBACb,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnG,CAAC,CAAC;gBACH,mBAAmB,EAAE,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC,CAAC;YAEF,sEAAsE;YACtE,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzC,MAAM,iBAAiB,GAAG,sBAAsB,CAC9C,SAAS,CAAC,WAAW,EACrB,MAAiC,CAClC,CAAC;gBACF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;oBACtC,2BAA2B,CAAC,OAAO,GAAG,uBAAuB,CAAC;oBAC9D,OAAO;gBACT,CAAC;YACH,CAAC;YAED,uBAAuB,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,2CAA2C,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAE/G,yEAAyE;YACzE,uEAAuE;YACvE,yEAAyE;YACzE,6EAA6E;YAC7E,oFAAoF;YACpF,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC;gBAC9C,CAAC,CAAC,GAAiF;gBACnF,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE;gBACpD,YAAY;gBACZ,mBAAmB,EAAE,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC;gBAC1D,SAAS;gBACT,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,kBAAkB,EAAE,SAAS,CAAC,kBAAkB,IAAI,IAAI;gBACxD,eAAe,EAAE,SAAS,CAAC,eAAe,IAAI,KAAK;gBACnD,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,0BAA0B,EAAE,+CAA+C,CAAC,wCAAwC,CAAC;gBACrH,2BAA2B,EAAE,iCAAiC;gBAC9D,iBAAiB,EAAE;oBACjB,KAAK,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC5E,2BAA2B,EAAE,OAAO,CAAC,sBAAsB;oBAC3D,eAAe,EAAE,OAAO,CAAC,UAAU;iBACpC;aACF,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,cAAc,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,EAAE;QACD,cAAc;QACd,YAAY;QACZ,QAAQ;QACR,oBAAoB;QACpB,wCAAwC;QACxC,iCAAiC;QACjC,eAAe;QACf,6BAA6B;QAC7B,mBAAmB;KACpB,CAAC,CAAC;IAEH,yDAAyD;IACzD,MAAM,oBAAoB,GAAG,WAAW,CAAC,CAAC,SAAkD,EAAE,EAAE;QAC9F,2FAA2F;QAC3F,+FAA+F;QAC/F,kGAAkG;QAClG,8FAA8F;QAC9F,gGAAgG;QAChG,IAAI,oCAAoC,CAAC,SAAS,CAAC,EAAE,CAAC;YACpD,uFAAuF;YACvF,yFAAyF;YACzF,+EAA+E;YAC/E,MAAM,YAAY,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;YAC9D,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,8BAA8B,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC;YAC1F,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QAEtC,qEAAqE;QACrE,EAAE;QACF,iGAAiG;QACjG,gGAAgG;QAChG,iGAAiG;QACjG,0DAA0D;QAC1D,EAAE;QACF,8FAA8F;QAC9F,0FAA0F;QAC1F,2FAA2F;QAC3F,6FAA6F;QAC7F,MAAM,YAAY,GAAG,0CAA0C,CAAC,SAAS,CAAC,CAAC;QAE3E,IAAI,YAAY,KAAK,mCAAmC,CAAC,MAAM,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;YAC3F,0FAA0F;YAC1F,yFAAyF;YACzF,6FAA6F;YAC7F,yDAAyD;YACzD,MAAM,SAAS,GAAG,qBAAqB,CAAC,aAAa,CAAC,wCAAwC,CAAC,YAAY,CAAC,CAAC,CAAC;YAC9G,IAAI,SAAS,EAAE,CAAC;gBACd,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,0BAA0B,CAAC,OAAO;oBACxC,SAAS;oBACT,SAAS;oBACT,eAAe,EAAE,qBAAqB,CAAC,SAAS,CAAC;iBAClD,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,YAAY,KAAK,mCAAmC,CAAC,OAAO,EAAE,CAAC;YACjE,6FAA6F;YAC7F,6FAA6F;YAC7F,6FAA6F;YAC7F,2EAA2E;YAC3E,0BAA0B,CAAC,kCAAkC,CAAC,mCAAmC,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9G,OAAO;QACT,CAAC;QAED,IACE,2BAA2B,CAAC,YAAY,CAAC;eACtC,YAAY,KAAK,mCAAmC,CAAC,MAAM,EAC9D,CAAC;YACD,wFAAwF;YACxF,4FAA4F;YAC5F,4DAA4D;YAC5D,EAAE;YACF,+FAA+F;YAC/F,6FAA6F;YAC7F,2FAA2F;YAC3F,qBAAqB;YACrB,uBAAuB,CAAC,SAAS,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QAED,6CAA6C;QAC7C,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,4EAA4E;YAC5E,6EAA6E;YAC7E,4EAA4E;YAC5E,+CAA+C;YAC/C,MAAM,YAAY,GAAG,IAAI,KAAK,qBAAqB,CAAC,MAAM;gBACxD,CAAC,CAAC,qBAAqB,CAAC;oBACpB,UAAU;oBACV,aAAa,EAAE,qBAAqB,CAAC,kCAAkC;oBACvE,GAAG,EAAE,eAAe;iBACrB,CAAC;gBACJ,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAEjC,2EAA2E;YAC3E,4EAA4E;YAC5E,4EAA4E;YAC5E,oEAAoE;YACpE,qDAAqD;YACrD,6CAA6C;YAC7C,MAAM,yBAAyB,GAAG,SAAS,KAAK,0BAA0B,CAAC,QAAQ,CAAC;YAEpF,eAAe,CAAC;gBACd,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,YAAY;gBACnB,yBAAyB;gBACzB,kBAAkB,EAAE,yBAAyB,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;gBACjF,QAAQ,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,SAAS,CAAC;aAClD,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,qDAAqD;QACrD,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,uBAAuB,EAAE,sBAAsB,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAErF,+BAA+B;IAC/B,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACvC,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC;QAChC,CAAC;QACD,eAAe,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,yBAAyB,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACxH,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE5B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,eAAe,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,yBAAyB,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACxH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9C,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,QAAQ,GAAG,2BAA2B,CAAC,OAAO,CAAC;QACrD,2BAA2B,CAAC,OAAO,GAAG,IAAI,CAAC;QAC3C,QAAQ,EAAE,EAAE,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;;;;;;;;;;;OAYG;IACH,MAAM,kBAAkB,GAAG,WAAW,CAAC,CACrC,SAAkD,EAClD,KAAa,EACuB,EAAE;QACtC,IAAI,0CAA0C,CAAC,SAAS,CAAC,KAAK,mCAAmC,CAAC,OAAO,EAAE,CAAC;YAC1G,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,YAAY,GAAG,kCAAkC,CAAC,mCAAmC,CAAC,SAAS,CAAC,CAAC;QACvG,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAEvD,OAAO;YACL,IAAI,EAAE,uBAAuB,KAAK,YAAY;YAC9C,YAAY,EAAE,CAAC,IAAa,EAAE,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;YACvF,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,kCAAkC,EAAE;gBAC/D,eAAe,EAAE,qBAAqB,CAAC,SAAS,CAAC;gBACjD,cAAc;gBACd,SAAS,EAAE,OAAO;aACnB,CAAC;SACH,CAAC;IACJ,CAAC,EAAE,CAAC,cAAc,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,cAAc,CAAC,CAAC,CAAC;IAErF,2EAA2E;IAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,GAAoB,EAAE;QAC1C,IAAI,CAAC,cAAc;YAAE,OAAO,EAAE,CAAC;QAE/B,MAAM,UAAU,GAAG,CAAC,cAAc,CAAC,UAAU,IAAI,EAAE,CAA8C,CAAC;QAElG,0EAA0E;QAC1E,2EAA2E;QAC3E,uEAAuE;QACvE,wEAAwE;QACxE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAqD,CAAC;QACrF,KAAK,MAAM,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC,gCAAgC,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;YAC5C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAChC,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;QASD,MAAM,WAAW,GAAsB,EAAE,CAAC;QAE1C,KAAK,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,eAAe,EAAE,CAAC;YACpD,2EAA2E;YAC3E,4EAA4E;YAC5E,4EAA4E;YAC5E,2EAA2E;YAC3E,sEAAsE;YACtE,2EAA2E;YAC3E,yEAAyE;YACzE,6EAA6E;YAC7E,4EAA4E;YAC5E,oEAAoE;YACpE,EAAE;YACF,4EAA4E;YAC5E,0EAA0E;YAC1E,yEAAyE;YACzE,2EAA2E;YAC3E,8EAA8E;YAC9E,0DAA0D;YAC1D,MAAM,oBAAoB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACzF,MAAM,QAAQ,GAAG,2BAA2B,CAC1C,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,CACvE,CAAC;YACF,uEAAuE;YACvE,wEAAwE;YACxE,iFAAiF;YACjF,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,KAAK,IAAI,IAAI,CAAC,CAAC,eAAe,KAAK,IAAI,CAAC;mBACnG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,KAAK,IAAI,CAAC;mBACnD,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,KAAK,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAEhD,uEAAuE;YACvE,wEAAwE;YACxE,yEAAyE;YACzE,qEAAqE;YACrE,yEAAyE;YACzE,qEAAqE;YACrE,2EAA2E;YAC3E,0EAA0E;YAC1E,0EAA0E;YAC1E,0EAA0E;YAC1E,8BAA8B;YAC9B,MAAM,kBAAkB,GAAG,cAAc,CAAC,uBAAuB,EAAE,gBAAgB,CAAC;YACpF,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAC/F,MAAM,mBAAmB,GAAG,kBAAkB;mBACzC,CAAC,UAAU,CAAC,sBAAsB,KAAK,sBAAsB,CAAC,IAAI,IAAI,CAAC,cAAc;oBACtF,CAAC,CAAC,gBAAgB,CAAC,cAAc;oBACjC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,mBAAmB,KAAK,gBAAgB,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBAChF,SAAS;YACX,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAU,CAAC,CAC1E,CAAC;YACF,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC;YAC3C,8EAA8E;YAC9E,MAAM,OAAO,GAAG,cAAc,CAAC,uBAAuB,EAAE,aAAa,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACvG,MAAM,IAAI,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;YACpD,6EAA6E;YAC7E,8EAA8E;YAC9E,gEAAgE;YAChE,MAAM,SAAS,GAAoB,cAAc,CAAC,uBAAuB,EAAE,eAAe;mBACrF,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC3F,yEAAyE;YACzE,0DAA0D;YAC1D,IAAI,eAAe,IAAI,SAAS,KAAK,eAAe;gBAAE,SAAS;YAC/D,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;YAElC,sCAAsC;YACtC,8EAA8E;YAC9E,IAAI,QAAQ,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;gBACpF,MAAM,EAAE,GAAG,KAAK,CAAC,mBAAmB,CAAC;gBAErC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;oBACpB,KAAK,6BAA6B,CAAC,IAAI;wBACrC,sDAAsD;wBACtD,SAAS;oBAEX,KAAK,6BAA6B,CAAC,OAAO;wBACxC,yFAAyF;wBACzF,MAAM;oBAER,KAAK,6BAA6B,CAAC,cAAc,CAAC;oBAClD,KAAK,6BAA6B,CAAC,YAAY,CAAC;oBAChD,KAAK,6BAA6B,CAAC,oBAAoB,CAAC;oBACxD,KAAK,6BAA6B,CAAC,aAAa,CAAC;oBACjD,KAAK,6BAA6B,CAAC,MAAM;wBACvC,6CAA6C;wBAC7C,iFAAiF;wBACjF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAC1B,WAAW,CAAC,IAAI,CAAC;gCACf,IAAI,EAAE,QAAiB;gCACvB,IAAI;gCACJ,KAAK;gCACL,OAAO;gCACP,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,cAAc,CAAC;gCACnD,QAAQ,EAAE,IAAI;gCACd,aAAa,EAAE,IAAI;gCACnB,mBAAmB,EAAE,8BAA8B,CAAC,EAAE,CAAC;gCACvD,SAAS,EAAE,QAAQ;gCACnB,MAAM,EAAE,SAAS;gCACjB,SAAS;gCACT,mBAAmB,EAAE,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC;6BAC7C,CAAC,CAAC;wBACxB,CAAC;6BAAM,CAAC;4BACN,WAAW,CAAC,IAAI,CAAC;gCACf,IAAI,EAAE,UAAmB;gCACzB,IAAI;gCACJ,KAAK;gCACL,OAAO;gCACP,KAAK,EAAE,EAAE;gCACT,QAAQ,EAAE,IAAI;gCACd,aAAa,EAAE,IAAI;gCACnB,mBAAmB,EAAE,8BAA8B,CAAC,EAAE,CAAC;gCACvD,SAAS,EAAE,QAAQ;gCACnB,MAAM,EAAE,SAAS;gCACjB,SAAS;gCACT,mBAAmB,EAAE,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC;6BAC7C,CAAC,CAAC;wBACxB,CAAC;wBACD,SAAS,CAAC,8BAA8B;gBAC5C,CAAC;YACH,CAAC;YAED,wFAAwF;YACxF,0FAA0F;YAC1F,4FAA4F;YAC5F,+FAA+F;YAC/F,uCAAuC;YACvC,MAAM,oBAAoB,GAAG,oCAAoC,CAAC,cAAc,CAAC;gBAC/E,CAAC,CAAC,6BAA6B,CAAC,cAAc,CAAC;gBAC/C,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,oBAAoB,EAAE,CAAC;gBACzB,MAAM,UAAU,GAAG,8BAA8B,CAAC,oBAAoB,CAAC,CAAC;gBACxE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,QAAiB;wBACvB,IAAI;wBACJ,KAAK;wBACL,OAAO;wBACP,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,8BAA8B,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC;wBACvF,QAAQ;wBACR,SAAS,EAAE,QAAQ;wBACnB,MAAM,EAAE,SAAS;wBACjB,SAAS;wBACT,mBAAmB,EAAE,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC;qBAChE,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,UAAmB;wBACzB,IAAI;wBACJ,KAAK;wBACL,OAAO;wBACP,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;4BACpC,IAAI,EAAE,QAAiB;4BACvB,IAAI;4BACJ,KAAK,EAAE,iCAAiC,CAAC,SAAS,CAAC;4BACnD,OAAO;4BACP,SAAS;4BACT,mBAAmB,EAAE,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC;4BAC/D,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,8BAA8B,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;4BAClF,QAAQ;yBACT,CAAC,CAAC;wBACH,QAAQ;wBACR,SAAS,EAAE,QAAQ;wBACnB,MAAM,EAAE,SAAS;wBACjB,SAAS;wBACT,mBAAmB,EAAE,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC;qBAC7C,CAAC,CAAC;gBACxB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,iCAAiC;gBACjC,MAAM,aAAa,GAAG,kBAAkB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;gBAChE,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,QAAiB;oBACvB,IAAI;oBACJ,KAAK;oBACL,OAAO;oBACP,0FAA0F;oBAC1F,qFAAqF;oBACrF,wFAAwF;oBACxF,sFAAsF;oBACtF,uCAAuC;oBACvC,OAAO,EAAE,aAAa;wBACpB,CAAC,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,cAAc,CAAC;wBAC/C,CAAC,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,cAAc,CAAC;oBAC9C,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,QAAQ;oBACR,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,SAAS;oBACjB,SAAS;oBACT,mBAAmB,EAAE,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC;iBAChE,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,kDAAkD;gBAClD,4EAA4E;gBAC5E,qDAAqD;gBACrD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC;gBACxE,MAAM,QAAQ,GAAsB,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACnE,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;oBACtC,IACE,MAAM,CAAC,mBAAmB;2BACvB,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW;2BACvC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,KAAK,6BAA6B,CAAC,IAAI,EAC7E,CAAC;wBACD,OAAO,EAAE,CAAC;oBACZ,CAAC;oBACD,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC;oBAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;oBACnD,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC;oBAC1B,OAAO,CAAC;4BACN,IAAI,EAAE,QAAiB;4BACvB,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;4BACzB,KAAK,EAAE,MAAM;4BACb,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC;4BAClC,SAAS,EAAE,KAAK;4BAChB,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;4BAClD,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;4BACtC,QAAQ,EAAE,CAAC,MAAM,CAAC,SAAS;4BAC3B,GAAG,CAAC,MAAM,CAAC,mBAAmB,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW;gCACvE,CAAC,CAAC;oCACE,aAAa,EAAE,IAAI;oCACnB,mBAAmB,EAAE,8BAA8B,CAAC,MAAM,CAAC,mBAAmB,CAAC;iCAChF;gCACH,CAAC,CAAC,EAAE,CAAC;yBACR,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,MAAM,gBAAgB,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;gBAE9F,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,QAAiB;wBACvB,IAAI;wBACJ,KAAK;wBACL,OAAO;wBACP,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,cAAc,CAAC;wBACnD,QAAQ;wBACR,SAAS,EAAE,QAAQ;wBACnB,MAAM,EAAE,SAAS;wBACjB,SAAS;wBACT,mBAAmB,EAAE,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC;wBAC/D,GAAG,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW;4BACrE,CAAC,CAAC;gCACE,aAAa,EAAE,IAAI;gCACnB,mBAAmB,EAAE,8BAA8B,CAAC,KAAK,CAAC,mBAAmB,CAAC;6BAC/E;4BACH,CAAC,CAAC,EAAE,CAAC;qBACR,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,UAAmB;oBACzB,IAAI;oBACJ,KAAK;oBACL,OAAO;oBACP,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE,gBAAgB;oBAC1B,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,SAAS;oBACjB,SAAS;oBACT,mBAAmB,EAAE,MAAM,CAAC,cAAc,CAAC,mBAAmB,CAAC;iBAChE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,6EAA6E;QAC7E,mEAAmE;QACnE,IACE,WAAW,KAAK,4BAA4B,CAAC,OAAO;eACjD,eAAe,KAAK,eAAe,CAAC,WAAW;eAC/C,CAAC,mBAAmB,EACvB,CAAC;YACD,MAAM,MAAM,GAAG,cAAc;gBAC3B,CAAC,CAAC,mDAAmD,CAAC;oBACpD,cAAc;oBACd,UAAU;oBACV,aAAa,EAAE,qBAAqB,CAAC,IAAI;oBACzC,QAAQ;oBACR,aAAa,EAAE,oBAAoB;oBACnC,0BAA0B,EAAE,IAAI;oBAChC,0BAA0B,EAAE,wCAAwC;oBACpE,oBAAoB;iBACrB,CAAC;gBACF,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,SAAS,GAAG,qBAAqB,CAAC;oBACtC,UAAU;oBACV,aAAa,EAAE,qBAAqB,CAAC,kCAAkC;oBACvE,GAAG,EAAE,aAAa;iBACnB,CAAC,CAAC;gBACH,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,QAAiB;oBACvB,IAAI,EAAE,UAAU,CACd,qBAAqB,CAAC,GAAG,EACzB,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CACtB;oBACD,KAAK,EAAE,SAAS;oBAChB,OAAO,EAAE,sBAAsB,CAAC,KAAK;oBACrC,OAAO,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,MAAM,CAAC;oBAC9C,QAAQ,EAAE,KAAK;oBACf,SAAS,EAAE,qBAAqB;oBAChC,MAAM,EAAE,eAAe,CAAC,OAAO;iBAChC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,8EAA8E;QAC9E,qEAAqE;QACrE,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,CAAC,KAAK,KAAK,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;QAEnG,mEAAmE;QACnE,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,UAAU,GAAoB,EAAE,CAAC;QACvC,IAAI,aAA0C,CAAC;QAC/C,KAAK,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC;YACzD,4EAA4E;YAC5E,4EAA4E;YAC5E,+CAA+C;YAC/C,IAAI,MAAM,KAAK,eAAe,CAAC,WAAW,IAAI,aAAa,KAAK,eAAe,CAAC,OAAO,EAAE,CAAC;gBACxF,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAoB,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,IAAqB,CAAC,CAAC;YACvC,aAAa,GAAG,MAAM,CAAC;QACzB,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC,EAAE;QACD,4EAA4E;QAC5E,uDAAuD;QACvD,6EAA6E;QAC7E,+EAA+E;QAC/E,+EAA+E;QAC/E,gFAAgF;QAChF,iFAAiF;QACjF,cAAc;QACd,wCAAwC;QACxC,oBAAoB;QACpB,oBAAoB;QACpB,gCAAgC;QAChC,QAAQ;QACR,YAAY;QACZ,WAAW;QACX,UAAU;QACV,WAAW;QACX,UAAU;QACV,mBAAmB;QACnB,gBAAgB;QAChB,iBAAiB;QACjB,kBAAkB;QAClB,kBAAkB;QAClB,iBAAiB;QACjB,oBAAoB;QACpB,uBAAuB;QACvB,uFAAuF;QACvF,8FAA8F;QAC9F,iGAAiG;QACjG,4FAA4F;QAC5F,mDAAmD;QACnD,8BAA8B;QAC9B,UAAU;QACV,UAAU;KACX,CAAC,CAAC;IAEH,OAAO;QACL,KAAK;QACL,mBAAmB,EAAE,YAAY,CAAC,IAAI;QACtC,kBAAkB,EAAE,YAAY,CAAC,KAAK;QACtC,gCAAgC,EAAE,YAAY,CAAC,yBAAyB;QACxE,yBAAyB,EAAE,YAAY,CAAC,kBAAkB;QAC1D,SAAS;QACT,QAAQ;QACR,WAAW;QACX,eAAe;QACf,sBAAsB;KACvB,CAAC;AACJ,CAAC","sourcesContent":["/**\n * useResourceOperationActions\n * \n * Core hook that converts resource operations into ActionBarItem[] for ActionBar rendering.\n * Handles permission filtering, enabledCondition evaluation, icon resolution, variant grouping,\n * display priority sorting, risk-level-based button variants, confirmation dialogs for critical\n * operations, and \"View Details\" injection in summary mode.\n */\n\nimport React, { useMemo, useState, useCallback, useContext, useRef } from 'react';\nimport { z } from 'zod';\nimport { useResourceRegistry } from './useResourceRegistry';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { useNavigationController } from '~wildo-frontend-lib/core/navigation/useNavigationController';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport { resolveComponentLabel } from '~wildo-frontend-lib/core/i18n/component-label-resolution.utils';\nimport { useIconRegistry } from '~wildo-frontend-lib/core/icons/useIconRegistry';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { NotificationContext } from '~wildo-frontend-lib/core/events/NotificationContext';\nimport { ApplicationContext } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\nimport {\n buildCollectionExportUrl,\n downloadCollectionExport,\n} from '~wildo-frontend-lib/core/resources/collection-export-url.frontend.utils';\nimport {\n useOperationsEnabled,\n buildOperationEnabledKey,\n type OperationEnabledEntry,\n type FeatureAvailability,\n} from './hooks/useOperationEnabled';\nimport { NavigationUtils } from '~wildo-frontend-lib/core/navigation/navigation.utils';\nimport { frontendResourceUtils, FrontendResourceUtils } from './frontend-resource.utils';\nimport { FrontendEvents } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { FrontendComponentType } from '@wildo-ai/presets-components-models';\nimport { IconCategory, IconSize, StandardIconReference } from '~wildo-frontend-lib/core/icons/icon-registry.frontend.schemas';\nimport type { NavigationZone } from '~wildo-frontend-lib/core/navigation/navigation.schemas';\nimport { WebSocketContext } from '~wildo-frontend-lib/core/requests/websockets/WebSocketContext';\nimport { extractEphemeralFields, type EphemeralFieldInfo } from './ephemeral-fields.utils';\nimport type { FrontendResource_ParentResourceRequirement } from '~wildo-frontend-lib/core/resources/resource-path.frontend.schemas';\nimport type { FrontendResourceConfiguration_Operation, FrontendResourceConfiguration } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { ActionVisibility, ActionPlacement, DisabledActionHandling, ResourceOperationActionPresentation, resolveActionDisclosure, isOperationHeadless, isCollectionScopedOperation } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport type { ActionBarItem, ActionBarButton, ActionBarButtonPopover, ActionBarSubGroup } from '~wildo-frontend-lib/components/actions/action-bar';\nimport { ResourceOperationActionPopoverBody } from '~wildo-frontend-lib/components/resources/ResourceOperationActionPopover';\nimport { InPlaceOperationTargetKind, useInPlaceOperation } from '~wildo-frontend-lib/core/resources/in-place/InPlaceOperationContext';\nimport { ButtonVariants_Variant } from '~wildo-frontend-lib/components/actions/button';\nimport {\n actionPresentationNavigates,\n BULK_OPERATION_SELECTION_IDS_CONTEXT_KEY,\n buildBulkOperationSelectorPayload,\n resolveResourceOperationActionPresentation,\n getOperationsForCoreSemantic,\n RESOURCE_OPERATION_EXECUTED_DISCRIMINATOR_CONTEXT_KEY,\n isUpdateLikeCoreOperation,\n isGeneratedFileRegenerateOperation,\n isGeneratedCollectionExportOperation,\n pickPreferredOperationForCoreSemantic,\n readResourceOperationExecutedDiscriminator,\n resolveEffectiveCoreOperationFromOperation,\n shouldEmitResourceRefreshAfterDirectOperation,\n shouldTreatAsNonItemResourceOperation,\n} from './operation-semantics.frontend.utils';\nimport {\n isFrontendOperationAddressableForCurrentContext,\n pickPreferredOperationForCoreSemanticAddressability,\n shouldRequireCurrentContextAddressabilityForOperation,\n} from './resource-addressability.frontend.utils';\nimport {\n normalizeContextResourceIdentifiersForOutcome,\n normalizeContextResourceIdentifiersForTransport,\n} from './context-resource-identifiers.frontend.utils';\n\nimport {\n CoreResourceOperation,\n ResourceOperationRiskLevel,\n ResourceOperationDisplayMode,\n ResourcesConfig_OperationPathUtils,\n Resources_SharedUtils,\n ResourceGeneratedOperationKind,\n ResourceCollectionExportFormat,\n ResourceCollectionExportRowScope,\n listCollectionExportSelections,\n type ResourceCollectionExportConfig,\n type ResourceCollectionExportSelection,\n ResourceOperationVariantType,\n FeatureUnavailabilityBehavior,\n userRolesSatisfyRequiredRoles,\n selectHighestRightsVariants,\n type ResourceType,\n} from '@wildo-ai/saas-models';\n\nfunction toActionBarFeatureAvailability(\n featureAvailability: FeatureAvailability,\n): Record<string, unknown> {\n return featureAvailability as unknown as Record<string, unknown>;\n}\n\nfunction operationInitiatorParametersSatisfied(\n operation: FrontendResourceConfiguration_Operation,\n contextResourceIdentifiers: UseResourceOperationActionsParams['contextResourceIdentifiers'],\n contextualParameters: Record<string, string | number>,\n): boolean {\n const initiatorInfos = operation.initiatorInfos ?? [];\n if (initiatorInfos.length === 0) {\n return true;\n }\n\n return initiatorInfos.some((initiatorInfo) => {\n const parameters = initiatorInfo.parameters ?? [];\n if (parameters.length === 0) {\n return true;\n }\n\n return parameters.every((parameter) => {\n const candidateKeys = [\n parameter.fieldIdentifier,\n parameter.relationshipField,\n parameter.resourceType,\n ].filter((key): key is string => typeof key === 'string' && key.length > 0);\n\n return candidateKeys.some((key) => {\n const contextResourceId = frontendResourceUtils.getResourceId(contextResourceIdentifiers[key]);\n if (contextResourceId.length > 0) {\n return true;\n }\n\n const contextualValue = contextualParameters[key];\n return contextualValue !== undefined && String(contextualValue).length > 0;\n });\n });\n });\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Types\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport interface UseResourceOperationActionsParams {\n /** Resource type identifier */\n resourceType: ResourceType;\n /** Display mode — controls \"View Details\" injection and label display */\n displayMode: ResourceOperationDisplayMode;\n /** Current item data (for enabledCondition evaluation and operation execution) */\n currentObject?: Record<string, any>;\n /** Context resource identifiers (parent IDs, etc.) */\n contextResourceIdentifiers: Record<string, string | { fieldIdentifier: string; resourceId: string }>;\n /** Parent resource requirements */\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[];\n /** Navigation zone this component lives in */\n navigationZone: NavigationZone;\n /** Operation ID for navigation initiator context */\n operationId?: string;\n /** Operations to exclude from display */\n excludeOperations?: string[];\n /** Only show bulk operations */\n bulkOnly?: boolean;\n /**\n * Render ONLY collection-scoped actions (`operationFrontendConfig.actionScope\n * === COLLECTION`) — the list's collection-action surface uses this. It is the\n * complement of the per-item bars: when `false` (the default) collection-scoped\n * ops are DROPPED so they never render per row / in the detail / danger-zone /\n * bulk bars; when `true` ONLY collection-scoped (non-bulk) ops are kept.\n */\n collectionOnly?: boolean;\n /**\n * The query the LISTING is currently showing, so a collection export answers the same question the\n * screen does. Supplied by `ResourceLayout_List`, which owns that state.\n *\n * `isSearchActive` is separate from the params because it is not a parameter to forward — it is a\n * REFUSAL condition: a LIST export cannot represent text-search results, and returning the\n * unsearched set would be a wrong answer delivered as a successful download.\n */\n collectionExportQuery?: {\n params: Record<string, string | number | undefined>;\n isSearchActive: boolean;\n };\n /** Restrict returned items to a single action placement — `PRIMARY` for the main\n * action bar, `DANGER_ZONE` for the danger-zone section. Omitted returns all\n * placements (with the danger group fenced off by a separator). */\n placementFilter?: ActionPlacement;\n /** IDs of selected items for bulk operations. Passed as requestData to doOperation. */\n selectedItemIds?: string[];\n /** Existing execution context carried by the host surface. */\n additionalContext?: Record<string, unknown>;\n /** Optional local discriminator for successful-operation side effects. */\n successDiscriminator?: string;\n /**\n * When true, skip injecting the \"View Details\" (eye) action in SUMMARY mode.\n * Set by hosts whose ROW is itself the READ affordance (list/table rows\n * navigate to the detail view on click), so the eye button doesn't duplicate\n * the row click. Default false (standalone summary contexts keep the eye).\n */\n suppressViewDetails?: boolean;\n /** Called after a non-navigable operation (DELETE, custom) executes successfully.\n * Useful for navigating back after a delete in a detail view. */\n onOperationExecuted?: (operation: FrontendResourceConfiguration_Operation) => void;\n}\n\nexport interface UseResourceOperationActionsResult {\n /** ActionBarItem array ready for ActionBar component */\n items: ActionBarItem[];\n /** Whether a confirmation dialog is currently open */\n isConfirmDialogOpen: boolean;\n /** Label for the confirmation dialog */\n confirmDialogLabel: string;\n /** Whether the open confirmation requires typed \"double validation\" (CRITICAL ops). */\n confirmRequiresTypedConfirmation: boolean;\n /** The phrase the user must type to arm the confirm button (when double-validation applies). */\n confirmConfirmationPhrase: string;\n /** Callback for confirming the pending operation */\n onConfirm: () => void;\n /** Callback for cancelling the pending operation */\n onCancel: () => void;\n /** Whether any operation is currently executing */\n isExecuting: boolean;\n /** Ephemeral fields from a completed operation that need user acknowledgment */\n ephemeralFields: EphemeralFieldInfo[] | null;\n /** Callback to acknowledge ephemeral fields have been saved */\n onEphemeralAcknowledge: () => void;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Default display priorities by operation type\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst DEFAULT_DISPLAY_PRIORITIES: Record<string, number> = {\n // VIEW_DETAILS (injected) is handled separately at priority 0\n [CoreResourceOperation.UPDATE]: 10,\n [CoreResourceOperation.CREATE]: 20,\n [CoreResourceOperation.DELETE]: 90,\n [CoreResourceOperation.DELETE_MANY]: 90,\n [CoreResourceOperation.UPDATE_MANY]: 10,\n};\n\nconst DEFAULT_CUSTOM_OPERATION_PRIORITY = 50;\nconst VIEW_DETAILS_PRIORITY = 0;\n\n/**\n * The export contract declared on a collection-export companion, or `undefined`.\n *\n * Read defensively: the frontend receives operations through several projections and the\n * semantics-level type models `generatedOperation` only loosely. A missing contract means the action\n * is not offered — never a download built from guessed defaults.\n */\nfunction resolveCollectionExportConfig(\n operation: FrontendResourceConfiguration_Operation,\n): ResourceCollectionExportConfig | undefined {\n const metadata = operation.generatedOperation as { export?: ResourceCollectionExportConfig } | undefined;\n const exportConfig = metadata?.export;\n if (!exportConfig?.formats?.length || !exportConfig.rowScopes?.length) return undefined;\n return exportConfig;\n}\n\n/**\n * Name ONE offered export in a way a person can choose between at a glance.\n *\n * The format is the coarse choice and leads; the row scope is the qualifier. \"This page\" rather than\n * the enum's own wording, because the user is looking at that page — and \"all rows\" rather than\n * \"full result set\", because what they care about is how much is about to leave, not the mechanism.\n */\n/**\n * Drop `page`/`limit` from a forwarded listing query.\n *\n * A whole-result-set export iterates internally and the backend ignores the caller's pagination for\n * that scope — but forwarding `page=3` would still be a lie in the request, and the moment anything\n * downstream started honouring it the export would return one page while claiming to return\n * everything. Filters and sort ARE forwarded: they define WHICH rows, which is the whole point.\n */\nfunction omitPaginationFromListingQuery(\n params: Record<string, string | number | undefined> | undefined,\n): Record<string, string | number | undefined> | undefined {\n if (!params) return undefined;\n const { page: _page, limit: _limit, ...rest } = params;\n return rest;\n}\n\nfunction describeCollectionExportSelection(selection: ResourceCollectionExportSelection): string {\n const scopeLabel = selection.rowScope === ResourceCollectionExportRowScope.FULL_RESULT_SET\n ? 'all rows'\n : 'this page';\n return `${selection.format.toUpperCase()} — ${scopeLabel}`;\n}\n\nfunction humanizeGeneratedFileFieldName(operation: FrontendResourceConfiguration_Operation): string | undefined {\n // NARROW on `kind` before reading `fieldName`. `generatedOperation` is a DISCRIMINATED UNION —\n // the file-regenerate member carries `fieldName`, the collection-export member does not — so an\n // unnarrowed read is both a type error and, if it ever compiled, a field lookup on the wrong\n // member. Reading the metadata without asking which kind it is was the one site that had to change\n // when the union grew from a single member.\n const generatedFileRegenerate = operation.generatedOperation?.kind === ResourceGeneratedOperationKind.GENERATED_FILE_REGENERATE\n ? operation.generatedOperation\n : undefined;\n const fieldName = typeof generatedFileRegenerate?.fieldName === 'string'\n ? generatedFileRegenerate.fieldName\n : typeof operation.operationIdentifier === 'string'\n ? Resources_SharedUtils.parseGeneratedFileRegenerateOperationIdentifier(operation.operationIdentifier)?.fieldName\n : undefined;\n if (!fieldName) return undefined;\n\n const pathSegments = fieldName.split('.').filter(Boolean);\n const lastSegment = pathSegments[pathSegments.length - 1] ?? fieldName;\n const words = lastSegment\n .replace(/([a-z0-9])([A-Z])/g, '$1 $2')\n .replace(/[-_]+/g, ' ')\n .replace(/\\bpdf\\b/gi, '')\n .trim();\n return words.length > 0 ? words : undefined;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Operations that are NOT per-item actions (excluded by default for item mode)\n// ─────────────────────────────────────────────────────────────────────────────\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Risk level → button variant mapping\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction riskLevelToVariant(riskLevel: ResourceOperationRiskLevel): ButtonVariants_Variant {\n switch (riskLevel) {\n case ResourceOperationRiskLevel.CRITICAL:\n case ResourceOperationRiskLevel.HIGH:\n return ButtonVariants_Variant.DESTRUCTIVE;\n default:\n return ButtonVariants_Variant.GHOST;\n }\n}\n\nfunction isRiskyOperation(riskLevel: ResourceOperationRiskLevel): boolean {\n return riskLevel === ResourceOperationRiskLevel.HIGH || riskLevel === ResourceOperationRiskLevel.CRITICAL;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Label resolution for core operations\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst CORE_OPERATION_LABEL_KEYS: Record<string, string> = {\n [CoreResourceOperation.READ]: 'viewDetails',\n [CoreResourceOperation.UPDATE]: 'edit',\n [CoreResourceOperation.DELETE]: 'delete',\n};\n\n/** Stable empty-array reference for role inputs when permissions are absent. */\nconst EMPTY_ROLES: readonly string[] = [];\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Hook\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport function useResourceOperationActions(\n params: UseResourceOperationActionsParams\n): UseResourceOperationActionsResult {\n const {\n resourceType,\n displayMode,\n currentObject,\n contextResourceIdentifiers,\n parentResourcesRequirements,\n navigationZone,\n operationId = 'operations',\n excludeOperations,\n bulkOnly = false,\n collectionOnly = false,\n placementFilter,\n selectedItemIds,\n additionalContext,\n successDiscriminator,\n suppressViewDetails = false,\n onOperationExecuted,\n collectionExportQuery,\n } = params;\n\n const { registry, doOperation } = useResourceRegistry();\n const { permissions } = useUserOrgs();\n const appScope = useAppScopeSafe();\n const { navigateToResource } = useNavigationController();\n const { tComponent, tResourceOperation, isReady } = useI18n({ component: FrontendComponentType.RESOURCES_LAYOUTS_OPERATIONS_ITEMS, resource: resourceType });\n const { renderIcon } = useIconRegistry();\n // The element-level host, when this action bar is rendered inside a collection that provides one.\n // Absent everywhere else, where `isAvailable` is false — see `InPlaceOperationContext`.\n const inPlaceHost = useInPlaceOperation();\n const { emit } = useEventBus();\n const webSocket = useContext(WebSocketContext);\n const isWebSocketConnected = webSocket?.isConnected ?? false;\n // Best-effort success toast for direct-executed actions that return a human\n // `message` (drain-op summaries — \"Re-queued 3 of 5; skipped 2\", \"Purged N\").\n // Read the context directly rather than the throwing `useNotification()` so the\n // hook never hard-requires a NotificationProvider; it no-ops when none is mounted.\n // Read the context directly rather than the throwing `useApplication()`, for the same reason the\n // notification context below is read this way: this hook must never hard-require a provider, and\n // several of its callers (and every one of its tests) mount without one. Absent ⇒ the export\n // action degrades to \"not offered\" instead of crashing the whole action bar.\n const application = useContext(ApplicationContext);\n const applicationRef = useRef(application);\n applicationRef.current = application;\n\n // The listing's live query, read through a REF at CLICK time rather than captured when the\n // callback was built.\n //\n // This is the same pattern `notificationRef` and `applicationRef` above use, and here it removes a\n // failure mode rather than a dependency: the action bar's items memo closes over the download\n // callback directly, so a callback that captured the query would hand the user a file describing\n // the UNFILTERED set while the screen showed a filter — a wrong answer delivered as a successful\n // 200. Measured in the running app on 2026-08-25.\n //\n // Deliberately NOT relying on the memo's dependency list to keep it fresh. That list DOES include\n // the callback, and it works — but only because several of its other entries also change identity\n // when the listing refetches. Depending on that is depending on a coincidence: remove the\n // dependency and the end-to-end behaviour still looks correct, which is precisely why a browser\n // lane cannot pin it. The ref makes the staleness unrepresentable instead of merely unlikely.\n const collectionExportQueryRef = useRef(collectionExportQuery);\n collectionExportQueryRef.current = collectionExportQuery;\n\n const notification = useContext(NotificationContext);\n const notificationRef = useRef(notification);\n notificationRef.current = notification;\n\n // Stable refs for async operations\n const doOperationRef = useRef(doOperation);\n const emitRef = useRef(emit);\n const isWebSocketConnectedRef = useRef(isWebSocketConnected);\n doOperationRef.current = doOperation;\n emitRef.current = emit;\n isWebSocketConnectedRef.current = isWebSocketConnected;\n\n // Confirmation dialog state\n const [confirmState, setConfirmState] = useState<{\n open: boolean;\n label: string;\n /** CRITICAL ops require typed \"double validation\" before confirm is enabled. */\n requiresTypedConfirmation: boolean;\n /** The phrase the user must type (the action label) when double-validation applies. */\n confirmationPhrase: string;\n callback: (() => Promise<void>) | null;\n }>({ open: false, label: '', requiresTypedConfirmation: false, confirmationPhrase: '', callback: null });\n const [isExecuting, setIsExecuting] = useState(false);\n /**\n * Which action currently has its anchored panel open, by operation PATH KEY.\n *\n * A path key rather than the operation object: the items memo rebuilds on every dependency change\n * and hands back fresh operation references, so an identity comparison would close the panel the\n * moment anything around it re-rendered. Only ONE panel is open at a time, which is what a single\n * key expresses — two anchored panels open at once is not a state the bar can present.\n */\n const [openPopoverOperationKey, setOpenPopoverOperationKey] = useState<string | null>(null);\n\n // Ephemeral fields reveal state (for operations returning one-time-only data)\n const [ephemeralFields, setEphemeralFields] = useState<EphemeralFieldInfo[] | null>(null);\n const ephemeralPostAcknowledgeRef = useRef<(() => void) | null>(null);\n\n // Get resource configuration\n const resourceConfig = useMemo(() => {\n return registry.resourceConfigurations[resourceType] as FrontendResourceConfiguration | undefined;\n }, [registry, resourceType]);\n\n // Resolve the effective action-surfacing (disclosure) policy for this view:\n // per-resource override (`layout.actionDisclosure[displayMode]`) over the\n // framework default. `disabledActionHandling` is consumed below to decide\n // whether an enabledCondition-disabled action is hidden or rendered greyed;\n // the sibling `maxPrimaryActions` (overflow cap) is resolved by the host\n // (ResourceLayout_OperationsItems), which owns the ActionBar `maxDisplayed`.\n const disclosure = useMemo(\n () => resolveActionDisclosure(displayMode, resourceConfig?.frontendConfiguration?.layout?.actionDisclosure),\n [displayMode, resourceConfig],\n );\n\n // ───────────────────────────────────────────────────────────────────────────\n // Value-stabilize caller-supplied reference inputs (perf: keep `items` stable).\n //\n // `contextResourceIdentifiers` and `parentResourcesRequirements` are supplied by\n // the caller and are, in practice, fresh references on most renders: the\n // per-item / bulk operation layouts forward `resourceContext.*` fields that are\n // re-created upstream, and `parentResourcesRequirements` previously hit an\n // `= []` destructuring default that minted a brand-new array on every render the\n // caller omitted it. Each one feeds the ActionBar `items` memo — directly, or\n // transitively through `contextResourceIdentifiersWithIdEvidence` /\n // `contextualParameters` / the operation callbacks — so a churning reference\n // rebuilds the whole `items` array and every onClick closure on every commit,\n // re-rendering each row operation's Radix Tooltip / DropdownMenu even when\n // nothing changed. Stabilize by value: keep the same reference until the\n // serialized contents actually change.\n //\n // Stabilization lives INSIDE the hook (rather than asking the two call sites to\n // memoize) so the hook is robust to any caller — matching the sibling\n // `excludeOperations`/`stableExcludeOperations` stabilization below. ESLint\n // exhaustive-deps is not wired in this repo; reading the raw prop inside a memo\n // keyed on its serialized contents is deliberate value-stabilization, not an\n // oversight.\n //\n // Note `parentResourcesRequirements` is an array of OBJECTS\n // (`FrontendResource_ParentResourceRequirement[]`, each a flat record of\n // primitives), so a serialized-content key is the structural-equality projection\n // it needs — a plain `join()` (which would suffice for a `string[]` like\n // `excludeOperations`) would not capture the per-entry fields.\n const contextResourceIdentifiersKey = JSON.stringify(contextResourceIdentifiers ?? {});\n const stableContextResourceIdentifiers = useMemo(\n () => contextResourceIdentifiers,\n [contextResourceIdentifiersKey],\n );\n\n const parentResourcesRequirementsKey = JSON.stringify(parentResourcesRequirements ?? []);\n const stableParentResourcesRequirements = useMemo<FrontendResource_ParentResourceRequirement[]>(\n () => parentResourcesRequirements ?? [],\n [parentResourcesRequirementsKey],\n );\n\n // Derive the current-resource-id evidence as a SCALAR so the evidence memo below\n // keys on the resolved id *value* rather than the `currentObject` reference.\n // `currentObject` is a caller prop frequently re-created each render (row data,\n // detail payloads); keying the memo on the whole object would rebuild\n // `contextResourceIdentifiersWithIdEvidence` — and every downstream consumer of\n // it — on every render even when the id is unchanged. Only these two scalar\n // reads of `currentObject` matter here, so projecting to the resolved id string\n // is both cheaper and more stable than memoizing the object. (The\n // `useOperationsEnabled` feed further below still receives the raw\n // `currentObject`; its result map is already value-gated, so that path does not\n // thrash `items`.)\n const currentResourceIdEvidenceCandidate = currentObject?._id\n ?? (resourceConfig?.resourceFieldIdentifier\n ? currentObject?.[resourceConfig.resourceFieldIdentifier]\n : undefined);\n const currentResourceIdEvidence = typeof currentResourceIdEvidenceCandidate === 'string'\n && currentResourceIdEvidenceCandidate.length > 0\n ? currentResourceIdEvidenceCandidate\n : undefined;\n\n const contextResourceIdentifiersWithIdEvidence = useMemo(() => {\n if (!currentResourceIdEvidence) {\n return stableContextResourceIdentifiers;\n }\n\n const currentValue = stableContextResourceIdentifiers[resourceType];\n if (frontendResourceUtils.getResourceId(currentValue) === currentResourceIdEvidence) {\n return stableContextResourceIdentifiers;\n }\n\n const fieldIdentifier = currentValue\n ? frontendResourceUtils.getFieldIdentifier(currentValue)\n : undefined;\n return {\n ...stableContextResourceIdentifiers,\n [resourceType]: fieldIdentifier\n ? { fieldIdentifier, resourceId: currentResourceIdEvidence }\n : currentResourceIdEvidence,\n };\n }, [\n stableContextResourceIdentifiers,\n currentResourceIdEvidence,\n resourceType,\n ]);\n\n // `excludeOperations` is supplied by the caller and is, in practice, a fresh\n // array reference on most renders: the per-item / bulk operation layouts\n // either forward a prop that may be re-created upstream, or omit it entirely\n // (previously hitting an `= []` destructuring default that minted a new array\n // every render). A churning reference would force the `filteredOps` memo\n // below to recompute every render, which in turn re-fires the\n // `useOperationsEnabled` evaluation effect (its `operations` dependency would\n // churn) — redundant async `enabledCondition` work on every commit. Stabilize\n // by value: keep the same array identity until the set of excluded ids\n // actually changes.\n const excludeOperationsKey = JSON.stringify(excludeOperations ?? []);\n const stableExcludeOperations = useMemo<string[]>(\n () => excludeOperations ?? [],\n // Intentionally keyed on the serialized contents rather than the array\n // reference (see comment above). ESLint exhaustive-deps is not wired in\n // this repo; reading `excludeOperations` here without listing it is\n // deliberate value-stabilization, not an oversight.\n [excludeOperationsKey],\n );\n\n // ─── User effective roles for operation-visibility gating ───\n // The action bar must not surface operations the current user's role cannot\n // perform — historically every declared operation rendered as a button and\n // only 403'd on click (admin / super-admin actions leaked to plain members).\n // Mirror the backend's hierarchy-aware authorization via\n // `userRolesSatisfyRequiredRoles`: the user's app-scope roles\n // (`permissions.appLevel`) and current-org roles\n // (`permissions.organizations[orgId]`) are expanded through their role\n // hierarchies and matched (OR) against each operation's `roles`. The backend\n // stays the security authority; this is a display gate that fails open on\n // uncertainty (see the util). Value-stabilized like the sibling inputs above so\n // a fresh `permissions` reference does not churn `filteredOps`.\n const currentOrganizationId = appScope?.currentOrganizationId ?? null;\n const userAppRoles = permissions?.appLevel ?? EMPTY_ROLES;\n const userOrgRoles = currentOrganizationId\n ? permissions?.organizations?.[currentOrganizationId] ?? EMPTY_ROLES\n : EMPTY_ROLES;\n const userAppRolesKey = userAppRoles.join(',');\n const userOrgRolesKey = userOrgRoles.join(',');\n const stableUserAppRoles = useMemo<readonly string[]>(\n () => userAppRoles,\n // Keyed on serialized contents (value-stabilization), matching the sibling\n // inputs above. ESLint exhaustive-deps is not wired in this repo.\n [userAppRolesKey],\n );\n const stableUserOrgRoles = useMemo<readonly string[]>(\n () => userOrgRoles,\n [userOrgRolesKey],\n );\n\n // ─── Step 1: Filter operations (stable reference for enabledCondition evaluation) ───\n const filteredOps = useMemo((): FrontendResourceConfiguration_Operation[] => {\n if (!resourceConfig) return [];\n\n const operations = (resourceConfig.operations || []) as FrontendResourceConfiguration_Operation[];\n const excludeSet = new Set(stableExcludeOperations);\n\n return operations.filter((op) => {\n const opId = String(op.operationIdentifier);\n const isBulk = op.isBulkOperation ?? false;\n\n // Exclude explicitly excluded operations\n if (excludeSet.has(opId)) return false;\n\n // App-level hide: the operation's action is configured HIDDEN for this surface\n // (`views: [[Op.X, { actionVisibility: ActionVisibility.HIDDEN }]]`). Display-only\n // — backend authorization is unaffected. (WHEN_AVAILABLE is handled later, in the\n // items memo, since it depends on the async `enabledCondition` result.)\n if (op.operationFrontendConfig?.actionVisibility === ActionVisibility.HIDDEN) return false;\n\n // Headless (API_ONLY) operations have NO UI surface — never render an action.\n // The canonical headless filter for every action surface (the create button in\n // ResourceLayout_List uses the same gate). An unsurfaced or `apiOnly()` item op\n // resolves to API_ONLY at registry build time and must not produce a clickable action.\n //\n // The collection-export companion is exempt, and it is the THIRD gate its inherited posture\n // trips: it is derived from a LIST, and a listing legitimately resolves to `API_ONLY` because\n // it is a data surface rather than a clickable action. The export is the opposite — it exists\n // ONLY to be clicked. Measured in the running app: the operation reached the frontend registry\n // correctly (`collectionExport:list`, with its URLs and its export contract) and carried\n // `operationFrontendConfig: { surface: 'api_only' }` straight from its source, so the action\n // silently never rendered.\n //\n // Exempted HERE rather than by stamping a frontend surface in the models factory: the surface\n // vocabulary lives in this package, and the models layer must not learn a frontend enum to\n // describe an operation it derives.\n if (isOperationHeadless(op.operationFrontendConfig) && !isGeneratedCollectionExportOperation(op)) return false;\n\n // Collection-scope split (the single R5 chokepoint). A collection-scoped\n // action (`actionScope: COLLECTION` — a whole-scope \"retry all\" / \"purge\n // all\") renders ONLY in the list's dedicated collection-action surface,\n // which passes `collectionOnly: true`. Every OTHER caller (the per-row /\n // detail / danger-zone / bulk bars) leaves `collectionOnly` false and drops\n // collection-scoped ops here, so they can never appear per row. Because all\n // of those surfaces funnel through this one filter, the exclusion holds at a\n // single site rather than N call sites.\n // The export companion is collection-scoped BY CONSTRUCTION, not by declaration: it is derived\n // from a LIST/SEARCH operation and inherits that operation's `operationFrontendConfig`, which\n // has no reason to carry `actionScope: COLLECTION` (a listing is a surface, not an action).\n // Asking the author to stamp it would put the burden on every app for something the framework\n // already knows. Recognised HERE because this filter is the single site that decides which bar\n // an operation belongs to — the comment above says so, and adding a second site is what the\n // design avoids.\n const isCollectionScoped = isCollectionScopedOperation(op.operationFrontendConfig)\n || isGeneratedCollectionExportOperation(op);\n if (collectionOnly) {\n if (!isCollectionScoped || isBulk) return false;\n } else if (isCollectionScoped) {\n return false;\n }\n\n // Bulk mode: only bulk operations\n if (bulkOnly && !isBulk) return false;\n\n // Non-bulk mode: exclude bulk operations and non-item operations\n if (!bulkOnly) {\n if (isBulk) return false;\n if (shouldTreatAsNonItemResourceOperation(op)) return false;\n }\n\n // Only frontend-callable operations (API_CALL, API_CALL_WITH_CALLBACK)\n const vType = op.variantType;\n if (vType && vType !== ResourceOperationVariantType.API_CALL && vType !== ResourceOperationVariantType.API_CALL_WITH_CALLBACK) {\n return false;\n }\n\n // Role-gating: do not surface operations the user's effective roles cannot\n // perform (hierarchy-aware OR match mirroring backend authorization).\n if (!userRolesSatisfyRequiredRoles({\n requiredRoles: op.roles,\n userAppRoles: stableUserAppRoles,\n userOrgRoles: stableUserOrgRoles,\n })) {\n return false;\n }\n\n return true;\n });\n }, [resourceConfig, stableExcludeOperations, bulkOnly, collectionOnly, stableUserAppRoles, stableUserOrgRoles]);\n\n // ─── Step 2: Evaluate enabledCondition for all filtered operations ───\n // Async — starts as empty Map, then populates after evaluation completes.\n //\n // EC — bulk contract: in bulk mode (`bulkOnly`) the caller passes NO\n // `currentObject` (there is no single record for N selected items), so a bulk\n // variant whose `enabledCondition` reads `currentObject.<field>` evaluates\n // against an empty object. This is intentional: bulk availability is scoped to\n // ROLES + SELECTION only — author bulk conditions accordingly. Per-item state\n // gating belongs on the per-row action, which DOES receive `currentObject`.\n //\n // (Also note: on async-loaded surfaces like the read view, `currentObject` is\n // briefly `undefined` on first mount and this batch evaluates against `{}`\n // until the record loads, then re-runs — a benign transient, not a bug.)\n const enabledMap = useOperationsEnabled(filteredOps, {\n currentObject,\n resourceType,\n });\n\n // Build contextual parameters for API calls (canonical implementation)\n const contextualParameters = useMemo(() => {\n return FrontendResourceUtils.buildContextualParameters(\n contextResourceIdentifiersWithIdEvidence,\n registry,\n );\n }, [contextResourceIdentifiersWithIdEvidence, registry]);\n const hasCurrentResourceId = useMemo(() => Boolean(\n frontendResourceUtils.getResourceId(contextResourceIdentifiersWithIdEvidence[resourceType])\n ), [contextResourceIdentifiersWithIdEvidence, resourceType]);\n const effectiveSuccessDiscriminator = successDiscriminator\n ?? readResourceOperationExecutedDiscriminator(additionalContext);\n\n const isOperationAddressableForActions = useCallback((operation: FrontendResourceConfiguration_Operation): boolean => {\n if (!resourceConfig) {\n return true;\n }\n\n if (operation.isBulkOperation === true) {\n return operationInitiatorParametersSatisfied(\n operation,\n contextResourceIdentifiersWithIdEvidence,\n contextualParameters,\n );\n }\n\n const needsCurrentContextAddressability = shouldRequireCurrentContextAddressabilityForOperation({\n operation,\n resourceType,\n resourceConfig,\n });\n if (!needsCurrentContextAddressability) {\n return true;\n }\n\n return isFrontendOperationAddressableForCurrentContext({\n resourceConfig,\n operation,\n registry,\n hasResourceId: hasCurrentResourceId,\n contextResourceIdentifiers: contextResourceIdentifiersWithIdEvidence,\n contextualParameters,\n });\n }, [\n contextResourceIdentifiersWithIdEvidence,\n contextualParameters,\n hasCurrentResourceId,\n registry,\n resourceConfig,\n resourceType,\n ]);\n\n // Resolve label for an operation\n const getOperationLabel = useCallback((operation: FrontendResourceConfiguration_Operation): string => {\n const opId = String(operation.operationIdentifier);\n\n if (isGeneratedCollectionExportOperation(operation)) {\n // The FORMAT is in the label on purpose. One action performs one format, so a bare \"Export\"\n // would leave the user guessing which file they are about to receive — and the answer is the\n // author's declaration order, which no reader of the UI can see.\n const exportConfig = resolveCollectionExportConfig(operation);\n const selections = exportConfig ? listCollectionExportSelections(exportConfig) : [];\n const label = resolveComponentLabel({\n tComponent,\n componentType: FrontendComponentType.RESOURCES_LAYOUTS_OPERATIONS_ITEMS,\n key: 'collectionExport',\n });\n const base = label && label !== 'collectionExport' ? label : 'Export';\n // Only ONE thing on offer ⇒ name it, so the button is not a mystery about which file arrives.\n // Several ⇒ stay generic: the choice is in the menu, and repeating one of them in the trigger\n // would imply that one is what clicking does.\n return selections.length === 1 ? `${base} ${selections[0]!.format.toUpperCase()}` : base;\n }\n\n if (isGeneratedFileRegenerateOperation(operation)) {\n const fieldLabel = humanizeGeneratedFileFieldName(operation);\n if (fieldLabel) {\n return `Regenerate ${fieldLabel} file`;\n }\n const label = resolveComponentLabel({\n tComponent,\n componentType: FrontendComponentType.RESOURCES_LAYOUTS_OPERATIONS_ITEMS,\n key: 'generatedFileRegenerate',\n });\n if (label && label !== 'generatedFileRegenerate') {\n return label;\n }\n return 'Regenerate file';\n }\n\n // Core operations (READ, UPDATE, DELETE) own a registered i18n key —\n // try the framework's component-level i18n bundle first.\n const labelKey = CORE_OPERATION_LABEL_KEYS[opId];\n if (labelKey) {\n const label = resolveComponentLabel({\n tComponent,\n componentType: FrontendComponentType.RESOURCES_LAYOUTS_OPERATIONS_ITEMS,\n key: labelKey,\n });\n if (label) return label;\n }\n\n // Custom operations (anything outside `CORE_OPERATION_LABEL_KEYS`) come\n // from the application developer. Prefer the resource's generated\n // per-operation TITLE (`resources.{res}.operations.{op}.title`) — the SAME\n // label the form host, header, and launcher resolve via `tResourceOperation`\n // — so a scope-level \"Retry all\" / \"Purge all\" reads correctly (and the\n // CRITICAL type-to-confirm phrase is a real word, not a camelCase-mangled\n // id). `tResourceOperation` returns '' (or the raw `resources.` key path)\n // when the title is not generated yet, in which case we fall back to a\n // humanized identifier so unregistered custom op ids remain visible and\n // addressable instead of vanishing.\n //\n // Examples: `switch_mode` → \"Switch mode\", `regenerate_secret` →\n // \"Regenerate secret\", `retry_all` → \"Retry all\" (or generated title).\n const generatedTitle = tResourceOperation(resourceType, opId, 'title');\n if (generatedTitle && !generatedTitle.startsWith('resources.')) {\n return generatedTitle;\n }\n return opId.charAt(0).toUpperCase() + opId.slice(1).replace(/_/g, ' ').toLowerCase();\n }, [tComponent, tResourceOperation, resourceType]);\n\n // Resolve icon for an operation\n const getOperationIcon = useCallback((operation: FrontendResourceConfiguration_Operation) => {\n return renderIcon(\n {\n category: IconCategory.OPERATION_RESOURCES,\n resourceType,\n operationReference: String(operation.operationIdentifier),\n },\n { size: IconSize.SM }\n );\n }, [renderIcon, resourceType]);\n\n // Get display priority for an operation\n const getDisplayPriority = useCallback((operation: FrontendResourceConfiguration_Operation): number => {\n // Check explicit displayPriority on frontend config\n const frontEndConfig = operation.operationFrontendConfig;\n if (frontEndConfig?.displayPriority !== undefined) {\n return frontEndConfig.displayPriority;\n }\n // Default by operation type\n const opId = resolveEffectiveCoreOperationFromOperation(operation) ?? String(operation.operationIdentifier);\n return DEFAULT_DISPLAY_PRIORITIES[opId] ?? DEFAULT_CUSTOM_OPERATION_PRIORITY;\n }, []);\n\n // Get full operation enabled entry (enabled status + feature availability)\n const getOperationEntry = useCallback((operation: FrontendResourceConfiguration_Operation): OperationEnabledEntry => {\n const operationKey = buildOperationEnabledKey(operation);\n // Async enabled conditions and deferred feature availability should fail closed until evaluation resolves.\n if (!enabledMap.has(operationKey)) {\n return (operation.enabledCondition || operation.requiredFeatures)\n ? { isEnabled: false }\n : { isEnabled: true };\n }\n return enabledMap.get(operationKey)!;\n }, [enabledMap]);\n\n // Check if an operation is enabled (from enabledCondition + feature evaluation)\n const isOperationEnabled = useCallback((operation: FrontendResourceConfiguration_Operation): boolean => {\n return getOperationEntry(operation).isEnabled;\n }, [getOperationEntry]);\n\n /**\n * The operation context an action hands to whatever host presents it.\n *\n * Extracted from `handleNavigateOperation` because the ANCHORED host needs the identical context:\n * a popover and a page must present the same operation, with the same bulk selection and the same\n * success discriminator, or the two hosts quietly become two contracts.\n */\n const buildOperationContext = useCallback((operation: FrontendResourceConfiguration_Operation) => {\n return frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n resourceType,\n operation,\n contextResourceIdentifiers: contextResourceIdentifiersWithIdEvidence,\n additionalContext: {\n ...(operation.isBulkOperation === true && selectedItemIds?.length\n ? {\n [BULK_OPERATION_SELECTION_IDS_CONTEXT_KEY]: selectedItemIds,\n }\n : {}),\n ...(effectiveSuccessDiscriminator\n ? {\n [RESOURCE_OPERATION_EXECUTED_DISCRIMINATOR_CONTEXT_KEY]: effectiveSuccessDiscriminator,\n }\n : {}),\n },\n parentResourcesRequirements: stableParentResourcesRequirements,\n isOperationDefault: operation.isOperationDefault ?? true,\n });\n }, [resourceType, contextResourceIdentifiersWithIdEvidence, stableParentResourcesRequirements, selectedItemIds, effectiveSuccessDiscriminator]);\n\n // Navigate to an operation (UPDATE, READ, etc.)\n const handleNavigateOperation = useCallback((operation: FrontendResourceConfiguration_Operation) => {\n if (!resourceConfig) return;\n\n const opContext = buildOperationContext(operation);\n\n const normalizedContextIdentifiers = FrontendResourceUtils.flattenContextIdentifiers(\n contextResourceIdentifiersWithIdEvidence,\n );\n const urlPath = NavigationUtils.resolveResourceUrl(\n resourceConfig as any,\n operation as any,\n normalizedContextIdentifiers,\n registry.allResourceFieldIdentifiers,\n stableParentResourcesRequirements as any,\n )?.resolvedUrl;\n\n navigateToResource(\n opContext,\n NavigationUtils.createOperationInitiator(navigationZone, operationId),\n urlPath\n );\n }, [resourceConfig, buildOperationContext, contextResourceIdentifiersWithIdEvidence, stableParentResourcesRequirements, registry, navigateToResource, navigationZone, operationId]);\n\n // Execute an operation (DELETE, custom, etc.)\n /**\n * Fetch the export and hand the file to the browser.\n *\n * Three refusals, each silent-by-design in a different way and each therefore reported to the user\n * rather than swallowed:\n * - no export contract on the operation (a projection that dropped `generatedOperation`);\n * - no resolvable URL (a parent id missing from the current context — the builder answers `null`\n * rather than producing a route that would 404);\n * - no application context (no provider mounted), so there is no authenticated client to fetch\n * with. A plain `<a href>` would \"work\" and download an HTML login page named `.csv`.\n */\n const handleCollectionExportDownload = useCallback(async (\n operation: FrontendResourceConfiguration_Operation,\n selection: ResourceCollectionExportSelection,\n ): Promise<void> => {\n const exportConfig = resolveCollectionExportConfig(operation);\n const httpClient = applicationRef.current?.httpClient;\n if (!exportConfig || !httpClient) {\n notificationRef.current?.notifyError?.('This export is not available here.');\n return;\n }\n\n // REFUSE rather than export the wrong thing. When the listing is showing text-search results it\n // is driving the SEARCH operation, and this companion exports its own source — a LIST export\n // would quietly return rows the user is not looking at, which is the worst kind of correct\n // response. A resource that declares `collectionExport` on SEARCH too gets its own companion and\n // this branch never fires for it.\n const listingQueryNow = collectionExportQueryRef.current;\n const exportsSearchResults = operation.resourceOperationLike === CoreResourceOperation.SEARCH;\n if (listingQueryNow?.isSearchActive && !exportsSearchResults) {\n notificationRef.current?.notifyError?.(\n 'Clear the search box before exporting — this export covers filters and sorting, not text search.',\n );\n return;\n }\n\n const { format, rowScope } = selection;\n const url = buildCollectionExportUrl({\n registry,\n resourceConfig,\n exportOperation: operation,\n resourceType,\n // The TRANSPORT-normalized map, not the raw one: a caller may pass\n // `{ fieldIdentifier, resourceId }` evidence objects, and route matching wants plain ids. The\n // normalizer is the same one every other transport-facing call in this hook uses.\n contextResourceIdentifiers: normalizeContextResourceIdentifiersForTransport(contextResourceIdentifiers) as Record<string, string>,\n contextualParameters,\n parentResourcesRequirements: stableParentResourcesRequirements,\n apiBaseUrl: envLoader.getApiUrl(),\n format,\n rowScope,\n // The listing's OWN query — the filters, sort and page the user is looking at. Without it the\n // export answers a different question from the screen it was clicked on, and a `VISIBLE_PAGE`\n // export in particular becomes meaningless: it would return page 1 of an unfiltered set.\n listingQuery: rowScope === ResourceCollectionExportRowScope.FULL_RESULT_SET\n ? omitPaginationFromListingQuery(listingQueryNow?.params)\n : listingQueryNow?.params,\n });\n if (!url) {\n notificationRef.current?.notifyError?.('This export cannot be addressed from here.');\n return;\n }\n\n try {\n await downloadCollectionExport({\n url,\n resourceType,\n format,\n // `fetchFileBlob` is the authenticated byte path — the access token lives in the http client,\n // not in a cookie a browser navigation would carry.\n getBlob: (blobUrl: string) => httpClient.fetchFileBlob(blobUrl),\n });\n } catch (error) {\n // The backend REFUSES rather than truncating when an export exceeds its declared ceiling, so a\n // failure here is a message worth showing — silently doing nothing would read as a dead button.\n notificationRef.current?.notifyError?.(\n error instanceof Error && error.message ? error.message : 'The export could not be produced.',\n );\n }\n }, [\n registry,\n resourceConfig,\n resourceType,\n contextResourceIdentifiers,\n contextualParameters,\n stableParentResourcesRequirements,\n // `collectionExportQuery` is deliberately ABSENT: it is read through its ref above, so listing it\n // here would rebuild every export button on every keystroke in a filter for no behavioural gain.\n ]);\n\n const handleExecuteOperation = useCallback(async (operation: FrontendResourceConfiguration_Operation) => {\n if (!resourceConfig) return;\n\n setIsExecuting(true);\n try {\n const operationPathKey = ResourcesConfig_OperationPathUtils.createOperationPathKeyFromOperation(operation);\n\n // Request body. Bulk ops send the selection; a ROW-TARGETED action sends the\n // clicked row's id under its declared `rowTargetRequestField` (e.g. a per-row\n // \"Retry\" whose backend reads `{ entryId }` from the body — the id also rides\n // the URL path, which that handler ignores). Mutually exclusive: a\n // row-targeted action is ITEM-scoped, never bulk. Collection-scoped drain\n // ops carry no `rowTargetRequestField`, so they send an empty body.\n const isBulk = operation.isBulkOperation ?? false;\n const rowTargetField = operation.operationFrontendConfig?.rowTargetRequestField;\n const rowTargetId = rowTargetField\n ? frontendResourceUtils.getResourceId(contextResourceIdentifiersWithIdEvidence[resourceType])\n : '';\n const requestData = isBulk && selectedItemIds?.length\n ? buildBulkOperationSelectorPayload(selectedItemIds)\n : rowTargetField && rowTargetId\n ? { [rowTargetField]: rowTargetId }\n : undefined;\n\n // A row-targeted action MUST resolve the clicked row's id (it is injected\n // into the request body). If it cannot, fail loudly through the catch below\n // rather than POST an empty body the backend rejects as not-found. In\n // practice a per-row action always carries its id; this guards a\n // misconfiguration / missing-context edge.\n if (rowTargetField && !rowTargetId) {\n throw new Error(`Row-targeted operation \"${String(operation.operationIdentifier)}\" could not resolve the target row id from context.`);\n }\n\n const result = await doOperationRef.current(\n operationPathKey,\n {\n contextualParameters,\n parentResourcesRequirements: stableParentResourcesRequirements,\n ...(requestData ? { requestData } : {}),\n },\n // silent: the resource layer owns the failure UX — the catch below emits a\n // single NOTIFY_RESOURCE_ERROR toast. Suppress the global error toast so\n // action-bar operations (delete, custom, bulk) match the form's model.\n { silent: true },\n );\n\n // Surface any human summary the action returned (\"Re-queued 3 of 5; skipped\n // 2\", \"Purged N entries\") as a success toast. Best-effort: fires only when a\n // NotificationProvider is mounted (see `notificationRef`) and the result is a\n // plain object carrying a non-empty string `message`. This is the ONLY path\n // that surfaces a custom op's response message — the resource-notification\n // event path resolves the operation title, not the response body.\n const resultMessage = result && typeof result === 'object' && !Array.isArray(result)\n ? (result as Record<string, unknown>).message\n : undefined;\n if (typeof resultMessage === 'string' && resultMessage.length > 0) {\n notificationRef.current?.notifySuccess(resultMessage);\n }\n\n // Build the post-operation side effects (refresh + callback) as a single closure\n const runPostOperationEffects = () => {\n const isGeneratedFileRegenerate = isGeneratedFileRegenerateOperation(operation);\n const normalizedTransportContext = normalizeContextResourceIdentifiersForTransport(contextResourceIdentifiersWithIdEvidence);\n const normalizedOutcomeContext = normalizeContextResourceIdentifiersForOutcome({\n contextResourceIdentifiers: contextResourceIdentifiersWithIdEvidence,\n resourceType,\n result,\n });\n const outcomeContextualParameters = FrontendResourceUtils.buildContextualParameters(\n normalizedOutcomeContext,\n registry,\n );\n const resultSummary = typeof result === 'object' && result !== null\n ? result as Record<string, unknown>\n : undefined;\n\n if (!isWebSocketConnectedRef.current && shouldEmitResourceRefreshAfterDirectOperation(operation)) {\n const listOperations = getOperationsForCoreSemantic(\n (resourceConfig.operations as FrontendResourceConfiguration_Operation[] | undefined) ?? [],\n CoreResourceOperation.LIST,\n ).filter((listOperation) =>\n operationInitiatorParametersSatisfied(\n listOperation,\n contextResourceIdentifiersWithIdEvidence,\n contextualParameters,\n )\n );\n const { [resourceType]: _self, ...parentScopeIdentifiers } = normalizedTransportContext;\n const refreshTargets = listOperations.length > 0\n ? listOperations\n : [null];\n\n for (const listOperation of refreshTargets) {\n const listOperationContext = listOperation\n ?? ({ operationIdentifier: CoreResourceOperation.LIST } as FrontendResourceConfiguration_Operation);\n emitRef.current(FrontendEvents.RESOURCE_REFRESH, {\n resourceType,\n operationIdentifier: String(listOperationContext.operationIdentifier ?? CoreResourceOperation.LIST),\n operation: listOperationContext,\n variantType: listOperation?.variantType,\n isOperationDefault: listOperation?.isOperationDefault ?? true,\n isBulkOperation: listOperation?.isBulkOperation ?? false,\n variantKey: listOperation?.variantKey,\n contextResourceIdentifiers: parentScopeIdentifiers,\n parentResourcesRequirements: stableParentResourcesRequirements,\n ...(effectiveSuccessDiscriminator ? { optionalDiscriminator: effectiveSuccessDiscriminator } : {}),\n });\n }\n\n if (isGeneratedFileRegenerate) {\n const readOperations = getOperationsForCoreSemantic(\n (resourceConfig.operations as FrontendResourceConfiguration_Operation[] | undefined) ?? [],\n CoreResourceOperation.READ,\n {\n requireAddressable: true,\n },\n ).filter((readOperation) =>\n isFrontendOperationAddressableForCurrentContext({\n resourceConfig,\n operation: readOperation,\n registry,\n hasResourceId: frontendResourceUtils.getResourceId(normalizedOutcomeContext[resourceType]).length > 0,\n contextResourceIdentifiers: normalizedOutcomeContext,\n contextualParameters: outcomeContextualParameters,\n })\n );\n const readRefreshTargets = readOperations.length > 0\n ? readOperations\n : [null];\n const emittedReadOperationKeys = new Set<string>();\n\n for (const readOperation of readRefreshTargets) {\n const readOperationContext = readOperation\n ?? ({ operationIdentifier: CoreResourceOperation.READ } as FrontendResourceConfiguration_Operation);\n const readOperationKey = [\n frontendResourceUtils.getResourceId(normalizedOutcomeContext[resourceType]),\n String(readOperationContext.operationIdentifier),\n readOperationContext.variantType ?? '',\n readOperationContext.variantKey ?? '',\n readOperationContext.isBulkOperation ?? false,\n ].join(':');\n if (emittedReadOperationKeys.has(readOperationKey)) {\n continue;\n }\n emittedReadOperationKeys.add(readOperationKey);\n\n emitRef.current(FrontendEvents.RESOURCE_REFRESH, {\n resourceType,\n operationIdentifier: String(readOperationContext.operationIdentifier ?? CoreResourceOperation.READ),\n operation: readOperationContext,\n variantType: readOperation?.variantType,\n isOperationDefault: readOperation?.isOperationDefault ?? true,\n isBulkOperation: readOperation?.isBulkOperation ?? false,\n variantKey: readOperation?.variantKey,\n contextResourceIdentifiers: normalizedOutcomeContext,\n parentResourcesRequirements: stableParentResourcesRequirements,\n ...(effectiveSuccessDiscriminator ? { optionalDiscriminator: effectiveSuccessDiscriminator } : {}),\n });\n }\n }\n }\n\n emitRef.current(FrontendEvents.RESOURCE_OPERATION_EXECUTED, {\n resourceType,\n operationIdentifier: String(operation.operationIdentifier),\n operation,\n variantType: operation.variantType,\n isOperationDefault: operation.isOperationDefault ?? true,\n isBulkOperation: operation.isBulkOperation ?? false,\n variantKey: operation.variantKey,\n contextResourceIdentifiers: normalizedOutcomeContext,\n parentResourcesRequirements: stableParentResourcesRequirements,\n resultSummary,\n ...(effectiveSuccessDiscriminator ? { optionalDiscriminator: effectiveSuccessDiscriminator } : {}),\n });\n onOperationExecuted?.(operation);\n };\n\n // Check for ephemeral fields in the response (API keys, tokens, etc.)\n if (result && typeof result === 'object') {\n const detectedEphemeral = extractEphemeralFields(\n operation.responseDto,\n result as Record<string, unknown>\n );\n if (detectedEphemeral.length > 0) {\n setEphemeralFields(detectedEphemeral);\n ephemeralPostAcknowledgeRef.current = runPostOperationEffects;\n return;\n }\n }\n\n runPostOperationEffects();\n } catch (err) {\n console.error(`[useResourceOperationActions] Operation ${String(operation.operationIdentifier)} failed:`, err);\n\n // Resource layer owns the failure UX: emit ONE resource error toast. The\n // doOperation above passes `silent: true` so the global error toast is\n // suppressed — this mirrors the form's NOTIFY_RESOURCE_ERROR contract so\n // action-bar operations (delete, custom, bulk) surface failures consistently\n // and with a localized message (resolved via tErrorMessage in NotificationContext).\n const failure = (err && typeof err === 'object')\n ? err as { customMessageReference?: string; httpStatus?: number; message?: string }\n : {};\n emitRef.current(FrontendEvents.NOTIFY_RESOURCE_ERROR, {\n resourceType,\n operationIdentifier: String(operation.operationIdentifier),\n operation,\n variantType: operation.variantType,\n isOperationDefault: operation.isOperationDefault ?? true,\n isBulkOperation: operation.isBulkOperation ?? false,\n variantKey: operation.variantKey,\n contextResourceIdentifiers: normalizeContextResourceIdentifiersForTransport(contextResourceIdentifiersWithIdEvidence),\n parentResourcesRequirements: stableParentResourcesRequirements,\n additionalContext: {\n error: failure.message ?? (err instanceof Error ? err.message : String(err)),\n errorCustomMessageReference: failure.customMessageReference,\n errorHttpStatus: failure.httpStatus,\n },\n });\n } finally {\n setIsExecuting(false);\n }\n }, [\n resourceConfig,\n resourceType,\n registry,\n contextualParameters,\n contextResourceIdentifiersWithIdEvidence,\n stableParentResourcesRequirements,\n selectedItemIds,\n effectiveSuccessDiscriminator,\n onOperationExecuted,\n ]);\n\n // Handle click — navigate, execute, or show confirmation\n const handleOperationClick = useCallback((operation: FrontendResourceConfiguration_Operation) => {\n // ── COLLECTION EXPORT ───────────────────────────────────────────────────────────────────\n // Intercepted BEFORE the navigate-vs-execute decision below, because it is neither. The export\n // carries the listing's `requestDto` (every field optional), which the generic rule would read as\n // \"has input ⇒ navigate to a form\"; and it answers BYTES, which the direct-execute path would\n // hand to a JSON result pipeline. It is its own third shape: fetch and give the browser a file.\n if (isGeneratedCollectionExportOperation(operation)) {\n // Reached only for the single-selection case (the menu wires each item's own selection\n // directly). Falling back to the first offered pair keeps a click meaningful rather than\n // silently doing nothing if an export ever arrives here with several on offer.\n const exportConfig = resolveCollectionExportConfig(operation);\n const selections = exportConfig ? listCollectionExportSelections(exportConfig) : [];\n if (selections.length > 0) void handleCollectionExportDownload(operation, selections[0]!);\n return;\n }\n\n const opId = String(operation.operationIdentifier);\n const riskLevel = operation.riskLevel;\n\n // ── The single question: HOW does this action collect its input? ──\n //\n // Every outcome below is one answer to it. Before this axis existed the answer was a bare rule —\n // *has a `requestDto` ⇒ navigate* — so an action asking for one reason string got the same full\n // page as a multi-step wizard, and the only way out was to hand-author `navigationOverrides` per\n // operation in terms of a zone, a verb and an appearance.\n //\n // `resolveResourceOperationActionPresentation` returns an AUTHORED presentation untouched and\n // otherwise derives one; the derivation deliberately reproduces every in-place shape this\n // handler already had (row-targeted actions, zero-input collection actions, generated-file\n // regenerate), so the axis DESCRIBES the framework's behaviour instead of sitting beside it.\n const presentation = resolveResourceOperationActionPresentation(operation);\n\n if (presentation === ResourceOperationActionPresentation.INLINE && inPlaceHost.isAvailable) {\n // The clicked row transforms itself; neighbours stay put and the zone stack is untouched.\n // Guarded on `isAvailable` because the SAME action also renders where there is no row to\n // transform (a detail page, a danger zone, a picker) — there it falls through to the overlay\n // below rather than becoming a button that does nothing.\n const elementId = frontendResourceUtils.getResourceId(contextResourceIdentifiersWithIdEvidence[resourceType]);\n if (elementId) {\n inPlaceHost.open({\n kind: InPlaceOperationTargetKind.ELEMENT,\n elementId,\n operation,\n resourceContext: buildOperationContext(operation),\n });\n return;\n }\n }\n\n if (presentation === ResourceOperationActionPresentation.POPOVER) {\n // The panel is rendered BY the action bar, anchored to this very button, so all this handler\n // does is name which operation is open. A bar that cannot anchor (an item collapsed into the\n // overflow menu or nested in a subgroup) never routes here — it calls `onClick` on the item,\n // which is wired to `handleNavigateOperation` and degrades to the overlay.\n setOpenPopoverOperationKey(ResourcesConfig_OperationPathUtils.createOperationPathKeyFromOperation(operation));\n return;\n }\n\n if (\n actionPresentationNavigates(presentation)\n || presentation === ResourceOperationActionPresentation.INLINE\n ) {\n // MODAL and PAGE hand off to navigation, which turns the presentation into a transition\n // (`OVERLAY`, or the ordinary chain). The action layer does not render either — one runtime\n // mechanism, one set of zone, appearance and URL semantics.\n //\n // INLINE reaches here only as a DEGRADE: no in-place host above this action, or a row whose id\n // could not be resolved. `resolveActionPresentationTransition` maps it to an overlay, so the\n // fall-back is the nearest presentation rather than the full page the ordinary chain would\n // otherwise produce.\n handleNavigateOperation(operation);\n return;\n }\n\n // Risky operations — show confirmation first\n if (isRiskyOperation(riskLevel)) {\n // Dialog title: DELETE uses the framework \"confirmDelete\" copy; every other\n // risky action (custom collection/drain ops, lifecycle ops) names ITSELF via\n // its resolved label, so the operator sees \"Retry all\" / \"Purge all\" rather\n // than a generic confirmation with no subject.\n const confirmLabel = opId === CoreResourceOperation.DELETE\n ? resolveComponentLabel({\n tComponent,\n componentType: FrontendComponentType.RESOURCES_LAYOUTS_OPERATIONS_ITEMS,\n key: 'confirmDelete',\n })\n : getOperationLabel(operation);\n\n // CRITICAL ops demand a deliberate \"double validation\": the user must type\n // the action's label to arm the confirm button. HIGH keeps the plain single\n // confirm. (This covers direct-execute CRITICAL ops — e.g. DELETE; CRITICAL\n // ops that navigate to a form, like a reset-with-flags, carry their\n // double-validation on the form submit instead — see\n // settings-hub-framework-topics.md Topic 2.)\n const requiresTypedConfirmation = riskLevel === ResourceOperationRiskLevel.CRITICAL;\n\n setConfirmState({\n open: true,\n label: confirmLabel,\n requiresTypedConfirmation,\n confirmationPhrase: requiresTypedConfirmation ? getOperationLabel(operation) : '',\n callback: () => handleExecuteOperation(operation),\n });\n return;\n }\n\n // Non-risky executable operations — execute directly\n handleExecuteOperation(operation);\n }, [handleNavigateOperation, handleExecuteOperation, tComponent, getOperationLabel]);\n\n // Confirmation dialog handlers\n const onConfirm = useCallback(async () => {\n if (confirmState.callback) {\n await confirmState.callback();\n }\n setConfirmState({ open: false, label: '', requiresTypedConfirmation: false, confirmationPhrase: '', callback: null });\n }, [confirmState.callback]);\n\n const onCancel = useCallback(() => {\n setConfirmState({ open: false, label: '', requiresTypedConfirmation: false, confirmationPhrase: '', callback: null });\n }, []);\n\n const onEphemeralAcknowledge = useCallback(() => {\n setEphemeralFields(null);\n const deferred = ephemeralPostAcknowledgeRef.current;\n ephemeralPostAcknowledgeRef.current = null;\n deferred?.();\n }, []);\n\n /**\n * Build the anchored panel for an action that presents as a POPOVER, or `undefined` for every\n * other presentation.\n *\n * The element is created with `React.createElement` because this module is `.ts` — the same reason\n * icons arrive through `renderIcon()` rather than as JSX. The panel BODY is a component\n * (`ResourceOperationActionPopoverBody`) rather than inline markup so the execution flow it hosts\n * stays the one every other host uses.\n *\n * Note what is NOT decided here: whether the bar can actually anchor. That depends on overflow\n * caps and label-display mode, which are the bar's own layout knowledge — so the bar ignores this\n * panel where it cannot present it and falls back to the item's `onClick`.\n */\n const buildAnchoredPanel = useCallback((\n operation: FrontendResourceConfiguration_Operation,\n label: string,\n ): ActionBarButtonPopover | undefined => {\n if (resolveResourceOperationActionPresentation(operation) !== ResourceOperationActionPresentation.POPOVER) {\n return undefined;\n }\n if (!resourceConfig) {\n return undefined;\n }\n\n const operationKey = ResourcesConfig_OperationPathUtils.createOperationPathKeyFromOperation(operation);\n const dismiss = () => setOpenPopoverOperationKey(null);\n\n return {\n open: openPopoverOperationKey === operationKey,\n onOpenChange: (open: boolean) => setOpenPopoverOperationKey(open ? operationKey : null),\n title: label,\n content: React.createElement(ResourceOperationActionPopoverBody, {\n resourceContext: buildOperationContext(operation),\n navigationZone,\n onDismiss: dismiss,\n }),\n };\n }, [resourceConfig, openPopoverOperationKey, buildOperationContext, navigationZone]);\n\n // ─── Step 3: Build ActionBarItem[] from filtered & enabled operations ───\n const items = useMemo((): ActionBarItem[] => {\n if (!resourceConfig) return [];\n\n const operations = (resourceConfig.operations || []) as FrontendResourceConfiguration_Operation[];\n\n // Group filtered operations by operationIdentifier for variant subgroups.\n // Literal single-resource READ/UPDATE/DELETE variants are intersected with\n // the current route context so child-id, parent-context singleton, and\n // complete-association routes do not compete blindly in the action bar.\n const operationGroups = new Map<string, FrontendResourceConfiguration_Operation[]>();\n for (const op of filteredOps.filter(isOperationAddressableForActions)) {\n const opId = String(op.operationIdentifier);\n if (!operationGroups.has(opId)) {\n operationGroups.set(opId, []);\n }\n operationGroups.get(opId)!.push(op);\n }\n\n // Build ActionBarItems — use internal type for sorting + feature metadata\n type PrioritizedItem = (ActionBarButton | ActionBarSubGroup) & {\n _priority: number;\n _group: ActionPlacement;\n featureLocked?: boolean;\n featureAvailability?: Record<string, unknown>;\n };\n const actionItems: PrioritizedItem[] = [];\n\n for (const [opId, groupVariants] of operationGroups) {\n // Collapse the group to ONLY the highest-right-level variant(s) the viewer\n // qualifies for. Variants of an operation exist to give different behaviour\n // according to rights, so a viewer should see only the highest one — e.g. a\n // super-admin who is also an org member sees the super-admin READ variant,\n // not both it and the member variant. The group is already role-gated\n // (`filteredOps`), so this just keeps the max-rights subset; variants that\n // TIE at the top rank (equal rights — context/variantKey variants, not a\n // rights distinction) are all kept and fall through to the default/sub-group\n // logic below. Composite/execution views bypass this hook entirely, so they\n // may still surface all variants (the intended exception, for now).\n //\n // Rank among variants the viewer can currently USE: a higher-rights variant\n // that is disabled (failing `enabledCondition` / feature-locked) must NOT\n // mask an enabled lower-rights variant of the same operation (that would\n // leave a dead button). Fall back to the full group when none are enabled,\n // so a wholly-unavailable operation still surfaces its highest-rights variant\n // (rendered disabled / feature-locked) exactly as before.\n const enabledGroupVariants = groupVariants.filter((v) => getOperationEntry(v).isEnabled);\n const variants = selectHighestRightsVariants(\n enabledGroupVariants.length > 0 ? enabledGroupVariants : groupVariants,\n );\n // Prefer the explicit non-bulk default variant for the group's primary\n // label/risk/icon. Undefined default flags should not masquerade as the\n // canonical operation because variants are already materialized by the registry.\n const defaultVariant = variants.find((v) => v.isOperationDefault === true && v.isBulkOperation !== true)\n || variants.find((v) => v.isOperationDefault === true)\n || variants[0];\n const entry = getOperationEntry(defaultVariant);\n\n // Visibility of a disabled action. A WHEN_AVAILABLE operation vanishes\n // (rather than rendering disabled) when its enabledCondition is unmet —\n // e.g. ACTIVATE on an already-active org. When the operation declares NO\n // explicit `actionVisibility`, the VIEW's disclosure policy decides:\n // dense surfaces (SUMMARY) default to HIDE so rows aren't cluttered with\n // greyed, non-actionable buttons; roomy surfaces (DETAIL) default to\n // SHOW_DISABLED. Feature-gated unavailability is EXCLUDED from this hide —\n // it keeps its own FeatureUnavailabilityBehavior (upgrade/prompt) handled\n // below. Display-only; backend authorization is unchanged. Evaluated here\n // (not in `filteredOps`) because it depends on the async enabledCondition\n // result captured in `entry`.\n const explicitVisibility = defaultVariant.operationFrontendConfig?.actionVisibility;\n const isFeatureGated = !!(entry.featureAvailability && !entry.featureAvailability.isAvailable);\n const effectiveVisibility = explicitVisibility\n ?? (disclosure.disabledActionHandling === DisabledActionHandling.HIDE && !isFeatureGated\n ? ActionVisibility.WHEN_AVAILABLE\n : ActionVisibility.ALWAYS);\n if (effectiveVisibility === ActionVisibility.WHEN_AVAILABLE && !entry.isEnabled) {\n continue;\n }\n\n const variantEntries = new Map(\n variants.map((variant) => [variant, getOperationEntry(variant)] as const),\n );\n const riskLevel = defaultVariant.riskLevel;\n // Colour: explicit `actionVariant` override wins; otherwise derive from risk.\n const variant = defaultVariant.operationFrontendConfig?.actionVariant ?? riskLevelToVariant(riskLevel);\n const icon = getOperationIcon(defaultVariant);\n const label = getOperationLabel(defaultVariant);\n const priority = getDisplayPriority(defaultVariant);\n // Placement: explicit `actionPlacement` override wins; otherwise derive from\n // risk (HIGH/CRITICAL trail in the danger zone). Tagged on every emitted item\n // via `_group`, consumed by the group-then-priority sort below.\n const placement: ActionPlacement = defaultVariant.operationFrontendConfig?.actionPlacement\n ?? (isRiskyOperation(riskLevel) ? ActionPlacement.DANGER_ZONE : ActionPlacement.PRIMARY);\n // Surface filter: the main bar requests PRIMARY, the danger-zone section\n // requests DANGER_ZONE; omitted returns both (separated).\n if (placementFilter && placement !== placementFilter) continue;\n const disabled = !entry.isEnabled;\n\n // ── Feature-aware behavior switch ──\n // When disabled due to feature unavailability, apply the appropriate behavior\n if (disabled && entry.featureAvailability && !entry.featureAvailability.isAvailable) {\n const fa = entry.featureAvailability;\n\n switch (fa.behavior) {\n case FeatureUnavailabilityBehavior.HIDE:\n // Skip this action entirely — don't add to action bar\n continue;\n\n case FeatureUnavailabilityBehavior.DISABLE:\n // Show disabled, no special treatment (falls through to normal disabled rendering below)\n break;\n\n case FeatureUnavailabilityBehavior.UPGRADE_PROMPT:\n case FeatureUnavailabilityBehavior.ADDON_PROMPT:\n case FeatureUnavailabilityBehavior.LIMIT_UPGRADE_PROMPT:\n case FeatureUnavailabilityBehavior.CONTACT_ADMIN:\n case FeatureUnavailabilityBehavior.CUSTOM:\n // Show disabled with feature-locked metadata\n // The UI layer (ActionBar) can render a lock icon / badge based on featureLocked\n if (variants.length === 1) {\n actionItems.push({\n type: 'button' as const,\n icon,\n label,\n variant,\n onClick: () => handleOperationClick(defaultVariant),\n disabled: true,\n featureLocked: true,\n featureAvailability: toActionBarFeatureAvailability(fa),\n _priority: priority,\n _group: placement,\n riskLevel,\n operationIdentifier: String(defaultVariant.operationIdentifier),\n } as PrioritizedItem);\n } else {\n actionItems.push({\n type: 'subgroup' as const,\n icon,\n label,\n variant,\n items: [],\n disabled: true,\n featureLocked: true,\n featureAvailability: toActionBarFeatureAvailability(fa),\n _priority: priority,\n _group: placement,\n riskLevel,\n operationIdentifier: String(defaultVariant.operationIdentifier),\n } as PrioritizedItem);\n }\n continue; // Skip normal rendering below\n }\n }\n\n // ── COLLECTION EXPORT — one item per OFFERED COMBINATION, not per operation variant ──\n // Every other action in this bar fans out by operation VARIANT. An export has exactly one\n // variant and N choices inside it (format × row scope), so the fan-out is over the declared\n // selectors instead. Committing to one pair and hiding the rest would be the surface answering\n // a question the user was never asked.\n const exportConfigForItems = isGeneratedCollectionExportOperation(defaultVariant)\n ? resolveCollectionExportConfig(defaultVariant)\n : undefined;\n if (exportConfigForItems) {\n const selections = listCollectionExportSelections(exportConfigForItems);\n if (selections.length === 1) {\n actionItems.push({\n type: 'button' as const,\n icon,\n label,\n variant,\n onClick: () => { void handleCollectionExportDownload(defaultVariant, selections[0]!); },\n disabled,\n _priority: priority,\n _group: placement,\n riskLevel,\n operationIdentifier: String(defaultVariant.operationIdentifier),\n });\n } else if (selections.length > 1) {\n actionItems.push({\n type: 'subgroup' as const,\n icon,\n label,\n variant,\n items: selections.map((selection) => ({\n type: 'button' as const,\n icon,\n label: describeCollectionExportSelection(selection),\n variant,\n riskLevel,\n operationIdentifier: String(defaultVariant.operationIdentifier),\n onClick: () => { void handleCollectionExportDownload(defaultVariant, selection); },\n disabled,\n })),\n disabled,\n _priority: priority,\n _group: placement,\n riskLevel,\n operationIdentifier: String(defaultVariant.operationIdentifier),\n } as PrioritizedItem);\n }\n continue;\n }\n\n if (variants.length === 1) {\n // Single variant — simple button\n const anchoredPanel = buildAnchoredPanel(defaultVariant, label);\n actionItems.push({\n type: 'button' as const,\n icon,\n label,\n variant,\n // A POPOVER action's `onClick` is the DEGRADE path, not the normal one. The bar wires the\n // normal path to the popover trigger; `onClick` is reached only where the bar cannot\n // anchor (an item collapsed into the overflow menu, or nested in a subgroup), and there\n // the right answer is the overlay — never the page the ordinary chain would otherwise\n // produce for a popover-shaped action.\n onClick: anchoredPanel\n ? () => handleNavigateOperation(defaultVariant)\n : () => handleOperationClick(defaultVariant),\n ...(anchoredPanel ? { popover: anchoredPanel } : {}),\n disabled,\n _priority: priority,\n _group: placement,\n riskLevel,\n operationIdentifier: String(defaultVariant.operationIdentifier),\n });\n } else {\n // Multiple variants — render as ActionBarSubGroup\n // Default variant provides the trigger label/icon. The subgroup should stay\n // usable when at least one variant is still enabled.\n const nonDefaultVariants = variants.filter((v) => v !== defaultVariant);\n const subItems: ActionBarButton[] = nonDefaultVariants.flatMap((v) => {\n const vEntry = variantEntries.get(v)!;\n if (\n vEntry.featureAvailability\n && !vEntry.featureAvailability.isAvailable\n && vEntry.featureAvailability.behavior === FeatureUnavailabilityBehavior.HIDE\n ) {\n return [];\n }\n const vKey = v.variantKey;\n const vLabel = vKey ? `${label} (${vKey})` : label;\n const vRisk = v.riskLevel;\n return [{\n type: 'button' as const,\n icon: getOperationIcon(v),\n label: vLabel,\n variant: riskLevelToVariant(vRisk),\n riskLevel: vRisk,\n operationIdentifier: String(v.operationIdentifier),\n onClick: () => handleOperationClick(v),\n disabled: !vEntry.isEnabled,\n ...(vEntry.featureAvailability && !vEntry.featureAvailability.isAvailable\n ? {\n featureLocked: true,\n featureAvailability: toActionBarFeatureAvailability(vEntry.featureAvailability),\n }\n : {}),\n }];\n });\n\n const subgroupDisabled = !entry.isEnabled && subItems.every((item) => item.disabled === true);\n\n if (subItems.length === 0) {\n actionItems.push({\n type: 'button' as const,\n icon,\n label,\n variant,\n onClick: () => handleOperationClick(defaultVariant),\n disabled,\n _priority: priority,\n _group: placement,\n riskLevel,\n operationIdentifier: String(defaultVariant.operationIdentifier),\n ...(entry.featureAvailability && !entry.featureAvailability.isAvailable\n ? {\n featureLocked: true,\n featureAvailability: toActionBarFeatureAvailability(entry.featureAvailability),\n }\n : {}),\n });\n continue;\n }\n\n actionItems.push({\n type: 'subgroup' as const,\n icon,\n label,\n variant,\n items: subItems,\n disabled: subgroupDisabled,\n _priority: priority,\n _group: placement,\n riskLevel,\n operationIdentifier: String(defaultVariant.operationIdentifier),\n });\n }\n }\n\n // Inject \"View Details\" in summary mode if READ operation is available —\n // UNLESS the host row is itself the READ affordance (`suppressViewDetails`),\n // in which case the eye button would just duplicate the row click.\n if (\n displayMode === ResourceOperationDisplayMode.SUMMARY\n && placementFilter !== ActionPlacement.DANGER_ZONE\n && !suppressViewDetails\n ) {\n const readOp = resourceConfig\n ? pickPreferredOperationForCoreSemanticAddressability({\n resourceConfig,\n operations,\n coreOperation: CoreResourceOperation.READ,\n registry,\n hasResourceId: hasCurrentResourceId,\n requireFrontendAddressable: true,\n contextResourceIdentifiers: contextResourceIdentifiersWithIdEvidence,\n contextualParameters,\n })\n : undefined;\n if (readOp) {\n const viewLabel = resolveComponentLabel({\n tComponent,\n componentType: FrontendComponentType.RESOURCES_LAYOUTS_OPERATIONS_ITEMS,\n key: 'viewDetails',\n });\n actionItems.push({\n type: 'button' as const,\n icon: renderIcon(\n StandardIconReference.EYE,\n { size: IconSize.SM }\n ),\n label: viewLabel,\n variant: ButtonVariants_Variant.GHOST,\n onClick: () => handleNavigateOperation(readOp),\n disabled: false,\n _priority: VIEW_DETAILS_PRIORITY,\n _group: ActionPlacement.PRIMARY,\n });\n }\n }\n\n // Group-then-priority sort: every PRIMARY action first, the DANGER_ZONE group\n // last, each ordered internally by display priority (lower = first).\n const groupRank = (group: ActionPlacement): number => (group === ActionPlacement.DANGER_ZONE ? 1 : 0);\n actionItems.sort((a, b) => groupRank(a._group) - groupRank(b._group) || a._priority - b._priority);\n\n // Strip internal _priority/_group fields (preserve featureLocked +\n // featureAvailability), fencing the danger zone off from the primary group\n // with a single separator — only when both groups are actually populated.\n const finalItems: ActionBarItem[] = [];\n let previousGroup: ActionPlacement | undefined;\n for (const { _priority, _group, ...item } of actionItems) {\n // Fence fires exactly once, on the PRIMARY→DANGER_ZONE transition. Guarding\n // on the previous group (not \"any preceding item\") avoids a stray separator\n // when the bar holds only danger-zone actions.\n if (_group === ActionPlacement.DANGER_ZONE && previousGroup === ActionPlacement.PRIMARY) {\n finalItems.push({ type: 'separator' as const });\n }\n finalItems.push(item as ActionBarItem);\n previousGroup = _group;\n }\n return finalItems;\n }, [\n // `currentObject` is intentionally NOT a dependency: it is not read in this\n // memo body. It reaches `items` only transitively, via\n // `currentResourceIdEvidence` → `contextResourceIdentifiersWithIdEvidence` /\n // `contextualParameters` / `hasCurrentResourceId` (all listed), so listing the\n // raw object would rebuild every ActionBar item + onClick on each render it is\n // re-created — even when the resolved id is unchanged. (No exhaustive-deps lint\n // in this repo — this omission is deliberate; see the stabilization note above.)\n resourceConfig,\n contextResourceIdentifiersWithIdEvidence,\n contextualParameters,\n hasCurrentResourceId,\n isOperationAddressableForActions,\n registry,\n resourceType,\n filteredOps,\n enabledMap,\n displayMode,\n disclosure,\n suppressViewDetails,\n getOperationIcon,\n getOperationLabel,\n getDisplayPriority,\n isOperationEnabled,\n getOperationEntry,\n handleOperationClick,\n handleNavigateOperation,\n // The export buttons close over this callback directly (each menu item carries its own\n // selection). It is stable now that the listing query is read through a ref, so this entry is\n // correctness-by-declaration rather than load-bearing — and it must stay: dropping it would make\n // the buttons' freshness depend on the ref alone, which is true today and is not a property\n // anyone reading this list would know to preserve.\n handleCollectionExportDownload,\n tComponent,\n renderIcon,\n ]);\n\n return {\n items,\n isConfirmDialogOpen: confirmState.open,\n confirmDialogLabel: confirmState.label,\n confirmRequiresTypedConfirmation: confirmState.requiresTypedConfirmation,\n confirmConfirmationPhrase: confirmState.confirmationPhrase,\n onConfirm,\n onCancel,\n isExecuting,\n ephemeralFields,\n onEphemeralAcknowledge,\n };\n}\n"]}
1
+ {"version":3,"file":"useResourceOperationActions.js","sourceRoot":"","sources":["../../../../src/core/resources/useResourceOperationActions.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * useResourceOperationActions\n * \n * Core hook that converts resource operations into ActionBarItem[] for ActionBar rendering.\n * Handles permission filtering, enabledCondition evaluation, icon resolution, variant grouping,\n * display priority sorting, risk-level-based button variants, confirmation dialogs for critical\n * operations, and \"View Details\" injection in summary mode.\n */\n\nimport React, { useMemo, useState, useCallback, useContext, useRef } from 'react';\nimport { z } from 'zod';\nimport { useResourceRegistry } from './useResourceRegistry';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { useNavigationController } from '~wildo-frontend-lib/core/navigation/useNavigationController';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport { resolveComponentLabel } from '~wildo-frontend-lib/core/i18n/component-label-resolution.utils';\nimport { useIconRegistry } from '~wildo-frontend-lib/core/icons/useIconRegistry';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { NotificationContext } from '~wildo-frontend-lib/core/events/NotificationContext';\nimport { ApplicationContext } from '~wildo-frontend-lib/core/runtime/ApplicationContext.shared';\nimport { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\nimport {\n buildCollectionExportUrl,\n downloadCollectionExport,\n} from '~wildo-frontend-lib/core/resources/collection-export-url.frontend.utils';\nimport {\n useOperationsEnabled,\n buildOperationEnabledKey,\n type OperationEnabledEntry,\n type FeatureAvailability,\n} from './hooks/useOperationEnabled';\nimport { NavigationUtils } from '~wildo-frontend-lib/core/navigation/navigation.utils';\nimport { frontendResourceUtils, FrontendResourceUtils } from './frontend-resource.utils';\nimport { FrontendEvents } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { FrontendComponentType } from '@wildo-ai/presets-components-models';\nimport { IconCategory, IconSize, StandardIconReference } from '~wildo-frontend-lib/core/icons/icon-registry.frontend.schemas';\nimport type { NavigationZone } from '~wildo-frontend-lib/core/navigation/navigation.schemas';\nimport { WebSocketContext } from '~wildo-frontend-lib/core/requests/websockets/WebSocketContext';\nimport { extractEphemeralFields, type EphemeralFieldInfo } from './ephemeral-fields.utils';\nimport type { FrontendResource_ParentResourceRequirement } from '~wildo-frontend-lib/core/resources/resource-path.frontend.schemas';\nimport type { FrontendResourceConfiguration_Operation, FrontendResourceConfiguration } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport { ActionVisibility, ActionPlacement, DisabledActionHandling, ResourceOperationActionPresentation, resolveActionDisclosure, isOperationHeadless, isCollectionScopedOperation } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\nimport type { ActionBarItem, ActionBarButton, ActionBarButtonPopover, ActionBarSubGroup } from '~wildo-frontend-lib/components/actions/action-bar';\nimport { ResourceOperationActionPopoverBody } from '~wildo-frontend-lib/components/resources/ResourceOperationActionPopover';\nimport { InPlaceOperationTargetKind, useInPlaceOperation } from '~wildo-frontend-lib/core/resources/in-place/InPlaceOperationContext';\nimport { ButtonVariants_Variant } from '~wildo-frontend-lib/components/actions/button';\nimport {\n actionPresentationNavigates,\n BULK_OPERATION_SELECTION_IDS_CONTEXT_KEY,\n buildBulkOperationSelectorPayload,\n resolveResourceOperationActionPresentation,\n getOperationsForCoreSemantic,\n RESOURCE_OPERATION_EXECUTED_DISCRIMINATOR_CONTEXT_KEY,\n isUpdateLikeCoreOperation,\n isGeneratedFileRegenerateOperation,\n isGeneratedCollectionExportOperation,\n pickPreferredOperationForCoreSemantic,\n readResourceOperationExecutedDiscriminator,\n resolveEffectiveCoreOperationFromOperation,\n shouldEmitResourceRefreshAfterDirectOperation,\n shouldTreatAsNonItemResourceOperation,\n} from './operation-semantics.frontend.utils';\nimport {\n isFrontendOperationAddressableForCurrentContext,\n pickPreferredOperationForCoreSemanticAddressability,\n shouldRequireCurrentContextAddressabilityForOperation,\n} from './resource-addressability.frontend.utils';\nimport {\n normalizeContextResourceIdentifiersForOutcome,\n normalizeContextResourceIdentifiersForTransport,\n} from './context-resource-identifiers.frontend.utils';\n\nimport {\n CoreResourceOperation,\n ResourceOperationRiskLevel,\n ResourceOperationDisplayMode,\n ResourcesConfig_OperationPathUtils,\n Resources_SharedUtils,\n ResourceGeneratedOperationKind,\n ResourceCollectionExportFormat,\n ResourceCollectionExportRowScope,\n listCollectionExportSelections,\n type ResourceCollectionExportConfig,\n type ResourceCollectionExportSelection,\n ResourceOperationVariantType,\n FeatureUnavailabilityBehavior,\n userRolesSatisfyRequiredRoles,\n selectHighestRightsVariants,\n type ResourceType,\n} from '@wildo-ai/saas-models';\n\nfunction toActionBarFeatureAvailability(\n featureAvailability: FeatureAvailability,\n): Record<string, unknown> {\n return featureAvailability as unknown as Record<string, unknown>;\n}\n\nfunction operationInitiatorParametersSatisfied(\n operation: FrontendResourceConfiguration_Operation,\n contextResourceIdentifiers: UseResourceOperationActionsParams['contextResourceIdentifiers'],\n contextualParameters: Record<string, string | number>,\n): boolean {\n const initiatorInfos = operation.initiatorInfos ?? [];\n if (initiatorInfos.length === 0) {\n return true;\n }\n\n return initiatorInfos.some((initiatorInfo) => {\n const parameters = initiatorInfo.parameters ?? [];\n if (parameters.length === 0) {\n return true;\n }\n\n return parameters.every((parameter) => {\n const candidateKeys = [\n parameter.fieldIdentifier,\n parameter.relationshipField,\n parameter.resourceType,\n ].filter((key): key is string => typeof key === 'string' && key.length > 0);\n\n return candidateKeys.some((key) => {\n const contextResourceId = frontendResourceUtils.getResourceId(contextResourceIdentifiers[key]);\n if (contextResourceId.length > 0) {\n return true;\n }\n\n const contextualValue = contextualParameters[key];\n return contextualValue !== undefined && String(contextualValue).length > 0;\n });\n });\n });\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Types\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport interface UseResourceOperationActionsParams {\n /** Resource type identifier */\n resourceType: ResourceType;\n /** Display mode — controls \"View Details\" injection and label display */\n displayMode: ResourceOperationDisplayMode;\n /** Current item data (for enabledCondition evaluation and operation execution) */\n currentObject?: Record<string, any>;\n /** Context resource identifiers (parent IDs, etc.) */\n contextResourceIdentifiers: Record<string, string | { fieldIdentifier: string; resourceId: string }>;\n /** Parent resource requirements */\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[];\n /** Navigation zone this component lives in */\n navigationZone: NavigationZone;\n /** Operation ID for navigation initiator context */\n operationId?: string;\n /** Operations to exclude from display */\n excludeOperations?: string[];\n /** Only show bulk operations */\n bulkOnly?: boolean;\n /**\n * Render ONLY collection-scoped actions (`operationFrontendConfig.actionScope\n * === COLLECTION`) — the list's collection-action surface uses this. It is the\n * complement of the per-item bars: when `false` (the default) collection-scoped\n * ops are DROPPED so they never render per row / in the detail / danger-zone /\n * bulk bars; when `true` ONLY collection-scoped (non-bulk) ops are kept.\n */\n collectionOnly?: boolean;\n /**\n * The query the LISTING is currently showing, so a collection export answers the same question the\n * screen does. Supplied by `ResourceLayout_List`, which owns that state.\n *\n * `isSearchActive` is separate from the params because it is not a parameter to forward — it is a\n * REFUSAL condition: a LIST export cannot represent text-search results, and returning the\n * unsearched set would be a wrong answer delivered as a successful download.\n */\n collectionExportQuery?: {\n params: Record<string, string | number | undefined>;\n isSearchActive: boolean;\n };\n /** Restrict returned items to a single action placement — `PRIMARY` for the main\n * action bar, `DANGER_ZONE` for the danger-zone section. Omitted returns all\n * placements (with the danger group fenced off by a separator). */\n placementFilter?: ActionPlacement;\n /** IDs of selected items for bulk operations. Passed as requestData to doOperation. */\n selectedItemIds?: string[];\n /** Existing execution context carried by the host surface. */\n additionalContext?: Record<string, unknown>;\n /** Optional local discriminator for successful-operation side effects. */\n successDiscriminator?: string;\n /**\n * When true, skip injecting the \"View Details\" (eye) action in SUMMARY mode.\n * Set by hosts whose ROW is itself the READ affordance (list/table rows\n * navigate to the detail view on click), so the eye button doesn't duplicate\n * the row click. Default false (standalone summary contexts keep the eye).\n */\n suppressViewDetails?: boolean;\n /** Called after a non-navigable operation (DELETE, custom) executes successfully.\n * Useful for navigating back after a delete in a detail view. */\n onOperationExecuted?: (operation: FrontendResourceConfiguration_Operation) => void;\n}\n\nexport interface UseResourceOperationActionsResult {\n /** ActionBarItem array ready for ActionBar component */\n items: ActionBarItem[];\n /** Whether a confirmation dialog is currently open */\n isConfirmDialogOpen: boolean;\n /** Label for the confirmation dialog */\n confirmDialogLabel: string;\n /** Whether the open confirmation requires typed \"double validation\" (CRITICAL ops). */\n confirmRequiresTypedConfirmation: boolean;\n /** The phrase the user must type to arm the confirm button (when double-validation applies). */\n confirmConfirmationPhrase: string;\n /** Callback for confirming the pending operation */\n onConfirm: () => void;\n /** Callback for cancelling the pending operation */\n onCancel: () => void;\n /** Whether any operation is currently executing */\n isExecuting: boolean;\n /** Ephemeral fields from a completed operation that need user acknowledgment */\n ephemeralFields: EphemeralFieldInfo[] | null;\n /** Callback to acknowledge ephemeral fields have been saved */\n onEphemeralAcknowledge: () => void;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Default display priorities by operation type\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst DEFAULT_DISPLAY_PRIORITIES: Record<string, number> = {\n // VIEW_DETAILS (injected) is handled separately at priority 0\n [CoreResourceOperation.UPDATE]: 10,\n [CoreResourceOperation.CREATE]: 20,\n [CoreResourceOperation.DELETE]: 90,\n [CoreResourceOperation.DELETE_MANY]: 90,\n [CoreResourceOperation.UPDATE_MANY]: 10,\n};\n\nconst DEFAULT_CUSTOM_OPERATION_PRIORITY = 50;\nconst VIEW_DETAILS_PRIORITY = 0;\n\n/**\n * The export contract declared on a collection-export companion, or `undefined`.\n *\n * Read defensively: the frontend receives operations through several projections and the\n * semantics-level type models `generatedOperation` only loosely. A missing contract means the action\n * is not offered — never a download built from guessed defaults.\n */\nfunction resolveCollectionExportConfig(\n operation: FrontendResourceConfiguration_Operation,\n): ResourceCollectionExportConfig | undefined {\n const metadata = operation.generatedOperation as { export?: ResourceCollectionExportConfig } | undefined;\n const exportConfig = metadata?.export;\n if (!exportConfig?.formats?.length || !exportConfig.rowScopes?.length) return undefined;\n return exportConfig;\n}\n\n/**\n * Name ONE offered export in a way a person can choose between at a glance.\n *\n * The format is the coarse choice and leads; the row scope is the qualifier. \"This page\" rather than\n * the enum's own wording, because the user is looking at that page — and \"all rows\" rather than\n * \"full result set\", because what they care about is how much is about to leave, not the mechanism.\n */\n/**\n * Drop `page`/`limit` from a forwarded listing query.\n *\n * A whole-result-set export iterates internally and the backend ignores the caller's pagination for\n * that scope — but forwarding `page=3` would still be a lie in the request, and the moment anything\n * downstream started honouring it the export would return one page while claiming to return\n * everything. Filters and sort ARE forwarded: they define WHICH rows, which is the whole point.\n */\nfunction omitPaginationFromListingQuery(\n params: Record<string, string | number | undefined> | undefined,\n): Record<string, string | number | undefined> | undefined {\n if (!params) return undefined;\n const { page: _page, limit: _limit, ...rest } = params;\n return rest;\n}\n\nfunction describeCollectionExportSelection(selection: ResourceCollectionExportSelection): string {\n const scopeLabel = selection.rowScope === ResourceCollectionExportRowScope.FULL_RESULT_SET\n ? 'all rows'\n : 'this page';\n return `${selection.format.toUpperCase()} — ${scopeLabel}`;\n}\n\nfunction humanizeGeneratedFileFieldName(operation: FrontendResourceConfiguration_Operation): string | undefined {\n // NARROW on `kind` before reading `fieldName`. `generatedOperation` is a DISCRIMINATED UNION —\n // the file-regenerate member carries `fieldName`, the collection-export member does not — so an\n // unnarrowed read is both a type error and, if it ever compiled, a field lookup on the wrong\n // member. Reading the metadata without asking which kind it is was the one site that had to change\n // when the union grew from a single member.\n const generatedFileRegenerate = operation.generatedOperation?.kind === ResourceGeneratedOperationKind.GENERATED_FILE_REGENERATE\n ? operation.generatedOperation\n : undefined;\n const fieldName = typeof generatedFileRegenerate?.fieldName === 'string'\n ? generatedFileRegenerate.fieldName\n : typeof operation.operationIdentifier === 'string'\n ? Resources_SharedUtils.parseGeneratedFileRegenerateOperationIdentifier(operation.operationIdentifier)?.fieldName\n : undefined;\n if (!fieldName) return undefined;\n\n const pathSegments = fieldName.split('.').filter(Boolean);\n const lastSegment = pathSegments[pathSegments.length - 1] ?? fieldName;\n const words = lastSegment\n .replace(/([a-z0-9])([A-Z])/g, '$1 $2')\n .replace(/[-_]+/g, ' ')\n .replace(/\\bpdf\\b/gi, '')\n .trim();\n return words.length > 0 ? words : undefined;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Operations that are NOT per-item actions (excluded by default for item mode)\n// ─────────────────────────────────────────────────────────────────────────────\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Risk level → button variant mapping\n// ─────────────────────────────────────────────────────────────────────────────\n\nfunction riskLevelToVariant(riskLevel: ResourceOperationRiskLevel): ButtonVariants_Variant {\n switch (riskLevel) {\n case ResourceOperationRiskLevel.CRITICAL:\n case ResourceOperationRiskLevel.HIGH:\n return ButtonVariants_Variant.DESTRUCTIVE;\n default:\n return ButtonVariants_Variant.GHOST;\n }\n}\n\nfunction isRiskyOperation(riskLevel: ResourceOperationRiskLevel): boolean {\n return riskLevel === ResourceOperationRiskLevel.HIGH || riskLevel === ResourceOperationRiskLevel.CRITICAL;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Label resolution for core operations\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst CORE_OPERATION_LABEL_KEYS: Record<string, string> = {\n [CoreResourceOperation.READ]: 'viewDetails',\n [CoreResourceOperation.UPDATE]: 'edit',\n [CoreResourceOperation.DELETE]: 'delete',\n};\n\n/** Stable empty-array reference for role inputs when permissions are absent. */\nconst EMPTY_ROLES: readonly string[] = [];\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Hook\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport function useResourceOperationActions(\n params: UseResourceOperationActionsParams\n): UseResourceOperationActionsResult {\n const {\n resourceType,\n displayMode,\n currentObject,\n contextResourceIdentifiers,\n parentResourcesRequirements,\n navigationZone,\n operationId = 'operations',\n excludeOperations,\n bulkOnly = false,\n collectionOnly = false,\n placementFilter,\n selectedItemIds,\n additionalContext,\n successDiscriminator,\n suppressViewDetails = false,\n onOperationExecuted,\n collectionExportQuery,\n } = params;\n\n const { registry, doOperation } = useResourceRegistry();\n const { permissions } = useUserOrgs();\n const appScope = useAppScopeSafe();\n const { navigateToResource } = useNavigationController();\n const { tComponent, tResourceOperation, isReady } = useI18n({ component: FrontendComponentType.RESOURCES_LAYOUTS_OPERATIONS_ITEMS, resource: resourceType });\n const { renderIcon } = useIconRegistry();\n // The element-level host, when this action bar is rendered inside a collection that provides one.\n // Absent everywhere else, where `isAvailable` is false — see `InPlaceOperationContext`.\n const inPlaceHost = useInPlaceOperation();\n const { emit } = useEventBus();\n const webSocket = useContext(WebSocketContext);\n const isWebSocketConnected = webSocket?.isConnected ?? false;\n // Best-effort success toast for direct-executed actions that return a human\n // `message` (drain-op summaries — \"Re-queued 3 of 5; skipped 2\", \"Purged N\").\n // Read the context directly rather than the throwing `useNotification()` so the\n // hook never hard-requires a NotificationProvider; it no-ops when none is mounted.\n // Read the context directly rather than the throwing `useApplication()`, for the same reason the\n // notification context below is read this way: this hook must never hard-require a provider, and\n // several of its callers (and every one of its tests) mount without one. Absent ⇒ the export\n // action degrades to \"not offered\" instead of crashing the whole action bar.\n const application = useContext(ApplicationContext);\n const applicationRef = useRef(application);\n applicationRef.current = application;\n\n // The listing's live query, read through a REF at CLICK time rather than captured when the\n // callback was built.\n //\n // This is the same pattern `notificationRef` and `applicationRef` above use, and here it removes a\n // failure mode rather than a dependency: the action bar's items memo closes over the download\n // callback directly, so a callback that captured the query would hand the user a file describing\n // the UNFILTERED set while the screen showed a filter — a wrong answer delivered as a successful\n // 200. Measured in the running app on 2026-08-25.\n //\n // Deliberately NOT relying on the memo's dependency list to keep it fresh. That list DOES include\n // the callback, and it works — but only because several of its other entries also change identity\n // when the listing refetches. Depending on that is depending on a coincidence: remove the\n // dependency and the end-to-end behaviour still looks correct, which is precisely why a browser\n // lane cannot pin it. The ref makes the staleness unrepresentable instead of merely unlikely.\n const collectionExportQueryRef = useRef(collectionExportQuery);\n collectionExportQueryRef.current = collectionExportQuery;\n\n const notification = useContext(NotificationContext);\n const notificationRef = useRef(notification);\n notificationRef.current = notification;\n\n // Stable refs for async operations\n const doOperationRef = useRef(doOperation);\n const emitRef = useRef(emit);\n const isWebSocketConnectedRef = useRef(isWebSocketConnected);\n doOperationRef.current = doOperation;\n emitRef.current = emit;\n isWebSocketConnectedRef.current = isWebSocketConnected;\n\n // Confirmation dialog state\n const [confirmState, setConfirmState] = useState<{\n open: boolean;\n label: string;\n /** CRITICAL ops require typed \"double validation\" before confirm is enabled. */\n requiresTypedConfirmation: boolean;\n /** The phrase the user must type (the action label) when double-validation applies. */\n confirmationPhrase: string;\n callback: (() => Promise<void>) | null;\n }>({ open: false, label: '', requiresTypedConfirmation: false, confirmationPhrase: '', callback: null });\n const [isExecuting, setIsExecuting] = useState(false);\n /**\n * Which action currently has its anchored panel open, by operation PATH KEY.\n *\n * A path key rather than the operation object: the items memo rebuilds on every dependency change\n * and hands back fresh operation references, so an identity comparison would close the panel the\n * moment anything around it re-rendered. Only ONE panel is open at a time, which is what a single\n * key expresses — two anchored panels open at once is not a state the bar can present.\n */\n const [openPopoverOperationKey, setOpenPopoverOperationKey] = useState<string | null>(null);\n\n // Ephemeral fields reveal state (for operations returning one-time-only data)\n const [ephemeralFields, setEphemeralFields] = useState<EphemeralFieldInfo[] | null>(null);\n const ephemeralPostAcknowledgeRef = useRef<(() => void) | null>(null);\n\n // Get resource configuration\n const resourceConfig = useMemo(() => {\n return registry.resourceConfigurations[resourceType] as FrontendResourceConfiguration | undefined;\n }, [registry, resourceType]);\n\n // Resolve the effective action-surfacing (disclosure) policy for this view:\n // per-resource override (`layout.actionDisclosure[displayMode]`) over the\n // framework default. `disabledActionHandling` is consumed below to decide\n // whether an enabledCondition-disabled action is hidden or rendered greyed;\n // the sibling `maxPrimaryActions` (overflow cap) is resolved by the host\n // (ResourceLayout_OperationsItems), which owns the ActionBar `maxDisplayed`.\n const disclosure = useMemo(\n () => resolveActionDisclosure(displayMode, resourceConfig?.frontendConfiguration?.layout?.actionDisclosure),\n [displayMode, resourceConfig],\n );\n\n // ───────────────────────────────────────────────────────────────────────────\n // Value-stabilize caller-supplied reference inputs (perf: keep `items` stable).\n //\n // `contextResourceIdentifiers` and `parentResourcesRequirements` are supplied by\n // the caller and are, in practice, fresh references on most renders: the\n // per-item / bulk operation layouts forward `resourceContext.*` fields that are\n // re-created upstream, and `parentResourcesRequirements` previously hit an\n // `= []` destructuring default that minted a brand-new array on every render the\n // caller omitted it. Each one feeds the ActionBar `items` memo — directly, or\n // transitively through `contextResourceIdentifiersWithIdEvidence` /\n // `contextualParameters` / the operation callbacks — so a churning reference\n // rebuilds the whole `items` array and every onClick closure on every commit,\n // re-rendering each row operation's Radix Tooltip / DropdownMenu even when\n // nothing changed. Stabilize by value: keep the same reference until the\n // serialized contents actually change.\n //\n // Stabilization lives INSIDE the hook (rather than asking the two call sites to\n // memoize) so the hook is robust to any caller — matching the sibling\n // `excludeOperations`/`stableExcludeOperations` stabilization below. ESLint\n // exhaustive-deps is not wired in this repo; reading the raw prop inside a memo\n // keyed on its serialized contents is deliberate value-stabilization, not an\n // oversight.\n //\n // Note `parentResourcesRequirements` is an array of OBJECTS\n // (`FrontendResource_ParentResourceRequirement[]`, each a flat record of\n // primitives), so a serialized-content key is the structural-equality projection\n // it needs — a plain `join()` (which would suffice for a `string[]` like\n // `excludeOperations`) would not capture the per-entry fields.\n const contextResourceIdentifiersKey = JSON.stringify(contextResourceIdentifiers ?? {});\n const stableContextResourceIdentifiers = useMemo(\n () => contextResourceIdentifiers,\n [contextResourceIdentifiersKey],\n );\n\n const parentResourcesRequirementsKey = JSON.stringify(parentResourcesRequirements ?? []);\n const stableParentResourcesRequirements = useMemo<FrontendResource_ParentResourceRequirement[]>(\n () => parentResourcesRequirements ?? [],\n [parentResourcesRequirementsKey],\n );\n\n // Derive the current-resource-id evidence as a SCALAR so the evidence memo below\n // keys on the resolved id *value* rather than the `currentObject` reference.\n // `currentObject` is a caller prop frequently re-created each render (row data,\n // detail payloads); keying the memo on the whole object would rebuild\n // `contextResourceIdentifiersWithIdEvidence` — and every downstream consumer of\n // it — on every render even when the id is unchanged. Only these two scalar\n // reads of `currentObject` matter here, so projecting to the resolved id string\n // is both cheaper and more stable than memoizing the object. (The\n // `useOperationsEnabled` feed further below still receives the raw\n // `currentObject`; its result map is already value-gated, so that path does not\n // thrash `items`.)\n const currentResourceIdEvidenceCandidate = currentObject?._id\n ?? (resourceConfig?.resourceFieldIdentifier\n ? currentObject?.[resourceConfig.resourceFieldIdentifier]\n : undefined);\n const currentResourceIdEvidence = typeof currentResourceIdEvidenceCandidate === 'string'\n && currentResourceIdEvidenceCandidate.length > 0\n ? currentResourceIdEvidenceCandidate\n : undefined;\n\n const contextResourceIdentifiersWithIdEvidence = useMemo(() => {\n if (!currentResourceIdEvidence) {\n return stableContextResourceIdentifiers;\n }\n\n const currentValue = stableContextResourceIdentifiers[resourceType];\n if (frontendResourceUtils.getResourceId(currentValue) === currentResourceIdEvidence) {\n return stableContextResourceIdentifiers;\n }\n\n const fieldIdentifier = currentValue\n ? frontendResourceUtils.getFieldIdentifier(currentValue)\n : undefined;\n return {\n ...stableContextResourceIdentifiers,\n [resourceType]: fieldIdentifier\n ? { fieldIdentifier, resourceId: currentResourceIdEvidence }\n : currentResourceIdEvidence,\n };\n }, [\n stableContextResourceIdentifiers,\n currentResourceIdEvidence,\n resourceType,\n ]);\n\n // `excludeOperations` is supplied by the caller and is, in practice, a fresh\n // array reference on most renders: the per-item / bulk operation layouts\n // either forward a prop that may be re-created upstream, or omit it entirely\n // (previously hitting an `= []` destructuring default that minted a new array\n // every render). A churning reference would force the `filteredOps` memo\n // below to recompute every render, which in turn re-fires the\n // `useOperationsEnabled` evaluation effect (its `operations` dependency would\n // churn) — redundant async `enabledCondition` work on every commit. Stabilize\n // by value: keep the same array identity until the set of excluded ids\n // actually changes.\n const excludeOperationsKey = JSON.stringify(excludeOperations ?? []);\n const stableExcludeOperations = useMemo<string[]>(\n () => excludeOperations ?? [],\n // Intentionally keyed on the serialized contents rather than the array\n // reference (see comment above). ESLint exhaustive-deps is not wired in\n // this repo; reading `excludeOperations` here without listing it is\n // deliberate value-stabilization, not an oversight.\n [excludeOperationsKey],\n );\n\n // ─── User effective roles for operation-visibility gating ───\n // The action bar must not surface operations the current user's role cannot\n // perform — historically every declared operation rendered as a button and\n // only 403'd on click (admin / super-admin actions leaked to plain members).\n // Mirror the backend's hierarchy-aware authorization via\n // `userRolesSatisfyRequiredRoles`: the user's app-scope roles\n // (`permissions.appLevel`) and current-org roles\n // (`permissions.organizations[orgId]`) are expanded through their role\n // hierarchies and matched (OR) against each operation's `roles`. The backend\n // stays the security authority; this is a display gate that fails open on\n // uncertainty (see the util). Value-stabilized like the sibling inputs above so\n // a fresh `permissions` reference does not churn `filteredOps`.\n const currentOrganizationId = appScope?.currentOrganizationId ?? null;\n const userAppRoles = permissions?.appLevel ?? EMPTY_ROLES;\n const userOrgRoles = currentOrganizationId\n ? permissions?.organizations?.[currentOrganizationId] ?? EMPTY_ROLES\n : EMPTY_ROLES;\n const userAppRolesKey = userAppRoles.join(',');\n const userOrgRolesKey = userOrgRoles.join(',');\n const stableUserAppRoles = useMemo<readonly string[]>(\n () => userAppRoles,\n // Keyed on serialized contents (value-stabilization), matching the sibling\n // inputs above. ESLint exhaustive-deps is not wired in this repo.\n [userAppRolesKey],\n );\n const stableUserOrgRoles = useMemo<readonly string[]>(\n () => userOrgRoles,\n [userOrgRolesKey],\n );\n\n // ─── Step 1: Filter operations (stable reference for enabledCondition evaluation) ───\n const filteredOps = useMemo((): FrontendResourceConfiguration_Operation[] => {\n if (!resourceConfig) return [];\n\n const operations = (resourceConfig.operations || []) as FrontendResourceConfiguration_Operation[];\n const excludeSet = new Set(stableExcludeOperations);\n\n return operations.filter((op) => {\n const opId = String(op.operationIdentifier);\n const isBulk = op.isBulkOperation ?? false;\n\n // Exclude explicitly excluded operations\n if (excludeSet.has(opId)) return false;\n\n // App-level hide: the operation's action is configured HIDDEN for this surface\n // (`views: [[Op.X, { actionVisibility: ActionVisibility.HIDDEN }]]`). Display-only\n // — backend authorization is unaffected. (WHEN_AVAILABLE is handled later, in the\n // items memo, since it depends on the async `enabledCondition` result.)\n if (op.operationFrontendConfig?.actionVisibility === ActionVisibility.HIDDEN) return false;\n\n // Headless (API_ONLY) operations have NO UI surface — never render an action.\n // The canonical headless filter for every action surface (the create button in\n // ResourceLayout_List uses the same gate). An unsurfaced or `apiOnly()` item op\n // resolves to API_ONLY at registry build time and must not produce a clickable action.\n //\n // The collection-export companion is exempt, and it is the THIRD gate its inherited posture\n // trips: it is derived from a LIST, and a listing legitimately resolves to `API_ONLY` because\n // it is a data surface rather than a clickable action. The export is the opposite — it exists\n // ONLY to be clicked. Measured in the running app: the operation reached the frontend registry\n // correctly (`collectionExport:list`, with its URLs and its export contract) and carried\n // `operationFrontendConfig: { surface: 'api_only' }` straight from its source, so the action\n // silently never rendered.\n //\n // Exempted HERE rather than by stamping a frontend surface in the models factory: the surface\n // vocabulary lives in this package, and the models layer must not learn a frontend enum to\n // describe an operation it derives.\n if (isOperationHeadless(op.operationFrontendConfig) && !isGeneratedCollectionExportOperation(op)) return false;\n\n // Collection-scope split (the single R5 chokepoint). A collection-scoped\n // action (`actionScope: COLLECTION` — a whole-scope \"retry all\" / \"purge\n // all\") renders ONLY in the list's dedicated collection-action surface,\n // which passes `collectionOnly: true`. Every OTHER caller (the per-row /\n // detail / danger-zone / bulk bars) leaves `collectionOnly` false and drops\n // collection-scoped ops here, so they can never appear per row. Because all\n // of those surfaces funnel through this one filter, the exclusion holds at a\n // single site rather than N call sites.\n // The export companion is collection-scoped BY CONSTRUCTION, not by declaration: it is derived\n // from a LIST/SEARCH operation and inherits that operation's `operationFrontendConfig`, which\n // has no reason to carry `actionScope: COLLECTION` (a listing is a surface, not an action).\n // Asking the author to stamp it would put the burden on every app for something the framework\n // already knows. Recognised HERE because this filter is the single site that decides which bar\n // an operation belongs to — the comment above says so, and adding a second site is what the\n // design avoids.\n const isCollectionScoped = isCollectionScopedOperation(op.operationFrontendConfig)\n || isGeneratedCollectionExportOperation(op);\n if (collectionOnly) {\n if (!isCollectionScoped || isBulk) return false;\n } else if (isCollectionScoped) {\n return false;\n }\n\n // Bulk mode: only bulk operations\n if (bulkOnly && !isBulk) return false;\n\n // Non-bulk mode: exclude bulk operations and non-item operations\n if (!bulkOnly) {\n if (isBulk) return false;\n if (shouldTreatAsNonItemResourceOperation(op)) return false;\n }\n\n // Only frontend-callable operations (API_CALL, API_CALL_WITH_CALLBACK)\n const vType = op.variantType;\n if (vType && vType !== ResourceOperationVariantType.API_CALL && vType !== ResourceOperationVariantType.API_CALL_WITH_CALLBACK) {\n return false;\n }\n\n // Role-gating: do not surface operations the user's effective roles cannot\n // perform (hierarchy-aware OR match mirroring backend authorization).\n if (!userRolesSatisfyRequiredRoles({\n requiredRoles: op.roles,\n userAppRoles: stableUserAppRoles,\n userOrgRoles: stableUserOrgRoles,\n })) {\n return false;\n }\n\n return true;\n });\n }, [resourceConfig, stableExcludeOperations, bulkOnly, collectionOnly, stableUserAppRoles, stableUserOrgRoles]);\n\n // ─── Step 2: Evaluate enabledCondition for all filtered operations ───\n // Async — starts as empty Map, then populates after evaluation completes.\n //\n // EC — bulk contract: in bulk mode (`bulkOnly`) the caller passes NO\n // `currentObject` (there is no single record for N selected items), so a bulk\n // variant whose `enabledCondition` reads `currentObject.<field>` evaluates\n // against an empty object. This is intentional: bulk availability is scoped to\n // ROLES + SELECTION only — author bulk conditions accordingly. Per-item state\n // gating belongs on the per-row action, which DOES receive `currentObject`.\n //\n // (Also note: on async-loaded surfaces like the read view, `currentObject` is\n // briefly `undefined` on first mount and this batch evaluates against `{}`\n // until the record loads, then re-runs — a benign transient, not a bug.)\n const enabledMap = useOperationsEnabled(filteredOps, {\n currentObject,\n resourceType,\n });\n\n // Build contextual parameters for API calls (canonical implementation)\n const contextualParameters = useMemo(() => {\n return FrontendResourceUtils.buildContextualParameters(\n contextResourceIdentifiersWithIdEvidence,\n registry,\n );\n }, [contextResourceIdentifiersWithIdEvidence, registry]);\n const hasCurrentResourceId = useMemo(() => Boolean(\n frontendResourceUtils.getResourceId(contextResourceIdentifiersWithIdEvidence[resourceType])\n ), [contextResourceIdentifiersWithIdEvidence, resourceType]);\n const effectiveSuccessDiscriminator = successDiscriminator\n ?? readResourceOperationExecutedDiscriminator(additionalContext);\n\n const isOperationAddressableForActions = useCallback((operation: FrontendResourceConfiguration_Operation): boolean => {\n if (!resourceConfig) {\n return true;\n }\n\n if (operation.isBulkOperation === true) {\n return operationInitiatorParametersSatisfied(\n operation,\n contextResourceIdentifiersWithIdEvidence,\n contextualParameters,\n );\n }\n\n const needsCurrentContextAddressability = shouldRequireCurrentContextAddressabilityForOperation({\n operation,\n resourceType,\n resourceConfig,\n });\n if (!needsCurrentContextAddressability) {\n return true;\n }\n\n return isFrontendOperationAddressableForCurrentContext({\n resourceConfig,\n operation,\n registry,\n hasResourceId: hasCurrentResourceId,\n contextResourceIdentifiers: contextResourceIdentifiersWithIdEvidence,\n contextualParameters,\n });\n }, [\n contextResourceIdentifiersWithIdEvidence,\n contextualParameters,\n hasCurrentResourceId,\n registry,\n resourceConfig,\n resourceType,\n ]);\n\n // Resolve label for an operation\n const getOperationLabel = useCallback((operation: FrontendResourceConfiguration_Operation): string => {\n const opId = String(operation.operationIdentifier);\n\n if (isGeneratedCollectionExportOperation(operation)) {\n // The FORMAT is in the label on purpose. One action performs one format, so a bare \"Export\"\n // would leave the user guessing which file they are about to receive — and the answer is the\n // author's declaration order, which no reader of the UI can see.\n const exportConfig = resolveCollectionExportConfig(operation);\n const selections = exportConfig ? listCollectionExportSelections(exportConfig) : [];\n const label = resolveComponentLabel({\n tComponent,\n componentType: FrontendComponentType.RESOURCES_LAYOUTS_OPERATIONS_ITEMS,\n key: 'collectionExport',\n });\n const base = label && label !== 'collectionExport' ? label : 'Export';\n // Only ONE thing on offer ⇒ name it, so the button is not a mystery about which file arrives.\n // Several ⇒ stay generic: the choice is in the menu, and repeating one of them in the trigger\n // would imply that one is what clicking does.\n return selections.length === 1 ? `${base} ${selections[0]!.format.toUpperCase()}` : base;\n }\n\n if (isGeneratedFileRegenerateOperation(operation)) {\n const fieldLabel = humanizeGeneratedFileFieldName(operation);\n if (fieldLabel) {\n return `Regenerate ${fieldLabel} file`;\n }\n const label = resolveComponentLabel({\n tComponent,\n componentType: FrontendComponentType.RESOURCES_LAYOUTS_OPERATIONS_ITEMS,\n key: 'generatedFileRegenerate',\n });\n if (label && label !== 'generatedFileRegenerate') {\n return label;\n }\n return 'Regenerate file';\n }\n\n // Core operations (READ, UPDATE, DELETE) own a registered i18n key —\n // try the framework's component-level i18n bundle first.\n const labelKey = CORE_OPERATION_LABEL_KEYS[opId];\n if (labelKey) {\n const label = resolveComponentLabel({\n tComponent,\n componentType: FrontendComponentType.RESOURCES_LAYOUTS_OPERATIONS_ITEMS,\n key: labelKey,\n });\n if (label) return label;\n }\n\n // Custom operations (anything outside `CORE_OPERATION_LABEL_KEYS`) come\n // from the application developer. Prefer the resource's generated\n // per-operation TITLE (`resources.{res}.operations.{op}.title`) — the SAME\n // label the form host, header, and launcher resolve via `tResourceOperation`\n // — so a scope-level \"Retry all\" / \"Purge all\" reads correctly (and the\n // CRITICAL type-to-confirm phrase is a real word, not a camelCase-mangled\n // id). `tResourceOperation` returns '' (or the raw `resources.` key path)\n // when the title is not generated yet, in which case we fall back to a\n // humanized identifier so unregistered custom op ids remain visible and\n // addressable instead of vanishing.\n //\n // Examples: `switch_mode` → \"Switch mode\", `regenerate_secret` →\n // \"Regenerate secret\", `retry_all` → \"Retry all\" (or generated title).\n const generatedTitle = tResourceOperation(resourceType, opId, 'title');\n if (generatedTitle && !generatedTitle.startsWith('resources.')) {\n return generatedTitle;\n }\n return opId.charAt(0).toUpperCase() + opId.slice(1).replace(/_/g, ' ').toLowerCase();\n }, [tComponent, tResourceOperation, resourceType]);\n\n // Resolve icon for an operation\n const getOperationIcon = useCallback((operation: FrontendResourceConfiguration_Operation) => {\n return renderIcon(\n {\n category: IconCategory.OPERATION_RESOURCES,\n resourceType,\n operationReference: String(operation.operationIdentifier),\n },\n { size: IconSize.SM }\n );\n }, [renderIcon, resourceType]);\n\n // Get display priority for an operation\n const getDisplayPriority = useCallback((operation: FrontendResourceConfiguration_Operation): number => {\n // Check explicit displayPriority on frontend config\n const frontEndConfig = operation.operationFrontendConfig;\n if (frontEndConfig?.displayPriority !== undefined) {\n return frontEndConfig.displayPriority;\n }\n // Default by operation type\n const opId = resolveEffectiveCoreOperationFromOperation(operation) ?? String(operation.operationIdentifier);\n return DEFAULT_DISPLAY_PRIORITIES[opId] ?? DEFAULT_CUSTOM_OPERATION_PRIORITY;\n }, []);\n\n // Get full operation enabled entry (enabled status + feature availability)\n const getOperationEntry = useCallback((operation: FrontendResourceConfiguration_Operation): OperationEnabledEntry => {\n const operationKey = buildOperationEnabledKey(operation);\n // Async enabled conditions and deferred feature availability should fail closed until evaluation resolves.\n if (!enabledMap.has(operationKey)) {\n return (operation.enabledCondition || operation.requiredFeatures)\n ? { isEnabled: false }\n : { isEnabled: true };\n }\n return enabledMap.get(operationKey)!;\n }, [enabledMap]);\n\n // Check if an operation is enabled (from enabledCondition + feature evaluation)\n const isOperationEnabled = useCallback((operation: FrontendResourceConfiguration_Operation): boolean => {\n return getOperationEntry(operation).isEnabled;\n }, [getOperationEntry]);\n\n /**\n * The operation context an action hands to whatever host presents it.\n *\n * Extracted from `handleNavigateOperation` because the ANCHORED host needs the identical context:\n * a popover and a page must present the same operation, with the same bulk selection and the same\n * success discriminator, or the two hosts quietly become two contracts.\n */\n const buildOperationContext = useCallback((operation: FrontendResourceConfiguration_Operation) => {\n return frontendResourceUtils.createFrontendResourceOperationContextFromOperation({\n resourceType,\n operation,\n contextResourceIdentifiers: contextResourceIdentifiersWithIdEvidence,\n additionalContext: {\n ...(operation.isBulkOperation === true && selectedItemIds?.length\n ? {\n [BULK_OPERATION_SELECTION_IDS_CONTEXT_KEY]: selectedItemIds,\n }\n : {}),\n ...(effectiveSuccessDiscriminator\n ? {\n [RESOURCE_OPERATION_EXECUTED_DISCRIMINATOR_CONTEXT_KEY]: effectiveSuccessDiscriminator,\n }\n : {}),\n },\n parentResourcesRequirements: stableParentResourcesRequirements,\n isOperationDefault: operation.isOperationDefault ?? true,\n });\n }, [resourceType, contextResourceIdentifiersWithIdEvidence, stableParentResourcesRequirements, selectedItemIds, effectiveSuccessDiscriminator]);\n\n // Navigate to an operation (UPDATE, READ, etc.)\n const handleNavigateOperation = useCallback((operation: FrontendResourceConfiguration_Operation) => {\n if (!resourceConfig) return;\n\n const opContext = buildOperationContext(operation);\n\n const normalizedContextIdentifiers = FrontendResourceUtils.flattenContextIdentifiers(\n contextResourceIdentifiersWithIdEvidence,\n );\n const urlPath = NavigationUtils.resolveResourceUrl(\n resourceConfig as any,\n operation as any,\n normalizedContextIdentifiers,\n registry.allResourceFieldIdentifiers,\n stableParentResourcesRequirements as any,\n )?.resolvedUrl;\n\n navigateToResource(\n opContext,\n NavigationUtils.createOperationInitiator(navigationZone, operationId),\n urlPath\n );\n }, [resourceConfig, buildOperationContext, contextResourceIdentifiersWithIdEvidence, stableParentResourcesRequirements, registry, navigateToResource, navigationZone, operationId]);\n\n // Execute an operation (DELETE, custom, etc.)\n /**\n * Fetch the export and hand the file to the browser.\n *\n * Three refusals, each silent-by-design in a different way and each therefore reported to the user\n * rather than swallowed:\n * - no export contract on the operation (a projection that dropped `generatedOperation`);\n * - no resolvable URL (a parent id missing from the current context — the builder answers `null`\n * rather than producing a route that would 404);\n * - no application context (no provider mounted), so there is no authenticated client to fetch\n * with. A plain `<a href>` would \"work\" and download an HTML login page named `.csv`.\n */\n const handleCollectionExportDownload = useCallback(async (\n operation: FrontendResourceConfiguration_Operation,\n selection: ResourceCollectionExportSelection,\n ): Promise<void> => {\n const exportConfig = resolveCollectionExportConfig(operation);\n const httpClient = applicationRef.current?.httpClient;\n if (!exportConfig || !httpClient) {\n notificationRef.current?.notifyError?.('This export is not available here.');\n return;\n }\n\n // REFUSE rather than export the wrong thing. When the listing is showing text-search results it\n // is driving the SEARCH operation, and this companion exports its own source — a LIST export\n // would quietly return rows the user is not looking at, which is the worst kind of correct\n // response. A resource that declares `collectionExport` on SEARCH too gets its own companion and\n // this branch never fires for it.\n const listingQueryNow = collectionExportQueryRef.current;\n const exportsSearchResults = operation.resourceOperationLike === CoreResourceOperation.SEARCH;\n if (listingQueryNow?.isSearchActive && !exportsSearchResults) {\n notificationRef.current?.notifyError?.(\n 'Clear the search box before exporting — this export covers filters and sorting, not text search.',\n );\n return;\n }\n\n const { format, rowScope } = selection;\n const url = buildCollectionExportUrl({\n registry,\n resourceConfig,\n exportOperation: operation,\n resourceType,\n // The TRANSPORT-normalized map, not the raw one: a caller may pass\n // `{ fieldIdentifier, resourceId }` evidence objects, and route matching wants plain ids. The\n // normalizer is the same one every other transport-facing call in this hook uses.\n contextResourceIdentifiers: normalizeContextResourceIdentifiersForTransport(contextResourceIdentifiers) as Record<string, string>,\n contextualParameters,\n parentResourcesRequirements: stableParentResourcesRequirements,\n apiBaseUrl: envLoader.getApiUrl(),\n format,\n rowScope,\n // The listing's OWN query — the filters, sort and page the user is looking at. Without it the\n // export answers a different question from the screen it was clicked on, and a `VISIBLE_PAGE`\n // export in particular becomes meaningless: it would return page 1 of an unfiltered set.\n listingQuery: rowScope === ResourceCollectionExportRowScope.FULL_RESULT_SET\n ? omitPaginationFromListingQuery(listingQueryNow?.params)\n : listingQueryNow?.params,\n });\n if (!url) {\n notificationRef.current?.notifyError?.('This export cannot be addressed from here.');\n return;\n }\n\n try {\n await downloadCollectionExport({\n url,\n resourceType,\n format,\n // `fetchFileBlob` is the authenticated byte path — the access token lives in the http client,\n // not in a cookie a browser navigation would carry.\n getBlob: (blobUrl: string) => httpClient.fetchFileBlob(blobUrl),\n });\n } catch (error) {\n // The backend REFUSES rather than truncating when an export exceeds its declared ceiling, so a\n // failure here is a message worth showing — silently doing nothing would read as a dead button.\n notificationRef.current?.notifyError?.(\n error instanceof Error && error.message ? error.message : 'The export could not be produced.',\n );\n }\n }, [\n registry,\n resourceConfig,\n resourceType,\n contextResourceIdentifiers,\n contextualParameters,\n stableParentResourcesRequirements,\n // `collectionExportQuery` is deliberately ABSENT: it is read through its ref above, so listing it\n // here would rebuild every export button on every keystroke in a filter for no behavioural gain.\n ]);\n\n const handleExecuteOperation = useCallback(async (operation: FrontendResourceConfiguration_Operation) => {\n if (!resourceConfig) return;\n\n setIsExecuting(true);\n try {\n const operationPathKey = ResourcesConfig_OperationPathUtils.createOperationPathKeyFromOperation(operation);\n\n // Request body. Bulk ops send the selection; a ROW-TARGETED action sends the\n // clicked row's id under its declared `rowTargetRequestField` (e.g. a per-row\n // \"Retry\" whose backend reads `{ entryId }` from the body — the id also rides\n // the URL path, which that handler ignores). Mutually exclusive: a\n // row-targeted action is ITEM-scoped, never bulk. Collection-scoped drain\n // ops carry no `rowTargetRequestField`, so they send an empty body.\n const isBulk = operation.isBulkOperation ?? false;\n const rowTargetField = operation.operationFrontendConfig?.rowTargetRequestField;\n const rowTargetId = rowTargetField\n ? frontendResourceUtils.getResourceId(contextResourceIdentifiersWithIdEvidence[resourceType])\n : '';\n const requestData = isBulk && selectedItemIds?.length\n ? buildBulkOperationSelectorPayload(selectedItemIds)\n : rowTargetField && rowTargetId\n ? { [rowTargetField]: rowTargetId }\n : undefined;\n\n // A row-targeted action MUST resolve the clicked row's id (it is injected\n // into the request body). If it cannot, fail loudly through the catch below\n // rather than POST an empty body the backend rejects as not-found. In\n // practice a per-row action always carries its id; this guards a\n // misconfiguration / missing-context edge.\n if (rowTargetField && !rowTargetId) {\n throw new Error(`Row-targeted operation \"${String(operation.operationIdentifier)}\" could not resolve the target row id from context.`);\n }\n\n const result = await doOperationRef.current(\n operationPathKey,\n {\n contextualParameters,\n parentResourcesRequirements: stableParentResourcesRequirements,\n ...(requestData ? { requestData } : {}),\n },\n // silent: the resource layer owns the failure UX — the catch below emits a\n // single NOTIFY_RESOURCE_ERROR toast. Suppress the global error toast so\n // action-bar operations (delete, custom, bulk) match the form's model.\n { silent: true },\n );\n\n // Surface any human summary the action returned (\"Re-queued 3 of 5; skipped\n // 2\", \"Purged N entries\") as a success toast. Best-effort: fires only when a\n // NotificationProvider is mounted (see `notificationRef`) and the result is a\n // plain object carrying a non-empty string `message`. This is the ONLY path\n // that surfaces a custom op's response message — the resource-notification\n // event path resolves the operation title, not the response body.\n const resultMessage = result && typeof result === 'object' && !Array.isArray(result)\n ? (result as Record<string, unknown>).message\n : undefined;\n if (typeof resultMessage === 'string' && resultMessage.length > 0) {\n notificationRef.current?.notifySuccess(resultMessage);\n }\n\n // Build the post-operation side effects (refresh + callback) as a single closure\n const runPostOperationEffects = () => {\n const isGeneratedFileRegenerate = isGeneratedFileRegenerateOperation(operation);\n const normalizedTransportContext = normalizeContextResourceIdentifiersForTransport(contextResourceIdentifiersWithIdEvidence);\n const normalizedOutcomeContext = normalizeContextResourceIdentifiersForOutcome({\n contextResourceIdentifiers: contextResourceIdentifiersWithIdEvidence,\n resourceType,\n result,\n });\n const outcomeContextualParameters = FrontendResourceUtils.buildContextualParameters(\n normalizedOutcomeContext,\n registry,\n );\n const resultSummary = typeof result === 'object' && result !== null\n ? result as Record<string, unknown>\n : undefined;\n\n if (!isWebSocketConnectedRef.current && shouldEmitResourceRefreshAfterDirectOperation(operation)) {\n const listOperations = getOperationsForCoreSemantic(\n (resourceConfig.operations as FrontendResourceConfiguration_Operation[] | undefined) ?? [],\n CoreResourceOperation.LIST,\n ).filter((listOperation) =>\n operationInitiatorParametersSatisfied(\n listOperation,\n contextResourceIdentifiersWithIdEvidence,\n contextualParameters,\n )\n );\n const { [resourceType]: _self, ...parentScopeIdentifiers } = normalizedTransportContext;\n const refreshTargets = listOperations.length > 0\n ? listOperations\n : [null];\n\n for (const listOperation of refreshTargets) {\n const listOperationContext = listOperation\n ?? ({ operationIdentifier: CoreResourceOperation.LIST } as FrontendResourceConfiguration_Operation);\n emitRef.current(FrontendEvents.RESOURCE_REFRESH, {\n resourceType,\n operationIdentifier: String(listOperationContext.operationIdentifier ?? CoreResourceOperation.LIST),\n operation: listOperationContext,\n variantType: listOperation?.variantType,\n isOperationDefault: listOperation?.isOperationDefault ?? true,\n isBulkOperation: listOperation?.isBulkOperation ?? false,\n variantKey: listOperation?.variantKey,\n contextResourceIdentifiers: parentScopeIdentifiers,\n parentResourcesRequirements: stableParentResourcesRequirements,\n ...(effectiveSuccessDiscriminator ? { optionalDiscriminator: effectiveSuccessDiscriminator } : {}),\n });\n }\n\n if (isGeneratedFileRegenerate) {\n const readOperations = getOperationsForCoreSemantic(\n (resourceConfig.operations as FrontendResourceConfiguration_Operation[] | undefined) ?? [],\n CoreResourceOperation.READ,\n {\n requireAddressable: true,\n },\n ).filter((readOperation) =>\n isFrontendOperationAddressableForCurrentContext({\n resourceConfig,\n operation: readOperation,\n registry,\n hasResourceId: frontendResourceUtils.getResourceId(normalizedOutcomeContext[resourceType]).length > 0,\n contextResourceIdentifiers: normalizedOutcomeContext,\n contextualParameters: outcomeContextualParameters,\n })\n );\n const readRefreshTargets = readOperations.length > 0\n ? readOperations\n : [null];\n const emittedReadOperationKeys = new Set<string>();\n\n for (const readOperation of readRefreshTargets) {\n const readOperationContext = readOperation\n ?? ({ operationIdentifier: CoreResourceOperation.READ } as FrontendResourceConfiguration_Operation);\n const readOperationKey = [\n frontendResourceUtils.getResourceId(normalizedOutcomeContext[resourceType]),\n String(readOperationContext.operationIdentifier),\n readOperationContext.variantType ?? '',\n readOperationContext.variantKey ?? '',\n readOperationContext.isBulkOperation ?? false,\n ].join(':');\n if (emittedReadOperationKeys.has(readOperationKey)) {\n continue;\n }\n emittedReadOperationKeys.add(readOperationKey);\n\n emitRef.current(FrontendEvents.RESOURCE_REFRESH, {\n resourceType,\n operationIdentifier: String(readOperationContext.operationIdentifier ?? CoreResourceOperation.READ),\n operation: readOperationContext,\n variantType: readOperation?.variantType,\n isOperationDefault: readOperation?.isOperationDefault ?? true,\n isBulkOperation: readOperation?.isBulkOperation ?? false,\n variantKey: readOperation?.variantKey,\n contextResourceIdentifiers: normalizedOutcomeContext,\n parentResourcesRequirements: stableParentResourcesRequirements,\n ...(effectiveSuccessDiscriminator ? { optionalDiscriminator: effectiveSuccessDiscriminator } : {}),\n });\n }\n }\n }\n\n emitRef.current(FrontendEvents.RESOURCE_OPERATION_EXECUTED, {\n resourceType,\n operationIdentifier: String(operation.operationIdentifier),\n operation,\n variantType: operation.variantType,\n isOperationDefault: operation.isOperationDefault ?? true,\n isBulkOperation: operation.isBulkOperation ?? false,\n variantKey: operation.variantKey,\n contextResourceIdentifiers: normalizedOutcomeContext,\n parentResourcesRequirements: stableParentResourcesRequirements,\n resultSummary,\n ...(effectiveSuccessDiscriminator ? { optionalDiscriminator: effectiveSuccessDiscriminator } : {}),\n });\n onOperationExecuted?.(operation);\n };\n\n // Check for ephemeral fields in the response (API keys, tokens, etc.)\n if (result && typeof result === 'object') {\n const detectedEphemeral = extractEphemeralFields(\n operation.responseDto,\n result as Record<string, unknown>\n );\n if (detectedEphemeral.length > 0) {\n setEphemeralFields(detectedEphemeral);\n ephemeralPostAcknowledgeRef.current = runPostOperationEffects;\n return;\n }\n }\n\n runPostOperationEffects();\n } catch (err) {\n console.error(`[useResourceOperationActions] Operation ${String(operation.operationIdentifier)} failed:`, err);\n\n // Resource layer owns the failure UX: emit ONE resource error toast. The\n // doOperation above passes `silent: true` so the global error toast is\n // suppressed — this mirrors the form's NOTIFY_RESOURCE_ERROR contract so\n // action-bar operations (delete, custom, bulk) surface failures consistently\n // and with a localized message (resolved via tErrorMessage in NotificationContext).\n const failure = (err && typeof err === 'object')\n ? err as { customMessageReference?: string; httpStatus?: number; message?: string }\n : {};\n emitRef.current(FrontendEvents.NOTIFY_RESOURCE_ERROR, {\n resourceType,\n operationIdentifier: String(operation.operationIdentifier),\n operation,\n variantType: operation.variantType,\n isOperationDefault: operation.isOperationDefault ?? true,\n isBulkOperation: operation.isBulkOperation ?? false,\n variantKey: operation.variantKey,\n contextResourceIdentifiers: normalizeContextResourceIdentifiersForTransport(contextResourceIdentifiersWithIdEvidence),\n parentResourcesRequirements: stableParentResourcesRequirements,\n additionalContext: {\n error: failure.message ?? (err instanceof Error ? err.message : String(err)),\n errorCustomMessageReference: failure.customMessageReference,\n errorHttpStatus: failure.httpStatus,\n },\n });\n } finally {\n setIsExecuting(false);\n }\n }, [\n resourceConfig,\n resourceType,\n registry,\n contextualParameters,\n contextResourceIdentifiersWithIdEvidence,\n stableParentResourcesRequirements,\n selectedItemIds,\n effectiveSuccessDiscriminator,\n onOperationExecuted,\n ]);\n\n // Handle click — navigate, execute, or show confirmation\n const handleOperationClick = useCallback((operation: FrontendResourceConfiguration_Operation) => {\n // ── COLLECTION EXPORT ───────────────────────────────────────────────────────────────────\n // Intercepted BEFORE the navigate-vs-execute decision below, because it is neither. The export\n // carries the listing's `requestDto` (every field optional), which the generic rule would read as\n // \"has input ⇒ navigate to a form\"; and it answers BYTES, which the direct-execute path would\n // hand to a JSON result pipeline. It is its own third shape: fetch and give the browser a file.\n if (isGeneratedCollectionExportOperation(operation)) {\n // Reached only for the single-selection case (the menu wires each item's own selection\n // directly). Falling back to the first offered pair keeps a click meaningful rather than\n // silently doing nothing if an export ever arrives here with several on offer.\n const exportConfig = resolveCollectionExportConfig(operation);\n const selections = exportConfig ? listCollectionExportSelections(exportConfig) : [];\n if (selections.length > 0) void handleCollectionExportDownload(operation, selections[0]!);\n return;\n }\n\n const opId = String(operation.operationIdentifier);\n const riskLevel = operation.riskLevel;\n\n // ── The single question: HOW does this action collect its input? ──\n //\n // Every outcome below is one answer to it. Before this axis existed the answer was a bare rule —\n // *has a `requestDto` ⇒ navigate* — so an action asking for one reason string got the same full\n // page as a multi-step wizard, and the only way out was to hand-author `navigationOverrides` per\n // operation in terms of a zone, a verb and an appearance.\n //\n // `resolveResourceOperationActionPresentation` returns an AUTHORED presentation untouched and\n // otherwise derives one; the derivation deliberately reproduces every in-place shape this\n // handler already had (row-targeted actions, zero-input collection actions, generated-file\n // regenerate), so the axis DESCRIBES the framework's behaviour instead of sitting beside it.\n const presentation = resolveResourceOperationActionPresentation(operation);\n\n if (presentation === ResourceOperationActionPresentation.INLINE && inPlaceHost.isAvailable) {\n // The clicked row transforms itself; neighbours stay put and the zone stack is untouched.\n // Guarded on `isAvailable` because the SAME action also renders where there is no row to\n // transform (a detail page, a danger zone, a picker) — there it falls through to the overlay\n // below rather than becoming a button that does nothing.\n const elementId = frontendResourceUtils.getResourceId(contextResourceIdentifiersWithIdEvidence[resourceType]);\n if (elementId) {\n inPlaceHost.open({\n kind: InPlaceOperationTargetKind.ELEMENT,\n elementId,\n operation,\n resourceContext: buildOperationContext(operation),\n });\n return;\n }\n }\n\n if (presentation === ResourceOperationActionPresentation.POPOVER) {\n // The panel is rendered BY the action bar, anchored to this very button, so all this handler\n // does is name which operation is open. A bar that cannot anchor (an item collapsed into the\n // overflow menu or nested in a subgroup) never routes here — it calls `onClick` on the item,\n // which is wired to `handleNavigateOperation` and degrades to the overlay.\n setOpenPopoverOperationKey(ResourcesConfig_OperationPathUtils.createOperationPathKeyFromOperation(operation));\n return;\n }\n\n if (\n actionPresentationNavigates(presentation)\n || presentation === ResourceOperationActionPresentation.INLINE\n ) {\n // MODAL and PAGE hand off to navigation, which turns the presentation into a transition\n // (`OVERLAY`, or the ordinary chain). The action layer does not render either — one runtime\n // mechanism, one set of zone, appearance and URL semantics.\n //\n // INLINE reaches here only as a DEGRADE: no in-place host above this action, or a row whose id\n // could not be resolved. `resolveActionPresentationTransition` maps it to an overlay, so the\n // fall-back is the nearest presentation rather than the full page the ordinary chain would\n // otherwise produce.\n handleNavigateOperation(operation);\n return;\n }\n\n // Risky operations — show confirmation first\n if (isRiskyOperation(riskLevel)) {\n // Dialog title: DELETE uses the framework \"confirmDelete\" copy; every other\n // risky action (custom collection/drain ops, lifecycle ops) names ITSELF via\n // its resolved label, so the operator sees \"Retry all\" / \"Purge all\" rather\n // than a generic confirmation with no subject.\n const confirmLabel = opId === CoreResourceOperation.DELETE\n ? resolveComponentLabel({\n tComponent,\n componentType: FrontendComponentType.RESOURCES_LAYOUTS_OPERATIONS_ITEMS,\n key: 'confirmDelete',\n })\n : getOperationLabel(operation);\n\n // CRITICAL ops demand a deliberate \"double validation\": the user must type\n // the action's label to arm the confirm button. HIGH keeps the plain single\n // confirm. (This covers direct-execute CRITICAL ops — e.g. DELETE; CRITICAL\n // ops that navigate to a form, like a reset-with-flags, carry their\n // double-validation on the form submit instead — see\n // settings-hub-framework-topics.md Topic 2.)\n const requiresTypedConfirmation = riskLevel === ResourceOperationRiskLevel.CRITICAL;\n\n setConfirmState({\n open: true,\n label: confirmLabel,\n requiresTypedConfirmation,\n confirmationPhrase: requiresTypedConfirmation ? getOperationLabel(operation) : '',\n callback: () => handleExecuteOperation(operation),\n });\n return;\n }\n\n // Non-risky executable operations — execute directly\n handleExecuteOperation(operation);\n }, [handleNavigateOperation, handleExecuteOperation, tComponent, getOperationLabel]);\n\n // Confirmation dialog handlers\n const onConfirm = useCallback(async () => {\n if (confirmState.callback) {\n await confirmState.callback();\n }\n setConfirmState({ open: false, label: '', requiresTypedConfirmation: false, confirmationPhrase: '', callback: null });\n }, [confirmState.callback]);\n\n const onCancel = useCallback(() => {\n setConfirmState({ open: false, label: '', requiresTypedConfirmation: false, confirmationPhrase: '', callback: null });\n }, []);\n\n const onEphemeralAcknowledge = useCallback(() => {\n setEphemeralFields(null);\n const deferred = ephemeralPostAcknowledgeRef.current;\n ephemeralPostAcknowledgeRef.current = null;\n deferred?.();\n }, []);\n\n /**\n * Build the anchored panel for an action that presents as a POPOVER, or `undefined` for every\n * other presentation.\n *\n * The element is created with `React.createElement` because this module is `.ts` — the same reason\n * icons arrive through `renderIcon()` rather than as JSX. The panel BODY is a component\n * (`ResourceOperationActionPopoverBody`) rather than inline markup so the execution flow it hosts\n * stays the one every other host uses.\n *\n * Note what is NOT decided here: whether the bar can actually anchor. That depends on overflow\n * caps and label-display mode, which are the bar's own layout knowledge — so the bar ignores this\n * panel where it cannot present it and falls back to the item's `onClick`.\n */\n const buildAnchoredPanel = useCallback((\n operation: FrontendResourceConfiguration_Operation,\n label: string,\n ): ActionBarButtonPopover | undefined => {\n if (resolveResourceOperationActionPresentation(operation) !== ResourceOperationActionPresentation.POPOVER) {\n return undefined;\n }\n if (!resourceConfig) {\n return undefined;\n }\n\n const operationKey = ResourcesConfig_OperationPathUtils.createOperationPathKeyFromOperation(operation);\n const dismiss = () => setOpenPopoverOperationKey(null);\n\n return {\n open: openPopoverOperationKey === operationKey,\n onOpenChange: (open: boolean) => setOpenPopoverOperationKey(open ? operationKey : null),\n title: label,\n content: React.createElement(ResourceOperationActionPopoverBody, {\n resourceContext: buildOperationContext(operation),\n navigationZone,\n onDismiss: dismiss,\n }),\n };\n }, [resourceConfig, openPopoverOperationKey, buildOperationContext, navigationZone]);\n\n // ─── Step 3: Build ActionBarItem[] from filtered & enabled operations ───\n const items = useMemo((): ActionBarItem[] => {\n if (!resourceConfig) return [];\n\n const operations = (resourceConfig.operations || []) as FrontendResourceConfiguration_Operation[];\n\n // Group filtered operations by operationIdentifier for variant subgroups.\n // Literal single-resource READ/UPDATE/DELETE variants are intersected with\n // the current route context so child-id, parent-context singleton, and\n // complete-association routes do not compete blindly in the action bar.\n const operationGroups = new Map<string, FrontendResourceConfiguration_Operation[]>();\n for (const op of filteredOps.filter(isOperationAddressableForActions)) {\n const opId = String(op.operationIdentifier);\n if (!operationGroups.has(opId)) {\n operationGroups.set(opId, []);\n }\n operationGroups.get(opId)!.push(op);\n }\n\n // Build ActionBarItems — use internal type for sorting + feature metadata\n type PrioritizedItem = (ActionBarButton | ActionBarSubGroup) & {\n _priority: number;\n _group: ActionPlacement;\n featureLocked?: boolean;\n featureAvailability?: Record<string, unknown>;\n };\n const actionItems: PrioritizedItem[] = [];\n\n for (const [opId, groupVariants] of operationGroups) {\n // Collapse the group to ONLY the highest-right-level variant(s) the viewer\n // qualifies for. Variants of an operation exist to give different behaviour\n // according to rights, so a viewer should see only the highest one — e.g. a\n // super-admin who is also an org member sees the super-admin READ variant,\n // not both it and the member variant. The group is already role-gated\n // (`filteredOps`), so this just keeps the max-rights subset; variants that\n // TIE at the top rank (equal rights — context/variantKey variants, not a\n // rights distinction) are all kept and fall through to the default/sub-group\n // logic below. Composite/execution views bypass this hook entirely, so they\n // may still surface all variants (the intended exception, for now).\n //\n // Rank among variants the viewer can currently USE: a higher-rights variant\n // that is disabled (failing `enabledCondition` / feature-locked) must NOT\n // mask an enabled lower-rights variant of the same operation (that would\n // leave a dead button). Fall back to the full group when none are enabled,\n // so a wholly-unavailable operation still surfaces its highest-rights variant\n // (rendered disabled / feature-locked) exactly as before.\n const enabledGroupVariants = groupVariants.filter((v) => getOperationEntry(v).isEnabled);\n const variants = selectHighestRightsVariants(\n enabledGroupVariants.length > 0 ? enabledGroupVariants : groupVariants,\n );\n // Prefer the explicit non-bulk default variant for the group's primary\n // label/risk/icon. Undefined default flags should not masquerade as the\n // canonical operation because variants are already materialized by the registry.\n const defaultVariant = variants.find((v) => v.isOperationDefault === true && v.isBulkOperation !== true)\n || variants.find((v) => v.isOperationDefault === true)\n || variants[0];\n const entry = getOperationEntry(defaultVariant);\n\n // Visibility of a disabled action. A WHEN_AVAILABLE operation vanishes\n // (rather than rendering disabled) when its enabledCondition is unmet —\n // e.g. ACTIVATE on an already-active org. When the operation declares NO\n // explicit `actionVisibility`, the VIEW's disclosure policy decides:\n // dense surfaces (SUMMARY) default to HIDE so rows aren't cluttered with\n // greyed, non-actionable buttons; roomy surfaces (DETAIL) default to\n // SHOW_DISABLED. Feature-gated unavailability is EXCLUDED from this hide —\n // it keeps its own FeatureUnavailabilityBehavior (upgrade/prompt) handled\n // below. Display-only; backend authorization is unchanged. Evaluated here\n // (not in `filteredOps`) because it depends on the async enabledCondition\n // result captured in `entry`.\n const explicitVisibility = defaultVariant.operationFrontendConfig?.actionVisibility;\n const isFeatureGated = !!(entry.featureAvailability && !entry.featureAvailability.isAvailable);\n const effectiveVisibility = explicitVisibility\n ?? (disclosure.disabledActionHandling === DisabledActionHandling.HIDE && !isFeatureGated\n ? ActionVisibility.WHEN_AVAILABLE\n : ActionVisibility.ALWAYS);\n if (effectiveVisibility === ActionVisibility.WHEN_AVAILABLE && !entry.isEnabled) {\n continue;\n }\n\n const variantEntries = new Map(\n variants.map((variant) => [variant, getOperationEntry(variant)] as const),\n );\n const riskLevel = defaultVariant.riskLevel;\n // Colour: explicit `actionVariant` override wins; otherwise derive from risk.\n const variant = defaultVariant.operationFrontendConfig?.actionVariant ?? riskLevelToVariant(riskLevel);\n const icon = getOperationIcon(defaultVariant);\n const label = getOperationLabel(defaultVariant);\n const priority = getDisplayPriority(defaultVariant);\n // Placement: explicit `actionPlacement` override wins; otherwise derive from\n // risk (HIGH/CRITICAL trail in the danger zone). Tagged on every emitted item\n // via `_group`, consumed by the group-then-priority sort below.\n const placement: ActionPlacement = defaultVariant.operationFrontendConfig?.actionPlacement\n ?? (isRiskyOperation(riskLevel) ? ActionPlacement.DANGER_ZONE : ActionPlacement.PRIMARY);\n // Surface filter: the main bar requests PRIMARY, the danger-zone section\n // requests DANGER_ZONE; omitted returns both (separated).\n if (placementFilter && placement !== placementFilter) continue;\n const disabled = !entry.isEnabled;\n\n // ── Feature-aware behavior switch ──\n // When disabled due to feature unavailability, apply the appropriate behavior\n if (disabled && entry.featureAvailability && !entry.featureAvailability.isAvailable) {\n const fa = entry.featureAvailability;\n\n switch (fa.behavior) {\n case FeatureUnavailabilityBehavior.HIDE:\n // Skip this action entirely — don't add to action bar\n continue;\n\n case FeatureUnavailabilityBehavior.DISABLE:\n // Show disabled, no special treatment (falls through to normal disabled rendering below)\n break;\n\n case FeatureUnavailabilityBehavior.UPGRADE_PROMPT:\n case FeatureUnavailabilityBehavior.ADDON_PROMPT:\n case FeatureUnavailabilityBehavior.LIMIT_UPGRADE_PROMPT:\n case FeatureUnavailabilityBehavior.CONTACT_ADMIN:\n case FeatureUnavailabilityBehavior.CUSTOM:\n // Show disabled with feature-locked metadata\n // The UI layer (ActionBar) can render a lock icon / badge based on featureLocked\n if (variants.length === 1) {\n actionItems.push({\n type: 'button' as const,\n icon,\n label,\n variant,\n onClick: () => handleOperationClick(defaultVariant),\n disabled: true,\n featureLocked: true,\n featureAvailability: toActionBarFeatureAvailability(fa),\n _priority: priority,\n _group: placement,\n riskLevel,\n operationIdentifier: String(defaultVariant.operationIdentifier),\n } as PrioritizedItem);\n } else {\n actionItems.push({\n type: 'subgroup' as const,\n icon,\n label,\n variant,\n items: [],\n disabled: true,\n featureLocked: true,\n featureAvailability: toActionBarFeatureAvailability(fa),\n _priority: priority,\n _group: placement,\n riskLevel,\n operationIdentifier: String(defaultVariant.operationIdentifier),\n } as PrioritizedItem);\n }\n continue; // Skip normal rendering below\n }\n }\n\n // ── COLLECTION EXPORT — one item per OFFERED COMBINATION, not per operation variant ──\n // Every other action in this bar fans out by operation VARIANT. An export has exactly one\n // variant and N choices inside it (format × row scope), so the fan-out is over the declared\n // selectors instead. Committing to one pair and hiding the rest would be the surface answering\n // a question the user was never asked.\n const exportConfigForItems = isGeneratedCollectionExportOperation(defaultVariant)\n ? resolveCollectionExportConfig(defaultVariant)\n : undefined;\n if (exportConfigForItems) {\n const selections = listCollectionExportSelections(exportConfigForItems);\n if (selections.length === 1) {\n actionItems.push({\n type: 'button' as const,\n icon,\n label,\n variant,\n onClick: () => { void handleCollectionExportDownload(defaultVariant, selections[0]!); },\n disabled,\n _priority: priority,\n _group: placement,\n riskLevel,\n operationIdentifier: String(defaultVariant.operationIdentifier),\n });\n } else if (selections.length > 1) {\n actionItems.push({\n type: 'subgroup' as const,\n icon,\n label,\n variant,\n items: selections.map((selection) => ({\n type: 'button' as const,\n icon,\n label: describeCollectionExportSelection(selection),\n variant,\n riskLevel,\n operationIdentifier: String(defaultVariant.operationIdentifier),\n onClick: () => { void handleCollectionExportDownload(defaultVariant, selection); },\n disabled,\n })),\n disabled,\n _priority: priority,\n _group: placement,\n riskLevel,\n operationIdentifier: String(defaultVariant.operationIdentifier),\n } as PrioritizedItem);\n }\n continue;\n }\n\n if (variants.length === 1) {\n // Single variant — simple button\n const anchoredPanel = buildAnchoredPanel(defaultVariant, label);\n actionItems.push({\n type: 'button' as const,\n icon,\n label,\n variant,\n // A POPOVER action's `onClick` is the DEGRADE path, not the normal one. The bar wires the\n // normal path to the popover trigger; `onClick` is reached only where the bar cannot\n // anchor (an item collapsed into the overflow menu, or nested in a subgroup), and there\n // the right answer is the overlay — never the page the ordinary chain would otherwise\n // produce for a popover-shaped action.\n onClick: anchoredPanel\n ? () => handleNavigateOperation(defaultVariant)\n : () => handleOperationClick(defaultVariant),\n ...(anchoredPanel ? { popover: anchoredPanel } : {}),\n disabled,\n _priority: priority,\n _group: placement,\n riskLevel,\n operationIdentifier: String(defaultVariant.operationIdentifier),\n });\n } else {\n // Multiple variants — render as ActionBarSubGroup\n // Default variant provides the trigger label/icon. The subgroup should stay\n // usable when at least one variant is still enabled.\n const nonDefaultVariants = variants.filter((v) => v !== defaultVariant);\n const subItems: ActionBarButton[] = nonDefaultVariants.flatMap((v) => {\n const vEntry = variantEntries.get(v)!;\n if (\n vEntry.featureAvailability\n && !vEntry.featureAvailability.isAvailable\n && vEntry.featureAvailability.behavior === FeatureUnavailabilityBehavior.HIDE\n ) {\n return [];\n }\n const vKey = v.variantKey;\n const vLabel = vKey ? `${label} (${vKey})` : label;\n const vRisk = v.riskLevel;\n return [{\n type: 'button' as const,\n icon: getOperationIcon(v),\n label: vLabel,\n variant: riskLevelToVariant(vRisk),\n riskLevel: vRisk,\n operationIdentifier: String(v.operationIdentifier),\n onClick: () => handleOperationClick(v),\n disabled: !vEntry.isEnabled,\n ...(vEntry.featureAvailability && !vEntry.featureAvailability.isAvailable\n ? {\n featureLocked: true,\n featureAvailability: toActionBarFeatureAvailability(vEntry.featureAvailability),\n }\n : {}),\n }];\n });\n\n const subgroupDisabled = !entry.isEnabled && subItems.every((item) => item.disabled === true);\n\n if (subItems.length === 0) {\n actionItems.push({\n type: 'button' as const,\n icon,\n label,\n variant,\n onClick: () => handleOperationClick(defaultVariant),\n disabled,\n _priority: priority,\n _group: placement,\n riskLevel,\n operationIdentifier: String(defaultVariant.operationIdentifier),\n ...(entry.featureAvailability && !entry.featureAvailability.isAvailable\n ? {\n featureLocked: true,\n featureAvailability: toActionBarFeatureAvailability(entry.featureAvailability),\n }\n : {}),\n });\n continue;\n }\n\n actionItems.push({\n type: 'subgroup' as const,\n icon,\n label,\n variant,\n items: subItems,\n disabled: subgroupDisabled,\n _priority: priority,\n _group: placement,\n riskLevel,\n operationIdentifier: String(defaultVariant.operationIdentifier),\n });\n }\n }\n\n // Inject \"View Details\" in summary mode if READ operation is available —\n // UNLESS the host row is itself the READ affordance (`suppressViewDetails`),\n // in which case the eye button would just duplicate the row click.\n if (\n displayMode === ResourceOperationDisplayMode.SUMMARY\n && placementFilter !== ActionPlacement.DANGER_ZONE\n && !suppressViewDetails\n ) {\n const readOp = resourceConfig\n ? pickPreferredOperationForCoreSemanticAddressability({\n resourceConfig,\n operations,\n coreOperation: CoreResourceOperation.READ,\n registry,\n hasResourceId: hasCurrentResourceId,\n requireFrontendAddressable: true,\n contextResourceIdentifiers: contextResourceIdentifiersWithIdEvidence,\n contextualParameters,\n })\n : undefined;\n if (readOp) {\n const viewLabel = resolveComponentLabel({\n tComponent,\n componentType: FrontendComponentType.RESOURCES_LAYOUTS_OPERATIONS_ITEMS,\n key: 'viewDetails',\n });\n actionItems.push({\n type: 'button' as const,\n icon: renderIcon(\n StandardIconReference.EYE,\n { size: IconSize.SM }\n ),\n label: viewLabel,\n variant: ButtonVariants_Variant.GHOST,\n onClick: () => handleNavigateOperation(readOp),\n disabled: false,\n _priority: VIEW_DETAILS_PRIORITY,\n _group: ActionPlacement.PRIMARY,\n });\n }\n }\n\n // Group-then-priority sort: every PRIMARY action first, the DANGER_ZONE group\n // last, each ordered internally by display priority (lower = first).\n const groupRank = (group: ActionPlacement): number => (group === ActionPlacement.DANGER_ZONE ? 1 : 0);\n actionItems.sort((a, b) => groupRank(a._group) - groupRank(b._group) || a._priority - b._priority);\n\n // Strip internal _priority/_group fields (preserve featureLocked +\n // featureAvailability), fencing the danger zone off from the primary group\n // with a single separator — only when both groups are actually populated.\n const finalItems: ActionBarItem[] = [];\n let previousGroup: ActionPlacement | undefined;\n for (const { _priority, _group, ...item } of actionItems) {\n // Fence fires exactly once, on the PRIMARY→DANGER_ZONE transition. Guarding\n // on the previous group (not \"any preceding item\") avoids a stray separator\n // when the bar holds only danger-zone actions.\n if (_group === ActionPlacement.DANGER_ZONE && previousGroup === ActionPlacement.PRIMARY) {\n finalItems.push({ type: 'separator' as const });\n }\n finalItems.push(item as ActionBarItem);\n previousGroup = _group;\n }\n return finalItems;\n }, [\n // `currentObject` is intentionally NOT a dependency: it is not read in this\n // memo body. It reaches `items` only transitively, via\n // `currentResourceIdEvidence` → `contextResourceIdentifiersWithIdEvidence` /\n // `contextualParameters` / `hasCurrentResourceId` (all listed), so listing the\n // raw object would rebuild every ActionBar item + onClick on each render it is\n // re-created — even when the resolved id is unchanged. (No exhaustive-deps lint\n // in this repo — this omission is deliberate; see the stabilization note above.)\n resourceConfig,\n contextResourceIdentifiersWithIdEvidence,\n contextualParameters,\n hasCurrentResourceId,\n isOperationAddressableForActions,\n registry,\n resourceType,\n filteredOps,\n enabledMap,\n displayMode,\n disclosure,\n suppressViewDetails,\n getOperationIcon,\n getOperationLabel,\n getDisplayPriority,\n isOperationEnabled,\n getOperationEntry,\n handleOperationClick,\n handleNavigateOperation,\n // The export buttons close over this callback directly (each menu item carries its own\n // selection). It is stable now that the listing query is read through a ref, so this entry is\n // correctness-by-declaration rather than load-bearing — and it must stay: dropping it would make\n // the buttons' freshness depend on the ref alone, which is true today and is not a property\n // anyone reading this list would know to preserve.\n handleCollectionExportDownload,\n tComponent,\n renderIcon,\n ]);\n\n return {\n items,\n isConfirmDialogOpen: confirmState.open,\n confirmDialogLabel: confirmState.label,\n confirmRequiresTypedConfirmation: confirmState.requiresTypedConfirmation,\n confirmConfirmationPhrase: confirmState.confirmationPhrase,\n onConfirm,\n onCancel,\n isExecuting,\n ephemeralFields,\n onEphemeralAcknowledge,\n };\n}\n"]}