@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":"frontend-resource.utils.js","sourceRoot":"","sources":["../../../../../src/core/resources/frontend-resource.utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ChildOperationsConfig_Parsed,\n CoreResourceOperation,\n ResourceType,\n ResourceConfiguration_Operation_UrlInitiatorInfo,\n ResourceConfiguration_Operation_UrlParameterInfo,\n ResourceParentResourceRequirement,\n ErrorType,\n ErrorCustomMessageReference,\n DataMode,\n ResourceOperationsUtils,\n ResourcesConfig_OperationPathUtils,\n ResourcesConfigOperationsUrlsBuilderUtils,\n getParentDirectionRelationships,\n Resources_SharedUtils,\n RelationshipMutationModel,\n RelationshipNature,\n type ResourceRelationship,\n} from \"@wildo-ai/saas-models\";\nimport type { z } from 'zod';\nimport type { FrontendResourceOperationPath, FrontendResource_ParentResourceRequirement } from './resource-path.frontend.schemas';\nimport type {\n FrontendResourcesRegistry,\n AnyFrontendResourceConfiguration,\n FrontendResourceConfiguration_Operation,\n} from './resources.frontend.schemas';\nimport { FrontendResourceOperationContext } from './resources.frontend.schemas';\nimport { ErrorBuilderFrontend } from '~wildo-frontend-lib/core/errors/errors-builder.frontend.services';\nimport { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\nimport {\n pickPreferredOperationForCoreSemantic,\n resolveEffectiveCoreOperationFromOperation,\n} from './operation-semantics.frontend.utils';\n\nexport interface ResolvedRelationshipObjectFieldSemantics {\n rootFieldName: string;\n relationship: ReturnType<typeof Resources_SharedUtils.ensureCompiledRelationship>;\n semantics: ReturnType<typeof Resources_SharedUtils.getResolvedRelationshipSemantics>;\n allowedBulkActions: ReturnType<typeof Resources_SharedUtils.resolveAllowedBulkRelationshipActionsForResource>;\n nestedMutationConfig?: ChildOperationsConfig_Parsed['nested']['onCreate'];\n relatedResourceType: ResourceType;\n foreignKeyIdentity?: ReturnType<typeof Resources_SharedUtils.tryResolveRelationshipForeignKeyIdentity>;\n}\n\n/**\n * Singleton utility class for frontend resource operations\n * Provides centralized helper functions for resource context management\n */\nexport class FrontendResourceUtils {\n private static instance: FrontendResourceUtils;\n private errorBuilder: ErrorBuilderFrontend;\n\n private constructor() {\n this.errorBuilder = new ErrorBuilderFrontend();\n }\n\n public static getInstance(): FrontendResourceUtils {\n if (!FrontendResourceUtils.instance) {\n FrontendResourceUtils.instance = new FrontendResourceUtils();\n }\n return FrontendResourceUtils.instance;\n }\n\n // =============================================================================\n // ERROR BUILDER (STATIC)\n // =============================================================================\n\n /**\n * Build a proper WildoError_Frontend for resource configuration errors.\n * \n * Creates a CONFIGURATION-type error with the WildoError attached, so \n * React ErrorBoundary can process it through the unified error system.\n * \n * @param customMessageReference - The ErrorCustomMessageReference for the specific error\n * @param context - Additional context for debugging (field names, resource types, etc.)\n * @returns An Error instance with .wildoError (WildoError_Frontend) attached\n */\n public static buildConfigurationError(\n customMessageReference: ErrorCustomMessageReference,\n context?: Record<string, any>\n ): Error {\n const instance = FrontendResourceUtils.getInstance();\n const wildoError = instance.errorBuilder.buildWildoError_Frontend(\n ErrorType.CONFIGURATION,\n { customMessageReference, context }\n );\n const error = new Error(customMessageReference);\n (error as any).wildoError = wildoError;\n return error;\n }\n\n // =============================================================================\n // FOREIGN KEY + LABEL RESOLUTION HELPERS (STATIC)\n // =============================================================================\n\n /**\n * Resolve the resource type that a foreign key field points to.\n * \n * Resolution chain:\n * 1. Registry map: fieldIdentifierToResourceType (enriched from relationships)\n * 2. THROW — unresolvable FK is a engine configuration error\n * \n * This method NEVER returns null. An unresolvable FK means the resource \n * configuration is broken and must be fixed. Throwing here surfaces the issue \n * immediately at the point of use, caught by React ErrorBoundary.\n * \n * @param fieldName - The field name in the schema (e.g., \"assignedToUserId\")\n * @param fieldSchema - The Zod schema for this field (to read decorator metadata), or undefined\n * @param registry - The resources registry (with enriched fieldIdentifierToResourceType)\n */\n public static resolveResourceTypeForForeignKey(\n fieldName: string,\n _fieldSchema: z.ZodTypeAny | undefined,\n registry: FrontendResourcesRegistry\n ): ResourceType {\n // 1. Registry lookup (enriched from relationships)\n const fromRegistry = registry.fieldIdentifierToResourceType?.[fieldName];\n if (fromRegistry) return fromRegistry as ResourceType;\n\n // 2. Not found — throw a proper WildoError. This is a configuration error, not a runtime edge case.\n throw FrontendResourceUtils.buildConfigurationError(\n ErrorCustomMessageReference.FRONTEND_FK_RESOLUTION_FAILED,\n {\n fieldName,\n message: `Cannot resolve resource type for FK field \"${fieldName}\". ` +\n `Ensure the relationship declares foreignKeyField: \"${fieldName}\".`,\n }\n );\n }\n\n /**\n * Check if field identifier is a plural FK (ends with 'Ids').\n */\n public static isPluralForeignKeyFieldIdentifier(fieldIdentifier: string): boolean {\n return fieldIdentifier.endsWith('Ids');\n }\n\n /**\n * Get the resource field identifier for a resource type.\n * Throws if the resource type has no configured field identifier — this is a configuration error.\n */\n public static getResourceFieldIdentifierForType(\n resourceType: ResourceType,\n registry: FrontendResourcesRegistry\n ): string {\n const fieldId =\n registry.resourceConfigurations?.[resourceType]?.resourceFieldIdentifier ||\n registry.allResourceFieldIdentifiers?.[resourceType];\n\n if (!fieldId) {\n throw FrontendResourceUtils.buildConfigurationError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_FIELD_IDENTIFIER_NOT_FOUND,\n {\n resourceType,\n message: `No field identifier for resource type \"${resourceType}\". ` +\n `The resource must be registered with a resourceFieldIdentifier.`,\n }\n );\n }\n\n return fieldId as string;\n }\n\n /**\n * Build a stable parent→child edge identifier for frontend navigation/runtime consumers.\n *\n * Resource type alone is not enough when:\n * - the same parent type appears multiple times in a chain\n * - multiple edges exist between the same types\n * - self-references need FK-based disambiguation\n */\n public static buildRelationshipEdgeKey(params: {\n parentResourceType: string;\n childResourceType: string;\n foreignKeyField?: string;\n }): string {\n return [\n params.parentResourceType,\n params.childResourceType,\n params.foreignKeyField ?? '__default__',\n ].join('::');\n }\n\n /**\n * Build the ordered parent-edge chain for a target resource from route/initiator parameters.\n *\n * URL parameter arrays may include the target resource's own identifier\n * (e.g. READ `/tasks/:taskId`). That self parameter is not part of the parent\n * edge chain and must be excluded before identity comparison.\n */\n public static buildOrderedRouteParameterEdgeKeys(\n routePathParameters: ResourceConfiguration_Operation_UrlParameterInfo[],\n targetResourceType: ResourceType,\n targetDefaultFieldIdentifier: string,\n ): string[] {\n const parentParameters = routePathParameters.filter((param) => !(\n param.resourceType === targetResourceType &&\n param.fieldIdentifier === targetDefaultFieldIdentifier\n ));\n\n return parentParameters.map((param, index) =>\n this.buildRelationshipEdgeKey({\n parentResourceType: param.resourceType,\n childResourceType: parentParameters[index + 1]?.resourceType ?? targetResourceType,\n foreignKeyField: param.relationshipField,\n })\n );\n }\n\n /**\n * Build the ordered parent-edge chain carried by `parentResourcesRequirements`.\n *\n * Older callers may not populate `childResourceType` / `relationshipEdgeKey`\n * yet, so this helper derives them from chain order as a compatibility bridge.\n */\n public static buildOrderedParentRequirementEdgeKeys(\n parentResourcesRequirements: FrontendResource_ParentResourceRequirement[],\n targetResourceType: ResourceType,\n ): string[] {\n return parentResourcesRequirements.map((requirement, index) =>\n requirement.relationshipEdgeKey ?? this.buildRelationshipEdgeKey({\n parentResourceType: requirement.resourceType,\n childResourceType: requirement.childResourceType\n ?? parentResourcesRequirements[index + 1]?.resourceType\n ?? targetResourceType,\n foreignKeyField: requirement.foreignKeyField,\n })\n );\n }\n\n /**\n * Compare the current parent chain against a candidate route/initiator parameter chain.\n *\n * This preserves ordered edge identity instead of collapsing the chain to\n * `resourceType -> foreignKeyField`, which loses meaning for repeated types.\n */\n public static matchesParentRequirementEdgeChain(\n parentResourcesRequirements: FrontendResource_ParentResourceRequirement[],\n routePathParameters: ResourceConfiguration_Operation_UrlParameterInfo[],\n targetResourceType: ResourceType,\n targetDefaultFieldIdentifier: string,\n ): boolean {\n const requirementEdgeKeys = this.buildOrderedParentRequirementEdgeKeys(\n parentResourcesRequirements,\n targetResourceType,\n );\n const routeEdgeKeys = this.buildOrderedRouteParameterEdgeKeys(\n routePathParameters,\n targetResourceType,\n targetDefaultFieldIdentifier,\n );\n\n if (requirementEdgeKeys.length !== routeEdgeKeys.length) {\n return false;\n }\n\n return requirementEdgeKeys.every((edgeKey, index) => edgeKey === routeEdgeKeys[index]);\n }\n\n /**\n * Select the URL initiator (route pattern) the transport will use for an\n * operation, given the current contextual parameters.\n *\n * This is THE deterministic route-selection truth — extracted from the HTTP\n * client so non-transport consumers can reason about transport behavior\n * without duplicating the algorithm. The filters layer uses it to compute\n * which filter fields are already pinned by the selected route (a filter on\n * a URL-consumed parameter is meaningless — the transport fixes its value\n * before the filter could apply). The HTTP client delegates here and layers\n * its own throw-on-failure error semantics on top.\n *\n * Selection algorithm (must stay in sync with backend URL generation):\n * 1. FILTER: keep initiators whose parameters are all satisfiable from\n * contextualParameters (scalar, non-empty).\n * 2. FILTER by ordered parent-edge identity when parentResourcesRequirements\n * are provided (falls back to step-1 survivors when nothing matches).\n * 3. SORT deterministically: most parameters first (most specific), then\n * most default-relationship parameters, then alphabetical URL.\n *\n * @returns The selected initiator, or `undefined` when no candidate is\n * satisfiable (the transport would fail with\n * FRONTEND_RESOURCE_NO_ENDPOINT_AVAILABLE in that state).\n */\n public static selectOperationUrlInitiatorInfo(params: {\n initiatorInfos: ResourceConfiguration_Operation_UrlInitiatorInfo[];\n contextualParameters: Record<string, string | number | string[] | undefined>;\n targetResourceType: ResourceType;\n targetDefaultFieldIdentifier: string;\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[];\n }): ResourceConfiguration_Operation_UrlInitiatorInfo | undefined {\n const {\n initiatorInfos,\n contextualParameters,\n targetResourceType,\n targetDefaultFieldIdentifier,\n parentResourcesRequirements,\n } = params;\n\n if (initiatorInfos.length === 0) {\n return undefined;\n }\n\n const isScalar = (value: string | number | string[] | undefined): value is string | number =>\n typeof value === 'string' || typeof value === 'number';\n\n // 1. FILTER: keep URLs where all parameters can be satisfied\n const validInfos = initiatorInfos.filter(info =>\n info.parameters.every(p =>\n isScalar(contextualParameters[p.fieldIdentifier]) &&\n String(contextualParameters[p.fieldIdentifier]).trim() !== ''\n )\n );\n\n if (validInfos.length === 0) {\n return undefined;\n }\n\n // 2. FILTER by ordered edge identity (if parentResourcesRequirements specified)\n let candidates = validInfos;\n if (parentResourcesRequirements && parentResourcesRequirements.length > 0) {\n const matchedByEdgeIdentity = validInfos.filter((info) =>\n FrontendResourceUtils.matchesParentRequirementEdgeChain(\n parentResourcesRequirements,\n info.parameters,\n targetResourceType,\n targetDefaultFieldIdentifier,\n )\n );\n if (matchedByEdgeIdentity.length > 0) {\n candidates = matchedByEdgeIdentity;\n }\n }\n\n // 3. SORT deterministically\n const sorted = [...candidates].sort((a, b) => {\n // a) Most specific (most parameters) first\n if (b.parameters.length !== a.parameters.length) {\n return b.parameters.length - a.parameters.length;\n }\n\n // b) Prefer default relationships (no relationshipField) over FK paths\n const aDefaultCount = a.parameters.filter(p => !p.relationshipField).length;\n const bDefaultCount = b.parameters.filter(p => !p.relationshipField).length;\n if (bDefaultCount !== aDefaultCount) {\n return bDefaultCount - aDefaultCount;\n }\n\n // c) Alphabetical by URL as final tiebreaker (ensures determinism)\n return a.url.localeCompare(b.url);\n });\n\n return sorted[0];\n }\n\n /**\n * Pick the preferred URL-bearing operation from config for a given operation identifier.\n * Prefers default and non-bulk operations without assuming API_CALL over callbacks.\n */\n public static pickDefaultOperationFromConfig(\n registry: FrontendResourcesRegistry,\n resourceType: ResourceType,\n operationIdentifier: CoreResourceOperation\n ): FrontendResourceConfiguration_Operation | null {\n const config = registry.resourceConfigurations?.[resourceType];\n const ops = (config?.operations ?? []) as FrontendResourceConfiguration_Operation[];\n\n return pickPreferredOperationForCoreSemantic(ops, operationIdentifier) ?? null;\n }\n\n // =============================================================================\n // CONTEXT BUILDING HELPERS (STATIC)\n // =============================================================================\n\n /**\n * Convert contextResourceIdentifiers (semantic: ResourceType → id) to\n * contextualParameters (physical: fieldIdentifier → id) for API calls.\n * \n * This is the canonical way to build contextualParameters from a resourceContext.\n * Used by ResourceAutomatedForm, ResourceAutomaticDisplayer, List, Search, Header.\n */\n public static buildContextualParameters(\n contextResourceIdentifiers: FrontendResourceOperationContext['contextResourceIdentifiers'],\n registry: FrontendResourcesRegistry\n ): Record<string, string | number> {\n const instance = FrontendResourceUtils.getInstance();\n const params: Record<string, string | number> = {};\n for (const [resType, value] of Object.entries(contextResourceIdentifiers)) {\n const resourceId = instance.getResourceId(value);\n const explicitFieldId = instance.getFieldIdentifier(value);\n if (explicitFieldId) {\n params[explicitFieldId] = resourceId;\n } else {\n const config = registry.resourceConfigurations?.[resType];\n if (config) {\n params[config.resourceFieldIdentifier as string] = resourceId;\n }\n }\n }\n return params;\n }\n\n /**\n * Build a stable string key from contextResourceIdentifiers for memoization.\n * Sorted to ensure order-independence.\n *\n * Nullish-safe by contract: callers pass optional/derived identifier maps that\n * are legitimately absent (no scope yet, an unresolved composite view, a\n * pre-bootstrap RMM surface — see `useResourceRMM` and `CompositeView`). An\n * absent map yields the empty key, so this never throws on `undefined`/`null`.\n */\n public static buildContextResourceIdentifiersKey(\n contextResourceIdentifiers: FrontendResourceOperationContext['contextResourceIdentifiers'] | null | undefined\n ): string {\n const instance = FrontendResourceUtils.getInstance();\n return Object.entries(contextResourceIdentifiers ?? {})\n .map(([resType, value]) => `${resType}:${instance.getResourceId(value)}`)\n .sort()\n .join('|');\n }\n\n /**\n * Resolve parent-owned form fields from matched relationship semantics.\n *\n * The old schema-first approach hid any contextual parameter whose field name\n * happened to exist in the form schema. That couples form affordances to route\n * shape instead of the declared relationship contract. This helper keeps the\n * decision on the relationship side:\n * - match the current parent chain to parent-direction relationships\n * - resolve the concrete FK identity through the shared helper\n * - hide/inject only real child-FK fields owned by that relationship\n *\n * Association-managed peer edges are excluded on purpose: they should surface\n * through explicit association/junction UX, not masquerade as child-owned FK\n * fields in a regular resource form.\n */\n public static resolveSemanticContextFieldValues(params: {\n resourceType: ResourceType;\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[];\n contextResourceIdentifiers?: FrontendResourceOperationContext['contextResourceIdentifiers'];\n contextualParameters: Record<string, string | number>;\n registry: FrontendResourcesRegistry;\n }): Record<string, string | number> {\n const parentResourcesRequirements = (\n params.parentResourcesRequirements && params.parentResourcesRequirements.length > 0\n )\n ? params.parentResourcesRequirements\n : (\n params.contextResourceIdentifiers\n ? this.getInstance().buildParentResourcesRequirements(\n params.resourceType,\n params.contextResourceIdentifiers,\n params.registry,\n )\n : []\n );\n\n if (parentResourcesRequirements.length === 0) {\n return {};\n }\n\n const resourceConfig = params.registry.resourceConfigurations?.[params.resourceType];\n if (!resourceConfig) {\n return {};\n }\n\n const urlAddressableParentRelationships = ResourcesConfigOperationsUrlsBuilderUtils.getUrlAddressableParentRelationships(\n resourceConfig,\n params.registry.allResourceFieldIdentifiers,\n );\n if (urlAddressableParentRelationships.length === 0) {\n return {};\n }\n\n const values: Record<string, string | number> = {};\n\n for (const requirement of parentResourcesRequirements) {\n const requirementChildResourceType = requirement.childResourceType ?? params.resourceType;\n const requirementEdgeKey = requirement.relationshipEdgeKey\n ?? this.buildRelationshipEdgeKey({\n parentResourceType: requirement.resourceType,\n childResourceType: requirementChildResourceType,\n foreignKeyField: requirement.foreignKeyField,\n });\n\n const relationship = urlAddressableParentRelationships.find((candidate) => {\n if (candidate.resourceType1 !== requirement.resourceType) {\n return false;\n }\n\n const candidateEdgeKey = this.buildRelationshipEdgeKey({\n parentResourceType: candidate.resourceType1,\n childResourceType: requirementChildResourceType,\n foreignKeyField: candidate.foreignKeyField,\n });\n\n return candidateEdgeKey === requirementEdgeKey;\n });\n\n if (!relationship) {\n continue;\n }\n\n let semantics;\n try {\n semantics = Resources_SharedUtils.getResolvedRelationshipSemantics(relationship);\n } catch (error) {\n throw this.buildConfigurationError(\n ErrorCustomMessageReference.CONFIGURATION,\n {\n resourceType: params.resourceType,\n parentResourceType: requirement.resourceType,\n childResourceType: requirementChildResourceType,\n foreignKeyField: relationship.foreignKeyField,\n reason: 'Failed to resolve relationship semantics while deriving semantic context field values.',\n originalError: error instanceof Error ? error.message : String(error),\n },\n );\n }\n\n if (semantics.handling.mutationModelMode === RelationshipMutationModel.ASSOCIATION_MANAGED) {\n continue;\n }\n\n const fkIdentity = Resources_SharedUtils.tryResolveRelationshipForeignKeyIdentity(\n relationship,\n params.registry.allResourceFieldIdentifiers,\n );\n if (!fkIdentity) {\n continue;\n }\n\n const contextValue = params.contextualParameters[fkIdentity.fieldIdentifier];\n if (contextValue !== undefined) {\n values[fkIdentity.fieldIdentifier] = contextValue;\n }\n }\n\n return values;\n }\n\n /**\n * Resolve whether a top-level form field represents a relationship object slot\n * from the current resource's perspective.\n *\n * This is the semantic bridge for generated/custom forms that see only a DTO\n * field name like `tasks` or `owner`, but need to know whether that field is:\n * - a plain JSON/object field, or\n * - a relationship-owned nested object/collection field\n *\n * Step 6 currently uses this to fail closed for non-composition nested editing\n * so `REFERENCE` / `ASSOCIATION` relationships do not regress to generic\n * nested CRUD UI when a custom DTO accidentally exposes them.\n */\n public static resolveRelationshipObjectFieldSemantics(params: {\n resourceType: ResourceType;\n fieldName: string;\n operationType?: string;\n registry: FrontendResourcesRegistry;\n }): ResolvedRelationshipObjectFieldSemantics | undefined {\n const resourceConfig = params.registry.resourceConfigurations?.[params.resourceType];\n if (!resourceConfig) {\n return undefined;\n }\n\n const rootFieldName = params.fieldName.split('.')[0];\n const relationshipBuckets = resourceConfig.resourceRelationships;\n const candidateRelationships = [\n ...relationshipBuckets.parentRelationships,\n ...relationshipBuckets.childRelationships,\n ...relationshipBuckets.selfRelationships,\n ];\n\n const matches = candidateRelationships.flatMap((relationship) => {\n if (\n relationship.resourceType1 !== params.resourceType &&\n relationship.resourceType2 !== params.resourceType\n ) {\n return [];\n }\n\n try {\n const compiledRelationship = (Resources_SharedUtils.ensureCompiledRelationship as (\n relationship: ResourceRelationship,\n allResourceFieldIdentifiers?: Record<string, string>\n ) => ResourceRelationship).call(\n Resources_SharedUtils,\n relationship,\n params.registry.allResourceFieldIdentifiers,\n );\n const objectIdentity = Resources_SharedUtils.resolveRelationshipObjectIdentityForResource(\n compiledRelationship,\n params.resourceType,\n params.registry.allResourceFieldIdentifiers,\n );\n if (objectIdentity.objectFieldName !== rootFieldName) {\n return [];\n }\n\n const semantics = Resources_SharedUtils.getResolvedRelationshipSemantics(compiledRelationship);\n const relatedResourceType = compiledRelationship.resourceType1 === params.resourceType\n ? compiledRelationship.resourceType2\n : compiledRelationship.resourceType1;\n const nestedMutationOperation = (\n params.operationType === CoreResourceOperation.CREATE ||\n params.operationType === CoreResourceOperation.CREATE_MANY ||\n params.operationType === CoreResourceOperation.UPDATE ||\n params.operationType === CoreResourceOperation.UPDATE_MANY\n )\n ? params.operationType\n : undefined;\n return [{\n rootFieldName,\n relationship: compiledRelationship,\n semantics,\n allowedBulkActions: Resources_SharedUtils.resolveAllowedBulkRelationshipActionsForResource(\n compiledRelationship,\n params.resourceType,\n ),\n relatedResourceType,\n foreignKeyIdentity: Resources_SharedUtils.tryResolveRelationshipForeignKeyIdentity(\n compiledRelationship,\n params.registry.allResourceFieldIdentifiers,\n ),\n nestedMutationConfig: nestedMutationOperation\n ? Resources_SharedUtils.resolveRelationshipNestedMutationConfig(\n compiledRelationship,\n nestedMutationOperation,\n )\n : undefined,\n }];\n } catch (error) {\n const configurationError = this.buildConfigurationError(\n ErrorCustomMessageReference.CONFIGURATION,\n {\n resourceType: params.resourceType,\n fieldName: params.fieldName,\n rootFieldName,\n reason: 'Failed to resolve relationship-object field semantics for frontend form rendering.',\n originalError: error instanceof Error ? error.message : String(error),\n },\n );\n\n if (envLoader.isDevelopment()) {\n throw configurationError;\n }\n\n return [];\n }\n });\n\n if (matches.length <= 1) {\n return matches[0];\n }\n\n const compositionMatches = matches.filter(\n (match) => match.semantics.nature === RelationshipNature.COMPOSITION,\n );\n if (compositionMatches.length === 1) {\n return compositionMatches[0];\n }\n\n const configurationError = this.buildConfigurationError(\n ErrorCustomMessageReference.CONFIGURATION,\n {\n resourceType: params.resourceType,\n fieldName: params.fieldName,\n rootFieldName,\n reason: 'Multiple relationships resolve to the same relationship-object field identity in frontend form semantics.',\n candidateCount: matches.length,\n },\n );\n\n if (envLoader.isDevelopment()) {\n throw configurationError;\n }\n\n return undefined;\n }\n\n /**\n * Build operation path key for FK READ operation.\n * Uses ResourcesConfig_OperationPathUtils to create proper operation path keys.\n */\n public static resolveSingleResourceReadOperation(\n resourceType: ResourceType,\n registry: FrontendResourcesRegistry,\n preferredOperation?: FrontendResourceConfiguration_Operation | null,\n ): FrontendResourceConfiguration_Operation | null {\n if (\n preferredOperation\n && !preferredOperation.isBulkOperation\n && resolveEffectiveCoreOperationFromOperation(preferredOperation) === CoreResourceOperation.READ\n ) {\n return preferredOperation;\n }\n\n return FrontendResourceUtils.pickDefaultOperationFromConfig(\n registry,\n resourceType,\n CoreResourceOperation.READ,\n );\n }\n\n /**\n * Non-throwing counterpart to {@link buildForeignKeyReadOperationPath}.\n *\n * Returns the FK READ operation path key, or `null` when the resource has no\n * URL-bearing single-READ operation. Use this for OPPORTUNISTIC consumers that\n * only need the read path when one exists — e.g. a layout header or breadcrumb\n * fetching a display label as a nicety. A LIST-only surface (SCIM tokens, an\n * embedded-only config, an API-only resource) legitimately has no addressable\n * single READ; those surfaces must still render their chrome, so returning\n * `null` lets the caller skip the optional label fetch instead of crashing.\n *\n * The strict {@link buildForeignKeyReadOperationPath} stays for callers that\n * genuinely REQUIRE a read path (FK reference rendering), where the absence is\n * a real misconfiguration worth surfacing.\n */\n public static tryBuildForeignKeyReadOperationPath(\n resourceType: ResourceType,\n registry: FrontendResourcesRegistry,\n preferredOperation?: FrontendResourceConfiguration_Operation | null,\n ): string | null {\n const operation = FrontendResourceUtils.resolveSingleResourceReadOperation(\n resourceType,\n registry,\n preferredOperation,\n );\n return operation\n ? ResourcesConfig_OperationPathUtils.createOperationPathKeyFromOperation(operation)\n : null;\n }\n\n /**\n * Build operation path key for FK READ operation.\n * Uses the preferred mounted read-like operation when one is provided,\n * otherwise falls back to the resource's preferred read semantic.\n *\n * Throws a CONFIGURATION error when the resource exposes no URL-bearing\n * single-READ operation. Opportunistic callers that can tolerate that absence\n * should use {@link tryBuildForeignKeyReadOperationPath} instead.\n */\n public static buildForeignKeyReadOperationPath(\n resourceType: ResourceType,\n registry: FrontendResourcesRegistry,\n preferredOperation?: FrontendResourceConfiguration_Operation | null,\n ): string {\n const operationPath = FrontendResourceUtils.tryBuildForeignKeyReadOperationPath(\n resourceType,\n registry,\n preferredOperation,\n );\n if (operationPath === null) {\n throw FrontendResourceUtils.buildConfigurationError(\n ErrorCustomMessageReference.CONFIGURATION,\n {\n resourceType,\n operationIdentifier: CoreResourceOperation.READ,\n reason: 'Cannot build FK READ operation path without a configured URL-bearing READ operation.',\n },\n );\n }\n return operationPath;\n }\n\n /**\n * Build operation path key for FK SEARCH/LIST operation.\n * Prefers SEARCH if available, falls back to LIST.\n */\n public static buildForeignKeySearchOperationPath(\n resourceType: ResourceType,\n registry: FrontendResourcesRegistry\n ): string {\n const searchOp = FrontendResourceUtils.pickDefaultOperationFromConfig(registry, resourceType, CoreResourceOperation.SEARCH);\n if (searchOp) {\n return ResourcesConfig_OperationPathUtils.createOperationPathKeyFromOperation(searchOp);\n }\n const listOp = FrontendResourceUtils.pickDefaultOperationFromConfig(registry, resourceType, CoreResourceOperation.LIST);\n if (listOp) {\n return ResourcesConfig_OperationPathUtils.createOperationPathKeyFromOperation(listOp);\n }\n throw FrontendResourceUtils.buildConfigurationError(\n ErrorCustomMessageReference.CONFIGURATION,\n {\n resourceType,\n operationIdentifier: CoreResourceOperation.LIST,\n reason: 'Cannot build FK SEARCH/LIST operation path without a configured URL-bearing SEARCH or LIST operation.',\n },\n );\n }\n\n /**\n * Build contextual parameters for fetching a single FK resource.\n */\n public static buildForeignKeyFetchParams(\n resourceType: ResourceType,\n resourceId: string,\n registry: FrontendResourcesRegistry\n ): { contextualParameters: Record<string, string | number> } {\n const fieldIdentifier = FrontendResourceUtils.getResourceFieldIdentifierForType(resourceType, registry);\n return { contextualParameters: { [fieldIdentifier]: resourceId } };\n }\n\n /**\n * Build query parameters for FK search/list operation.\n */\n public static buildForeignKeySearchParams(\n query?: string,\n limit: number = 10\n ): { queryParameters: Record<string, string | number> } {\n const params: Record<string, string | number> = { limit };\n if (query && query.trim().length > 0) {\n params.q = query.trim();\n }\n return { queryParameters: params };\n }\n\n /**\n * Compute a resource label using the canonical resource configuration contract:\n * `resourceConfig.frontendConfiguration.getFrontendResourceLabel`.\n *\n * - If config label is a `string[]`, we join non-empty values with a space.\n * - If config label is a function, we call it with `t` and (optional) context.\n * - If anything fails, we fall back to common fields (`name`, `title`, `_id`, ...).\n */\n public static computeFrontendResourceLabel(params: {\n resourceType: ResourceType;\n registry: FrontendResourcesRegistry;\n currentObject: unknown;\n t?: (toTranslate: string, translateParams?: { [key: string]: any }) => string;\n objectContext?: any;\n initiatorUserContext?: any;\n }): string | null {\n const { resourceType, registry, currentObject } = params;\n if (!currentObject || typeof currentObject !== 'object') return null;\n\n const obj = currentObject as Record<string, unknown>;\n\n const config = registry.resourceConfigurations?.[resourceType] as AnyFrontendResourceConfiguration | undefined;\n const labelDef = config?.frontendConfiguration?.getFrontendResourceLabel as\n | string[]\n | ((p: { currentObject: any; objectContext: any; initiatorUserContext?: any; t: any }) => string)\n | undefined;\n\n const t =\n params.t ??\n ((toTranslate: string) => toTranslate);\n\n try {\n if (Array.isArray(labelDef)) {\n const parts = labelDef\n .map((field) => obj[field])\n .filter((v) => v !== undefined && v !== null)\n .map((v) => (typeof v === 'string' ? v.trim() : String(v)))\n .filter((v) => v.length > 0);\n if (parts.length > 0) return parts.join(' ');\n }\n\n if (typeof labelDef === 'function') {\n const label = labelDef({\n currentObject: currentObject as any,\n objectContext: params.objectContext ?? {},\n initiatorUserContext: params.initiatorUserContext,\n t,\n });\n if (typeof label === 'string' && label.trim().length > 0) return label;\n }\n } catch {\n // ignore and fall back\n }\n\n // No config-defined label strategy — flag as configuration gap\n console.error(\n `[FrontendResourceUtils] No getFrontendResourceLabel configured for \"${resourceType}\". ` +\n `Add getFrontendResourceLabel to frontendConfiguration.`\n );\n\n // Minimal fallback: use the resource field identifier to extract a usable label.\n // Wrapped in try/catch because getResourceFieldIdentifierForType throws for unconfigured\n // resources, and label computation must not crash the page.\n try {\n const fieldId = FrontendResourceUtils.getResourceFieldIdentifierForType(resourceType, registry);\n const v = obj[fieldId];\n if (v !== undefined && v !== null) return String(v);\n } catch {\n // Resource type not in registry — try common identifier fields as last resort\n const lastResortId = obj['_id'] ?? obj['id'];\n if (lastResortId !== undefined && lastResortId !== null) return String(lastResortId);\n }\n\n return null;\n }\n\n /**\n * Build a WildoError for frontend resource configuration errors (instance method).\n * Uses ErrorType.CONFIGURATION — missing route paths, missing callbacks, etc.\n * are configuration errors that should be caught and surfaced clearly.\n */\n private buildError(\n customMessageReference: ErrorCustomMessageReference,\n context?: Record<string, any>\n ): Error {\n const wildoError = this.errorBuilder.buildWildoError_Frontend(\n ErrorType.CONFIGURATION,\n { customMessageReference, context }\n );\n const error = new Error(customMessageReference);\n (error as any).wildoError = wildoError;\n return error;\n }\n\n /**\n * Helper function to extract the primary resource identifier from contextResourceIdentifiers\n * The primary resource is the one matching the resourceType\n */\n public getPrimaryResourceIdentifier(ctx: FrontendResourceOperationContext): string | null {\n const contextValue = ctx.contextResourceIdentifiers[ctx.resourceType];\n if (typeof contextValue === 'string') {\n return contextValue;\n } else if (contextValue && typeof contextValue === 'object' && contextValue.resourceId) {\n return contextValue.resourceId;\n }\n return null;\n }\n\n /**\n * Helper function to extract resource ID from a contextResourceIdentifiers value\n * Handles both string and object formats\n */\n public getResourceId(value: string | { fieldIdentifier?: string; resourceId?: string } | undefined): string {\n if (!value) {\n return '';\n }\n if (typeof value === 'string') {\n return value;\n } else {\n return value.resourceId || '';\n }\n }\n\n /**\n * Resolve a resource RECORD's own primary id from a fetched object — a list\n * item, a read DTO, or a populated reference.\n *\n * A record carries its id under the Mongo primary key `_id` (the response DTO\n * builder always includes it: `includeId: true` for summaries). A resource's\n * `resourceFieldIdentifier` (e.g. `todoListId`) is the name OTHER contexts use\n * to reference this resource — URL params (`:todoListId`), FK fields on other\n * resources, `contextResourceIdentifiers` keys — it is NOT a field on the\n * record itself. Reading `object[resourceFieldIdentifier]` alone therefore\n * yields `undefined` for a normal record, which silently produced\n * `/<resource>/undefined` navigation URLs and an unrenderable detail surface\n * that re-rendered in a tight loop (recovered 2026-06-13 on the first Wonder\n * Todos record, once CREATE was unblocked and rows became clickable).\n *\n * Resolution mirrors the table's own `getRowId` (`row.id || row._id`): prefer\n * an explicit field-identifier key when a shape legitimately carries it, then\n * fall back to the canonical record id (`_id`, then `id`).\n *\n * @returns the resolved id as a non-empty string, or `undefined` when the\n * object carries no usable id. Navigation callers MUST fail closed on\n * `undefined` rather than route to an `undefined` id.\n */\n public static getResourceObjectId(\n object: Record<string, unknown> | null | undefined,\n resourceFieldIdentifier: string,\n ): string | undefined {\n if (!object || typeof object !== 'object') {\n return undefined;\n }\n const candidate =\n object[resourceFieldIdentifier] ??\n (object as { _id?: unknown })._id ??\n (object as { id?: unknown }).id;\n if (candidate === undefined || candidate === null) {\n return undefined;\n }\n const asString = String(candidate);\n return asString.length > 0 && asString !== 'undefined' && asString !== 'null'\n ? asString\n : undefined;\n }\n\n /**\n * Helper function to get field identifier from a contextResourceIdentifiers value\n * Returns the fieldIdentifier for complex objects, null for simple strings (default field)\n */\n public getFieldIdentifier(value: string | { fieldIdentifier?: string; resourceId?: string } | undefined): string | null {\n if (!value) {\n return null;\n }\n return typeof value === 'string' ? null : (value.fieldIdentifier || null);\n }\n\n /**\n * Flatten contextResourceIdentifiers to simple string values.\n * Handles both string and object formats ({ fieldIdentifier, resourceId }).\n * Used by notification/celebration nextStep to pass identifiers to the navigation system.\n */\n public static flattenContextIdentifiers(\n identifiers: Record<string, string | { fieldIdentifier?: string; resourceId?: string }>\n ): Record<string, string> {\n const instance = FrontendResourceUtils.getInstance();\n const flat: Record<string, string> = {};\n for (const [key, value] of Object.entries(identifiers)) {\n const id = instance.getResourceId(value);\n if (!id) {\n continue;\n }\n\n flat[key] = id;\n const fieldIdentifier = instance.getFieldIdentifier(value);\n if (fieldIdentifier) {\n flat[fieldIdentifier] = id;\n }\n }\n return flat;\n }\n\n /**\n * Create a reverse mapping from resourceFieldIdentifier to resourceIdentifier\n * This allows us to look up which resource type a field identifier belongs to\n */\n private buildResourceFieldIdentifierToResourceIdentifierMap(registry: FrontendResourcesRegistry): Record<string, string> {\n const fieldToResourceMap: Record<string, string> = {};\n \n Object.entries(registry.resourceConfigurations).forEach(([resourceIdentifier, config]) => {\n const resourceConfig = config as AnyFrontendResourceConfiguration;\n const fieldIdentifier = resourceConfig.resourceFieldIdentifier as string;\n fieldToResourceMap[fieldIdentifier] = resourceIdentifier;\n });\n \n return fieldToResourceMap;\n }\n\n /**\n * Convert URL parameters to the `contextResourceIdentifiers` map consumed by the\n * rest of the frontend resource system (context building, API calls, breadcrumb, etc.).\n *\n * ## Key mapping rules\n *\n * | Param type | Map key | Map value |\n * |------------|---------|-----------|\n * | Default field (e.g., `unitId`) | Resource type (`ORGANIZATION_UNITS`) | Simple string (`\"abc\"`) |\n * | FK field, non-self-ref (e.g., `assignedToUserId`) | Resource type of the FK target (`USERS`) | Complex `{ fieldIdentifier, resourceId }` |\n * | FK field, self-ref (e.g., `parentUnitId` for ORG_UNITS→ORG_UNITS) | FK field name (`\"parentUnitId\"`) | Complex `{ fieldIdentifier, resourceId }` |\n *\n * ## Self-referencing relationship handling (F-12-A)\n *\n * `contextResourceIdentifiers` is `Record<string, ...>` — resource type as key.\n * For self-referencing trees (e.g., ORGANIZATION_UNITS), both parent and child\n * share the same resource type, so the second entry would overwrite the first.\n *\n * Solution: when a resource type appears multiple times in routePathParameters\n * (detected via `typeCount`), the **non-default** FK param (e.g., `parentUnitId`)\n * uses the **FK field name** as the map key instead of the resource type.\n * `buildContextualParameters` already handles complex values via `fieldIdentifier`,\n * so the correct URL parameter (`parentUnitId=abc`) is produced without any\n * changes to downstream callers.\n *\n * @param urlParameters - The URL parameters from React Router\n * @param registry - The resources registry\n * @param routePathParameters - Route path parameters for accurate FK field mapping\n */\n public extractResourceIdentifiersFromUrlParams(\n urlParameters: Record<string, string>,\n registry: FrontendResourcesRegistry,\n routePathParameters?: ResourceConfiguration_Operation_UrlParameterInfo[]\n ): Record<string, string | { fieldIdentifier: string; resourceId: string }> {\n const resourceIdentifiers: Record<string, string | { fieldIdentifier: string; resourceId: string }> = {};\n \n // If routePathParameters provided, use them for accurate mapping\n // This handles FK fields like assignedToUserId correctly\n if (routePathParameters && routePathParameters.length > 0) {\n // Detect resource types that appear multiple times (self-referencing relationships)\n const typeCount = new Map<string, number>();\n for (const p of routePathParameters) {\n typeCount.set(p.resourceType, (typeCount.get(p.resourceType) || 0) + 1);\n }\n\n for (const paramInfo of routePathParameters) {\n const paramValue = urlParameters[paramInfo.fieldIdentifier];\n if (paramValue !== undefined) {\n const resourceConfig = registry.resourceConfigurations[paramInfo.resourceType];\n const isDefaultField = resourceConfig && \n resourceConfig.resourceFieldIdentifier === paramInfo.fieldIdentifier;\n const isSelfRefType = (typeCount.get(paramInfo.resourceType) || 0) > 1;\n \n if (isDefaultField) {\n resourceIdentifiers[paramInfo.resourceType] = paramValue;\n } else if (isSelfRefType) {\n // Self-ref FK field (e.g., parentUnitId for ORGANIZATION_UNITS → ORGANIZATION_UNITS).\n // Use the FK field name as the map key to avoid overwriting the resource's own entry.\n // buildContextualParameters handles this via the complex value's fieldIdentifier.\n resourceIdentifiers[paramInfo.fieldIdentifier] = {\n fieldIdentifier: paramInfo.fieldIdentifier,\n resourceId: paramValue\n };\n } else {\n resourceIdentifiers[paramInfo.resourceType] = {\n fieldIdentifier: paramInfo.fieldIdentifier,\n resourceId: paramValue\n };\n }\n }\n }\n return resourceIdentifiers;\n }\n \n // Fallback: use registry-based mapping for backwards compatibility\n const fieldToResourceMap = this.buildResourceFieldIdentifierToResourceIdentifierMap(registry);\n \n for (const [paramName, paramValue] of Object.entries(urlParameters)) {\n // Look up the resource identifier using the registry mapping\n if (fieldToResourceMap[paramName]) {\n const resourceIdentifier = fieldToResourceMap[paramName];\n \n // Check if this is the default field identifier for this resource type\n const resourceConfig = registry.resourceConfigurations[resourceIdentifier];\n if (resourceConfig && resourceConfig.resourceFieldIdentifier === paramName) {\n // Default field - use simple string format\n resourceIdentifiers[resourceIdentifier] = paramValue;\n } else {\n // Custom field - use complex object format\n resourceIdentifiers[resourceIdentifier] = {\n fieldIdentifier: paramName,\n resourceId: paramValue\n };\n }\n }\n }\n \n return resourceIdentifiers;\n }\n\n /**\n * Create FrontendResourceOperationContext from resource identifiers and operation\n * URL parameters should be converted to contextResourceIdentifiers at router level\n */\n public createFrontendResourceOperationContext(params: {\n operationIdentifier: string;\n resourceType: ResourceType;\n operation: any; // ResourceConfiguration_Operation<any, any, any>\n contextResourceIdentifiers: Record<string, string | { fieldIdentifier: string; resourceId: string }>;\n additionalContext?: Record<string, any>;\n variantType?: FrontendResourceConfiguration_Operation['variantType'];\n isOperationDefault?: boolean;\n isBulkOperation?: boolean;\n variantKey?: string;\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[];\n }): FrontendResourceOperationContext {\n const operationDefaults = params.operation ?? {};\n\n return {\n operationIdentifier: params.operationIdentifier,\n variantType: params.variantType ?? operationDefaults.variantType,\n isOperationDefault: params.isOperationDefault ?? operationDefaults.isOperationDefault ?? false,\n isBulkOperation: params.isBulkOperation ?? operationDefaults.isBulkOperation ?? false,\n variantKey: params.variantKey ?? operationDefaults.variantKey,\n resourceType: params.resourceType,\n parentResourcesRequirements: params.parentResourcesRequirements ?? [],\n operation: params.operation,\n contextResourceIdentifiers: params.contextResourceIdentifiers,\n additionalContext: params.additionalContext || {}\n };\n }\n\n /**\n * Create FrontendResourceOperationPath from parameters\n */\n public createFrontendResourceOperationPath(params: {\n resourceType: ResourceType, \n operationIdentifier: string, \n variantType?: FrontendResourceConfiguration_Operation['variantType'],\n isOperationDefault?: boolean, \n isBulkOperation?: boolean, \n variantKey?: string,\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[]\n }): FrontendResourceOperationPath {\n let isDefault = false;\n if (params.isOperationDefault !== undefined) {\n isDefault = params.isOperationDefault;\n } else {\n isDefault = false;\n }\n\n return {\n resourceType: params.resourceType,\n parentResourcesRequirements: params.parentResourcesRequirements ?? [],\n operationIdentifier: params.operationIdentifier,\n variantType: params.variantType,\n isOperationDefault: isDefault,\n isBulkOperation: params.isBulkOperation ?? false,\n variantKey: params.variantKey ?? undefined\n }\n }\n\n /**\n * Create a frontend resource context while preserving the actual configured\n * operation identifier from the provided operation object.\n */\n public createFrontendResourceOperationContextFromOperation(params: {\n resourceType: ResourceType;\n operation: FrontendResourceConfiguration_Operation;\n contextResourceIdentifiers: Record<string, string | { fieldIdentifier: string; resourceId: string }>;\n additionalContext?: Record<string, any>;\n variantType?: FrontendResourceConfiguration_Operation['variantType'];\n isOperationDefault?: boolean;\n isBulkOperation?: boolean;\n variantKey?: string;\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[];\n }): FrontendResourceOperationContext {\n return this.createFrontendResourceOperationContext({\n operationIdentifier: String(params.operation.operationIdentifier),\n resourceType: params.resourceType,\n operation: params.operation,\n contextResourceIdentifiers: params.contextResourceIdentifiers,\n additionalContext: params.additionalContext,\n variantType: params.variantType ?? params.operation.variantType,\n isOperationDefault: params.isOperationDefault ?? params.operation.isOperationDefault,\n isBulkOperation: params.isBulkOperation ?? params.operation.isBulkOperation,\n variantKey: params.variantKey ?? params.operation.variantKey,\n parentResourcesRequirements: params.parentResourcesRequirements,\n });\n }\n\n /**\n * Create FrontendResourceOperationContext with path information included\n */\n public createFrontendResourceOperationContextWithPath(params: {\n operationIdentifier: string, \n resourceType: ResourceType;\n operation: any; // ResourceConfiguration_Operation<any, any, any>\n contextResourceIdentifiers: Record<string, string | { fieldIdentifier: string; resourceId: string }>;\n additionalContext?: Record<string, any>;\n variantType?: FrontendResourceConfiguration_Operation['variantType'],\n isOperationDefault?: boolean, \n isBulkOperation?: boolean, \n variantKey?: string,\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[]\n }): FrontendResourceOperationContext {\n return {\n ...this.createFrontendResourceOperationPath({\n resourceType: params.resourceType,\n operationIdentifier: params.operationIdentifier,\n variantType: params.variantType ?? params.operation?.variantType,\n isOperationDefault: params.isOperationDefault,\n isBulkOperation: params.isBulkOperation,\n variantKey: params.variantKey,\n parentResourcesRequirements: params.parentResourcesRequirements\n }),\n resourceType: params.resourceType,\n operation: params.operation,\n contextResourceIdentifiers: params.contextResourceIdentifiers,\n additionalContext: params.additionalContext || {}\n }\n }\n\n // ============================================================================\n // PARENT RESOURCE REQUIREMENTS HELPERS\n // ============================================================================\n\n /**\n * Build `parentResourcesRequirements` from route path parameters.\n * Used at route-match time (AppRouter) to determine which parent resources\n * are required by the current resource and derive their metadata.\n *\n * ## Self-referencing relationship handling (F-12-A)\n *\n * Uses `getParentDirectionRelationships()` instead of raw `parentRelationships`\n * so that self-referencing relationships (stored in `selfRelationships` bucket)\n * are included in the lookup.\n *\n * The filter no longer blanket-excludes all same-type params. Instead it only\n * excludes the resource's **own default field** (e.g., `unitId`). FK params for\n * the same resource type (e.g., `parentUnitId` for a tree parent) are kept,\n * producing a proper parent requirement for the self-ref edge.\n *\n * @param routePathParameters - Parameters from the matched route path\n * @param resourceType - The target resource type\n * @param registry - The frontend resources registry\n */\n public buildParentResourcesRequirementsFromRouteParams(\n routePathParameters: ResourceConfiguration_Operation_UrlParameterInfo[],\n resourceType: ResourceType,\n registry: FrontendResourcesRegistry\n ): FrontendResource_ParentResourceRequirement[] {\n const resourceConfig = registry.resourceConfigurations[resourceType];\n if (!resourceConfig) return [];\n \n const parentDirectionRelationships = getParentDirectionRelationships(resourceConfig.resourceRelationships);\n const defaultFieldIdentifier = resourceConfig.resourceFieldIdentifier;\n \n const parentParameters = routePathParameters\n .filter(param => {\n // For self-ref: keep FK params (e.g., parentUnitId) but exclude the resource's own field (e.g., unitId)\n if (param.resourceType === resourceType) {\n return param.fieldIdentifier !== defaultFieldIdentifier;\n }\n return true;\n });\n\n return parentParameters.map((param, index) => {\n const relationship = parentDirectionRelationships.find(rel => \n rel.resourceType1 === param.resourceType &&\n (\n Resources_SharedUtils.tryResolveRelationshipForeignKeyIdentity(\n rel,\n registry.allResourceFieldIdentifiers,\n )?.fieldIdentifier ?? undefined\n ) === (param.relationshipField ?? undefined)\n );\n // Route params are already ordered root → leaf, so the \"child\" side of a\n // parent edge is simply the next parent param in the chain, or the target\n // resource when this is the last parent segment.\n const childResourceType = parentParameters[index + 1]?.resourceType ?? resourceType;\n \n return {\n resourceType: param.resourceType,\n foreignKeyField: param.relationshipField,\n childResourceType,\n relationshipEdgeKey: FrontendResourceUtils.buildRelationshipEdgeKey({\n parentResourceType: param.resourceType,\n childResourceType,\n foreignKeyField: param.relationshipField,\n }),\n requirement: relationship?.parentResourceRequirement ?? ResourceParentResourceRequirement.MANDATORY,\n isPrimaryScope: relationship?.isPrimaryScope ?? false,\n primaryScope: relationship?.primaryScope,\n };\n });\n }\n\n /**\n * Build `parentResourcesRequirements` from the available context identifiers.\n * Used by `deriveChildResourceContext` to compute parent requirements for a\n * child resource based on what parent IDs are currently in context.\n *\n * ## Key resolution logic\n *\n * Each entry in `contextResourceIdentifiers` has a **key** and a **value**:\n *\n * - **Resource-type key** (e.g., `\"USERS\"`): standard case. The key IS the\n * parent resource type. Looked up directly in the URL-addressable parent set.\n *\n * - **FK-field key** (e.g., `\"parentUnitId\"`): self-ref parent case (F-12-A).\n * The key is NOT a resource type — it's a FK field name stored by\n * `extractResourceIdentifiersFromUrlParams` or `deriveChildResourceContext`\n * to avoid key collision with the resource's own entry.\n * Resolved via `registry.fieldIdentifierToResourceType` → resource type,\n * then matched against the URL-addressable parent set.\n *\n * ## Disambiguation\n *\n * When multiple relationships exist for the same parent type:\n * 1. FK field override from self-ref resolution or explicit `relationshipFieldOverrides`\n * 2. Primary scope relationships first\n * 3. Default relationships (no foreignKeyField) next\n * 4. Alphabetical by foreignKeyField as tiebreaker\n *\n * @param resourceType - The target resource type\n * @param contextResourceIdentifiers - Available parent IDs (resource-type or FK-field keyed)\n * @param registry - The frontend resources registry\n * @param relationshipFieldOverrides - Optional overrides for FK disambiguation\n */\n public buildParentResourcesRequirements(\n resourceType: ResourceType,\n contextResourceIdentifiers: Record<string, string | { fieldIdentifier?: string; resourceId?: string }>,\n registry: FrontendResourcesRegistry,\n relationshipFieldOverrides?: Record<ResourceType, string>\n ): FrontendResource_ParentResourceRequirement[] {\n const resourceConfig = registry.resourceConfigurations[resourceType];\n if (!resourceConfig) return [];\n \n const parentDirectionRelationships = getParentDirectionRelationships(resourceConfig.resourceRelationships);\n const urlAddressableParentRelationships = ResourcesConfigOperationsUrlsBuilderUtils.getUrlAddressableParentRelationships(\n resourceConfig,\n registry.allResourceFieldIdentifiers,\n );\n const requirements: FrontendResource_ParentResourceRequirement[] = [];\n \n for (const [key, value] of Object.entries(contextResourceIdentifiers)) {\n if (key === resourceType) continue;\n \n // Resolve the parent resource type: either the key IS a resource type,\n // or it's a FK field name (self-ref parent) resolvable via the FK map.\n let parentType: string;\n let fkFieldOverride: string | undefined;\n const explicitFieldId = this.getFieldIdentifier(value);\n \n if (registry.resourceConfigurations[key]) {\n parentType = key;\n fkFieldOverride = explicitFieldId;\n } else {\n if (!explicitFieldId) continue;\n const resolved = registry.fieldIdentifierToResourceType?.[explicitFieldId];\n if (!resolved) continue;\n parentType = resolved;\n fkFieldOverride = explicitFieldId;\n }\n\n const baseRelationshipPool = fkFieldOverride\n ? urlAddressableParentRelationships\n : parentDirectionRelationships;\n const matchingRelationships = baseRelationshipPool.filter(\n rel => rel.resourceType1 === parentType\n );\n \n if (matchingRelationships.length === 0) continue;\n \n const overrideField = fkFieldOverride || relationshipFieldOverrides?.[parentType as ResourceType];\n \n let selectedRelationship: typeof matchingRelationships[0];\n \n if (overrideField) {\n const overrideMatch = matchingRelationships.find(\n rel => {\n const resolvedIdentity = Resources_SharedUtils.tryResolveRelationshipForeignKeyIdentity(\n rel,\n registry.allResourceFieldIdentifiers,\n );\n return resolvedIdentity?.fieldIdentifier === overrideField;\n }\n );\n selectedRelationship = overrideMatch ?? matchingRelationships[0];\n } else if (matchingRelationships.length === 1) {\n selectedRelationship = matchingRelationships[0];\n } else {\n const sorted = [...matchingRelationships].sort((a, b) => {\n if (a.isPrimaryScope !== b.isPrimaryScope) {\n return a.isPrimaryScope ? -1 : 1;\n }\n const aHasFK = !!a.foreignKeyField;\n const bHasFK = !!b.foreignKeyField;\n if (aHasFK !== bHasFK) {\n return aHasFK ? 1 : -1;\n }\n const aField = a.foreignKeyField || '';\n const bField = b.foreignKeyField || '';\n return aField.localeCompare(bField);\n });\n selectedRelationship = sorted[0];\n }\n \n requirements.push({\n resourceType: parentType as ResourceType,\n foreignKeyField: selectedRelationship.foreignKeyField,\n childResourceType: resourceType,\n relationshipEdgeKey: FrontendResourceUtils.buildRelationshipEdgeKey({\n parentResourceType: parentType,\n childResourceType: resourceType,\n foreignKeyField: selectedRelationship.foreignKeyField,\n }),\n requirement: selectedRelationship.parentResourceRequirement,\n isPrimaryScope: selectedRelationship.isPrimaryScope || false,\n primaryScope: selectedRelationship.primaryScope,\n });\n }\n \n return requirements;\n }\n\n /**\n * Select the matching route path from available paths based on context.\n * Uses the same deterministic algorithm as the HTTP client URL selection.\n * \n * @param routePaths - Available route paths for the operation\n * @param contextResourceIdentifiers - Available parent IDs\n * @param currentParentRequirements - Current parent requirements (for FK disambiguation)\n */\n public selectMatchingRoutePath(\n routePaths: { url: string; parameters: ResourceConfiguration_Operation_UrlParameterInfo[] }[],\n contextResourceIdentifiers: Record<string, string | { fieldIdentifier?: string; resourceId?: string }>,\n targetResourceType: ResourceType,\n targetDefaultFieldIdentifier: string,\n currentParentRequirements?: FrontendResource_ParentResourceRequirement[],\n /**\n * Registry map of `resourceType → standard field identifier`\n * (`registry.allResourceFieldIdentifiers`). When provided, a parent segment\n * whose `relationshipField` is the STANDARD identifier for its resource type\n * (e.g. `todoListId` for `todoLists`, `organizationId` for `organizations`)\n * is allowed to fall back to the broad resource-type context slot — that is\n * how scope-derived (`buildContextResourceIdentifiers`) and default-parent\n * URL identifiers are keyed. Omitting it preserves the legacy behavior of\n * treating ANY `relationshipField` as exact-key-only.\n */\n allResourceFieldIdentifiers?: Record<string, string>\n ): { url: string; parameters: ResourceConfiguration_Operation_UrlParameterInfo[] } {\n \n if (routePaths.length === 0) {\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_NO_ROUTE_PATHS_AVAILABLE,\n { reason: 'No route paths available for this operation' }\n );\n }\n if (routePaths.length === 1) {\n return routePaths[0];\n }\n \n // Filter: paths where all parameters can be satisfied\n const validPaths = routePaths.filter((path) =>\n path.parameters.every((param) => {\n const exactValue = contextResourceIdentifiers[param.fieldIdentifier];\n if (this.getResourceId(exactValue) !== '') {\n return true;\n }\n\n // A parent segment may fall back to the broad resource-type slot UNLESS\n // its `relationshipField` is a genuinely disambiguating foreign key — i.e.\n // a FK field that is NOT the resource type's standard identifier (e.g.\n // `assignedToUserId`/`createdByUserId` → `users`, or a self-ref FK such as\n // `parentUnitId` → `organizationUnits`). Those must be satisfied by their\n // exact field key, otherwise `/users/:userId/...` and\n // `/users/:assignedToUserId/...` would collapse into one candidate.\n //\n // A STANDARD foreign key (the FK field equals the parent type's standard\n // identifier — `todoListId` → `todoLists`, `organizationId` →\n // `organizations`) carries no ambiguity, so it falls back to the\n // resource-type slot. This is what scope-derived context identifiers\n // (`buildContextResourceIdentifiers`, keyed by resource type) and\n // default-parent URL extraction provide; without this, a required-FK\n // composition parent route (e.g. the per-list `.../todo-lists/:todoListId/\n // todos/create` route) was wrongly judged unsatisfiable and the\n // NavigationContext scope-rewrite canonicalized it down to the org-only\n // route, dropping the required FK. `relationshipField` itself is left\n // untouched so backend authorization (which keys FK-relationship checks\n // off it) is unaffected.\n const standardFieldIdentifier = allResourceFieldIdentifiers?.[param.resourceType];\n const isDisambiguatingForeignKey = Boolean(\n param.relationshipField && param.relationshipField !== standardFieldIdentifier\n );\n if (!isDisambiguatingForeignKey) {\n const fallbackValue = contextResourceIdentifiers[param.resourceType];\n return this.getResourceId(fallbackValue) !== '';\n }\n\n return false;\n })\n );\n \n if (validPaths.length === 0) {\n // Fallback to first path\n return routePaths[0];\n }\n \n // Filter by ordered edge identity if requirements are specified.\n // This keeps route selection aligned with HTTP initiator selection and\n // avoids collapsing repeated parent types into a resourceType-keyed map.\n let candidates = validPaths;\n if (currentParentRequirements && currentParentRequirements.length > 0) {\n const matchedByEdgeIdentity = validPaths.filter((path) =>\n FrontendResourceUtils.matchesParentRequirementEdgeChain(\n currentParentRequirements,\n path.parameters,\n targetResourceType,\n targetDefaultFieldIdentifier,\n )\n );\n if (matchedByEdgeIdentity.length > 0) {\n candidates = matchedByEdgeIdentity;\n }\n }\n \n // Sort deterministically (same as HTTP client)\n candidates.sort((a, b) => {\n // Most specific first\n if (b.parameters.length !== a.parameters.length) {\n return b.parameters.length - a.parameters.length;\n }\n // Prefer default relationships\n const aDefaultCount = a.parameters.filter(p => !p.relationshipField).length;\n const bDefaultCount = b.parameters.filter(p => !p.relationshipField).length;\n if (bDefaultCount !== aDefaultCount) {\n return bDefaultCount - aDefaultCount;\n }\n // Alphabetical by URL\n return a.url.localeCompare(b.url);\n });\n \n return candidates[0];\n }\n\n /**\n * Extract dataMode from URL query parameters.\n * Supports both uppercase (RAW, SUMMARY, CONTEXT) and lowercase (raw, summary, context) values.\n * \n * @param searchParams - URL search params (from useSearchParams() or URLSearchParams)\n * @param propDataMode - Optional dataMode from component prop (takes priority)\n * @param defaultDataMode - Optional default dataMode if not found in query params\n * @returns DataMode or undefined\n */\n public extractDataMode(\n searchParams: URLSearchParams | { get: (key: string) => string | null },\n propDataMode?: DataMode,\n defaultDataMode?: DataMode\n ): DataMode | undefined {\n const queryValue = searchParams.get('dataMode');\n return ResourceOperationsUtils.extractDataMode(queryValue, propDataMode, defaultDataMode);\n }\n\n /**\n * Derive a child resource context from its parent's context.\n *\n * Merges the parent's `contextResourceIdentifiers` with the child's own ID,\n * re-computes `parentResourcesRequirements` for the child, and preserves\n * FK field overrides from the parent so that deterministic API endpoint\n * selection works down the hierarchy.\n *\n * ## Self-referencing tree handling (F-12-A)\n *\n * When the child resource type matches an existing entry in context (tree\n * navigation, e.g., parent unit → child unit), the parent's ID would be\n * overwritten by the child. To prevent loss:\n *\n * 1. Before overwriting, check if `selfRelationships` declares a FK field\n * (e.g., `parentUnitId` for ORGANIZATION_UNITS).\n * 2. If yes, move the parent's ID to a FK-keyed slot\n * (`contextResourceIdentifiers[\"parentUnitId\"] = { fieldIdentifier, resourceId }`).\n * 3. Then write the child's ID under the resource type key.\n *\n * Downstream, `buildContextualParameters` produces both URL parameters\n * (`unitId=child` + `parentUnitId=parent`) from this structure.\n *\n * @param parentContext - The parent resource operation context\n * @param childConfig - Configuration for the child context\n * @param registry - The frontend resources registry\n */\n public deriveChildResourceContext(\n parentContext: FrontendResourceOperationContext,\n childConfig: {\n resourceType: ResourceType;\n operationIdentifier: string;\n operation?: FrontendResourceConfiguration_Operation;\n resourceId?: string;\n /** Override relationship fields for FK disambiguation (merged with parent's) */\n relationshipFieldOverrides?: Record<ResourceType, string>;\n additionalContext?: Record<string, any>;\n },\n registry: FrontendResourcesRegistry\n ): FrontendResourceOperationContext {\n \n const resourceConfig = registry.resourceConfigurations[childConfig.resourceType];\n const matchingOperations = resourceConfig?.operations?.filter(\n (op) => String(op.operationIdentifier) === childConfig.operationIdentifier,\n ) ?? [];\n const defaultNonBulkOperations = matchingOperations.filter(\n (op) => op.isOperationDefault === true && op.isBulkOperation !== true,\n );\n const operation = childConfig.operation\n ?? (\n matchingOperations.length === 1\n ? matchingOperations[0]\n : defaultNonBulkOperations.length === 1\n ? defaultNonBulkOperations[0]\n : undefined\n );\n if (!operation) {\n throw FrontendResourceUtils.buildConfigurationError(\n ErrorCustomMessageReference.CONFIGURATION,\n {\n message: matchingOperations.length === 0\n ? `Unable to derive child resource context because operation \"${childConfig.operationIdentifier}\" does not exist on resource \"${childConfig.resourceType}\".`\n : `Unable to derive child resource context because operation \"${childConfig.operationIdentifier}\" is ambiguous on resource \"${childConfig.resourceType}\".`,\n component: 'FrontendResourceUtils.deriveChildResourceContext',\n resourceType: childConfig.resourceType,\n operationIdentifier: childConfig.operationIdentifier,\n candidates: matchingOperations.map((candidate) => ({\n variantType: candidate.variantType,\n variantKey: candidate.variantKey,\n isOperationDefault: candidate.isOperationDefault,\n isBulkOperation: candidate.isBulkOperation,\n })),\n },\n );\n }\n \n // Build new contextResourceIdentifiers\n const contextResourceIdentifiers: Record<string, string | { fieldIdentifier: string; resourceId: string }> = {\n ...parentContext.contextResourceIdentifiers,\n };\n \n // Self-ref handling: when the child resource type already has an entry (the parent in a tree),\n // promote the parent ID into a FK-keyed slot so same-type parent chains stay explicit.\n if (contextResourceIdentifiers[childConfig.resourceType] !== undefined) {\n const selfRefs = resourceConfig?.resourceRelationships?.selfRelationships;\n const selfRelationshipOverride = childConfig.relationshipFieldOverrides?.[childConfig.resourceType]\n ?? [...(parentContext.parentResourcesRequirements ?? [])]\n .reverse()\n .find((requirement) =>\n requirement.resourceType === childConfig.resourceType &&\n requirement.foreignKeyField\n )?.foreignKeyField;\n const selfRefRel = selfRelationshipOverride\n ? selfRefs?.find((rel) =>\n Resources_SharedUtils.tryResolveRelationshipForeignKeyIdentity(\n rel,\n registry.allResourceFieldIdentifiers,\n )?.fieldIdentifier === selfRelationshipOverride\n )\n : selfRefs?.find((rel) =>\n Resources_SharedUtils.tryResolveRelationshipForeignKeyIdentity(\n rel,\n registry.allResourceFieldIdentifiers,\n ) !== undefined\n );\n const selfRefForeignKey = selfRefRel\n ? Resources_SharedUtils.tryResolveRelationshipForeignKeyIdentity(\n selfRefRel,\n registry.allResourceFieldIdentifiers,\n )?.fieldIdentifier\n : undefined;\n if (selfRefForeignKey) {\n const parentId = this.getResourceId(contextResourceIdentifiers[childConfig.resourceType]);\n if (parentId) {\n // This keeps the existing same-type parent explicit even before the child\n // gets its own id. Without this promotion, a tree edge like\n // `organizationUnits -> organizationUnits via parentUnitId` would collapse\n // into a single `organizationUnits` slot and lose which side is parent.\n contextResourceIdentifiers[selfRefForeignKey] = {\n fieldIdentifier: selfRefForeignKey,\n resourceId: parentId,\n };\n }\n }\n }\n \n if (childConfig.resourceId) {\n contextResourceIdentifiers[childConfig.resourceType] = childConfig.resourceId;\n }\n \n // Extract foreign key field overrides from parent context's parentResourcesRequirements\n // This preserves the specific FK path from the parent (e.g., if parent was accessed\n // via /assigned-to-users/{assignedToUserId}/..., the child should inherit that relationship)\n const inheritedOverrides: Record<ResourceType, string> = {};\n if (parentContext.parentResourcesRequirements) {\n for (const req of parentContext.parentResourcesRequirements) {\n if (req.foreignKeyField) {\n inheritedOverrides[req.resourceType] = req.foreignKeyField;\n }\n }\n }\n \n // Merge inherited overrides with explicit overrides (explicit takes precedence)\n const mergedOverrides = {\n ...inheritedOverrides,\n ...childConfig.relationshipFieldOverrides\n };\n \n // Build parentResourcesRequirements based on context with merged overrides\n const parentResourcesRequirements = this.buildParentResourcesRequirements(\n childConfig.resourceType,\n contextResourceIdentifiers,\n registry,\n Object.keys(mergedOverrides).length > 0 ? mergedOverrides : undefined\n );\n \n return this.createFrontendResourceOperationContextFromOperation({\n resourceType: childConfig.resourceType,\n operation,\n parentResourcesRequirements,\n contextResourceIdentifiers,\n additionalContext: {\n ...parentContext.additionalContext,\n ...childConfig.additionalContext\n },\n });\n }\n}\n\n// Export singleton instance for easy access\nexport const frontendResourceUtils: FrontendResourceUtils = FrontendResourceUtils.getInstance();\n"]}
1
+ {"version":3,"file":"frontend-resource.utils.js","sourceRoot":"","sources":["../../../../src/core/resources/frontend-resource.utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ChildOperationsConfig_Parsed,\n CoreResourceOperation,\n ResourceType,\n ResourceConfiguration_Operation_UrlInitiatorInfo,\n ResourceConfiguration_Operation_UrlParameterInfo,\n ResourceParentResourceRequirement,\n ErrorType,\n ErrorCustomMessageReference,\n DataMode,\n ResourceOperationsUtils,\n ResourcesConfig_OperationPathUtils,\n ResourcesConfigOperationsUrlsBuilderUtils,\n getParentDirectionRelationships,\n Resources_SharedUtils,\n RelationshipMutationModel,\n RelationshipNature,\n type ResourceRelationship,\n} from \"@wildo-ai/saas-models\";\nimport type { z } from 'zod';\nimport type { FrontendResourceOperationPath, FrontendResource_ParentResourceRequirement } from './resource-path.frontend.schemas';\nimport type {\n FrontendResourcesRegistry,\n AnyFrontendResourceConfiguration,\n FrontendResourceConfiguration_Operation,\n} from './resources.frontend.schemas';\nimport { FrontendResourceOperationContext } from './resources.frontend.schemas';\nimport { ErrorBuilderFrontend } from '~wildo-frontend-lib/core/errors/errors-builder.frontend.services';\nimport { envLoader } from '~wildo-frontend-lib/core/runtime/env-variable-loader.frontend.service';\nimport {\n pickPreferredOperationForCoreSemantic,\n resolveEffectiveCoreOperationFromOperation,\n} from './operation-semantics.frontend.utils';\n\nexport interface ResolvedRelationshipObjectFieldSemantics {\n rootFieldName: string;\n relationship: ReturnType<typeof Resources_SharedUtils.ensureCompiledRelationship>;\n semantics: ReturnType<typeof Resources_SharedUtils.getResolvedRelationshipSemantics>;\n allowedBulkActions: ReturnType<typeof Resources_SharedUtils.resolveAllowedBulkRelationshipActionsForResource>;\n nestedMutationConfig?: ChildOperationsConfig_Parsed['nested']['onCreate'];\n relatedResourceType: ResourceType;\n foreignKeyIdentity?: ReturnType<typeof Resources_SharedUtils.tryResolveRelationshipForeignKeyIdentity>;\n}\n\n/**\n * Singleton utility class for frontend resource operations\n * Provides centralized helper functions for resource context management\n */\nexport class FrontendResourceUtils {\n private static instance: FrontendResourceUtils;\n private errorBuilder: ErrorBuilderFrontend;\n\n private constructor() {\n this.errorBuilder = new ErrorBuilderFrontend();\n }\n\n public static getInstance(): FrontendResourceUtils {\n if (!FrontendResourceUtils.instance) {\n FrontendResourceUtils.instance = new FrontendResourceUtils();\n }\n return FrontendResourceUtils.instance;\n }\n\n // =============================================================================\n // ERROR BUILDER (STATIC)\n // =============================================================================\n\n /**\n * Build a proper WildoError_Frontend for resource configuration errors.\n * \n * Creates a CONFIGURATION-type error with the WildoError attached, so \n * React ErrorBoundary can process it through the unified error system.\n * \n * @param customMessageReference - The ErrorCustomMessageReference for the specific error\n * @param context - Additional context for debugging (field names, resource types, etc.)\n * @returns An Error instance with .wildoError (WildoError_Frontend) attached\n */\n public static buildConfigurationError(\n customMessageReference: ErrorCustomMessageReference,\n context?: Record<string, any>\n ): Error {\n const instance = FrontendResourceUtils.getInstance();\n const wildoError = instance.errorBuilder.buildWildoError_Frontend(\n ErrorType.CONFIGURATION,\n { customMessageReference, context }\n );\n const error = new Error(customMessageReference);\n (error as any).wildoError = wildoError;\n return error;\n }\n\n // =============================================================================\n // FOREIGN KEY + LABEL RESOLUTION HELPERS (STATIC)\n // =============================================================================\n\n /**\n * Resolve the resource type that a foreign key field points to.\n * \n * Resolution chain:\n * 1. Registry map: fieldIdentifierToResourceType (enriched from relationships)\n * 2. THROW — unresolvable FK is a engine configuration error\n * \n * This method NEVER returns null. An unresolvable FK means the resource \n * configuration is broken and must be fixed. Throwing here surfaces the issue \n * immediately at the point of use, caught by React ErrorBoundary.\n * \n * @param fieldName - The field name in the schema (e.g., \"assignedToUserId\")\n * @param fieldSchema - The Zod schema for this field (to read decorator metadata), or undefined\n * @param registry - The resources registry (with enriched fieldIdentifierToResourceType)\n */\n public static resolveResourceTypeForForeignKey(\n fieldName: string,\n _fieldSchema: z.ZodTypeAny | undefined,\n registry: FrontendResourcesRegistry\n ): ResourceType {\n // 1. Registry lookup (enriched from relationships)\n const fromRegistry = registry.fieldIdentifierToResourceType?.[fieldName];\n if (fromRegistry) return fromRegistry as ResourceType;\n\n // 2. Not found — throw a proper WildoError. This is a configuration error, not a runtime edge case.\n throw FrontendResourceUtils.buildConfigurationError(\n ErrorCustomMessageReference.FRONTEND_FK_RESOLUTION_FAILED,\n {\n fieldName,\n message: `Cannot resolve resource type for FK field \"${fieldName}\". ` +\n `Ensure the relationship declares foreignKeyField: \"${fieldName}\".`,\n }\n );\n }\n\n /**\n * Check if field identifier is a plural FK (ends with 'Ids').\n */\n public static isPluralForeignKeyFieldIdentifier(fieldIdentifier: string): boolean {\n return fieldIdentifier.endsWith('Ids');\n }\n\n /**\n * Get the resource field identifier for a resource type.\n * Throws if the resource type has no configured field identifier — this is a configuration error.\n */\n public static getResourceFieldIdentifierForType(\n resourceType: ResourceType,\n registry: FrontendResourcesRegistry\n ): string {\n const fieldId =\n registry.resourceConfigurations?.[resourceType]?.resourceFieldIdentifier ||\n registry.allResourceFieldIdentifiers?.[resourceType];\n\n if (!fieldId) {\n throw FrontendResourceUtils.buildConfigurationError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_FIELD_IDENTIFIER_NOT_FOUND,\n {\n resourceType,\n message: `No field identifier for resource type \"${resourceType}\". ` +\n `The resource must be registered with a resourceFieldIdentifier.`,\n }\n );\n }\n\n return fieldId as string;\n }\n\n /**\n * Build a stable parent→child edge identifier for frontend navigation/runtime consumers.\n *\n * Resource type alone is not enough when:\n * - the same parent type appears multiple times in a chain\n * - multiple edges exist between the same types\n * - self-references need FK-based disambiguation\n */\n public static buildRelationshipEdgeKey(params: {\n parentResourceType: string;\n childResourceType: string;\n foreignKeyField?: string;\n }): string {\n return [\n params.parentResourceType,\n params.childResourceType,\n params.foreignKeyField ?? '__default__',\n ].join('::');\n }\n\n /**\n * Build the ordered parent-edge chain for a target resource from route/initiator parameters.\n *\n * URL parameter arrays may include the target resource's own identifier\n * (e.g. READ `/tasks/:taskId`). That self parameter is not part of the parent\n * edge chain and must be excluded before identity comparison.\n */\n public static buildOrderedRouteParameterEdgeKeys(\n routePathParameters: ResourceConfiguration_Operation_UrlParameterInfo[],\n targetResourceType: ResourceType,\n targetDefaultFieldIdentifier: string,\n ): string[] {\n const parentParameters = routePathParameters.filter((param) => !(\n param.resourceType === targetResourceType &&\n param.fieldIdentifier === targetDefaultFieldIdentifier\n ));\n\n return parentParameters.map((param, index) =>\n this.buildRelationshipEdgeKey({\n parentResourceType: param.resourceType,\n childResourceType: parentParameters[index + 1]?.resourceType ?? targetResourceType,\n foreignKeyField: param.relationshipField,\n })\n );\n }\n\n /**\n * Build the ordered parent-edge chain carried by `parentResourcesRequirements`.\n *\n * Older callers may not populate `childResourceType` / `relationshipEdgeKey`\n * yet, so this helper derives them from chain order as a compatibility bridge.\n */\n public static buildOrderedParentRequirementEdgeKeys(\n parentResourcesRequirements: FrontendResource_ParentResourceRequirement[],\n targetResourceType: ResourceType,\n ): string[] {\n return parentResourcesRequirements.map((requirement, index) =>\n requirement.relationshipEdgeKey ?? this.buildRelationshipEdgeKey({\n parentResourceType: requirement.resourceType,\n childResourceType: requirement.childResourceType\n ?? parentResourcesRequirements[index + 1]?.resourceType\n ?? targetResourceType,\n foreignKeyField: requirement.foreignKeyField,\n })\n );\n }\n\n /**\n * Compare the current parent chain against a candidate route/initiator parameter chain.\n *\n * This preserves ordered edge identity instead of collapsing the chain to\n * `resourceType -> foreignKeyField`, which loses meaning for repeated types.\n */\n public static matchesParentRequirementEdgeChain(\n parentResourcesRequirements: FrontendResource_ParentResourceRequirement[],\n routePathParameters: ResourceConfiguration_Operation_UrlParameterInfo[],\n targetResourceType: ResourceType,\n targetDefaultFieldIdentifier: string,\n ): boolean {\n const requirementEdgeKeys = this.buildOrderedParentRequirementEdgeKeys(\n parentResourcesRequirements,\n targetResourceType,\n );\n const routeEdgeKeys = this.buildOrderedRouteParameterEdgeKeys(\n routePathParameters,\n targetResourceType,\n targetDefaultFieldIdentifier,\n );\n\n if (requirementEdgeKeys.length !== routeEdgeKeys.length) {\n return false;\n }\n\n return requirementEdgeKeys.every((edgeKey, index) => edgeKey === routeEdgeKeys[index]);\n }\n\n /**\n * Select the URL initiator (route pattern) the transport will use for an\n * operation, given the current contextual parameters.\n *\n * This is THE deterministic route-selection truth — extracted from the HTTP\n * client so non-transport consumers can reason about transport behavior\n * without duplicating the algorithm. The filters layer uses it to compute\n * which filter fields are already pinned by the selected route (a filter on\n * a URL-consumed parameter is meaningless — the transport fixes its value\n * before the filter could apply). The HTTP client delegates here and layers\n * its own throw-on-failure error semantics on top.\n *\n * Selection algorithm (must stay in sync with backend URL generation):\n * 1. FILTER: keep initiators whose parameters are all satisfiable from\n * contextualParameters (scalar, non-empty).\n * 2. FILTER by ordered parent-edge identity when parentResourcesRequirements\n * are provided (falls back to step-1 survivors when nothing matches).\n * 3. SORT deterministically: most parameters first (most specific), then\n * most default-relationship parameters, then alphabetical URL.\n *\n * @returns The selected initiator, or `undefined` when no candidate is\n * satisfiable (the transport would fail with\n * FRONTEND_RESOURCE_NO_ENDPOINT_AVAILABLE in that state).\n */\n public static selectOperationUrlInitiatorInfo(params: {\n initiatorInfos: ResourceConfiguration_Operation_UrlInitiatorInfo[];\n contextualParameters: Record<string, string | number | string[] | undefined>;\n targetResourceType: ResourceType;\n targetDefaultFieldIdentifier: string;\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[];\n }): ResourceConfiguration_Operation_UrlInitiatorInfo | undefined {\n const {\n initiatorInfos,\n contextualParameters,\n targetResourceType,\n targetDefaultFieldIdentifier,\n parentResourcesRequirements,\n } = params;\n\n if (initiatorInfos.length === 0) {\n return undefined;\n }\n\n const isScalar = (value: string | number | string[] | undefined): value is string | number =>\n typeof value === 'string' || typeof value === 'number';\n\n // 1. FILTER: keep URLs where all parameters can be satisfied\n const validInfos = initiatorInfos.filter(info =>\n info.parameters.every(p =>\n isScalar(contextualParameters[p.fieldIdentifier]) &&\n String(contextualParameters[p.fieldIdentifier]).trim() !== ''\n )\n );\n\n if (validInfos.length === 0) {\n return undefined;\n }\n\n // 2. FILTER by ordered edge identity (if parentResourcesRequirements specified)\n let candidates = validInfos;\n if (parentResourcesRequirements && parentResourcesRequirements.length > 0) {\n const matchedByEdgeIdentity = validInfos.filter((info) =>\n FrontendResourceUtils.matchesParentRequirementEdgeChain(\n parentResourcesRequirements,\n info.parameters,\n targetResourceType,\n targetDefaultFieldIdentifier,\n )\n );\n if (matchedByEdgeIdentity.length > 0) {\n candidates = matchedByEdgeIdentity;\n }\n }\n\n // 3. SORT deterministically\n const sorted = [...candidates].sort((a, b) => {\n // a) Most specific (most parameters) first\n if (b.parameters.length !== a.parameters.length) {\n return b.parameters.length - a.parameters.length;\n }\n\n // b) Prefer default relationships (no relationshipField) over FK paths\n const aDefaultCount = a.parameters.filter(p => !p.relationshipField).length;\n const bDefaultCount = b.parameters.filter(p => !p.relationshipField).length;\n if (bDefaultCount !== aDefaultCount) {\n return bDefaultCount - aDefaultCount;\n }\n\n // c) Alphabetical by URL as final tiebreaker (ensures determinism)\n return a.url.localeCompare(b.url);\n });\n\n return sorted[0];\n }\n\n /**\n * Pick the preferred URL-bearing operation from config for a given operation identifier.\n * Prefers default and non-bulk operations without assuming API_CALL over callbacks.\n */\n public static pickDefaultOperationFromConfig(\n registry: FrontendResourcesRegistry,\n resourceType: ResourceType,\n operationIdentifier: CoreResourceOperation\n ): FrontendResourceConfiguration_Operation | null {\n const config = registry.resourceConfigurations?.[resourceType];\n const ops = (config?.operations ?? []) as FrontendResourceConfiguration_Operation[];\n\n return pickPreferredOperationForCoreSemantic(ops, operationIdentifier) ?? null;\n }\n\n // =============================================================================\n // CONTEXT BUILDING HELPERS (STATIC)\n // =============================================================================\n\n /**\n * Convert contextResourceIdentifiers (semantic: ResourceType → id) to\n * contextualParameters (physical: fieldIdentifier → id) for API calls.\n * \n * This is the canonical way to build contextualParameters from a resourceContext.\n * Used by ResourceAutomatedForm, ResourceAutomaticDisplayer, List, Search, Header.\n */\n public static buildContextualParameters(\n contextResourceIdentifiers: FrontendResourceOperationContext['contextResourceIdentifiers'],\n registry: FrontendResourcesRegistry\n ): Record<string, string | number> {\n const instance = FrontendResourceUtils.getInstance();\n const params: Record<string, string | number> = {};\n for (const [resType, value] of Object.entries(contextResourceIdentifiers)) {\n const resourceId = instance.getResourceId(value);\n const explicitFieldId = instance.getFieldIdentifier(value);\n if (explicitFieldId) {\n params[explicitFieldId] = resourceId;\n } else {\n const config = registry.resourceConfigurations?.[resType];\n if (config) {\n params[config.resourceFieldIdentifier as string] = resourceId;\n }\n }\n }\n return params;\n }\n\n /**\n * Build a stable string key from contextResourceIdentifiers for memoization.\n * Sorted to ensure order-independence.\n *\n * Nullish-safe by contract: callers pass optional/derived identifier maps that\n * are legitimately absent (no scope yet, an unresolved composite view, a\n * pre-bootstrap RMM surface — see `useResourceRMM` and `CompositeView`). An\n * absent map yields the empty key, so this never throws on `undefined`/`null`.\n */\n public static buildContextResourceIdentifiersKey(\n contextResourceIdentifiers: FrontendResourceOperationContext['contextResourceIdentifiers'] | null | undefined\n ): string {\n const instance = FrontendResourceUtils.getInstance();\n return Object.entries(contextResourceIdentifiers ?? {})\n .map(([resType, value]) => `${resType}:${instance.getResourceId(value)}`)\n .sort()\n .join('|');\n }\n\n /**\n * Resolve parent-owned form fields from matched relationship semantics.\n *\n * The old schema-first approach hid any contextual parameter whose field name\n * happened to exist in the form schema. That couples form affordances to route\n * shape instead of the declared relationship contract. This helper keeps the\n * decision on the relationship side:\n * - match the current parent chain to parent-direction relationships\n * - resolve the concrete FK identity through the shared helper\n * - hide/inject only real child-FK fields owned by that relationship\n *\n * Association-managed peer edges are excluded on purpose: they should surface\n * through explicit association/junction UX, not masquerade as child-owned FK\n * fields in a regular resource form.\n */\n public static resolveSemanticContextFieldValues(params: {\n resourceType: ResourceType;\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[];\n contextResourceIdentifiers?: FrontendResourceOperationContext['contextResourceIdentifiers'];\n contextualParameters: Record<string, string | number>;\n registry: FrontendResourcesRegistry;\n }): Record<string, string | number> {\n const parentResourcesRequirements = (\n params.parentResourcesRequirements && params.parentResourcesRequirements.length > 0\n )\n ? params.parentResourcesRequirements\n : (\n params.contextResourceIdentifiers\n ? this.getInstance().buildParentResourcesRequirements(\n params.resourceType,\n params.contextResourceIdentifiers,\n params.registry,\n )\n : []\n );\n\n if (parentResourcesRequirements.length === 0) {\n return {};\n }\n\n const resourceConfig = params.registry.resourceConfigurations?.[params.resourceType];\n if (!resourceConfig) {\n return {};\n }\n\n const urlAddressableParentRelationships = ResourcesConfigOperationsUrlsBuilderUtils.getUrlAddressableParentRelationships(\n resourceConfig,\n params.registry.allResourceFieldIdentifiers,\n );\n if (urlAddressableParentRelationships.length === 0) {\n return {};\n }\n\n const values: Record<string, string | number> = {};\n\n for (const requirement of parentResourcesRequirements) {\n const requirementChildResourceType = requirement.childResourceType ?? params.resourceType;\n const requirementEdgeKey = requirement.relationshipEdgeKey\n ?? this.buildRelationshipEdgeKey({\n parentResourceType: requirement.resourceType,\n childResourceType: requirementChildResourceType,\n foreignKeyField: requirement.foreignKeyField,\n });\n\n const relationship = urlAddressableParentRelationships.find((candidate) => {\n if (candidate.resourceType1 !== requirement.resourceType) {\n return false;\n }\n\n const candidateEdgeKey = this.buildRelationshipEdgeKey({\n parentResourceType: candidate.resourceType1,\n childResourceType: requirementChildResourceType,\n foreignKeyField: candidate.foreignKeyField,\n });\n\n return candidateEdgeKey === requirementEdgeKey;\n });\n\n if (!relationship) {\n continue;\n }\n\n let semantics;\n try {\n semantics = Resources_SharedUtils.getResolvedRelationshipSemantics(relationship);\n } catch (error) {\n throw this.buildConfigurationError(\n ErrorCustomMessageReference.CONFIGURATION,\n {\n resourceType: params.resourceType,\n parentResourceType: requirement.resourceType,\n childResourceType: requirementChildResourceType,\n foreignKeyField: relationship.foreignKeyField,\n reason: 'Failed to resolve relationship semantics while deriving semantic context field values.',\n originalError: error instanceof Error ? error.message : String(error),\n },\n );\n }\n\n if (semantics.handling.mutationModelMode === RelationshipMutationModel.ASSOCIATION_MANAGED) {\n continue;\n }\n\n const fkIdentity = Resources_SharedUtils.tryResolveRelationshipForeignKeyIdentity(\n relationship,\n params.registry.allResourceFieldIdentifiers,\n );\n if (!fkIdentity) {\n continue;\n }\n\n const contextValue = params.contextualParameters[fkIdentity.fieldIdentifier];\n if (contextValue !== undefined) {\n values[fkIdentity.fieldIdentifier] = contextValue;\n }\n }\n\n return values;\n }\n\n /**\n * Resolve whether a top-level form field represents a relationship object slot\n * from the current resource's perspective.\n *\n * This is the semantic bridge for generated/custom forms that see only a DTO\n * field name like `tasks` or `owner`, but need to know whether that field is:\n * - a plain JSON/object field, or\n * - a relationship-owned nested object/collection field\n *\n * Step 6 currently uses this to fail closed for non-composition nested editing\n * so `REFERENCE` / `ASSOCIATION` relationships do not regress to generic\n * nested CRUD UI when a custom DTO accidentally exposes them.\n */\n public static resolveRelationshipObjectFieldSemantics(params: {\n resourceType: ResourceType;\n fieldName: string;\n operationType?: string;\n registry: FrontendResourcesRegistry;\n }): ResolvedRelationshipObjectFieldSemantics | undefined {\n const resourceConfig = params.registry.resourceConfigurations?.[params.resourceType];\n if (!resourceConfig) {\n return undefined;\n }\n\n const rootFieldName = params.fieldName.split('.')[0];\n const relationshipBuckets = resourceConfig.resourceRelationships;\n const candidateRelationships = [\n ...relationshipBuckets.parentRelationships,\n ...relationshipBuckets.childRelationships,\n ...relationshipBuckets.selfRelationships,\n ];\n\n const matches = candidateRelationships.flatMap((relationship) => {\n if (\n relationship.resourceType1 !== params.resourceType &&\n relationship.resourceType2 !== params.resourceType\n ) {\n return [];\n }\n\n try {\n const compiledRelationship = (Resources_SharedUtils.ensureCompiledRelationship as (\n relationship: ResourceRelationship,\n allResourceFieldIdentifiers?: Record<string, string>\n ) => ResourceRelationship).call(\n Resources_SharedUtils,\n relationship,\n params.registry.allResourceFieldIdentifiers,\n );\n const objectIdentity = Resources_SharedUtils.resolveRelationshipObjectIdentityForResource(\n compiledRelationship,\n params.resourceType,\n params.registry.allResourceFieldIdentifiers,\n );\n if (objectIdentity.objectFieldName !== rootFieldName) {\n return [];\n }\n\n const semantics = Resources_SharedUtils.getResolvedRelationshipSemantics(compiledRelationship);\n const relatedResourceType = compiledRelationship.resourceType1 === params.resourceType\n ? compiledRelationship.resourceType2\n : compiledRelationship.resourceType1;\n const nestedMutationOperation = (\n params.operationType === CoreResourceOperation.CREATE ||\n params.operationType === CoreResourceOperation.CREATE_MANY ||\n params.operationType === CoreResourceOperation.UPDATE ||\n params.operationType === CoreResourceOperation.UPDATE_MANY\n )\n ? params.operationType\n : undefined;\n return [{\n rootFieldName,\n relationship: compiledRelationship,\n semantics,\n allowedBulkActions: Resources_SharedUtils.resolveAllowedBulkRelationshipActionsForResource(\n compiledRelationship,\n params.resourceType,\n ),\n relatedResourceType,\n foreignKeyIdentity: Resources_SharedUtils.tryResolveRelationshipForeignKeyIdentity(\n compiledRelationship,\n params.registry.allResourceFieldIdentifiers,\n ),\n nestedMutationConfig: nestedMutationOperation\n ? Resources_SharedUtils.resolveRelationshipNestedMutationConfig(\n compiledRelationship,\n nestedMutationOperation,\n )\n : undefined,\n }];\n } catch (error) {\n const configurationError = this.buildConfigurationError(\n ErrorCustomMessageReference.CONFIGURATION,\n {\n resourceType: params.resourceType,\n fieldName: params.fieldName,\n rootFieldName,\n reason: 'Failed to resolve relationship-object field semantics for frontend form rendering.',\n originalError: error instanceof Error ? error.message : String(error),\n },\n );\n\n if (envLoader.isDevelopment()) {\n throw configurationError;\n }\n\n return [];\n }\n });\n\n if (matches.length <= 1) {\n return matches[0];\n }\n\n const compositionMatches = matches.filter(\n (match) => match.semantics.nature === RelationshipNature.COMPOSITION,\n );\n if (compositionMatches.length === 1) {\n return compositionMatches[0];\n }\n\n const configurationError = this.buildConfigurationError(\n ErrorCustomMessageReference.CONFIGURATION,\n {\n resourceType: params.resourceType,\n fieldName: params.fieldName,\n rootFieldName,\n reason: 'Multiple relationships resolve to the same relationship-object field identity in frontend form semantics.',\n candidateCount: matches.length,\n },\n );\n\n if (envLoader.isDevelopment()) {\n throw configurationError;\n }\n\n return undefined;\n }\n\n /**\n * Build operation path key for FK READ operation.\n * Uses ResourcesConfig_OperationPathUtils to create proper operation path keys.\n */\n public static resolveSingleResourceReadOperation(\n resourceType: ResourceType,\n registry: FrontendResourcesRegistry,\n preferredOperation?: FrontendResourceConfiguration_Operation | null,\n ): FrontendResourceConfiguration_Operation | null {\n if (\n preferredOperation\n && !preferredOperation.isBulkOperation\n && resolveEffectiveCoreOperationFromOperation(preferredOperation) === CoreResourceOperation.READ\n ) {\n return preferredOperation;\n }\n\n return FrontendResourceUtils.pickDefaultOperationFromConfig(\n registry,\n resourceType,\n CoreResourceOperation.READ,\n );\n }\n\n /**\n * Non-throwing counterpart to {@link buildForeignKeyReadOperationPath}.\n *\n * Returns the FK READ operation path key, or `null` when the resource has no\n * URL-bearing single-READ operation. Use this for OPPORTUNISTIC consumers that\n * only need the read path when one exists — e.g. a layout header or breadcrumb\n * fetching a display label as a nicety. A LIST-only surface (SCIM tokens, an\n * embedded-only config, an API-only resource) legitimately has no addressable\n * single READ; those surfaces must still render their chrome, so returning\n * `null` lets the caller skip the optional label fetch instead of crashing.\n *\n * The strict {@link buildForeignKeyReadOperationPath} stays for callers that\n * genuinely REQUIRE a read path (FK reference rendering), where the absence is\n * a real misconfiguration worth surfacing.\n */\n public static tryBuildForeignKeyReadOperationPath(\n resourceType: ResourceType,\n registry: FrontendResourcesRegistry,\n preferredOperation?: FrontendResourceConfiguration_Operation | null,\n ): string | null {\n const operation = FrontendResourceUtils.resolveSingleResourceReadOperation(\n resourceType,\n registry,\n preferredOperation,\n );\n return operation\n ? ResourcesConfig_OperationPathUtils.createOperationPathKeyFromOperation(operation)\n : null;\n }\n\n /**\n * Build operation path key for FK READ operation.\n * Uses the preferred mounted read-like operation when one is provided,\n * otherwise falls back to the resource's preferred read semantic.\n *\n * Throws a CONFIGURATION error when the resource exposes no URL-bearing\n * single-READ operation. Opportunistic callers that can tolerate that absence\n * should use {@link tryBuildForeignKeyReadOperationPath} instead.\n */\n public static buildForeignKeyReadOperationPath(\n resourceType: ResourceType,\n registry: FrontendResourcesRegistry,\n preferredOperation?: FrontendResourceConfiguration_Operation | null,\n ): string {\n const operationPath = FrontendResourceUtils.tryBuildForeignKeyReadOperationPath(\n resourceType,\n registry,\n preferredOperation,\n );\n if (operationPath === null) {\n throw FrontendResourceUtils.buildConfigurationError(\n ErrorCustomMessageReference.CONFIGURATION,\n {\n resourceType,\n operationIdentifier: CoreResourceOperation.READ,\n reason: 'Cannot build FK READ operation path without a configured URL-bearing READ operation.',\n },\n );\n }\n return operationPath;\n }\n\n /**\n * Build operation path key for FK SEARCH/LIST operation.\n * Prefers SEARCH if available, falls back to LIST.\n */\n public static buildForeignKeySearchOperationPath(\n resourceType: ResourceType,\n registry: FrontendResourcesRegistry\n ): string {\n const searchOp = FrontendResourceUtils.pickDefaultOperationFromConfig(registry, resourceType, CoreResourceOperation.SEARCH);\n if (searchOp) {\n return ResourcesConfig_OperationPathUtils.createOperationPathKeyFromOperation(searchOp);\n }\n const listOp = FrontendResourceUtils.pickDefaultOperationFromConfig(registry, resourceType, CoreResourceOperation.LIST);\n if (listOp) {\n return ResourcesConfig_OperationPathUtils.createOperationPathKeyFromOperation(listOp);\n }\n throw FrontendResourceUtils.buildConfigurationError(\n ErrorCustomMessageReference.CONFIGURATION,\n {\n resourceType,\n operationIdentifier: CoreResourceOperation.LIST,\n reason: 'Cannot build FK SEARCH/LIST operation path without a configured URL-bearing SEARCH or LIST operation.',\n },\n );\n }\n\n /**\n * Build contextual parameters for fetching a single FK resource.\n */\n public static buildForeignKeyFetchParams(\n resourceType: ResourceType,\n resourceId: string,\n registry: FrontendResourcesRegistry\n ): { contextualParameters: Record<string, string | number> } {\n const fieldIdentifier = FrontendResourceUtils.getResourceFieldIdentifierForType(resourceType, registry);\n return { contextualParameters: { [fieldIdentifier]: resourceId } };\n }\n\n /**\n * Build query parameters for FK search/list operation.\n */\n public static buildForeignKeySearchParams(\n query?: string,\n limit: number = 10\n ): { queryParameters: Record<string, string | number> } {\n const params: Record<string, string | number> = { limit };\n if (query && query.trim().length > 0) {\n params.q = query.trim();\n }\n return { queryParameters: params };\n }\n\n /**\n * Compute a resource label using the canonical resource configuration contract:\n * `resourceConfig.frontendConfiguration.getFrontendResourceLabel`.\n *\n * - If config label is a `string[]`, we join non-empty values with a space.\n * - If config label is a function, we call it with `t` and (optional) context.\n * - If anything fails, we fall back to common fields (`name`, `title`, `_id`, ...).\n */\n public static computeFrontendResourceLabel(params: {\n resourceType: ResourceType;\n registry: FrontendResourcesRegistry;\n currentObject: unknown;\n t?: (toTranslate: string, translateParams?: { [key: string]: any }) => string;\n objectContext?: any;\n initiatorUserContext?: any;\n }): string | null {\n const { resourceType, registry, currentObject } = params;\n if (!currentObject || typeof currentObject !== 'object') return null;\n\n const obj = currentObject as Record<string, unknown>;\n\n const config = registry.resourceConfigurations?.[resourceType] as AnyFrontendResourceConfiguration | undefined;\n const labelDef = config?.frontendConfiguration?.getFrontendResourceLabel as\n | string[]\n | ((p: { currentObject: any; objectContext: any; initiatorUserContext?: any; t: any }) => string)\n | undefined;\n\n const t =\n params.t ??\n ((toTranslate: string) => toTranslate);\n\n try {\n if (Array.isArray(labelDef)) {\n const parts = labelDef\n .map((field) => obj[field])\n .filter((v) => v !== undefined && v !== null)\n .map((v) => (typeof v === 'string' ? v.trim() : String(v)))\n .filter((v) => v.length > 0);\n if (parts.length > 0) return parts.join(' ');\n }\n\n if (typeof labelDef === 'function') {\n const label = labelDef({\n currentObject: currentObject as any,\n objectContext: params.objectContext ?? {},\n initiatorUserContext: params.initiatorUserContext,\n t,\n });\n if (typeof label === 'string' && label.trim().length > 0) return label;\n }\n } catch {\n // ignore and fall back\n }\n\n // No config-defined label strategy — flag as configuration gap\n console.error(\n `[FrontendResourceUtils] No getFrontendResourceLabel configured for \"${resourceType}\". ` +\n `Add getFrontendResourceLabel to frontendConfiguration.`\n );\n\n // Minimal fallback: use the resource field identifier to extract a usable label.\n // Wrapped in try/catch because getResourceFieldIdentifierForType throws for unconfigured\n // resources, and label computation must not crash the page.\n try {\n const fieldId = FrontendResourceUtils.getResourceFieldIdentifierForType(resourceType, registry);\n const v = obj[fieldId];\n if (v !== undefined && v !== null) return String(v);\n } catch {\n // Resource type not in registry — try common identifier fields as last resort\n const lastResortId = obj['_id'] ?? obj['id'];\n if (lastResortId !== undefined && lastResortId !== null) return String(lastResortId);\n }\n\n return null;\n }\n\n /**\n * Build a WildoError for frontend resource configuration errors (instance method).\n * Uses ErrorType.CONFIGURATION — missing route paths, missing callbacks, etc.\n * are configuration errors that should be caught and surfaced clearly.\n */\n private buildError(\n customMessageReference: ErrorCustomMessageReference,\n context?: Record<string, any>\n ): Error {\n const wildoError = this.errorBuilder.buildWildoError_Frontend(\n ErrorType.CONFIGURATION,\n { customMessageReference, context }\n );\n const error = new Error(customMessageReference);\n (error as any).wildoError = wildoError;\n return error;\n }\n\n /**\n * Helper function to extract the primary resource identifier from contextResourceIdentifiers\n * The primary resource is the one matching the resourceType\n */\n public getPrimaryResourceIdentifier(ctx: FrontendResourceOperationContext): string | null {\n const contextValue = ctx.contextResourceIdentifiers[ctx.resourceType];\n if (typeof contextValue === 'string') {\n return contextValue;\n } else if (contextValue && typeof contextValue === 'object' && contextValue.resourceId) {\n return contextValue.resourceId;\n }\n return null;\n }\n\n /**\n * Helper function to extract resource ID from a contextResourceIdentifiers value\n * Handles both string and object formats\n */\n public getResourceId(value: string | { fieldIdentifier?: string; resourceId?: string } | undefined): string {\n if (!value) {\n return '';\n }\n if (typeof value === 'string') {\n return value;\n } else {\n return value.resourceId || '';\n }\n }\n\n /**\n * Resolve a resource RECORD's own primary id from a fetched object — a list\n * item, a read DTO, or a populated reference.\n *\n * A record carries its id under the Mongo primary key `_id` (the response DTO\n * builder always includes it: `includeId: true` for summaries). A resource's\n * `resourceFieldIdentifier` (e.g. `todoListId`) is the name OTHER contexts use\n * to reference this resource — URL params (`:todoListId`), FK fields on other\n * resources, `contextResourceIdentifiers` keys — it is NOT a field on the\n * record itself. Reading `object[resourceFieldIdentifier]` alone therefore\n * yields `undefined` for a normal record, which silently produced\n * `/<resource>/undefined` navigation URLs and an unrenderable detail surface\n * that re-rendered in a tight loop (recovered 2026-06-13 on the first Wonder\n * Todos record, once CREATE was unblocked and rows became clickable).\n *\n * Resolution mirrors the table's own `getRowId` (`row.id || row._id`): prefer\n * an explicit field-identifier key when a shape legitimately carries it, then\n * fall back to the canonical record id (`_id`, then `id`).\n *\n * @returns the resolved id as a non-empty string, or `undefined` when the\n * object carries no usable id. Navigation callers MUST fail closed on\n * `undefined` rather than route to an `undefined` id.\n */\n public static getResourceObjectId(\n object: Record<string, unknown> | null | undefined,\n resourceFieldIdentifier: string,\n ): string | undefined {\n if (!object || typeof object !== 'object') {\n return undefined;\n }\n const candidate =\n object[resourceFieldIdentifier] ??\n (object as { _id?: unknown })._id ??\n (object as { id?: unknown }).id;\n if (candidate === undefined || candidate === null) {\n return undefined;\n }\n const asString = String(candidate);\n return asString.length > 0 && asString !== 'undefined' && asString !== 'null'\n ? asString\n : undefined;\n }\n\n /**\n * Helper function to get field identifier from a contextResourceIdentifiers value\n * Returns the fieldIdentifier for complex objects, null for simple strings (default field)\n */\n public getFieldIdentifier(value: string | { fieldIdentifier?: string; resourceId?: string } | undefined): string | null {\n if (!value) {\n return null;\n }\n return typeof value === 'string' ? null : (value.fieldIdentifier || null);\n }\n\n /**\n * Flatten contextResourceIdentifiers to simple string values.\n * Handles both string and object formats ({ fieldIdentifier, resourceId }).\n * Used by notification/celebration nextStep to pass identifiers to the navigation system.\n */\n public static flattenContextIdentifiers(\n identifiers: Record<string, string | { fieldIdentifier?: string; resourceId?: string }>\n ): Record<string, string> {\n const instance = FrontendResourceUtils.getInstance();\n const flat: Record<string, string> = {};\n for (const [key, value] of Object.entries(identifiers)) {\n const id = instance.getResourceId(value);\n if (!id) {\n continue;\n }\n\n flat[key] = id;\n const fieldIdentifier = instance.getFieldIdentifier(value);\n if (fieldIdentifier) {\n flat[fieldIdentifier] = id;\n }\n }\n return flat;\n }\n\n /**\n * Create a reverse mapping from resourceFieldIdentifier to resourceIdentifier\n * This allows us to look up which resource type a field identifier belongs to\n */\n private buildResourceFieldIdentifierToResourceIdentifierMap(registry: FrontendResourcesRegistry): Record<string, string> {\n const fieldToResourceMap: Record<string, string> = {};\n \n Object.entries(registry.resourceConfigurations).forEach(([resourceIdentifier, config]) => {\n const resourceConfig = config as AnyFrontendResourceConfiguration;\n const fieldIdentifier = resourceConfig.resourceFieldIdentifier as string;\n fieldToResourceMap[fieldIdentifier] = resourceIdentifier;\n });\n \n return fieldToResourceMap;\n }\n\n /**\n * Convert URL parameters to the `contextResourceIdentifiers` map consumed by the\n * rest of the frontend resource system (context building, API calls, breadcrumb, etc.).\n *\n * ## Key mapping rules\n *\n * | Param type | Map key | Map value |\n * |------------|---------|-----------|\n * | Default field (e.g., `unitId`) | Resource type (`ORGANIZATION_UNITS`) | Simple string (`\"abc\"`) |\n * | FK field, non-self-ref (e.g., `assignedToUserId`) | Resource type of the FK target (`USERS`) | Complex `{ fieldIdentifier, resourceId }` |\n * | FK field, self-ref (e.g., `parentUnitId` for ORG_UNITS→ORG_UNITS) | FK field name (`\"parentUnitId\"`) | Complex `{ fieldIdentifier, resourceId }` |\n *\n * ## Self-referencing relationship handling (F-12-A)\n *\n * `contextResourceIdentifiers` is `Record<string, ...>` — resource type as key.\n * For self-referencing trees (e.g., ORGANIZATION_UNITS), both parent and child\n * share the same resource type, so the second entry would overwrite the first.\n *\n * Solution: when a resource type appears multiple times in routePathParameters\n * (detected via `typeCount`), the **non-default** FK param (e.g., `parentUnitId`)\n * uses the **FK field name** as the map key instead of the resource type.\n * `buildContextualParameters` already handles complex values via `fieldIdentifier`,\n * so the correct URL parameter (`parentUnitId=abc`) is produced without any\n * changes to downstream callers.\n *\n * @param urlParameters - The URL parameters from React Router\n * @param registry - The resources registry\n * @param routePathParameters - Route path parameters for accurate FK field mapping\n */\n public extractResourceIdentifiersFromUrlParams(\n urlParameters: Record<string, string>,\n registry: FrontendResourcesRegistry,\n routePathParameters?: ResourceConfiguration_Operation_UrlParameterInfo[]\n ): Record<string, string | { fieldIdentifier: string; resourceId: string }> {\n const resourceIdentifiers: Record<string, string | { fieldIdentifier: string; resourceId: string }> = {};\n \n // If routePathParameters provided, use them for accurate mapping\n // This handles FK fields like assignedToUserId correctly\n if (routePathParameters && routePathParameters.length > 0) {\n // Detect resource types that appear multiple times (self-referencing relationships)\n const typeCount = new Map<string, number>();\n for (const p of routePathParameters) {\n typeCount.set(p.resourceType, (typeCount.get(p.resourceType) || 0) + 1);\n }\n\n for (const paramInfo of routePathParameters) {\n const paramValue = urlParameters[paramInfo.fieldIdentifier];\n if (paramValue !== undefined) {\n const resourceConfig = registry.resourceConfigurations[paramInfo.resourceType];\n const isDefaultField = resourceConfig && \n resourceConfig.resourceFieldIdentifier === paramInfo.fieldIdentifier;\n const isSelfRefType = (typeCount.get(paramInfo.resourceType) || 0) > 1;\n \n if (isDefaultField) {\n resourceIdentifiers[paramInfo.resourceType] = paramValue;\n } else if (isSelfRefType) {\n // Self-ref FK field (e.g., parentUnitId for ORGANIZATION_UNITS → ORGANIZATION_UNITS).\n // Use the FK field name as the map key to avoid overwriting the resource's own entry.\n // buildContextualParameters handles this via the complex value's fieldIdentifier.\n resourceIdentifiers[paramInfo.fieldIdentifier] = {\n fieldIdentifier: paramInfo.fieldIdentifier,\n resourceId: paramValue\n };\n } else {\n resourceIdentifiers[paramInfo.resourceType] = {\n fieldIdentifier: paramInfo.fieldIdentifier,\n resourceId: paramValue\n };\n }\n }\n }\n return resourceIdentifiers;\n }\n \n // Fallback: use registry-based mapping for backwards compatibility\n const fieldToResourceMap = this.buildResourceFieldIdentifierToResourceIdentifierMap(registry);\n \n for (const [paramName, paramValue] of Object.entries(urlParameters)) {\n // Look up the resource identifier using the registry mapping\n if (fieldToResourceMap[paramName]) {\n const resourceIdentifier = fieldToResourceMap[paramName];\n \n // Check if this is the default field identifier for this resource type\n const resourceConfig = registry.resourceConfigurations[resourceIdentifier];\n if (resourceConfig && resourceConfig.resourceFieldIdentifier === paramName) {\n // Default field - use simple string format\n resourceIdentifiers[resourceIdentifier] = paramValue;\n } else {\n // Custom field - use complex object format\n resourceIdentifiers[resourceIdentifier] = {\n fieldIdentifier: paramName,\n resourceId: paramValue\n };\n }\n }\n }\n \n return resourceIdentifiers;\n }\n\n /**\n * Create FrontendResourceOperationContext from resource identifiers and operation\n * URL parameters should be converted to contextResourceIdentifiers at router level\n */\n public createFrontendResourceOperationContext(params: {\n operationIdentifier: string;\n resourceType: ResourceType;\n operation: any; // ResourceConfiguration_Operation<any, any, any>\n contextResourceIdentifiers: Record<string, string | { fieldIdentifier: string; resourceId: string }>;\n additionalContext?: Record<string, any>;\n variantType?: FrontendResourceConfiguration_Operation['variantType'];\n isOperationDefault?: boolean;\n isBulkOperation?: boolean;\n variantKey?: string;\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[];\n }): FrontendResourceOperationContext {\n const operationDefaults = params.operation ?? {};\n\n return {\n operationIdentifier: params.operationIdentifier,\n variantType: params.variantType ?? operationDefaults.variantType,\n isOperationDefault: params.isOperationDefault ?? operationDefaults.isOperationDefault ?? false,\n isBulkOperation: params.isBulkOperation ?? operationDefaults.isBulkOperation ?? false,\n variantKey: params.variantKey ?? operationDefaults.variantKey,\n resourceType: params.resourceType,\n parentResourcesRequirements: params.parentResourcesRequirements ?? [],\n operation: params.operation,\n contextResourceIdentifiers: params.contextResourceIdentifiers,\n additionalContext: params.additionalContext || {}\n };\n }\n\n /**\n * Create FrontendResourceOperationPath from parameters\n */\n public createFrontendResourceOperationPath(params: {\n resourceType: ResourceType, \n operationIdentifier: string, \n variantType?: FrontendResourceConfiguration_Operation['variantType'],\n isOperationDefault?: boolean, \n isBulkOperation?: boolean, \n variantKey?: string,\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[]\n }): FrontendResourceOperationPath {\n let isDefault = false;\n if (params.isOperationDefault !== undefined) {\n isDefault = params.isOperationDefault;\n } else {\n isDefault = false;\n }\n\n return {\n resourceType: params.resourceType,\n parentResourcesRequirements: params.parentResourcesRequirements ?? [],\n operationIdentifier: params.operationIdentifier,\n variantType: params.variantType,\n isOperationDefault: isDefault,\n isBulkOperation: params.isBulkOperation ?? false,\n variantKey: params.variantKey ?? undefined\n }\n }\n\n /**\n * Create a frontend resource context while preserving the actual configured\n * operation identifier from the provided operation object.\n */\n public createFrontendResourceOperationContextFromOperation(params: {\n resourceType: ResourceType;\n operation: FrontendResourceConfiguration_Operation;\n contextResourceIdentifiers: Record<string, string | { fieldIdentifier: string; resourceId: string }>;\n additionalContext?: Record<string, any>;\n variantType?: FrontendResourceConfiguration_Operation['variantType'];\n isOperationDefault?: boolean;\n isBulkOperation?: boolean;\n variantKey?: string;\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[];\n }): FrontendResourceOperationContext {\n return this.createFrontendResourceOperationContext({\n operationIdentifier: String(params.operation.operationIdentifier),\n resourceType: params.resourceType,\n operation: params.operation,\n contextResourceIdentifiers: params.contextResourceIdentifiers,\n additionalContext: params.additionalContext,\n variantType: params.variantType ?? params.operation.variantType,\n isOperationDefault: params.isOperationDefault ?? params.operation.isOperationDefault,\n isBulkOperation: params.isBulkOperation ?? params.operation.isBulkOperation,\n variantKey: params.variantKey ?? params.operation.variantKey,\n parentResourcesRequirements: params.parentResourcesRequirements,\n });\n }\n\n /**\n * Create FrontendResourceOperationContext with path information included\n */\n public createFrontendResourceOperationContextWithPath(params: {\n operationIdentifier: string, \n resourceType: ResourceType;\n operation: any; // ResourceConfiguration_Operation<any, any, any>\n contextResourceIdentifiers: Record<string, string | { fieldIdentifier: string; resourceId: string }>;\n additionalContext?: Record<string, any>;\n variantType?: FrontendResourceConfiguration_Operation['variantType'],\n isOperationDefault?: boolean, \n isBulkOperation?: boolean, \n variantKey?: string,\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[]\n }): FrontendResourceOperationContext {\n return {\n ...this.createFrontendResourceOperationPath({\n resourceType: params.resourceType,\n operationIdentifier: params.operationIdentifier,\n variantType: params.variantType ?? params.operation?.variantType,\n isOperationDefault: params.isOperationDefault,\n isBulkOperation: params.isBulkOperation,\n variantKey: params.variantKey,\n parentResourcesRequirements: params.parentResourcesRequirements\n }),\n resourceType: params.resourceType,\n operation: params.operation,\n contextResourceIdentifiers: params.contextResourceIdentifiers,\n additionalContext: params.additionalContext || {}\n }\n }\n\n // ============================================================================\n // PARENT RESOURCE REQUIREMENTS HELPERS\n // ============================================================================\n\n /**\n * Build `parentResourcesRequirements` from route path parameters.\n * Used at route-match time (AppRouter) to determine which parent resources\n * are required by the current resource and derive their metadata.\n *\n * ## Self-referencing relationship handling (F-12-A)\n *\n * Uses `getParentDirectionRelationships()` instead of raw `parentRelationships`\n * so that self-referencing relationships (stored in `selfRelationships` bucket)\n * are included in the lookup.\n *\n * The filter no longer blanket-excludes all same-type params. Instead it only\n * excludes the resource's **own default field** (e.g., `unitId`). FK params for\n * the same resource type (e.g., `parentUnitId` for a tree parent) are kept,\n * producing a proper parent requirement for the self-ref edge.\n *\n * @param routePathParameters - Parameters from the matched route path\n * @param resourceType - The target resource type\n * @param registry - The frontend resources registry\n */\n public buildParentResourcesRequirementsFromRouteParams(\n routePathParameters: ResourceConfiguration_Operation_UrlParameterInfo[],\n resourceType: ResourceType,\n registry: FrontendResourcesRegistry\n ): FrontendResource_ParentResourceRequirement[] {\n const resourceConfig = registry.resourceConfigurations[resourceType];\n if (!resourceConfig) return [];\n \n const parentDirectionRelationships = getParentDirectionRelationships(resourceConfig.resourceRelationships);\n const defaultFieldIdentifier = resourceConfig.resourceFieldIdentifier;\n \n const parentParameters = routePathParameters\n .filter(param => {\n // For self-ref: keep FK params (e.g., parentUnitId) but exclude the resource's own field (e.g., unitId)\n if (param.resourceType === resourceType) {\n return param.fieldIdentifier !== defaultFieldIdentifier;\n }\n return true;\n });\n\n return parentParameters.map((param, index) => {\n const relationship = parentDirectionRelationships.find(rel => \n rel.resourceType1 === param.resourceType &&\n (\n Resources_SharedUtils.tryResolveRelationshipForeignKeyIdentity(\n rel,\n registry.allResourceFieldIdentifiers,\n )?.fieldIdentifier ?? undefined\n ) === (param.relationshipField ?? undefined)\n );\n // Route params are already ordered root → leaf, so the \"child\" side of a\n // parent edge is simply the next parent param in the chain, or the target\n // resource when this is the last parent segment.\n const childResourceType = parentParameters[index + 1]?.resourceType ?? resourceType;\n \n return {\n resourceType: param.resourceType,\n foreignKeyField: param.relationshipField,\n childResourceType,\n relationshipEdgeKey: FrontendResourceUtils.buildRelationshipEdgeKey({\n parentResourceType: param.resourceType,\n childResourceType,\n foreignKeyField: param.relationshipField,\n }),\n requirement: relationship?.parentResourceRequirement ?? ResourceParentResourceRequirement.MANDATORY,\n isPrimaryScope: relationship?.isPrimaryScope ?? false,\n primaryScope: relationship?.primaryScope,\n };\n });\n }\n\n /**\n * Build `parentResourcesRequirements` from the available context identifiers.\n * Used by `deriveChildResourceContext` to compute parent requirements for a\n * child resource based on what parent IDs are currently in context.\n *\n * ## Key resolution logic\n *\n * Each entry in `contextResourceIdentifiers` has a **key** and a **value**:\n *\n * - **Resource-type key** (e.g., `\"USERS\"`): standard case. The key IS the\n * parent resource type. Looked up directly in the URL-addressable parent set.\n *\n * - **FK-field key** (e.g., `\"parentUnitId\"`): self-ref parent case (F-12-A).\n * The key is NOT a resource type — it's a FK field name stored by\n * `extractResourceIdentifiersFromUrlParams` or `deriveChildResourceContext`\n * to avoid key collision with the resource's own entry.\n * Resolved via `registry.fieldIdentifierToResourceType` → resource type,\n * then matched against the URL-addressable parent set.\n *\n * ## Disambiguation\n *\n * When multiple relationships exist for the same parent type:\n * 1. FK field override from self-ref resolution or explicit `relationshipFieldOverrides`\n * 2. Primary scope relationships first\n * 3. Default relationships (no foreignKeyField) next\n * 4. Alphabetical by foreignKeyField as tiebreaker\n *\n * @param resourceType - The target resource type\n * @param contextResourceIdentifiers - Available parent IDs (resource-type or FK-field keyed)\n * @param registry - The frontend resources registry\n * @param relationshipFieldOverrides - Optional overrides for FK disambiguation\n */\n public buildParentResourcesRequirements(\n resourceType: ResourceType,\n contextResourceIdentifiers: Record<string, string | { fieldIdentifier?: string; resourceId?: string }>,\n registry: FrontendResourcesRegistry,\n relationshipFieldOverrides?: Record<ResourceType, string>\n ): FrontendResource_ParentResourceRequirement[] {\n const resourceConfig = registry.resourceConfigurations[resourceType];\n if (!resourceConfig) return [];\n \n const parentDirectionRelationships = getParentDirectionRelationships(resourceConfig.resourceRelationships);\n const urlAddressableParentRelationships = ResourcesConfigOperationsUrlsBuilderUtils.getUrlAddressableParentRelationships(\n resourceConfig,\n registry.allResourceFieldIdentifiers,\n );\n const requirements: FrontendResource_ParentResourceRequirement[] = [];\n \n for (const [key, value] of Object.entries(contextResourceIdentifiers)) {\n if (key === resourceType) continue;\n \n // Resolve the parent resource type: either the key IS a resource type,\n // or it's a FK field name (self-ref parent) resolvable via the FK map.\n let parentType: string;\n let fkFieldOverride: string | undefined;\n const explicitFieldId = this.getFieldIdentifier(value);\n \n if (registry.resourceConfigurations[key]) {\n parentType = key;\n fkFieldOverride = explicitFieldId;\n } else {\n if (!explicitFieldId) continue;\n const resolved = registry.fieldIdentifierToResourceType?.[explicitFieldId];\n if (!resolved) continue;\n parentType = resolved;\n fkFieldOverride = explicitFieldId;\n }\n\n const baseRelationshipPool = fkFieldOverride\n ? urlAddressableParentRelationships\n : parentDirectionRelationships;\n const matchingRelationships = baseRelationshipPool.filter(\n rel => rel.resourceType1 === parentType\n );\n \n if (matchingRelationships.length === 0) continue;\n \n const overrideField = fkFieldOverride || relationshipFieldOverrides?.[parentType as ResourceType];\n \n let selectedRelationship: typeof matchingRelationships[0];\n \n if (overrideField) {\n const overrideMatch = matchingRelationships.find(\n rel => {\n const resolvedIdentity = Resources_SharedUtils.tryResolveRelationshipForeignKeyIdentity(\n rel,\n registry.allResourceFieldIdentifiers,\n );\n return resolvedIdentity?.fieldIdentifier === overrideField;\n }\n );\n selectedRelationship = overrideMatch ?? matchingRelationships[0];\n } else if (matchingRelationships.length === 1) {\n selectedRelationship = matchingRelationships[0];\n } else {\n const sorted = [...matchingRelationships].sort((a, b) => {\n if (a.isPrimaryScope !== b.isPrimaryScope) {\n return a.isPrimaryScope ? -1 : 1;\n }\n const aHasFK = !!a.foreignKeyField;\n const bHasFK = !!b.foreignKeyField;\n if (aHasFK !== bHasFK) {\n return aHasFK ? 1 : -1;\n }\n const aField = a.foreignKeyField || '';\n const bField = b.foreignKeyField || '';\n return aField.localeCompare(bField);\n });\n selectedRelationship = sorted[0];\n }\n \n requirements.push({\n resourceType: parentType as ResourceType,\n foreignKeyField: selectedRelationship.foreignKeyField,\n childResourceType: resourceType,\n relationshipEdgeKey: FrontendResourceUtils.buildRelationshipEdgeKey({\n parentResourceType: parentType,\n childResourceType: resourceType,\n foreignKeyField: selectedRelationship.foreignKeyField,\n }),\n requirement: selectedRelationship.parentResourceRequirement,\n isPrimaryScope: selectedRelationship.isPrimaryScope || false,\n primaryScope: selectedRelationship.primaryScope,\n });\n }\n \n return requirements;\n }\n\n /**\n * Select the matching route path from available paths based on context.\n * Uses the same deterministic algorithm as the HTTP client URL selection.\n * \n * @param routePaths - Available route paths for the operation\n * @param contextResourceIdentifiers - Available parent IDs\n * @param currentParentRequirements - Current parent requirements (for FK disambiguation)\n */\n public selectMatchingRoutePath(\n routePaths: { url: string; parameters: ResourceConfiguration_Operation_UrlParameterInfo[] }[],\n contextResourceIdentifiers: Record<string, string | { fieldIdentifier?: string; resourceId?: string }>,\n targetResourceType: ResourceType,\n targetDefaultFieldIdentifier: string,\n currentParentRequirements?: FrontendResource_ParentResourceRequirement[],\n /**\n * Registry map of `resourceType → standard field identifier`\n * (`registry.allResourceFieldIdentifiers`). When provided, a parent segment\n * whose `relationshipField` is the STANDARD identifier for its resource type\n * (e.g. `todoListId` for `todoLists`, `organizationId` for `organizations`)\n * is allowed to fall back to the broad resource-type context slot — that is\n * how scope-derived (`buildContextResourceIdentifiers`) and default-parent\n * URL identifiers are keyed. Omitting it preserves the legacy behavior of\n * treating ANY `relationshipField` as exact-key-only.\n */\n allResourceFieldIdentifiers?: Record<string, string>\n ): { url: string; parameters: ResourceConfiguration_Operation_UrlParameterInfo[] } {\n \n if (routePaths.length === 0) {\n throw this.buildError(\n ErrorCustomMessageReference.FRONTEND_RESOURCE_NO_ROUTE_PATHS_AVAILABLE,\n { reason: 'No route paths available for this operation' }\n );\n }\n if (routePaths.length === 1) {\n return routePaths[0];\n }\n \n // Filter: paths where all parameters can be satisfied\n const validPaths = routePaths.filter((path) =>\n path.parameters.every((param) => {\n const exactValue = contextResourceIdentifiers[param.fieldIdentifier];\n if (this.getResourceId(exactValue) !== '') {\n return true;\n }\n\n // A parent segment may fall back to the broad resource-type slot UNLESS\n // its `relationshipField` is a genuinely disambiguating foreign key — i.e.\n // a FK field that is NOT the resource type's standard identifier (e.g.\n // `assignedToUserId`/`createdByUserId` → `users`, or a self-ref FK such as\n // `parentUnitId` → `organizationUnits`). Those must be satisfied by their\n // exact field key, otherwise `/users/:userId/...` and\n // `/users/:assignedToUserId/...` would collapse into one candidate.\n //\n // A STANDARD foreign key (the FK field equals the parent type's standard\n // identifier — `todoListId` → `todoLists`, `organizationId` →\n // `organizations`) carries no ambiguity, so it falls back to the\n // resource-type slot. This is what scope-derived context identifiers\n // (`buildContextResourceIdentifiers`, keyed by resource type) and\n // default-parent URL extraction provide; without this, a required-FK\n // composition parent route (e.g. the per-list `.../todo-lists/:todoListId/\n // todos/create` route) was wrongly judged unsatisfiable and the\n // NavigationContext scope-rewrite canonicalized it down to the org-only\n // route, dropping the required FK. `relationshipField` itself is left\n // untouched so backend authorization (which keys FK-relationship checks\n // off it) is unaffected.\n const standardFieldIdentifier = allResourceFieldIdentifiers?.[param.resourceType];\n const isDisambiguatingForeignKey = Boolean(\n param.relationshipField && param.relationshipField !== standardFieldIdentifier\n );\n if (!isDisambiguatingForeignKey) {\n const fallbackValue = contextResourceIdentifiers[param.resourceType];\n return this.getResourceId(fallbackValue) !== '';\n }\n\n return false;\n })\n );\n \n if (validPaths.length === 0) {\n // Fallback to first path\n return routePaths[0];\n }\n \n // Filter by ordered edge identity if requirements are specified.\n // This keeps route selection aligned with HTTP initiator selection and\n // avoids collapsing repeated parent types into a resourceType-keyed map.\n let candidates = validPaths;\n if (currentParentRequirements && currentParentRequirements.length > 0) {\n const matchedByEdgeIdentity = validPaths.filter((path) =>\n FrontendResourceUtils.matchesParentRequirementEdgeChain(\n currentParentRequirements,\n path.parameters,\n targetResourceType,\n targetDefaultFieldIdentifier,\n )\n );\n if (matchedByEdgeIdentity.length > 0) {\n candidates = matchedByEdgeIdentity;\n }\n }\n \n // Sort deterministically (same as HTTP client)\n candidates.sort((a, b) => {\n // Most specific first\n if (b.parameters.length !== a.parameters.length) {\n return b.parameters.length - a.parameters.length;\n }\n // Prefer default relationships\n const aDefaultCount = a.parameters.filter(p => !p.relationshipField).length;\n const bDefaultCount = b.parameters.filter(p => !p.relationshipField).length;\n if (bDefaultCount !== aDefaultCount) {\n return bDefaultCount - aDefaultCount;\n }\n // Alphabetical by URL\n return a.url.localeCompare(b.url);\n });\n \n return candidates[0];\n }\n\n /**\n * Extract dataMode from URL query parameters.\n * Supports both uppercase (RAW, SUMMARY, CONTEXT) and lowercase (raw, summary, context) values.\n * \n * @param searchParams - URL search params (from useSearchParams() or URLSearchParams)\n * @param propDataMode - Optional dataMode from component prop (takes priority)\n * @param defaultDataMode - Optional default dataMode if not found in query params\n * @returns DataMode or undefined\n */\n public extractDataMode(\n searchParams: URLSearchParams | { get: (key: string) => string | null },\n propDataMode?: DataMode,\n defaultDataMode?: DataMode\n ): DataMode | undefined {\n const queryValue = searchParams.get('dataMode');\n return ResourceOperationsUtils.extractDataMode(queryValue, propDataMode, defaultDataMode);\n }\n\n /**\n * Derive a child resource context from its parent's context.\n *\n * Merges the parent's `contextResourceIdentifiers` with the child's own ID,\n * re-computes `parentResourcesRequirements` for the child, and preserves\n * FK field overrides from the parent so that deterministic API endpoint\n * selection works down the hierarchy.\n *\n * ## Self-referencing tree handling (F-12-A)\n *\n * When the child resource type matches an existing entry in context (tree\n * navigation, e.g., parent unit → child unit), the parent's ID would be\n * overwritten by the child. To prevent loss:\n *\n * 1. Before overwriting, check if `selfRelationships` declares a FK field\n * (e.g., `parentUnitId` for ORGANIZATION_UNITS).\n * 2. If yes, move the parent's ID to a FK-keyed slot\n * (`contextResourceIdentifiers[\"parentUnitId\"] = { fieldIdentifier, resourceId }`).\n * 3. Then write the child's ID under the resource type key.\n *\n * Downstream, `buildContextualParameters` produces both URL parameters\n * (`unitId=child` + `parentUnitId=parent`) from this structure.\n *\n * @param parentContext - The parent resource operation context\n * @param childConfig - Configuration for the child context\n * @param registry - The frontend resources registry\n */\n public deriveChildResourceContext(\n parentContext: FrontendResourceOperationContext,\n childConfig: {\n resourceType: ResourceType;\n operationIdentifier: string;\n operation?: FrontendResourceConfiguration_Operation;\n resourceId?: string;\n /** Override relationship fields for FK disambiguation (merged with parent's) */\n relationshipFieldOverrides?: Record<ResourceType, string>;\n additionalContext?: Record<string, any>;\n },\n registry: FrontendResourcesRegistry\n ): FrontendResourceOperationContext {\n \n const resourceConfig = registry.resourceConfigurations[childConfig.resourceType];\n const matchingOperations = resourceConfig?.operations?.filter(\n (op) => String(op.operationIdentifier) === childConfig.operationIdentifier,\n ) ?? [];\n const defaultNonBulkOperations = matchingOperations.filter(\n (op) => op.isOperationDefault === true && op.isBulkOperation !== true,\n );\n const operation = childConfig.operation\n ?? (\n matchingOperations.length === 1\n ? matchingOperations[0]\n : defaultNonBulkOperations.length === 1\n ? defaultNonBulkOperations[0]\n : undefined\n );\n if (!operation) {\n throw FrontendResourceUtils.buildConfigurationError(\n ErrorCustomMessageReference.CONFIGURATION,\n {\n message: matchingOperations.length === 0\n ? `Unable to derive child resource context because operation \"${childConfig.operationIdentifier}\" does not exist on resource \"${childConfig.resourceType}\".`\n : `Unable to derive child resource context because operation \"${childConfig.operationIdentifier}\" is ambiguous on resource \"${childConfig.resourceType}\".`,\n component: 'FrontendResourceUtils.deriveChildResourceContext',\n resourceType: childConfig.resourceType,\n operationIdentifier: childConfig.operationIdentifier,\n candidates: matchingOperations.map((candidate) => ({\n variantType: candidate.variantType,\n variantKey: candidate.variantKey,\n isOperationDefault: candidate.isOperationDefault,\n isBulkOperation: candidate.isBulkOperation,\n })),\n },\n );\n }\n \n // Build new contextResourceIdentifiers\n const contextResourceIdentifiers: Record<string, string | { fieldIdentifier: string; resourceId: string }> = {\n ...parentContext.contextResourceIdentifiers,\n };\n \n // Self-ref handling: when the child resource type already has an entry (the parent in a tree),\n // promote the parent ID into a FK-keyed slot so same-type parent chains stay explicit.\n if (contextResourceIdentifiers[childConfig.resourceType] !== undefined) {\n const selfRefs = resourceConfig?.resourceRelationships?.selfRelationships;\n const selfRelationshipOverride = childConfig.relationshipFieldOverrides?.[childConfig.resourceType]\n ?? [...(parentContext.parentResourcesRequirements ?? [])]\n .reverse()\n .find((requirement) =>\n requirement.resourceType === childConfig.resourceType &&\n requirement.foreignKeyField\n )?.foreignKeyField;\n const selfRefRel = selfRelationshipOverride\n ? selfRefs?.find((rel) =>\n Resources_SharedUtils.tryResolveRelationshipForeignKeyIdentity(\n rel,\n registry.allResourceFieldIdentifiers,\n )?.fieldIdentifier === selfRelationshipOverride\n )\n : selfRefs?.find((rel) =>\n Resources_SharedUtils.tryResolveRelationshipForeignKeyIdentity(\n rel,\n registry.allResourceFieldIdentifiers,\n ) !== undefined\n );\n const selfRefForeignKey = selfRefRel\n ? Resources_SharedUtils.tryResolveRelationshipForeignKeyIdentity(\n selfRefRel,\n registry.allResourceFieldIdentifiers,\n )?.fieldIdentifier\n : undefined;\n if (selfRefForeignKey) {\n const parentId = this.getResourceId(contextResourceIdentifiers[childConfig.resourceType]);\n if (parentId) {\n // This keeps the existing same-type parent explicit even before the child\n // gets its own id. Without this promotion, a tree edge like\n // `organizationUnits -> organizationUnits via parentUnitId` would collapse\n // into a single `organizationUnits` slot and lose which side is parent.\n contextResourceIdentifiers[selfRefForeignKey] = {\n fieldIdentifier: selfRefForeignKey,\n resourceId: parentId,\n };\n }\n }\n }\n \n if (childConfig.resourceId) {\n contextResourceIdentifiers[childConfig.resourceType] = childConfig.resourceId;\n }\n \n // Extract foreign key field overrides from parent context's parentResourcesRequirements\n // This preserves the specific FK path from the parent (e.g., if parent was accessed\n // via /assigned-to-users/{assignedToUserId}/..., the child should inherit that relationship)\n const inheritedOverrides: Record<ResourceType, string> = {};\n if (parentContext.parentResourcesRequirements) {\n for (const req of parentContext.parentResourcesRequirements) {\n if (req.foreignKeyField) {\n inheritedOverrides[req.resourceType] = req.foreignKeyField;\n }\n }\n }\n \n // Merge inherited overrides with explicit overrides (explicit takes precedence)\n const mergedOverrides = {\n ...inheritedOverrides,\n ...childConfig.relationshipFieldOverrides\n };\n \n // Build parentResourcesRequirements based on context with merged overrides\n const parentResourcesRequirements = this.buildParentResourcesRequirements(\n childConfig.resourceType,\n contextResourceIdentifiers,\n registry,\n Object.keys(mergedOverrides).length > 0 ? mergedOverrides : undefined\n );\n \n return this.createFrontendResourceOperationContextFromOperation({\n resourceType: childConfig.resourceType,\n operation,\n parentResourcesRequirements,\n contextResourceIdentifiers,\n additionalContext: {\n ...parentContext.additionalContext,\n ...childConfig.additionalContext\n },\n });\n }\n}\n\n// Export singleton instance for easy access\nexport const frontendResourceUtils: FrontendResourceUtils = FrontendResourceUtils.getInstance();\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useOperationEnabled.d.ts","sourceRoot":"","sources":["../../../../../../src/core/resources/hooks/useOperationEnabled.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAEL,KAAK,8BAA8B,EAEpC,MAAM,qFAAqF,CAAC;AAC7F,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,+DAA+D,CAAC;AAC7H,OAAO,EACL,KAAK,YAAY,EAIlB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,mEAAmE,CAAC;AAK3E,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC,MAAM,WAAW,yBAAyB,CAAC,WAAW,GAAG,GAAG;IAC1D,gCAAgC;IAChC,SAAS,EAAE,uCAAuC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClE,yDAAyD;IACzD,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAChC,wFAAwF;IACxF,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,oBAAoB;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,uCAAuC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,sCAAsC;IACtC,YAAY,EAAE;QACZ,kBAAkB,EAAE,OAAO,CAAC;QAC5B,gBAAgB,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,uFAAuF;IACvF,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED,0DAA0D;AAC1D,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED,MAAM,WAAW,0BAA0B,CAAC,WAAW,GAAG,GAAG;IAC3D,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,8BAA8B,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC;IAC7E,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,uCAAuC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAChE,MAAM,CAER;AAoCD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,GAAG,GAAG,EACnD,MAAM,EAAE,yBAAyB,CAAC,WAAW,CAAC,GAC7C,yBAAyB,CAmJ3B;AAwDD,wBAAgB,oBAAoB,CAAC,WAAW,GAAG,GAAG,EACpD,UAAU,EAAE,uCAAuC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EACpE,MAAM,GAAE,0BAA0B,CAAC,WAAW,CAAM,GACnD,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAwIpC"}
1
+ {"version":3,"file":"useOperationEnabled.d.ts","sourceRoot":"","sources":["../../../../../src/core/resources/hooks/useOperationEnabled.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAEL,KAAK,8BAA8B,EAEpC,MAAM,qFAAqF,CAAC;AAC7F,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,+DAA+D,CAAC;AAC7H,OAAO,EACL,KAAK,YAAY,EAIlB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,mEAAmE,CAAC;AAK3E,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC,MAAM,WAAW,yBAAyB,CAAC,WAAW,GAAG,GAAG;IAC1D,gCAAgC;IAChC,SAAS,EAAE,uCAAuC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClE,yDAAyD;IACzD,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAChC,wFAAwF;IACxF,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,oBAAoB;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,uCAAuC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,sCAAsC;IACtC,YAAY,EAAE;QACZ,kBAAkB,EAAE,OAAO,CAAC;QAC5B,gBAAgB,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,uFAAuF;IACvF,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED,0DAA0D;AAC1D,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED,MAAM,WAAW,0BAA0B,CAAC,WAAW,GAAG,GAAG;IAC3D,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,8BAA8B,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC,CAAC;IAC7E,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,uCAAuC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAChE,MAAM,CAER;AAoCD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,GAAG,GAAG,EACnD,MAAM,EAAE,yBAAyB,CAAC,WAAW,CAAC,GAC7C,yBAAyB,CAmJ3B;AAwDD,wBAAgB,oBAAoB,CAAC,WAAW,GAAG,GAAG,EACpD,UAAU,EAAE,uCAAuC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EACpE,MAAM,GAAE,0BAA0B,CAAC,WAAW,CAAM,GACnD,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAwIpC"}