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

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 (1917) 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.map +1 -1
  6. package/dist/esm/companion-exports.js.map +1 -1
  7. package/dist/esm/companion-runtime-exports.d.ts.map +1 -1
  8. package/dist/esm/companion-runtime-exports.js.map +1 -1
  9. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  10. package/dist/esm/components/actions/action-bar.js.map +1 -1
  11. package/dist/esm/components/actions/action-button.d.ts.map +1 -1
  12. package/dist/esm/components/actions/action-button.js.map +1 -1
  13. package/dist/esm/components/actions/button-group.d.ts.map +1 -1
  14. package/dist/esm/components/actions/button-group.js.map +1 -1
  15. package/dist/esm/components/actions/button.d.ts.map +1 -1
  16. package/dist/esm/components/actions/button.js.map +1 -1
  17. package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.d.ts.map +1 -1
  18. package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.js.map +1 -1
  19. package/dist/esm/components/ai-elements/artifacts/artifact-list.d.ts.map +1 -1
  20. package/dist/esm/components/ai-elements/artifacts/artifact-list.js.map +1 -1
  21. package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
  22. package/dist/esm/components/ai-elements/artifacts/artifact.js.map +1 -1
  23. package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
  24. package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
  25. package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
  26. package/dist/esm/components/ai-elements/artifacts/image.js.map +1 -1
  27. package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
  28. package/dist/esm/components/ai-elements/artifacts/web-preview.js.map +1 -1
  29. package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
  30. package/dist/esm/components/ai-elements/chat/conversation.js.map +1 -1
  31. package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
  32. package/dist/esm/components/ai-elements/chat/message.js.map +1 -1
  33. package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
  34. package/dist/esm/components/ai-elements/chat/prompt-input.js.map +1 -1
  35. package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
  36. package/dist/esm/components/ai-elements/chat/sources.js.map +1 -1
  37. package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
  38. package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
  39. package/dist/esm/components/ai-elements/decision/approval.d.ts +15 -2
  40. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  41. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  42. package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
  43. package/dist/esm/components/ai-elements/execution/confirmation.js.map +1 -1
  44. package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
  45. package/dist/esm/components/ai-elements/execution/queue.js.map +1 -1
  46. package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
  47. package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
  48. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  49. package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
  50. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  51. package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
  52. package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
  53. package/dist/esm/components/ai-elements/graph/connection.js.map +1 -1
  54. package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
  55. package/dist/esm/components/ai-elements/graph/controls.js.map +1 -1
  56. package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
  57. package/dist/esm/components/ai-elements/graph/edge.js.map +1 -1
  58. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  59. package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
  60. package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
  61. package/dist/esm/components/ai-elements/graph/panel.js.map +1 -1
  62. package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
  63. package/dist/esm/components/ai-elements/graph/toolbar.js.map +1 -1
  64. package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts.map +1 -1
  65. package/dist/esm/components/ai-elements/meta/agent-wrappers.js.map +1 -1
  66. package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
  67. package/dist/esm/components/ai-elements/meta/context.js.map +1 -1
  68. package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
  69. package/dist/esm/components/ai-elements/meta/model-selector.js.map +1 -1
  70. package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
  71. package/dist/esm/components/ai-elements/meta/open-in-chat.js.map +1 -1
  72. package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
  73. package/dist/esm/components/ai-elements/shared/loader.js.map +1 -1
  74. package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
  75. package/dist/esm/components/ai-elements/shared/shimmer.js.map +1 -1
  76. package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
  77. package/dist/esm/components/ai-elements/stream/execution-stream.js.map +1 -1
  78. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
  79. package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
  80. package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
  81. package/dist/esm/components/ai-elements/trace/checkpoint.js.map +1 -1
  82. package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
  83. package/dist/esm/components/ai-elements/trace/inline-citation.js.map +1 -1
  84. package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
  85. package/dist/esm/components/ai-elements/trace/plan.js.map +1 -1
  86. package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
  87. package/dist/esm/components/ai-elements/trace/reasoning.js.map +1 -1
  88. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
  89. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
  90. package/dist/esm/components/app/AppLayout_ErrorBoundary.d.ts.map +1 -1
  91. package/dist/esm/components/app/AppLayout_ErrorBoundary.js.map +1 -1
  92. package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.d.ts.map +1 -1
  93. package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.js.map +1 -1
  94. package/dist/esm/components/app/AppLayout_Home.d.ts.map +1 -1
  95. package/dist/esm/components/app/AppLayout_Home.js.map +1 -1
  96. package/dist/esm/components/app/AppLayout_Home.labels.d.ts.map +1 -1
  97. package/dist/esm/components/app/AppLayout_Home.labels.js.map +1 -1
  98. package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
  99. package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
  100. package/dist/esm/components/app/AppLayout_NotificationCenter.d.ts.map +1 -1
  101. package/dist/esm/components/app/AppLayout_NotificationCenter.js +7 -2
  102. package/dist/esm/components/app/AppLayout_NotificationCenter.js.map +1 -1
  103. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.d.ts.map +1 -1
  104. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.js.map +1 -1
  105. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.d.ts.map +1 -1
  106. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.js.map +1 -1
  107. package/dist/esm/components/app/AppPage_Home.d.ts.map +1 -1
  108. package/dist/esm/components/app/AppPage_Home.js.map +1 -1
  109. package/dist/esm/components/app/PublicLayout_MainContainer.d.ts.map +1 -1
  110. package/dist/esm/components/app/PublicLayout_MainContainer.js.map +1 -1
  111. package/dist/esm/components/app/PublicLayout_StaticContentContainer.d.ts.map +1 -1
  112. package/dist/esm/components/app/PublicLayout_StaticContentContainer.js.map +1 -1
  113. package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.d.ts.map +1 -1
  114. package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.js.map +1 -1
  115. package/dist/esm/components/app/PublicLayout_Terms.labels.d.ts.map +1 -1
  116. package/dist/esm/components/app/PublicLayout_Terms.labels.js.map +1 -1
  117. package/dist/esm/components/auth/Auth_AuthCallback.d.ts.map +1 -1
  118. package/dist/esm/components/auth/Auth_AuthCallback.js.map +1 -1
  119. package/dist/esm/components/auth/Auth_AuthCallback.labels.d.ts.map +1 -1
  120. package/dist/esm/components/auth/Auth_AuthCallback.labels.js.map +1 -1
  121. package/dist/esm/components/auth/Auth_ConfirmEmail.d.ts.map +1 -1
  122. package/dist/esm/components/auth/Auth_ConfirmEmail.js.map +1 -1
  123. package/dist/esm/components/auth/Auth_ConfirmEmail.labels.d.ts.map +1 -1
  124. package/dist/esm/components/auth/Auth_ConfirmEmail.labels.js.map +1 -1
  125. package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
  126. package/dist/esm/components/auth/Auth_EnrollmentRequired.js.map +1 -1
  127. package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.d.ts.map +1 -1
  128. package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.js.map +1 -1
  129. package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
  130. package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
  131. package/dist/esm/components/auth/Auth_Invitation.labels.d.ts.map +1 -1
  132. package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
  133. package/dist/esm/components/auth/Auth_MagicLinkVerify.d.ts.map +1 -1
  134. package/dist/esm/components/auth/Auth_MagicLinkVerify.js.map +1 -1
  135. package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.d.ts.map +1 -1
  136. package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.js.map +1 -1
  137. package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
  138. package/dist/esm/components/auth/Auth_Main.js.map +1 -1
  139. package/dist/esm/components/auth/Auth_Main.labels.d.ts.map +1 -1
  140. package/dist/esm/components/auth/Auth_Main.labels.js.map +1 -1
  141. package/dist/esm/components/auth/Auth_MfaChallenge.d.ts.map +1 -1
  142. package/dist/esm/components/auth/Auth_MfaChallenge.js.map +1 -1
  143. package/dist/esm/components/auth/Auth_MfaChallenge.labels.d.ts.map +1 -1
  144. package/dist/esm/components/auth/Auth_MfaChallenge.labels.js.map +1 -1
  145. package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
  146. package/dist/esm/components/auth/Auth_OAuthConsent.js.map +1 -1
  147. package/dist/esm/components/auth/Auth_OAuthConsent.labels.d.ts.map +1 -1
  148. package/dist/esm/components/auth/Auth_OAuthConsent.labels.js.map +1 -1
  149. package/dist/esm/components/auth/Auth_OAuthLoggedOut.d.ts.map +1 -1
  150. package/dist/esm/components/auth/Auth_OAuthLoggedOut.js.map +1 -1
  151. package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.d.ts.map +1 -1
  152. package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.js.map +1 -1
  153. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.d.ts.map +1 -1
  154. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.js.map +1 -1
  155. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.d.ts.map +1 -1
  156. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.js.map +1 -1
  157. package/dist/esm/components/auth/Auth_OneOffSession.d.ts.map +1 -1
  158. package/dist/esm/components/auth/Auth_OneOffSession.js.map +1 -1
  159. package/dist/esm/components/auth/Auth_OneOffSession.labels.d.ts.map +1 -1
  160. package/dist/esm/components/auth/Auth_OneOffSession.labels.js.map +1 -1
  161. package/dist/esm/components/auth/Auth_PasswordLost.d.ts.map +1 -1
  162. package/dist/esm/components/auth/Auth_PasswordLost.js.map +1 -1
  163. package/dist/esm/components/auth/Auth_PasswordLost.labels.d.ts.map +1 -1
  164. package/dist/esm/components/auth/Auth_PasswordLost.labels.js.map +1 -1
  165. package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
  166. package/dist/esm/components/auth/Auth_Register.js.map +1 -1
  167. package/dist/esm/components/auth/Auth_Register.labels.d.ts.map +1 -1
  168. package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
  169. package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
  170. package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
  171. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
  172. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
  173. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
  174. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
  175. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map +1 -1
  176. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js.map +1 -1
  177. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.d.ts.map +1 -1
  178. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.js.map +1 -1
  179. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.d.ts.map +1 -1
  180. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js.map +1 -1
  181. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.d.ts.map +1 -1
  182. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js.map +1 -1
  183. package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.d.ts.map +1 -1
  184. package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.js.map +1 -1
  185. package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.d.ts.map +1 -1
  186. package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.js.map +1 -1
  187. package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts.map +1 -1
  188. package/dist/esm/components/auth/enrollment/enrollment-method-components.js.map +1 -1
  189. package/dist/esm/components/auth/methods/EmailOtpAuthMethod.d.ts.map +1 -1
  190. package/dist/esm/components/auth/methods/EmailOtpAuthMethod.js.map +1 -1
  191. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
  192. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js.map +1 -1
  193. package/dist/esm/components/auth/methods/MagicLinkAuthMethod.d.ts.map +1 -1
  194. package/dist/esm/components/auth/methods/MagicLinkAuthMethod.js.map +1 -1
  195. package/dist/esm/components/auth/methods/OrgOidcAuthMethod.d.ts.map +1 -1
  196. package/dist/esm/components/auth/methods/OrgOidcAuthMethod.js.map +1 -1
  197. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
  198. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
  199. package/dist/esm/components/auth/methods/PasskeyAuthMethod.d.ts.map +1 -1
  200. package/dist/esm/components/auth/methods/PasskeyAuthMethod.js.map +1 -1
  201. package/dist/esm/components/auth/methods/PasswordAuthMethod.d.ts.map +1 -1
  202. package/dist/esm/components/auth/methods/PasswordAuthMethod.js.map +1 -1
  203. package/dist/esm/components/auth/methods/SmsOtpAuthMethod.d.ts.map +1 -1
  204. package/dist/esm/components/auth/methods/SmsOtpAuthMethod.js.map +1 -1
  205. package/dist/esm/components/auth/methods/TotpAuthMethod.d.ts.map +1 -1
  206. package/dist/esm/components/auth/methods/TotpAuthMethod.js.map +1 -1
  207. package/dist/esm/components/auth/methods/auth-method-components.d.ts.map +1 -1
  208. package/dist/esm/components/auth/methods/auth-method-components.js.map +1 -1
  209. package/dist/esm/components/auth/pages/AuthPage_AuthCallback.d.ts.map +1 -1
  210. package/dist/esm/components/auth/pages/AuthPage_AuthCallback.js.map +1 -1
  211. package/dist/esm/components/auth/pages/AuthPage_AuthExchange.d.ts.map +1 -1
  212. package/dist/esm/components/auth/pages/AuthPage_AuthExchange.js.map +1 -1
  213. package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.d.ts.map +1 -1
  214. package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.js.map +1 -1
  215. package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.d.ts.map +1 -1
  216. package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.js.map +1 -1
  217. package/dist/esm/components/auth/pages/AuthPage_Invitation.d.ts.map +1 -1
  218. package/dist/esm/components/auth/pages/AuthPage_Invitation.js.map +1 -1
  219. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts.map +1 -1
  220. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.js.map +1 -1
  221. package/dist/esm/components/auth/pages/AuthPage_Main.d.ts.map +1 -1
  222. package/dist/esm/components/auth/pages/AuthPage_Main.js.map +1 -1
  223. package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.d.ts.map +1 -1
  224. package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.js.map +1 -1
  225. package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.d.ts.map +1 -1
  226. package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.js.map +1 -1
  227. package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.d.ts.map +1 -1
  228. package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.js.map +1 -1
  229. package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.d.ts.map +1 -1
  230. package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.js.map +1 -1
  231. package/dist/esm/components/auth/pages/AuthPage_OneOffSession.d.ts.map +1 -1
  232. package/dist/esm/components/auth/pages/AuthPage_OneOffSession.js.map +1 -1
  233. package/dist/esm/components/auth/pages/AuthPage_PasswordLost.d.ts.map +1 -1
  234. package/dist/esm/components/auth/pages/AuthPage_PasswordLost.js.map +1 -1
  235. package/dist/esm/components/auth/pages/AuthPage_Register.d.ts.map +1 -1
  236. package/dist/esm/components/auth/pages/AuthPage_Register.js.map +1 -1
  237. package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.d.ts.map +1 -1
  238. package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.js.map +1 -1
  239. package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.d.ts.map +1 -1
  240. package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.js.map +1 -1
  241. package/dist/esm/components/auth/utils/LabeledDivider.d.ts.map +1 -1
  242. package/dist/esm/components/auth/utils/LabeledDivider.js.map +1 -1
  243. package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts.map +1 -1
  244. package/dist/esm/components/auth/utils/OAuthProvidersSection.js.map +1 -1
  245. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts.map +1 -1
  246. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
  247. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts.map +1 -1
  248. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js.map +1 -1
  249. package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.d.ts.map +1 -1
  250. package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.js.map +1 -1
  251. package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
  252. package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
  253. package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
  254. package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
  255. package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
  256. package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
  257. package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
  258. package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
  259. package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
  260. package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
  261. package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
  262. package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
  263. package/dist/esm/components/data-display/DisplayContextKindContext.d.ts.map +1 -1
  264. package/dist/esm/components/data-display/DisplayContextKindContext.js.map +1 -1
  265. package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
  266. package/dist/esm/components/data-display/DisplayField.js +8 -5
  267. package/dist/esm/components/data-display/DisplayField.js.map +1 -1
  268. package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
  269. package/dist/esm/components/data-display/DisplayFieldArray.js.map +1 -1
  270. package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
  271. package/dist/esm/components/data-display/DisplayFieldEditable.js +6 -2
  272. package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
  273. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
  274. package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
  275. package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
  276. package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
  277. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
  278. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js.map +1 -1
  279. package/dist/esm/components/data-display/DisplayTemplateContext.d.ts.map +1 -1
  280. package/dist/esm/components/data-display/DisplayTemplateContext.js.map +1 -1
  281. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
  282. package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
  283. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
  284. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
  285. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
  286. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
  287. package/dist/esm/components/data-display/SummaryContext.d.ts.map +1 -1
  288. package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
  289. package/dist/esm/components/data-display/automatic-displayer.utils.d.ts.map +1 -1
  290. package/dist/esm/components/data-display/automatic-displayer.utils.js.map +1 -1
  291. package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
  292. package/dist/esm/components/data-display/avatar.js.map +1 -1
  293. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  294. package/dist/esm/components/data-display/badge.js.map +1 -1
  295. package/dist/esm/components/data-display/chart-echarts.d.ts.map +1 -1
  296. package/dist/esm/components/data-display/chart-echarts.js.map +1 -1
  297. package/dist/esm/components/data-display/chromes/DisplayChromeContext.d.ts.map +1 -1
  298. package/dist/esm/components/data-display/chromes/DisplayChromeContext.js.map +1 -1
  299. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
  300. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
  301. package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
  302. package/dist/esm/components/data-display/description-list.js.map +1 -1
  303. package/dist/esm/components/data-display/display-field-resolution.utils.d.ts.map +1 -1
  304. package/dist/esm/components/data-display/display-field-resolution.utils.js.map +1 -1
  305. package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
  306. package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
  307. package/dist/esm/components/data-display/display-resource-link-trail.d.ts.map +1 -1
  308. package/dist/esm/components/data-display/display-resource-link-trail.js.map +1 -1
  309. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
  310. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
  311. package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
  312. package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
  313. package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
  314. package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
  315. package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
  316. package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
  317. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
  318. package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
  319. package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
  320. package/dist/esm/components/data-display/formatters/display-field-duration.js.map +1 -1
  321. package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
  322. package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
  323. package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
  324. package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
  325. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
  326. package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
  327. package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
  328. package/dist/esm/components/data-display/formatters/display-field-file-gallery.js.map +1 -1
  329. package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
  330. package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
  331. package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
  332. package/dist/esm/components/data-display/formatters/display-field-file-video.js.map +1 -1
  333. package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
  334. package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
  335. package/dist/esm/components/data-display/formatters/display-field-json.d.ts.map +1 -1
  336. package/dist/esm/components/data-display/formatters/display-field-json.js.map +1 -1
  337. package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
  338. package/dist/esm/components/data-display/formatters/display-field-money.js.map +1 -1
  339. package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
  340. package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
  341. package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
  342. package/dist/esm/components/data-display/formatters/display-field-phone.js.map +1 -1
  343. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
  344. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.js.map +1 -1
  345. package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
  346. package/dist/esm/components/data-display/formatters/display-field-range-date.js.map +1 -1
  347. package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
  348. package/dist/esm/components/data-display/formatters/display-field-range-datetime.js.map +1 -1
  349. package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
  350. package/dist/esm/components/data-display/formatters/display-field-range-money.js.map +1 -1
  351. package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
  352. package/dist/esm/components/data-display/formatters/display-field-range-number.js.map +1 -1
  353. package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
  354. package/dist/esm/components/data-display/formatters/display-field-range-time.js.map +1 -1
  355. package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
  356. package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
  357. package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
  358. package/dist/esm/components/data-display/formatters/display-field-time.js.map +1 -1
  359. package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
  360. package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
  361. package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
  362. package/dist/esm/components/data-display/useFileActivation.js.map +1 -1
  363. package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
  364. package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
  365. package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
  366. package/dist/esm/components/feedback/danger-zone.js.map +1 -1
  367. package/dist/esm/components/feedback/empty-display-policy.utils.d.ts.map +1 -1
  368. package/dist/esm/components/feedback/empty-display-policy.utils.js.map +1 -1
  369. package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
  370. package/dist/esm/components/feedback/empty-state.js.map +1 -1
  371. package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
  372. package/dist/esm/components/feedback/error-display.js.map +1 -1
  373. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  374. package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -1
  375. package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
  376. package/dist/esm/components/feedback/features/feature-lock-badge.js.map +1 -1
  377. package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
  378. package/dist/esm/components/feedback/features/feature-unavailable-dialog.js.map +1 -1
  379. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts +36 -0
  380. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
  381. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js +29 -0
  382. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
  383. package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
  384. package/dist/esm/components/feedback/loading-overlay.js.map +1 -1
  385. package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
  386. package/dist/esm/components/feedback/loading-spinner.js.map +1 -1
  387. package/dist/esm/components/feedback/notification-center.d.ts +11 -5
  388. package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
  389. package/dist/esm/components/feedback/notification-center.js +2 -3
  390. package/dist/esm/components/feedback/notification-center.js.map +1 -1
  391. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  392. package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
  393. package/dist/esm/components/feedback/progress.d.ts.map +1 -1
  394. package/dist/esm/components/feedback/progress.js.map +1 -1
  395. package/dist/esm/components/feedback/resource-empty-state.d.ts.map +1 -1
  396. package/dist/esm/components/feedback/resource-empty-state.js.map +1 -1
  397. package/dist/esm/components/feedback/skeleton-text.d.ts.map +1 -1
  398. package/dist/esm/components/feedback/skeleton-text.js.map +1 -1
  399. package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
  400. package/dist/esm/components/feedback/skeleton.js.map +1 -1
  401. package/dist/esm/components/feedback/toast.d.ts.map +1 -1
  402. package/dist/esm/components/feedback/toast.js.map +1 -1
  403. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts +41 -0
  404. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -0
  405. package/dist/esm/components/files/Files_UploadGrantDrop.js +207 -0
  406. package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -0
  407. package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts +3 -0
  408. package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts.map +1 -0
  409. package/dist/esm/components/files/Files_UploadGrantDrop.labels.js +36 -0
  410. package/dist/esm/components/files/Files_UploadGrantDrop.labels.js.map +1 -0
  411. package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts +8 -0
  412. package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts.map +1 -0
  413. package/dist/esm/components/files/pages/FilesPage_UploadGrant.js +14 -0
  414. package/dist/esm/components/files/pages/FilesPage_UploadGrant.js.map +1 -0
  415. package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
  416. package/dist/esm/components/flows-actors/actor.js.map +1 -1
  417. package/dist/esm/components/flows-actors/actor.labels.d.ts.map +1 -1
  418. package/dist/esm/components/flows-actors/actor.labels.js.map +1 -1
  419. package/dist/esm/components/flows-actors/agent-config.d.ts.map +1 -1
  420. package/dist/esm/components/flows-actors/agent-config.js.map +1 -1
  421. package/dist/esm/components/flows-actors/agent-config.labels.d.ts.map +1 -1
  422. package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
  423. package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
  424. package/dist/esm/components/flows-actors/approval.js +14 -2
  425. package/dist/esm/components/flows-actors/approval.js.map +1 -1
  426. package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
  427. package/dist/esm/components/flows-actors/approval.labels.js +2 -0
  428. package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
  429. package/dist/esm/components/flows-actors/artifact-browser.d.ts.map +1 -1
  430. package/dist/esm/components/flows-actors/artifact-browser.js.map +1 -1
  431. package/dist/esm/components/flows-actors/artifact-browser.labels.d.ts.map +1 -1
  432. package/dist/esm/components/flows-actors/artifact-browser.labels.js.map +1 -1
  433. package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
  434. package/dist/esm/components/flows-actors/execution-plan.js.map +1 -1
  435. package/dist/esm/components/flows-actors/execution-plan.labels.d.ts.map +1 -1
  436. package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
  437. package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
  438. package/dist/esm/components/flows-actors/flow-execution.js.map +1 -1
  439. package/dist/esm/components/flows-actors/flow-execution.labels.d.ts.map +1 -1
  440. package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
  441. package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
  442. package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
  443. package/dist/esm/components/flows-actors/flow-node.d.ts.map +1 -1
  444. package/dist/esm/components/flows-actors/flow-node.js.map +1 -1
  445. package/dist/esm/components/flows-actors/flow-node.labels.d.ts.map +1 -1
  446. package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
  447. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts.map +1 -1
  448. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js.map +1 -1
  449. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts.map +1 -1
  450. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js.map +1 -1
  451. package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts.map +1 -1
  452. package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
  453. package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
  454. package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
  455. package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
  456. package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
  457. package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
  458. package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
  459. package/dist/esm/components/flows-actors/task-detail.labels.d.ts.map +1 -1
  460. package/dist/esm/components/flows-actors/task-detail.labels.js.map +1 -1
  461. package/dist/esm/components/flows-actors/task-memory.d.ts.map +1 -1
  462. package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
  463. package/dist/esm/components/flows-actors/task-memory.labels.d.ts.map +1 -1
  464. package/dist/esm/components/flows-actors/task-memory.labels.js.map +1 -1
  465. package/dist/esm/components/form/Form.d.ts.map +1 -1
  466. package/dist/esm/components/form/Form.js.map +1 -1
  467. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
  468. package/dist/esm/components/form/automated/AutomatedArrayField.js +1 -1
  469. package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
  470. package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
  471. package/dist/esm/components/form/automated/AutomatedForm.js +16 -9
  472. package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
  473. package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
  474. package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
  475. package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
  476. package/dist/esm/components/form/automated/FormField.js +9 -2
  477. package/dist/esm/components/form/automated/FormField.js.map +1 -1
  478. package/dist/esm/components/form/automated/FormFieldArray.d.ts.map +1 -1
  479. package/dist/esm/components/form/automated/FormFieldArray.js.map +1 -1
  480. package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
  481. package/dist/esm/components/form/automated/FormFieldComposite.js +8 -6
  482. package/dist/esm/components/form/automated/FormFieldComposite.js.map +1 -1
  483. package/dist/esm/components/form/automated/FormFieldRecord.d.ts.map +1 -1
  484. package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
  485. package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
  486. package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
  487. package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.d.ts.map +1 -1
  488. package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.js.map +1 -1
  489. package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.d.ts.map +1 -1
  490. package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.js.map +1 -1
  491. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
  492. package/dist/esm/components/form/automated/ResourceAutomatedForm.js +37 -3
  493. package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
  494. package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts.map +1 -1
  495. package/dist/esm/components/form/automated/ResourceFormActionsContext.js.map +1 -1
  496. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
  497. package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
  498. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts +12 -0
  499. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts.map +1 -0
  500. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js +26 -0
  501. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js.map +1 -0
  502. package/dist/esm/components/form/automated/autosave-indicator.d.ts.map +1 -1
  503. package/dist/esm/components/form/automated/autosave-indicator.js.map +1 -1
  504. package/dist/esm/components/form/automated/autosave-indicator.utils.d.ts.map +1 -1
  505. package/dist/esm/components/form/automated/autosave-indicator.utils.js.map +1 -1
  506. package/dist/esm/components/form/automated/create-form-default-values.utils.d.ts.map +1 -1
  507. package/dist/esm/components/form/automated/create-form-default-values.utils.js.map +1 -1
  508. package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.d.ts.map +1 -1
  509. package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.js.map +1 -1
  510. package/dist/esm/components/form/automated/generated-relationship-field.helpers.d.ts.map +1 -1
  511. package/dist/esm/components/form/automated/generated-relationship-field.helpers.js.map +1 -1
  512. package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts.map +1 -1
  513. package/dist/esm/components/form/automated/generated-relationship-field.hooks.js.map +1 -1
  514. package/dist/esm/components/form/automated/generated-relationship-field.shared.d.ts.map +1 -1
  515. package/dist/esm/components/form/automated/generated-relationship-field.shared.js.map +1 -1
  516. package/dist/esm/components/form/automated/generated-relationship-field.utils.d.ts.map +1 -1
  517. package/dist/esm/components/form/automated/generated-relationship-field.utils.js.map +1 -1
  518. package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
  519. package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
  520. package/dist/esm/components/form/chromes/FormChromeContext.d.ts.map +1 -1
  521. package/dist/esm/components/form/chromes/FormChromeContext.js.map +1 -1
  522. package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
  523. package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
  524. package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
  525. package/dist/esm/components/form/chromes/field.js.map +1 -1
  526. package/dist/esm/components/form/chromes/form-primitives.d.ts.map +1 -1
  527. package/dist/esm/components/form/chromes/form-primitives.js.map +1 -1
  528. package/dist/esm/components/form/combobox.d.ts.map +1 -1
  529. package/dist/esm/components/form/combobox.js.map +1 -1
  530. package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
  531. package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
  532. package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
  533. package/dist/esm/components/form/controls/boolean/switch.js.map +1 -1
  534. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
  535. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.js.map +1 -1
  536. package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
  537. package/dist/esm/components/form/controls/boolean/toggle.js.map +1 -1
  538. package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
  539. package/dist/esm/components/form/controls/date-time/calendar.js.map +1 -1
  540. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  541. package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
  542. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  543. package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
  544. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  545. package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -1
  546. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  547. package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -1
  548. package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
  549. package/dist/esm/components/form/controls/date-time/time-picker.js.map +1 -1
  550. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  551. package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -1
  552. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  553. package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
  554. package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
  555. package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
  556. package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
  557. package/dist/esm/components/form/controls/enum/select.js.map +1 -1
  558. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  559. package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
  560. package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
  561. package/dist/esm/components/form/controls/file/file-upload.js.map +1 -1
  562. package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
  563. package/dist/esm/components/form/controls/file/image-crop.frontend.utils.d.ts.map +1 -1
  564. package/dist/esm/components/form/controls/file/image-crop.frontend.utils.js.map +1 -1
  565. package/dist/esm/components/form/controls/file/image-crop.js.map +1 -1
  566. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
  567. package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
  568. package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
  569. package/dist/esm/components/form/controls/input-group.js.map +1 -1
  570. package/dist/esm/components/form/controls/input.d.ts.map +1 -1
  571. package/dist/esm/components/form/controls/input.js.map +1 -1
  572. package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
  573. package/dist/esm/components/form/controls/number/slider.js.map +1 -1
  574. package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
  575. package/dist/esm/components/form/controls/string/color-input.js.map +1 -1
  576. package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
  577. package/dist/esm/components/form/controls/string/inline-edit-text.js.map +1 -1
  578. package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
  579. package/dist/esm/components/form/controls/string/input-otp.js.map +1 -1
  580. package/dist/esm/components/form/controls/string/markdown-editor.d.ts.map +1 -1
  581. package/dist/esm/components/form/controls/string/markdown-editor.js.map +1 -1
  582. package/dist/esm/components/form/controls/string/markdown-editor.labels.d.ts.map +1 -1
  583. package/dist/esm/components/form/controls/string/markdown-editor.labels.js.map +1 -1
  584. package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
  585. package/dist/esm/components/form/controls/string/password-input.js.map +1 -1
  586. package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
  587. package/dist/esm/components/form/controls/string/textarea.js.map +1 -1
  588. package/dist/esm/components/form/feedback/RemoteChangeNotification.d.ts.map +1 -1
  589. package/dist/esm/components/form/feedback/RemoteChangeNotification.js.map +1 -1
  590. package/dist/esm/components/form/fields/form-field-bigdecimal.d.ts.map +1 -1
  591. package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
  592. package/dist/esm/components/form/fields/form-field-bigdecimal.labels.d.ts.map +1 -1
  593. package/dist/esm/components/form/fields/form-field-bigdecimal.labels.js.map +1 -1
  594. package/dist/esm/components/form/fields/form-field-boolean.d.ts.map +1 -1
  595. package/dist/esm/components/form/fields/form-field-boolean.js +4 -2
  596. package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
  597. package/dist/esm/components/form/fields/form-field-boolean.labels.d.ts.map +1 -1
  598. package/dist/esm/components/form/fields/form-field-boolean.labels.js.map +1 -1
  599. package/dist/esm/components/form/fields/form-field-code.d.ts.map +1 -1
  600. package/dist/esm/components/form/fields/form-field-code.js.map +1 -1
  601. package/dist/esm/components/form/fields/form-field-code.labels.d.ts.map +1 -1
  602. package/dist/esm/components/form/fields/form-field-code.labels.js.map +1 -1
  603. package/dist/esm/components/form/fields/form-field-date.d.ts.map +1 -1
  604. package/dist/esm/components/form/fields/form-field-date.js.map +1 -1
  605. package/dist/esm/components/form/fields/form-field-date.labels.d.ts.map +1 -1
  606. package/dist/esm/components/form/fields/form-field-date.labels.js.map +1 -1
  607. package/dist/esm/components/form/fields/form-field-datetime.d.ts.map +1 -1
  608. package/dist/esm/components/form/fields/form-field-datetime.js.map +1 -1
  609. package/dist/esm/components/form/fields/form-field-datetime.labels.d.ts.map +1 -1
  610. package/dist/esm/components/form/fields/form-field-datetime.labels.js.map +1 -1
  611. package/dist/esm/components/form/fields/form-field-duration.d.ts.map +1 -1
  612. package/dist/esm/components/form/fields/form-field-duration.js.map +1 -1
  613. package/dist/esm/components/form/fields/form-field-duration.labels.d.ts.map +1 -1
  614. package/dist/esm/components/form/fields/form-field-duration.labels.js.map +1 -1
  615. package/dist/esm/components/form/fields/form-field-enum.d.ts.map +1 -1
  616. package/dist/esm/components/form/fields/form-field-enum.js +4 -2
  617. package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
  618. package/dist/esm/components/form/fields/form-field-enum.labels.d.ts.map +1 -1
  619. package/dist/esm/components/form/fields/form-field-enum.labels.js.map +1 -1
  620. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts +15 -5
  621. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts.map +1 -1
  622. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js +21 -18
  623. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js.map +1 -1
  624. package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
  625. package/dist/esm/components/form/fields/form-field-file.js +90 -2
  626. package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
  627. package/dist/esm/components/form/fields/form-field-file.labels.d.ts.map +1 -1
  628. package/dist/esm/components/form/fields/form-field-file.labels.js +15 -0
  629. package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
  630. package/dist/esm/components/form/fields/form-field-money.d.ts.map +1 -1
  631. package/dist/esm/components/form/fields/form-field-money.js.map +1 -1
  632. package/dist/esm/components/form/fields/form-field-money.labels.d.ts.map +1 -1
  633. package/dist/esm/components/form/fields/form-field-money.labels.js.map +1 -1
  634. package/dist/esm/components/form/fields/form-field-number.d.ts.map +1 -1
  635. package/dist/esm/components/form/fields/form-field-number.js +4 -2
  636. package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
  637. package/dist/esm/components/form/fields/form-field-number.labels.d.ts.map +1 -1
  638. package/dist/esm/components/form/fields/form-field-number.labels.js.map +1 -1
  639. package/dist/esm/components/form/fields/form-field-phone.d.ts.map +1 -1
  640. package/dist/esm/components/form/fields/form-field-phone.js.map +1 -1
  641. package/dist/esm/components/form/fields/form-field-phone.labels.d.ts.map +1 -1
  642. package/dist/esm/components/form/fields/form-field-phone.labels.js.map +1 -1
  643. package/dist/esm/components/form/fields/form-field-range-bigdecimal.d.ts.map +1 -1
  644. package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
  645. package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.d.ts.map +1 -1
  646. package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.js.map +1 -1
  647. package/dist/esm/components/form/fields/form-field-range-date.d.ts.map +1 -1
  648. package/dist/esm/components/form/fields/form-field-range-date.js.map +1 -1
  649. package/dist/esm/components/form/fields/form-field-range-date.labels.d.ts.map +1 -1
  650. package/dist/esm/components/form/fields/form-field-range-date.labels.js.map +1 -1
  651. package/dist/esm/components/form/fields/form-field-range-datetime.d.ts.map +1 -1
  652. package/dist/esm/components/form/fields/form-field-range-datetime.js.map +1 -1
  653. package/dist/esm/components/form/fields/form-field-range-datetime.labels.d.ts.map +1 -1
  654. package/dist/esm/components/form/fields/form-field-range-datetime.labels.js.map +1 -1
  655. package/dist/esm/components/form/fields/form-field-range-money.d.ts.map +1 -1
  656. package/dist/esm/components/form/fields/form-field-range-money.js.map +1 -1
  657. package/dist/esm/components/form/fields/form-field-range-money.labels.d.ts.map +1 -1
  658. package/dist/esm/components/form/fields/form-field-range-money.labels.js.map +1 -1
  659. package/dist/esm/components/form/fields/form-field-range-number.d.ts.map +1 -1
  660. package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
  661. package/dist/esm/components/form/fields/form-field-range-number.labels.d.ts.map +1 -1
  662. package/dist/esm/components/form/fields/form-field-range-number.labels.js.map +1 -1
  663. package/dist/esm/components/form/fields/form-field-range-time.d.ts.map +1 -1
  664. package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
  665. package/dist/esm/components/form/fields/form-field-range-time.labels.d.ts.map +1 -1
  666. package/dist/esm/components/form/fields/form-field-range-time.labels.js.map +1 -1
  667. package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
  668. package/dist/esm/components/form/fields/form-field-string.js +7 -2
  669. package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
  670. package/dist/esm/components/form/fields/form-field-string.labels.d.ts.map +1 -1
  671. package/dist/esm/components/form/fields/form-field-string.labels.js.map +1 -1
  672. package/dist/esm/components/form/fields/form-field-time.d.ts.map +1 -1
  673. package/dist/esm/components/form/fields/form-field-time.js.map +1 -1
  674. package/dist/esm/components/form/fields/form-field-time.labels.d.ts.map +1 -1
  675. package/dist/esm/components/form/fields/form-field-time.labels.js.map +1 -1
  676. package/dist/esm/components/form/fields/useFormField.d.ts.map +1 -1
  677. package/dist/esm/components/form/fields/useFormField.js.map +1 -1
  678. package/dist/esm/components/form/form-context.d.ts.map +1 -1
  679. package/dist/esm/components/form/form-context.js.map +1 -1
  680. package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
  681. package/dist/esm/components/form/form-context.utils.js.map +1 -1
  682. package/dist/esm/components/form/form-field-types.d.ts.map +1 -1
  683. package/dist/esm/components/form/form-field-types.js.map +1 -1
  684. package/dist/esm/components/form/useFormSchemaContext.d.ts.map +1 -1
  685. package/dist/esm/components/form/useFormSchemaContext.js.map +1 -1
  686. package/dist/esm/components/form/validation-errors/FormErrorSummary.d.ts.map +1 -1
  687. package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
  688. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts.map +1 -1
  689. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.js.map +1 -1
  690. package/dist/esm/components/form/validation-errors/form-validation.d.ts.map +1 -1
  691. package/dist/esm/components/form/validation-errors/form-validation.js.map +1 -1
  692. package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
  693. package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
  694. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts.map +1 -1
  695. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
  696. package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.d.ts.map +1 -1
  697. package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.js.map +1 -1
  698. package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts.map +1 -1
  699. package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
  700. package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
  701. package/dist/esm/components/layout/aspect-ratio.js.map +1 -1
  702. package/dist/esm/components/layout/carousel.d.ts.map +1 -1
  703. package/dist/esm/components/layout/carousel.js.map +1 -1
  704. package/dist/esm/components/layout/divider.d.ts.map +1 -1
  705. package/dist/esm/components/layout/divider.js.map +1 -1
  706. package/dist/esm/components/layout/resizable.d.ts.map +1 -1
  707. package/dist/esm/components/layout/resizable.js.map +1 -1
  708. package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
  709. package/dist/esm/components/layout/scroll-area.js.map +1 -1
  710. package/dist/esm/components/layout/separator.d.ts.map +1 -1
  711. package/dist/esm/components/layout/separator.js.map +1 -1
  712. package/dist/esm/components/navigation/NavigationItemBadge.d.ts +6 -0
  713. package/dist/esm/components/navigation/NavigationItemBadge.d.ts.map +1 -1
  714. package/dist/esm/components/navigation/NavigationItemBadge.js +2 -1
  715. package/dist/esm/components/navigation/NavigationItemBadge.js.map +1 -1
  716. package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.d.ts.map +1 -1
  717. package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.js.map +1 -1
  718. package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.d.ts.map +1 -1
  719. package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.js.map +1 -1
  720. package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.d.ts.map +1 -1
  721. package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.js.map +1 -1
  722. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.d.ts.map +1 -1
  723. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.js.map +1 -1
  724. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.d.ts.map +1 -1
  725. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.js.map +1 -1
  726. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts.map +1 -1
  727. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js.map +1 -1
  728. package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.d.ts.map +1 -1
  729. package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.js.map +1 -1
  730. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts.map +1 -1
  731. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.js.map +1 -1
  732. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.d.ts.map +1 -1
  733. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.js.map +1 -1
  734. package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.d.ts.map +1 -1
  735. package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.js.map +1 -1
  736. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts.map +1 -1
  737. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.js.map +1 -1
  738. package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.d.ts.map +1 -1
  739. package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.js.map +1 -1
  740. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts.map +1 -1
  741. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.js.map +1 -1
  742. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.d.ts.map +1 -1
  743. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js.map +1 -1
  744. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.d.ts.map +1 -1
  745. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
  746. package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.d.ts.map +1 -1
  747. package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.js.map +1 -1
  748. package/dist/esm/components/navigation/app-level/useActivityBarBehavior.d.ts.map +1 -1
  749. package/dist/esm/components/navigation/app-level/useActivityBarBehavior.js.map +1 -1
  750. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
  751. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
  752. package/dist/esm/components/navigation/app-level/useControlPanelBehavior.d.ts.map +1 -1
  753. package/dist/esm/components/navigation/app-level/useControlPanelBehavior.js.map +1 -1
  754. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts.map +1 -1
  755. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js.map +1 -1
  756. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
  757. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
  758. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
  759. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
  760. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts +5 -2
  761. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts.map +1 -1
  762. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js +18 -41
  763. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js.map +1 -1
  764. package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.d.ts.map +1 -1
  765. package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.js.map +1 -1
  766. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
  767. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
  768. package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
  769. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +1 -1
  770. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
  771. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts.map +1 -1
  772. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js +13 -3
  773. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js.map +1 -1
  774. package/dist/esm/components/navigation/app-level/useToolbarBehavior.d.ts.map +1 -1
  775. package/dist/esm/components/navigation/app-level/useToolbarBehavior.js.map +1 -1
  776. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +23 -5
  777. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
  778. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +81 -13
  779. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
  780. package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
  781. package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
  782. package/dist/esm/components/navigation/command.d.ts.map +1 -1
  783. package/dist/esm/components/navigation/command.js.map +1 -1
  784. package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
  785. package/dist/esm/components/navigation/menu-bar.js.map +1 -1
  786. package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
  787. package/dist/esm/components/navigation/navbar.js.map +1 -1
  788. package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
  789. package/dist/esm/components/navigation/sidebar.js.map +1 -1
  790. package/dist/esm/components/overlays/containers/OverlayContainer.d.ts.map +1 -1
  791. package/dist/esm/components/overlays/containers/OverlayContainer.js.map +1 -1
  792. package/dist/esm/components/overlays/containers/OverlayContainer.labels.d.ts.map +1 -1
  793. package/dist/esm/components/overlays/containers/OverlayContainer.labels.js.map +1 -1
  794. package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
  795. package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
  796. package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
  797. package/dist/esm/components/overlays/containers/alert.js.map +1 -1
  798. package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
  799. package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
  800. package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts.map +1 -1
  801. package/dist/esm/components/overlays/containers/dialog.shared-types.js.map +1 -1
  802. package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
  803. package/dist/esm/components/overlays/containers/drawer.js.map +1 -1
  804. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts.map +1 -1
  805. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.js.map +1 -1
  806. package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.d.ts.map +1 -1
  807. package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.js.map +1 -1
  808. package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
  809. package/dist/esm/components/overlays/containers/sheet.js.map +1 -1
  810. package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
  811. package/dist/esm/components/overlays/floating/context-menu.js.map +1 -1
  812. package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
  813. package/dist/esm/components/overlays/floating/dropdown-menu.js.map +1 -1
  814. package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
  815. package/dist/esm/components/overlays/floating/hover-card.js.map +1 -1
  816. package/dist/esm/components/overlays/floating/menu.shared-types.d.ts.map +1 -1
  817. package/dist/esm/components/overlays/floating/menu.shared-types.js.map +1 -1
  818. package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
  819. package/dist/esm/components/overlays/floating/popover.js.map +1 -1
  820. package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
  821. package/dist/esm/components/overlays/floating/tooltip.js.map +1 -1
  822. package/dist/esm/components/progression/ProgressionAchievementBadge.d.ts.map +1 -1
  823. package/dist/esm/components/progression/ProgressionAchievementBadge.js.map +1 -1
  824. package/dist/esm/components/progression/ProgressionAchievementBadge.labels.d.ts.map +1 -1
  825. package/dist/esm/components/progression/ProgressionAchievementBadge.labels.js.map +1 -1
  826. package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts.map +1 -1
  827. package/dist/esm/components/progression/ProgressionMilestoneTracker.js.map +1 -1
  828. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.d.ts.map +1 -1
  829. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
  830. package/dist/esm/components/resources/CollectionSelectionControls.d.ts.map +1 -1
  831. package/dist/esm/components/resources/CollectionSelectionControls.js.map +1 -1
  832. package/dist/esm/components/resources/EphemeralFieldsRevealDialog.d.ts.map +1 -1
  833. package/dist/esm/components/resources/EphemeralFieldsRevealDialog.js.map +1 -1
  834. package/dist/esm/components/resources/InlineSearchInput.d.ts.map +1 -1
  835. package/dist/esm/components/resources/InlineSearchInput.js.map +1 -1
  836. package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
  837. package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
  838. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
  839. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
  840. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
  841. package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
  842. package/dist/esm/components/resources/ResourceInPlaceOperationRow.d.ts.map +1 -1
  843. package/dist/esm/components/resources/ResourceInPlaceOperationRow.js.map +1 -1
  844. package/dist/esm/components/resources/ResourceLayout_Action.d.ts.map +1 -1
  845. package/dist/esm/components/resources/ResourceLayout_Action.js.map +1 -1
  846. package/dist/esm/components/resources/ResourceLayout_Action.labels.d.ts.map +1 -1
  847. package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
  848. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
  849. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
  850. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.d.ts.map +1 -1
  851. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.js.map +1 -1
  852. package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
  853. package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
  854. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.d.ts.map +1 -1
  855. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js.map +1 -1
  856. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.d.ts.map +1 -1
  857. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.js.map +1 -1
  858. package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
  859. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +9 -0
  860. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
  861. package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.d.ts.map +1 -1
  862. package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.js.map +1 -1
  863. package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
  864. package/dist/esm/components/resources/ResourceLayout_Create.js.map +1 -1
  865. package/dist/esm/components/resources/ResourceLayout_Create.labels.d.ts.map +1 -1
  866. package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
  867. package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
  868. package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
  869. package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.d.ts.map +1 -1
  870. package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.js.map +1 -1
  871. package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
  872. package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
  873. package/dist/esm/components/resources/ResourceLayout_Filters.d.ts.map +1 -1
  874. package/dist/esm/components/resources/ResourceLayout_Filters.js.map +1 -1
  875. package/dist/esm/components/resources/ResourceLayout_Filters.labels.d.ts.map +1 -1
  876. package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
  877. package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
  878. package/dist/esm/components/resources/ResourceLayout_FiltersControl.js.map +1 -1
  879. package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
  880. package/dist/esm/components/resources/ResourceLayout_Header.js +1 -1
  881. package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
  882. package/dist/esm/components/resources/ResourceLayout_Header.labels.d.ts.map +1 -1
  883. package/dist/esm/components/resources/ResourceLayout_Header.labels.js.map +1 -1
  884. package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
  885. package/dist/esm/components/resources/ResourceLayout_InsertedViews.js.map +1 -1
  886. package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
  887. package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
  888. package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
  889. package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
  890. package/dist/esm/components/resources/ResourceLayout_List_Table.d.ts.map +1 -1
  891. package/dist/esm/components/resources/ResourceLayout_List_Table.js.map +1 -1
  892. package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
  893. package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
  894. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.d.ts.map +1 -1
  895. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
  896. package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
  897. package/dist/esm/components/resources/ResourceLayout_OperationsItems.js.map +1 -1
  898. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.d.ts.map +1 -1
  899. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js.map +1 -1
  900. package/dist/esm/components/resources/ResourceLayout_Pagination.d.ts.map +1 -1
  901. package/dist/esm/components/resources/ResourceLayout_Pagination.js.map +1 -1
  902. package/dist/esm/components/resources/ResourceLayout_Pagination.labels.d.ts.map +1 -1
  903. package/dist/esm/components/resources/ResourceLayout_Pagination.labels.js.map +1 -1
  904. package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
  905. package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
  906. package/dist/esm/components/resources/ResourceLayout_Read.labels.d.ts.map +1 -1
  907. package/dist/esm/components/resources/ResourceLayout_Read.labels.js.map +1 -1
  908. package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
  909. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
  910. package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.d.ts.map +1 -1
  911. package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.js.map +1 -1
  912. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
  913. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
  914. package/dist/esm/components/resources/ResourceLayout_Read_Expandable.d.ts.map +1 -1
  915. package/dist/esm/components/resources/ResourceLayout_Read_Expandable.js.map +1 -1
  916. package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
  917. package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
  918. package/dist/esm/components/resources/ResourceLayout_Search.labels.d.ts.map +1 -1
  919. package/dist/esm/components/resources/ResourceLayout_Search.labels.js.map +1 -1
  920. package/dist/esm/components/resources/ResourceLayout_Search_Table.d.ts.map +1 -1
  921. package/dist/esm/components/resources/ResourceLayout_Search_Table.js.map +1 -1
  922. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
  923. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
  924. package/dist/esm/components/resources/ResourceLayout_SortControl.d.ts.map +1 -1
  925. package/dist/esm/components/resources/ResourceLayout_SortControl.js.map +1 -1
  926. package/dist/esm/components/resources/ResourceLayout_Update.d.ts.map +1 -1
  927. package/dist/esm/components/resources/ResourceLayout_Update.js.map +1 -1
  928. package/dist/esm/components/resources/ResourceLayout_Update.labels.d.ts.map +1 -1
  929. package/dist/esm/components/resources/ResourceLayout_Update.labels.js.map +1 -1
  930. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
  931. package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
  932. package/dist/esm/components/resources/ResourceOperationActionPopover.d.ts.map +1 -1
  933. package/dist/esm/components/resources/ResourceOperationActionPopover.js.map +1 -1
  934. package/dist/esm/components/resources/ResourceOperationSurface.d.ts.map +1 -1
  935. package/dist/esm/components/resources/ResourceOperationSurface.js.map +1 -1
  936. package/dist/esm/components/resources/ResourceOwnedViewEmbeds.d.ts.map +1 -1
  937. package/dist/esm/components/resources/ResourceOwnedViewEmbeds.js.map +1 -1
  938. package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
  939. package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
  940. package/dist/esm/components/resources/card-action-placement.utils.d.ts.map +1 -1
  941. package/dist/esm/components/resources/card-action-placement.utils.js.map +1 -1
  942. package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
  943. package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
  944. package/dist/esm/components/resources/collection-view-mode.frontend.d.ts.map +1 -1
  945. package/dist/esm/components/resources/collection-view-mode.frontend.js.map +1 -1
  946. package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.d.ts.map +1 -1
  947. package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.js.map +1 -1
  948. package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.d.ts.map +1 -1
  949. package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.js.map +1 -1
  950. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts.map +1 -1
  951. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.js.map +1 -1
  952. package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.d.ts.map +1 -1
  953. package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.js.map +1 -1
  954. package/dist/esm/components/resources/embeds/RelatedResourcePreview.d.ts.map +1 -1
  955. package/dist/esm/components/resources/embeds/RelatedResourcePreview.js.map +1 -1
  956. package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
  957. package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
  958. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
  959. package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
  960. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts.map +1 -1
  961. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
  962. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
  963. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
  964. package/dist/esm/components/resources/inserted-resource-view.frontend.utils.d.ts.map +1 -1
  965. package/dist/esm/components/resources/inserted-resource-view.frontend.utils.js.map +1 -1
  966. package/dist/esm/components/resources/resource-operation-custom-view.contracts.d.ts.map +1 -1
  967. package/dist/esm/components/resources/resource-operation-custom-view.contracts.js.map +1 -1
  968. package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
  969. package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
  970. package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
  971. package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
  972. package/dist/esm/components/resources/skeleton/ArrayItemTemplate.d.ts.map +1 -1
  973. package/dist/esm/components/resources/skeleton/ArrayItemTemplate.js.map +1 -1
  974. package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.d.ts.map +1 -1
  975. package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.js.map +1 -1
  976. package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
  977. package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
  978. package/dist/esm/components/resources/skeleton/Divider.d.ts.map +1 -1
  979. package/dist/esm/components/resources/skeleton/Divider.js.map +1 -1
  980. package/dist/esm/components/resources/skeleton/FieldScopeContext.d.ts.map +1 -1
  981. package/dist/esm/components/resources/skeleton/FieldScopeContext.js.map +1 -1
  982. package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.d.ts.map +1 -1
  983. package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.js.map +1 -1
  984. package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
  985. package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
  986. package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.d.ts.map +1 -1
  987. package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.js.map +1 -1
  988. package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
  989. package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
  990. package/dist/esm/components/resources/skeleton/ObjectScope.d.ts.map +1 -1
  991. package/dist/esm/components/resources/skeleton/ObjectScope.js.map +1 -1
  992. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
  993. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
  994. package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
  995. package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
  996. package/dist/esm/components/resources/skeleton/Section.shared.d.ts.map +1 -1
  997. package/dist/esm/components/resources/skeleton/Section.shared.js.map +1 -1
  998. package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts.map +1 -1
  999. package/dist/esm/components/resources/skeleton/SectionFieldsContext.js.map +1 -1
  1000. package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.d.ts.map +1 -1
  1001. package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.js.map +1 -1
  1002. package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts.map +1 -1
  1003. package/dist/esm/components/resources/skeleton/SectionPresentationContext.js.map +1 -1
  1004. package/dist/esm/components/resources/skeleton/SubmitButton.d.ts.map +1 -1
  1005. package/dist/esm/components/resources/skeleton/SubmitButton.js.map +1 -1
  1006. package/dist/esm/components/resources/skeleton/SummaryHeader.d.ts.map +1 -1
  1007. package/dist/esm/components/resources/skeleton/SummaryHeader.js.map +1 -1
  1008. package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts.map +1 -1
  1009. package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
  1010. package/dist/esm/components/resources/skeleton/SummaryMeta.d.ts.map +1 -1
  1011. package/dist/esm/components/resources/skeleton/SummaryMeta.js.map +1 -1
  1012. package/dist/esm/components/resources/skeleton/SummaryTitle.d.ts.map +1 -1
  1013. package/dist/esm/components/resources/skeleton/SummaryTitle.js.map +1 -1
  1014. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
  1015. package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
  1016. package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
  1017. package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
  1018. package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
  1019. package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
  1020. package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.d.ts.map +1 -1
  1021. package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.js.map +1 -1
  1022. package/dist/esm/components/resources/skeleton/section-consolidation.shared.d.ts.map +1 -1
  1023. package/dist/esm/components/resources/skeleton/section-consolidation.shared.js.map +1 -1
  1024. package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts.map +1 -1
  1025. package/dist/esm/components/resources/skeleton/section-consolidation.utils.js.map +1 -1
  1026. package/dist/esm/components/resources/useInlineSearch.d.ts.map +1 -1
  1027. package/dist/esm/components/resources/useInlineSearch.js.map +1 -1
  1028. package/dist/esm/components/resources/useLongPress.d.ts.map +1 -1
  1029. package/dist/esm/components/resources/useLongPress.js.map +1 -1
  1030. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
  1031. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
  1032. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.d.ts.map +1 -1
  1033. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js.map +1 -1
  1034. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.d.ts.map +1 -1
  1035. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js.map +1 -1
  1036. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.d.ts.map +1 -1
  1037. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.js.map +1 -1
  1038. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts.map +1 -1
  1039. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.js.map +1 -1
  1040. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.d.ts.map +1 -1
  1041. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.js.map +1 -1
  1042. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
  1043. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
  1044. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
  1045. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
  1046. package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
  1047. package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
  1048. package/dist/esm/components/sections/ContentSectionContainer.labels.d.ts.map +1 -1
  1049. package/dist/esm/components/sections/ContentSectionContainer.labels.js.map +1 -1
  1050. package/dist/esm/components/sections/accordion.d.ts.map +1 -1
  1051. package/dist/esm/components/sections/accordion.js.map +1 -1
  1052. package/dist/esm/components/sections/card.d.ts.map +1 -1
  1053. package/dist/esm/components/sections/card.js.map +1 -1
  1054. package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
  1055. package/dist/esm/components/sections/collapsible.js.map +1 -1
  1056. package/dist/esm/components/sections/content-section.d.ts.map +1 -1
  1057. package/dist/esm/components/sections/content-section.js.map +1 -1
  1058. package/dist/esm/components/sections/pagination.d.ts.map +1 -1
  1059. package/dist/esm/components/sections/pagination.js.map +1 -1
  1060. package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
  1061. package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
  1062. package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
  1063. package/dist/esm/components/sections/stacked-layout.js.map +1 -1
  1064. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  1065. package/dist/esm/components/sections/stepper.js.map +1 -1
  1066. package/dist/esm/components/sections/surface.d.ts.map +1 -1
  1067. package/dist/esm/components/sections/surface.js.map +1 -1
  1068. package/dist/esm/components/sections/table.d.ts.map +1 -1
  1069. package/dist/esm/components/sections/table.js.map +1 -1
  1070. package/dist/esm/components/sections/tabs.d.ts.map +1 -1
  1071. package/dist/esm/components/sections/tabs.js.map +1 -1
  1072. package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
  1073. package/dist/esm/components/settings/AppPage_AppearanceSettings.js.map +1 -1
  1074. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
  1075. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js.map +1 -1
  1076. package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
  1077. package/dist/esm/components/settings/AppPage_BillingSettings.js.map +1 -1
  1078. package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
  1079. package/dist/esm/components/settings/AppPage_BillingSettings.labels.js.map +1 -1
  1080. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +64 -0
  1081. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -0
  1082. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +184 -0
  1083. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -0
  1084. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts +3 -0
  1085. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -0
  1086. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +26 -0
  1087. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -0
  1088. package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
  1089. package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
  1090. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
  1091. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
  1092. package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
  1093. package/dist/esm/components/settings/SettingsHub.js +3 -0
  1094. package/dist/esm/components/settings/SettingsHub.js.map +1 -1
  1095. package/dist/esm/components/settings/SettingsHub.labels.d.ts.map +1 -1
  1096. package/dist/esm/components/settings/SettingsHub.labels.js.map +1 -1
  1097. package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
  1098. package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
  1099. package/dist/esm/components/settings/SettingsSectionNavigationHost.d.ts.map +1 -1
  1100. package/dist/esm/components/settings/SettingsSectionNavigationHost.js.map +1 -1
  1101. package/dist/esm/components/typography/heading.d.ts.map +1 -1
  1102. package/dist/esm/components/typography/heading.js.map +1 -1
  1103. package/dist/esm/components/typography/label.d.ts.map +1 -1
  1104. package/dist/esm/components/typography/label.js.map +1 -1
  1105. package/dist/esm/components/typography/link.d.ts.map +1 -1
  1106. package/dist/esm/components/typography/link.js.map +1 -1
  1107. package/dist/esm/components/typography/text.d.ts.map +1 -1
  1108. package/dist/esm/components/typography/text.js.map +1 -1
  1109. package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
  1110. package/dist/esm/components/typography/truncated-text.js.map +1 -1
  1111. package/dist/esm/components/views/ViewLayout_Header.d.ts.map +1 -1
  1112. package/dist/esm/components/views/ViewLayout_Header.js.map +1 -1
  1113. package/dist/esm/components/views/ViewNotFound.d.ts.map +1 -1
  1114. package/dist/esm/components/views/ViewNotFound.js.map +1 -1
  1115. package/dist/esm/components/views/ViewNotFound.labels.d.ts.map +1 -1
  1116. package/dist/esm/components/views/ViewNotFound.labels.js.map +1 -1
  1117. package/dist/esm/components/views/chart-view/ChartEmptyState.d.ts.map +1 -1
  1118. package/dist/esm/components/views/chart-view/ChartEmptyState.js.map +1 -1
  1119. package/dist/esm/components/views/chart-view/ChartErrorState.d.ts.map +1 -1
  1120. package/dist/esm/components/views/chart-view/ChartErrorState.js.map +1 -1
  1121. package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.d.ts.map +1 -1
  1122. package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.js.map +1 -1
  1123. package/dist/esm/components/views/chart-view/ChartView.d.ts.map +1 -1
  1124. package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
  1125. package/dist/esm/components/views/chart-view/ChartView.labels.d.ts.map +1 -1
  1126. package/dist/esm/components/views/chart-view/ChartView.labels.js.map +1 -1
  1127. package/dist/esm/components/views/chart-view/ChartView.lazy.d.ts.map +1 -1
  1128. package/dist/esm/components/views/chart-view/ChartView.lazy.js.map +1 -1
  1129. package/dist/esm/components/views/chart-view/ChartWidget.d.ts.map +1 -1
  1130. package/dist/esm/components/views/chart-view/ChartWidget.js.map +1 -1
  1131. package/dist/esm/components/views/chart-view/ChartWidget.labels.d.ts.map +1 -1
  1132. package/dist/esm/components/views/chart-view/ChartWidget.labels.js.map +1 -1
  1133. package/dist/esm/components/views/chart-view/WildoEChart.d.ts.map +1 -1
  1134. package/dist/esm/components/views/chart-view/WildoEChart.js.map +1 -1
  1135. package/dist/esm/components/views/chart-view/chart-export.utils.d.ts.map +1 -1
  1136. package/dist/esm/components/views/chart-view/chart-export.utils.js.map +1 -1
  1137. package/dist/esm/components/views/chart-view/chart-runtime.utils.d.ts.map +1 -1
  1138. package/dist/esm/components/views/chart-view/chart-runtime.utils.js.map +1 -1
  1139. package/dist/esm/components/views/chart-view/chart-theme-bridge.d.ts.map +1 -1
  1140. package/dist/esm/components/views/chart-view/chart-theme-bridge.js.map +1 -1
  1141. package/dist/esm/components/views/chart-view/chart-view.utils.d.ts.map +1 -1
  1142. package/dist/esm/components/views/chart-view/chart-view.utils.js.map +1 -1
  1143. package/dist/esm/components/views/chart-view/dev/ChartView.example.d.ts.map +1 -1
  1144. package/dist/esm/components/views/chart-view/dev/ChartView.example.js.map +1 -1
  1145. package/dist/esm/components/views/chart-view/echarts-setup.d.ts.map +1 -1
  1146. package/dist/esm/components/views/chart-view/echarts-setup.js.map +1 -1
  1147. package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts.map +1 -1
  1148. package/dist/esm/components/views/chart-view/enum-color-bridge.js.map +1 -1
  1149. package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts.map +1 -1
  1150. package/dist/esm/components/views/chart-view/option-builder/builder-utils.js.map +1 -1
  1151. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.d.ts.map +1 -1
  1152. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map +1 -1
  1153. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.d.ts.map +1 -1
  1154. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map +1 -1
  1155. package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.d.ts.map +1 -1
  1156. package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.js.map +1 -1
  1157. package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.d.ts.map +1 -1
  1158. package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.js.map +1 -1
  1159. package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.d.ts.map +1 -1
  1160. package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.js.map +1 -1
  1161. package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.d.ts.map +1 -1
  1162. package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.js.map +1 -1
  1163. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.d.ts.map +1 -1
  1164. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js.map +1 -1
  1165. package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.d.ts.map +1 -1
  1166. package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.js.map +1 -1
  1167. package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.d.ts.map +1 -1
  1168. package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.js.map +1 -1
  1169. package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.d.ts.map +1 -1
  1170. package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.js.map +1 -1
  1171. package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.d.ts.map +1 -1
  1172. package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.js.map +1 -1
  1173. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.d.ts.map +1 -1
  1174. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js.map +1 -1
  1175. package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.d.ts.map +1 -1
  1176. package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.js.map +1 -1
  1177. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts.map +1 -1
  1178. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.js.map +1 -1
  1179. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts.map +1 -1
  1180. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
  1181. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
  1182. package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
  1183. package/dist/esm/components/views/composite-view/CompositeView.d.ts.map +1 -1
  1184. package/dist/esm/components/views/composite-view/CompositeView.js.map +1 -1
  1185. package/dist/esm/components/views/composite-view/CompositeViewContext.d.ts.map +1 -1
  1186. package/dist/esm/components/views/composite-view/CompositeViewContext.js.map +1 -1
  1187. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.d.ts.map +1 -1
  1188. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js.map +1 -1
  1189. package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.d.ts.map +1 -1
  1190. package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.js.map +1 -1
  1191. package/dist/esm/components/views/execution-view/ExecutionView.d.ts.map +1 -1
  1192. package/dist/esm/components/views/execution-view/ExecutionView.js.map +1 -1
  1193. package/dist/esm/components/views/execution-view/ExecutionView.labels.d.ts.map +1 -1
  1194. package/dist/esm/components/views/execution-view/ExecutionView.labels.js.map +1 -1
  1195. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
  1196. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +11 -7
  1197. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js.map +1 -1
  1198. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts.map +1 -1
  1199. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
  1200. package/dist/esm/components/views/full-custom-view/FullCustomView.d.ts.map +1 -1
  1201. package/dist/esm/components/views/full-custom-view/FullCustomView.js.map +1 -1
  1202. package/dist/esm/components/views/onboarding-view/OnboardingView.d.ts.map +1 -1
  1203. package/dist/esm/components/views/onboarding-view/OnboardingView.js.map +1 -1
  1204. package/dist/esm/components/views/onboarding-view/OnboardingView.labels.d.ts.map +1 -1
  1205. package/dist/esm/components/views/onboarding-view/OnboardingView.labels.js.map +1 -1
  1206. package/dist/esm/components/views/onboarding-view/onboarding-view.utils.d.ts.map +1 -1
  1207. package/dist/esm/components/views/onboarding-view/onboarding-view.utils.js.map +1 -1
  1208. package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
  1209. package/dist/esm/core/app-shell/PortalContainerContext.js.map +1 -1
  1210. package/dist/esm/core/app-shell/app-shell.schemas.d.ts +40 -18
  1211. package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
  1212. package/dist/esm/core/app-shell/app-shell.schemas.js +0 -5
  1213. package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
  1214. package/dist/esm/core/app-shell/app-shell.utils.d.ts.map +1 -1
  1215. package/dist/esm/core/app-shell/app-shell.utils.js.map +1 -1
  1216. package/dist/esm/core/app-shell/hosted-components.utils.d.ts.map +1 -1
  1217. package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
  1218. package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
  1219. package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
  1220. package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
  1221. package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
  1222. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts.map +1 -1
  1223. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js.map +1 -1
  1224. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +31 -11
  1225. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
  1226. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +34 -25
  1227. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
  1228. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +30 -4
  1229. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts.map +1 -1
  1230. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js +232 -17
  1231. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
  1232. package/dist/esm/core/billing/BillingContext.d.ts +36 -0
  1233. package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
  1234. package/dist/esm/core/billing/BillingContext.js +1 -0
  1235. package/dist/esm/core/billing/BillingContext.js.map +1 -1
  1236. package/dist/esm/core/billing/BillingErrorNotifier.d.ts.map +1 -1
  1237. package/dist/esm/core/billing/BillingErrorNotifier.js.map +1 -1
  1238. package/dist/esm/core/billing/billing-launcher.d.ts.map +1 -1
  1239. package/dist/esm/core/billing/billing-launcher.js.map +1 -1
  1240. package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
  1241. package/dist/esm/core/billing/billing-provider-display.frontend.utils.js.map +1 -1
  1242. package/dist/esm/core/billing/useBilling.d.ts.map +1 -1
  1243. package/dist/esm/core/billing/useBilling.js.map +1 -1
  1244. package/dist/esm/core/billing/useBillingAction.d.ts.map +1 -1
  1245. package/dist/esm/core/billing/useBillingAction.js.map +1 -1
  1246. package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts.map +1 -1
  1247. package/dist/esm/core/billing/useSafeBillingActionExecutor.js.map +1 -1
  1248. package/dist/esm/core/branding/useBrandIdentity.d.ts +17 -0
  1249. package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
  1250. package/dist/esm/core/branding/useBrandIdentity.js +17 -0
  1251. package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
  1252. package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
  1253. package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
  1254. package/dist/esm/core/commons/devices.frontend.schemas.d.ts.map +1 -1
  1255. package/dist/esm/core/commons/devices.frontend.schemas.js.map +1 -1
  1256. package/dist/esm/core/commons/local-storage.frontend.schemas.d.ts.map +1 -1
  1257. package/dist/esm/core/commons/local-storage.frontend.schemas.js.map +1 -1
  1258. package/dist/esm/core/commons/window-event.frontend.schemas.d.ts.map +1 -1
  1259. package/dist/esm/core/commons/window-event.frontend.schemas.js.map +1 -1
  1260. package/dist/esm/core/companion/companion-exports.frontend.definitions.d.ts.map +1 -1
  1261. package/dist/esm/core/companion/companion-exports.frontend.definitions.js.map +1 -1
  1262. package/dist/esm/core/components-registry/ComponentNotInjected.d.ts.map +1 -1
  1263. package/dist/esm/core/components-registry/ComponentNotInjected.js.map +1 -1
  1264. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
  1265. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +1 -0
  1266. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
  1267. package/dist/esm/core/components-registry/component-registry-loader.frontend.service.d.ts.map +1 -1
  1268. package/dist/esm/core/components-registry/component-registry-loader.frontend.service.js.map +1 -1
  1269. package/dist/esm/core/components-registry/component-registry.frontend.schemas.d.ts.map +1 -1
  1270. package/dist/esm/core/components-registry/component-registry.frontend.schemas.js.map +1 -1
  1271. package/dist/esm/core/components-registry/component-registry.frontend.service.d.ts.map +1 -1
  1272. package/dist/esm/core/components-registry/component-registry.frontend.service.js +4 -1
  1273. package/dist/esm/core/components-registry/component-registry.frontend.service.js.map +1 -1
  1274. package/dist/esm/core/components-registry/component-resolver.frontend.helper.d.ts.map +1 -1
  1275. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js +8 -1
  1276. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
  1277. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts +128 -0
  1278. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -0
  1279. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js +183 -0
  1280. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -0
  1281. package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
  1282. package/dist/esm/core/components-registry/register-framework-layouts.js +2 -0
  1283. package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
  1284. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts +68 -0
  1285. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -0
  1286. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js +98 -0
  1287. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -0
  1288. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +15 -5
  1289. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
  1290. package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
  1291. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +44 -7
  1292. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
  1293. package/dist/esm/core/config/app-level-components.frontend.schemas.js +44 -7
  1294. package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
  1295. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +6 -6
  1296. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
  1297. package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
  1298. package/dist/esm/core/config/composite-view.schemas.d.ts +4 -4
  1299. package/dist/esm/core/config/composite-view.schemas.d.ts.map +1 -1
  1300. package/dist/esm/core/config/composite-view.schemas.js.map +1 -1
  1301. package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
  1302. package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
  1303. package/dist/esm/core/config/engine-settings-destinations.d.ts +20 -0
  1304. package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
  1305. package/dist/esm/core/config/engine-settings-destinations.js +90 -5
  1306. package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
  1307. package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
  1308. package/dist/esm/core/config/execution-view.schemas.js.map +1 -1
  1309. package/dist/esm/core/config/flows-actors-view.schemas.d.ts +5 -3
  1310. package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
  1311. package/dist/esm/core/config/flows-actors-view.schemas.js +2 -2
  1312. package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
  1313. package/dist/esm/core/config/full-custom-view.schemas.d.ts.map +1 -1
  1314. package/dist/esm/core/config/full-custom-view.schemas.js.map +1 -1
  1315. package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
  1316. package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
  1317. package/dist/esm/core/config/inserted-view.frontend.schemas.d.ts.map +1 -1
  1318. package/dist/esm/core/config/inserted-view.frontend.schemas.js.map +1 -1
  1319. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +51 -11
  1320. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
  1321. package/dist/esm/core/config/launcher-items.frontend.schemas.js +21 -7
  1322. package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
  1323. package/dist/esm/core/config/onboarding-view.frontend.schemas.d.ts.map +1 -1
  1324. package/dist/esm/core/config/onboarding-view.frontend.schemas.js.map +1 -1
  1325. package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.d.ts.map +1 -1
  1326. package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.js.map +1 -1
  1327. package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts.map +1 -1
  1328. package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
  1329. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +14 -1
  1330. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
  1331. package/dist/esm/core/config/settings-hub.frontend.schemas.js +13 -0
  1332. package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
  1333. package/dist/esm/core/config/useSettingsHubConfig.d.ts.map +1 -1
  1334. package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
  1335. package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
  1336. package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
  1337. package/dist/esm/core/config/verify-feature-references.frontend.d.ts +7 -0
  1338. package/dist/esm/core/config/verify-feature-references.frontend.d.ts.map +1 -1
  1339. package/dist/esm/core/config/verify-feature-references.frontend.js +42 -1
  1340. package/dist/esm/core/config/verify-feature-references.frontend.js.map +1 -1
  1341. package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
  1342. package/dist/esm/core/config/verify-launcher-content.js +9 -2
  1343. package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
  1344. package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
  1345. package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
  1346. package/dist/esm/core/config/views-frontend.schemas.d.ts.map +1 -1
  1347. package/dist/esm/core/config/views-frontend.schemas.js.map +1 -1
  1348. package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
  1349. package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
  1350. package/dist/esm/core/errors/ErrorBoundary.d.ts.map +1 -1
  1351. package/dist/esm/core/errors/ErrorBoundary.js.map +1 -1
  1352. package/dist/esm/core/errors/ErrorContext.d.ts.map +1 -1
  1353. package/dist/esm/core/errors/ErrorContext.js.map +1 -1
  1354. package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
  1355. package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
  1356. package/dist/esm/core/errors/RouterErrorBoundary.d.ts.map +1 -1
  1357. package/dist/esm/core/errors/RouterErrorBoundary.js.map +1 -1
  1358. package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
  1359. package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
  1360. package/dist/esm/core/errors/errors-builder.frontend.services.d.ts.map +1 -1
  1361. package/dist/esm/core/errors/errors-builder.frontend.services.js.map +1 -1
  1362. package/dist/esm/core/errors/errors.frontend.schemas.d.ts.map +1 -1
  1363. package/dist/esm/core/errors/errors.frontend.schemas.js.map +1 -1
  1364. package/dist/esm/core/errors/http-error-behavior.frontend.schemas.d.ts.map +1 -1
  1365. package/dist/esm/core/errors/http-error-behavior.frontend.schemas.js.map +1 -1
  1366. package/dist/esm/core/errors/useError.d.ts.map +1 -1
  1367. package/dist/esm/core/errors/useError.js.map +1 -1
  1368. package/dist/esm/core/errors/withErrorBoundary.d.ts.map +1 -1
  1369. package/dist/esm/core/errors/withErrorBoundary.js.map +1 -1
  1370. package/dist/esm/core/events/EventBusContext.d.ts.map +1 -1
  1371. package/dist/esm/core/events/EventBusContext.js.map +1 -1
  1372. package/dist/esm/core/events/NotificationContext.d.ts +6 -5
  1373. package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
  1374. package/dist/esm/core/events/NotificationContext.js +41 -39
  1375. package/dist/esm/core/events/NotificationContext.js.map +1 -1
  1376. package/dist/esm/core/events/event-bus.frontend.service.d.ts.map +1 -1
  1377. package/dist/esm/core/events/event-bus.frontend.service.js.map +1 -1
  1378. package/dist/esm/core/events/events.frontend.schemas.d.ts +34 -18
  1379. package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
  1380. package/dist/esm/core/events/events.frontend.schemas.js +22 -1
  1381. package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
  1382. package/dist/esm/core/events/notification-display-policy.frontend.schemas.d.ts.map +1 -1
  1383. package/dist/esm/core/events/notification-display-policy.frontend.schemas.js.map +1 -1
  1384. package/dist/esm/core/events/toast.d.ts.map +1 -1
  1385. package/dist/esm/core/events/toast.js.map +1 -1
  1386. package/dist/esm/core/events/useEventBus.d.ts.map +1 -1
  1387. package/dist/esm/core/events/useEventBus.js.map +1 -1
  1388. package/dist/esm/core/events/useNotification.d.ts.map +1 -1
  1389. package/dist/esm/core/events/useNotification.js.map +1 -1
  1390. package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.d.ts.map +1 -1
  1391. package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.js.map +1 -1
  1392. package/dist/esm/core/execution/ExecutionRuntimeContext.d.ts.map +1 -1
  1393. package/dist/esm/core/execution/ExecutionRuntimeContext.js.map +1 -1
  1394. package/dist/esm/core/execution/execution-anchor.utils.d.ts.map +1 -1
  1395. package/dist/esm/core/execution/execution-anchor.utils.js.map +1 -1
  1396. package/dist/esm/core/execution/execution-dirty-markers.utils.d.ts.map +1 -1
  1397. package/dist/esm/core/execution/execution-dirty-markers.utils.js.map +1 -1
  1398. package/dist/esm/core/execution/execution-failure-handling.utils.d.ts.map +1 -1
  1399. package/dist/esm/core/execution/execution-failure-handling.utils.js.map +1 -1
  1400. package/dist/esm/core/execution/execution-outcome-emission.utils.d.ts.map +1 -1
  1401. package/dist/esm/core/execution/execution-outcome-emission.utils.js.map +1 -1
  1402. package/dist/esm/core/execution/execution-participation.utils.d.ts.map +1 -1
  1403. package/dist/esm/core/execution/execution-participation.utils.js.map +1 -1
  1404. package/dist/esm/core/execution/useExecution.d.ts.map +1 -1
  1405. package/dist/esm/core/execution/useExecution.js.map +1 -1
  1406. package/dist/esm/core/execution/useExecutionDirtyBridge.d.ts.map +1 -1
  1407. package/dist/esm/core/execution/useExecutionDirtyBridge.js.map +1 -1
  1408. package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.d.ts.map +1 -1
  1409. package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.js.map +1 -1
  1410. package/dist/esm/core/execution/useExecutionParticipationPrefetch.d.ts.map +1 -1
  1411. package/dist/esm/core/execution/useExecutionParticipationPrefetch.js.map +1 -1
  1412. package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
  1413. package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
  1414. package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.d.ts.map +1 -1
  1415. package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.js.map +1 -1
  1416. package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
  1417. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
  1418. package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts +66 -0
  1419. package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -0
  1420. package/dist/esm/core/external-providers/ProviderFilePickerHost.js +101 -0
  1421. package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -0
  1422. package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.d.ts.map +1 -1
  1423. package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.js.map +1 -1
  1424. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts +33 -15
  1425. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts.map +1 -1
  1426. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js +27 -21
  1427. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
  1428. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts +103 -0
  1429. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts.map +1 -0
  1430. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js +117 -0
  1431. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js.map +1 -0
  1432. package/dist/esm/core/features/FeatureGate.d.ts.map +1 -1
  1433. package/dist/esm/core/features/FeatureGate.js +1 -1
  1434. package/dist/esm/core/features/FeatureGate.js.map +1 -1
  1435. package/dist/esm/core/features/FeatureRouteGuard.d.ts.map +1 -1
  1436. package/dist/esm/core/features/FeatureRouteGuard.js +1 -1
  1437. package/dist/esm/core/features/FeatureRouteGuard.js.map +1 -1
  1438. package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
  1439. package/dist/esm/core/features/FeaturesContext.js.map +1 -1
  1440. package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts +7 -0
  1441. package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts.map +1 -1
  1442. package/dist/esm/core/features/feature-unavailability.frontend.utils.js +5 -0
  1443. package/dist/esm/core/features/feature-unavailability.frontend.utils.js.map +1 -1
  1444. package/dist/esm/core/features/useFeatureAvailability.d.ts +2 -0
  1445. package/dist/esm/core/features/useFeatureAvailability.d.ts.map +1 -1
  1446. package/dist/esm/core/features/useFeatureAvailability.js +4 -2
  1447. package/dist/esm/core/features/useFeatureAvailability.js.map +1 -1
  1448. package/dist/esm/core/features/useFeatureGate.d.ts.map +1 -1
  1449. package/dist/esm/core/features/useFeatureGate.js.map +1 -1
  1450. package/dist/esm/core/features/useFeatures.d.ts.map +1 -1
  1451. package/dist/esm/core/features/useFeatures.js.map +1 -1
  1452. package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
  1453. package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
  1454. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +20 -1
  1455. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
  1456. package/dist/esm/core/flows-actors/FlowsActorsContext.js +50 -1
  1457. package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
  1458. package/dist/esm/core/flows-actors/useFlowsActors.d.ts.map +1 -1
  1459. package/dist/esm/core/flows-actors/useFlowsActors.js.map +1 -1
  1460. package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
  1461. package/dist/esm/core/guidance/GuidanceContext.js +2 -2
  1462. package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
  1463. package/dist/esm/core/guidance/GuidanceRenderer.d.ts.map +1 -1
  1464. package/dist/esm/core/guidance/GuidanceRenderer.js.map +1 -1
  1465. package/dist/esm/core/guidance/guidance-audience.frontend.utils.d.ts.map +1 -1
  1466. package/dist/esm/core/guidance/guidance-audience.frontend.utils.js.map +1 -1
  1467. package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.d.ts.map +1 -1
  1468. package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.js.map +1 -1
  1469. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.d.ts.map +1 -1
  1470. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.js.map +1 -1
  1471. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.d.ts.map +1 -1
  1472. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.js.map +1 -1
  1473. package/dist/esm/core/guidance/renderers/GuidanceBadge.d.ts.map +1 -1
  1474. package/dist/esm/core/guidance/renderers/GuidanceBadge.js.map +1 -1
  1475. package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.d.ts.map +1 -1
  1476. package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.js.map +1 -1
  1477. package/dist/esm/core/guidance/renderers/GuidanceBanner.d.ts.map +1 -1
  1478. package/dist/esm/core/guidance/renderers/GuidanceBanner.js.map +1 -1
  1479. package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.d.ts.map +1 -1
  1480. package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.js.map +1 -1
  1481. package/dist/esm/core/guidance/renderers/GuidanceCard.d.ts.map +1 -1
  1482. package/dist/esm/core/guidance/renderers/GuidanceCard.js.map +1 -1
  1483. package/dist/esm/core/guidance/renderers/GuidanceCard.labels.d.ts.map +1 -1
  1484. package/dist/esm/core/guidance/renderers/GuidanceCard.labels.js.map +1 -1
  1485. package/dist/esm/core/guidance/renderers/GuidanceChecklist.d.ts.map +1 -1
  1486. package/dist/esm/core/guidance/renderers/GuidanceChecklist.js.map +1 -1
  1487. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.d.ts.map +1 -1
  1488. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
  1489. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.d.ts.map +1 -1
  1490. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.js.map +1 -1
  1491. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.d.ts.map +1 -1
  1492. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.js.map +1 -1
  1493. package/dist/esm/core/guidance/renderers/GuidanceModal.d.ts.map +1 -1
  1494. package/dist/esm/core/guidance/renderers/GuidanceModal.js.map +1 -1
  1495. package/dist/esm/core/guidance/renderers/GuidanceModal.labels.d.ts.map +1 -1
  1496. package/dist/esm/core/guidance/renderers/GuidanceModal.labels.js.map +1 -1
  1497. package/dist/esm/core/guidance/renderers/GuidanceSurvey.d.ts.map +1 -1
  1498. package/dist/esm/core/guidance/renderers/GuidanceSurvey.js.map +1 -1
  1499. package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.d.ts.map +1 -1
  1500. package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.js.map +1 -1
  1501. package/dist/esm/core/guidance/renderers/GuidanceTooltip.d.ts.map +1 -1
  1502. package/dist/esm/core/guidance/renderers/GuidanceTooltip.js.map +1 -1
  1503. package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.d.ts.map +1 -1
  1504. package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.js.map +1 -1
  1505. package/dist/esm/core/guidance/renderers/GuidanceTour.d.ts.map +1 -1
  1506. package/dist/esm/core/guidance/renderers/GuidanceTour.js.map +1 -1
  1507. package/dist/esm/core/guidance/renderers/GuidanceTour.labels.d.ts.map +1 -1
  1508. package/dist/esm/core/guidance/renderers/GuidanceTour.labels.js.map +1 -1
  1509. package/dist/esm/core/guidance/useGuidance.d.ts.map +1 -1
  1510. package/dist/esm/core/guidance/useGuidance.js.map +1 -1
  1511. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +29 -0
  1512. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
  1513. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +76 -1
  1514. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
  1515. package/dist/esm/core/hotkey/HotkeyRegistryContext.d.ts.map +1 -1
  1516. package/dist/esm/core/hotkey/HotkeyRegistryContext.js +44 -8
  1517. package/dist/esm/core/hotkey/HotkeyRegistryContext.js.map +1 -1
  1518. package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.d.ts.map +1 -1
  1519. package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.js.map +1 -1
  1520. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts +53 -1
  1521. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts.map +1 -1
  1522. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js +78 -13
  1523. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js.map +1 -1
  1524. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts.map +1 -1
  1525. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
  1526. package/dist/esm/core/hotkey/useHotkey.d.ts.map +1 -1
  1527. package/dist/esm/core/hotkey/useHotkey.js.map +1 -1
  1528. package/dist/esm/core/i18n/I18nContext.d.ts +9 -0
  1529. package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
  1530. package/dist/esm/core/i18n/I18nContext.js +149 -32
  1531. package/dist/esm/core/i18n/I18nContext.js.map +1 -1
  1532. package/dist/esm/core/i18n/component-label-resolution.utils.d.ts.map +1 -1
  1533. package/dist/esm/core/i18n/component-label-resolution.utils.js.map +1 -1
  1534. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts +51 -0
  1535. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -0
  1536. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js +66 -0
  1537. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -0
  1538. package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
  1539. package/dist/esm/core/i18n/useI18n.js +22 -2
  1540. package/dist/esm/core/i18n/useI18n.js.map +1 -1
  1541. package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
  1542. package/dist/esm/core/icons/IconRegistryBridge.js.map +1 -1
  1543. package/dist/esm/core/icons/IconRegistryContext.d.ts.map +1 -1
  1544. package/dist/esm/core/icons/IconRegistryContext.js.map +1 -1
  1545. package/dist/esm/core/icons/icon-registry.frontend.definitions.d.ts.map +1 -1
  1546. package/dist/esm/core/icons/icon-registry.frontend.definitions.js.map +1 -1
  1547. package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
  1548. package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
  1549. package/dist/esm/core/icons/useIconRegistry.d.ts.map +1 -1
  1550. package/dist/esm/core/icons/useIconRegistry.js.map +1 -1
  1551. package/dist/esm/core/loading/AppLoadingGate.d.ts.map +1 -1
  1552. package/dist/esm/core/loading/AppLoadingGate.js.map +1 -1
  1553. package/dist/esm/core/loading/LoadingBarrier.d.ts.map +1 -1
  1554. package/dist/esm/core/loading/LoadingBarrier.js.map +1 -1
  1555. package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
  1556. package/dist/esm/core/loading/LoadingContext.js.map +1 -1
  1557. package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
  1558. package/dist/esm/core/loading/LoadingGate.js +16 -3
  1559. package/dist/esm/core/loading/LoadingGate.js.map +1 -1
  1560. package/dist/esm/core/loading/loading-policy.frontend.schemas.d.ts.map +1 -1
  1561. package/dist/esm/core/loading/loading-policy.frontend.schemas.js.map +1 -1
  1562. package/dist/esm/core/loading/loading-scope.frontend.utils.d.ts.map +1 -1
  1563. package/dist/esm/core/loading/loading-scope.frontend.utils.js.map +1 -1
  1564. package/dist/esm/core/loading/loading-types.frontend.schemas.d.ts.map +1 -1
  1565. package/dist/esm/core/loading/loading-types.frontend.schemas.js.map +1 -1
  1566. package/dist/esm/core/loading/resolveLoadingPolicy.d.ts.map +1 -1
  1567. package/dist/esm/core/loading/resolveLoadingPolicy.js.map +1 -1
  1568. package/dist/esm/core/loading/useAppLoading.d.ts.map +1 -1
  1569. package/dist/esm/core/loading/useAppLoading.js.map +1 -1
  1570. package/dist/esm/core/loading/useComponentLoading.d.ts.map +1 -1
  1571. package/dist/esm/core/loading/useComponentLoading.js.map +1 -1
  1572. package/dist/esm/core/loading/useEmitLoadingScope.d.ts.map +1 -1
  1573. package/dist/esm/core/loading/useEmitLoadingScope.js.map +1 -1
  1574. package/dist/esm/core/loading/useLoading.d.ts.map +1 -1
  1575. package/dist/esm/core/loading/useLoading.js.map +1 -1
  1576. package/dist/esm/core/mode/AppModeContext.d.ts.map +1 -1
  1577. package/dist/esm/core/mode/AppModeContext.js.map +1 -1
  1578. package/dist/esm/core/mode/section-visibility.d.ts.map +1 -1
  1579. package/dist/esm/core/mode/section-visibility.js.map +1 -1
  1580. package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
  1581. package/dist/esm/core/monitoring/analytics/AnalyticsContext.js.map +1 -1
  1582. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts.map +1 -1
  1583. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js.map +1 -1
  1584. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts.map +1 -1
  1585. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js.map +1 -1
  1586. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts.map +1 -1
  1587. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js.map +1 -1
  1588. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
  1589. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
  1590. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts.map +1 -1
  1591. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js.map +1 -1
  1592. package/dist/esm/core/monitoring/analytics/useAnalytics.d.ts.map +1 -1
  1593. package/dist/esm/core/monitoring/analytics/useAnalytics.js.map +1 -1
  1594. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts +97 -0
  1595. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts.map +1 -0
  1596. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js +179 -0
  1597. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js.map +1 -0
  1598. package/dist/esm/core/monitoring/logger.frontend.service.d.ts.map +1 -1
  1599. package/dist/esm/core/monitoring/logger.frontend.service.js.map +1 -1
  1600. package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
  1601. package/dist/esm/core/navigation/NavigationContentAreas.js +76 -48
  1602. package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
  1603. package/dist/esm/core/navigation/NavigationContext.d.ts +12 -0
  1604. package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
  1605. package/dist/esm/core/navigation/NavigationContext.js +24 -0
  1606. package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
  1607. package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
  1608. package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
  1609. package/dist/esm/core/navigation/hosted-pane.constants.d.ts.map +1 -1
  1610. package/dist/esm/core/navigation/hosted-pane.constants.js.map +1 -1
  1611. package/dist/esm/core/navigation/launcher-resolution.d.ts +1 -1
  1612. package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
  1613. package/dist/esm/core/navigation/launcher-resolution.js +1 -1
  1614. package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
  1615. package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
  1616. package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
  1617. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
  1618. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js.map +1 -1
  1619. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +14 -5
  1620. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
  1621. package/dist/esm/core/navigation/navigation-policy-resolver.service.js +146 -17
  1622. package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
  1623. package/dist/esm/core/navigation/navigation.schemas.d.ts +58 -10
  1624. package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
  1625. package/dist/esm/core/navigation/navigation.schemas.js +1 -1
  1626. package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
  1627. package/dist/esm/core/navigation/navigation.utils.d.ts +2 -2
  1628. package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
  1629. package/dist/esm/core/navigation/navigation.utils.js +4 -4
  1630. package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
  1631. package/dist/esm/core/navigation/primary-destination-layout.d.ts.map +1 -1
  1632. package/dist/esm/core/navigation/primary-destination-layout.js.map +1 -1
  1633. package/dist/esm/core/navigation/useIsStackEntryActive.d.ts.map +1 -1
  1634. package/dist/esm/core/navigation/useIsStackEntryActive.js.map +1 -1
  1635. package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
  1636. package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
  1637. package/dist/esm/core/navigation/useNavigationController.d.ts +8 -0
  1638. package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
  1639. package/dist/esm/core/navigation/useNavigationController.js +26 -6
  1640. package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
  1641. package/dist/esm/core/navigation/useNavigationState.d.ts.map +1 -1
  1642. package/dist/esm/core/navigation/useNavigationState.js.map +1 -1
  1643. package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
  1644. package/dist/esm/core/navigation/useOverlayTitle.js.map +1 -1
  1645. package/dist/esm/core/navigation/useTransactionAwareSyncRetry.d.ts.map +1 -1
  1646. package/dist/esm/core/navigation/useTransactionAwareSyncRetry.js.map +1 -1
  1647. package/dist/esm/core/navigation/view-title-resolution.d.ts.map +1 -1
  1648. package/dist/esm/core/navigation/view-title-resolution.js.map +1 -1
  1649. package/dist/esm/core/navigation/zone-content-geometry.d.ts.map +1 -1
  1650. package/dist/esm/core/navigation/zone-content-geometry.js.map +1 -1
  1651. package/dist/esm/core/navigation/zone-empty-behavior.d.ts.map +1 -1
  1652. package/dist/esm/core/navigation/zone-empty-behavior.js.map +1 -1
  1653. package/dist/esm/core/navigation/zone-visible-entry.d.ts +26 -0
  1654. package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -0
  1655. package/dist/esm/core/navigation/zone-visible-entry.js +76 -0
  1656. package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -0
  1657. package/dist/esm/core/requests/api-readiness-checker.frontend.service.d.ts.map +1 -1
  1658. package/dist/esm/core/requests/api-readiness-checker.frontend.service.js.map +1 -1
  1659. package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
  1660. package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
  1661. package/dist/esm/core/requests/client-instance-id.frontend.service.d.ts.map +1 -1
  1662. package/dist/esm/core/requests/client-instance-id.frontend.service.js.map +1 -1
  1663. package/dist/esm/core/requests/network-backoff.frontend.utils.d.ts.map +1 -1
  1664. package/dist/esm/core/requests/network-backoff.frontend.utils.js.map +1 -1
  1665. package/dist/esm/core/requests/offline-replay-policy.frontend.d.ts.map +1 -1
  1666. package/dist/esm/core/requests/offline-replay-policy.frontend.js.map +1 -1
  1667. package/dist/esm/core/requests/request-cancellation.frontend.utils.d.ts.map +1 -1
  1668. package/dist/esm/core/requests/request-cancellation.frontend.utils.js.map +1 -1
  1669. package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.d.ts.map +1 -1
  1670. package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.js.map +1 -1
  1671. package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
  1672. package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
  1673. package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
  1674. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
  1675. package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts.map +1 -1
  1676. package/dist/esm/core/requests/websockets/useNotificationBadges.js +32 -19
  1677. package/dist/esm/core/requests/websockets/useNotificationBadges.js.map +1 -1
  1678. package/dist/esm/core/requests/websockets/useResourceRoom.d.ts.map +1 -1
  1679. package/dist/esm/core/requests/websockets/useResourceRoom.js.map +1 -1
  1680. package/dist/esm/core/requests/websockets/useWebSocket.d.ts.map +1 -1
  1681. package/dist/esm/core/requests/websockets/useWebSocket.js.map +1 -1
  1682. package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.d.ts.map +1 -1
  1683. package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.js.map +1 -1
  1684. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +73 -2
  1685. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
  1686. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +56 -1
  1687. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
  1688. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
  1689. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
  1690. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +6 -0
  1691. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
  1692. package/dist/esm/core/requests/wildo-http-client.frontend.service.js +1 -0
  1693. package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
  1694. package/dist/esm/core/resources/ResourceOperationViewContext.d.ts.map +1 -1
  1695. package/dist/esm/core/resources/ResourceOperationViewContext.js.map +1 -1
  1696. package/dist/esm/core/resources/ResourceOperationViewProvider.d.ts.map +1 -1
  1697. package/dist/esm/core/resources/ResourceOperationViewProvider.js.map +1 -1
  1698. package/dist/esm/core/resources/ResourceReadCacheBridge.d.ts.map +1 -1
  1699. package/dist/esm/core/resources/ResourceReadCacheBridge.js.map +1 -1
  1700. package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
  1701. package/dist/esm/core/resources/ResourceRegistryContext.js.map +1 -1
  1702. package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
  1703. package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
  1704. package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
  1705. package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
  1706. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.d.ts.map +1 -1
  1707. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js.map +1 -1
  1708. package/dist/esm/core/resources/ephemeral-fields.utils.d.ts.map +1 -1
  1709. package/dist/esm/core/resources/ephemeral-fields.utils.js.map +1 -1
  1710. package/dist/esm/core/resources/file-serve-url.frontend.utils.d.ts.map +1 -1
  1711. package/dist/esm/core/resources/file-serve-url.frontend.utils.js.map +1 -1
  1712. package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
  1713. package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
  1714. package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
  1715. package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
  1716. package/dist/esm/core/resources/in-place/InPlaceOperationContext.d.ts.map +1 -1
  1717. package/dist/esm/core/resources/in-place/InPlaceOperationContext.js.map +1 -1
  1718. package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.d.ts.map +1 -1
  1719. package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.js.map +1 -1
  1720. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
  1721. package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
  1722. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.d.ts.map +1 -1
  1723. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js.map +1 -1
  1724. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts.map +1 -1
  1725. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js.map +1 -1
  1726. package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts.map +1 -1
  1727. package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
  1728. package/dist/esm/core/resources/resource-operation-view.frontend.utils.d.ts.map +1 -1
  1729. package/dist/esm/core/resources/resource-operation-view.frontend.utils.js.map +1 -1
  1730. package/dist/esm/core/resources/resource-path.frontend.schemas.d.ts.map +1 -1
  1731. package/dist/esm/core/resources/resource-path.frontend.schemas.js.map +1 -1
  1732. package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts.map +1 -1
  1733. package/dist/esm/core/resources/resource-read-cache.frontend.service.js.map +1 -1
  1734. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
  1735. package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
  1736. package/dist/esm/core/resources/resources.frontend.schemas.d.ts +2 -2
  1737. package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
  1738. package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
  1739. package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
  1740. package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
  1741. package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
  1742. package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
  1743. package/dist/esm/core/resources/rmm/RMMRegistryContext.d.ts.map +1 -1
  1744. package/dist/esm/core/resources/rmm/RMMRegistryContext.js.map +1 -1
  1745. package/dist/esm/core/resources/rmm/RMMWebSocketBridge.d.ts.map +1 -1
  1746. package/dist/esm/core/resources/rmm/RMMWebSocketBridge.js.map +1 -1
  1747. package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
  1748. package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
  1749. package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.d.ts.map +1 -1
  1750. package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.js.map +1 -1
  1751. package/dist/esm/core/resources/rmm/field-path.utils.d.ts.map +1 -1
  1752. package/dist/esm/core/resources/rmm/field-path.utils.js.map +1 -1
  1753. package/dist/esm/core/resources/rmm/rmm-constants.d.ts.map +1 -1
  1754. package/dist/esm/core/resources/rmm/rmm-constants.js.map +1 -1
  1755. package/dist/esm/core/resources/rmm/rmm-noop-snapshot.d.ts.map +1 -1
  1756. package/dist/esm/core/resources/rmm/rmm-noop-snapshot.js.map +1 -1
  1757. package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
  1758. package/dist/esm/core/resources/rmm/types.js.map +1 -1
  1759. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
  1760. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
  1761. package/dist/esm/core/resources/rmm/useListInvalidation.d.ts.map +1 -1
  1762. package/dist/esm/core/resources/rmm/useListInvalidation.js.map +1 -1
  1763. package/dist/esm/core/resources/rmm/useRMMEventHandler.d.ts.map +1 -1
  1764. package/dist/esm/core/resources/rmm/useRMMEventHandler.js.map +1 -1
  1765. package/dist/esm/core/resources/rmm/useRMMSnapshot.d.ts.map +1 -1
  1766. package/dist/esm/core/resources/rmm/useRMMSnapshot.js.map +1 -1
  1767. package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
  1768. package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
  1769. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
  1770. package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
  1771. package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.d.ts.map +1 -1
  1772. package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.js.map +1 -1
  1773. package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
  1774. package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
  1775. package/dist/esm/core/resources/useOperationEnabled.d.ts.map +1 -1
  1776. package/dist/esm/core/resources/useOperationEnabled.js.map +1 -1
  1777. package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
  1778. package/dist/esm/core/resources/useResourceLabels.js +20 -14
  1779. package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
  1780. package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
  1781. package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
  1782. package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
  1783. package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
  1784. package/dist/esm/core/resources/useResourceRegistry.d.ts.map +1 -1
  1785. package/dist/esm/core/resources/useResourceRegistry.js.map +1 -1
  1786. package/dist/esm/core/resources/useResourceSelection.d.ts.map +1 -1
  1787. package/dist/esm/core/resources/useResourceSelection.js.map +1 -1
  1788. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts.map +1 -1
  1789. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js.map +1 -1
  1790. package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
  1791. package/dist/esm/core/runtime/AppRouter.js +2 -1
  1792. package/dist/esm/core/runtime/AppRouter.js.map +1 -1
  1793. package/dist/esm/core/runtime/ApplicationContext.shared.d.ts +9 -0
  1794. package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
  1795. package/dist/esm/core/runtime/ApplicationContext.shared.js.map +1 -1
  1796. package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
  1797. package/dist/esm/core/runtime/ApplicationMainContext.js +1 -0
  1798. package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
  1799. package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.d.ts.map +1 -1
  1800. package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.js.map +1 -1
  1801. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
  1802. package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
  1803. package/dist/esm/core/runtime/env-variable-loader.frontend.service.d.ts.map +1 -1
  1804. package/dist/esm/core/runtime/env-variable-loader.frontend.service.js.map +1 -1
  1805. package/dist/esm/core/runtime/frontend-companion-resource-inputs.d.ts.map +1 -1
  1806. package/dist/esm/core/runtime/frontend-companion-resource-inputs.js.map +1 -1
  1807. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +6 -0
  1808. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
  1809. package/dist/esm/core/runtime/routes.frontend.definitions.js +7 -0
  1810. package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
  1811. package/dist/esm/core/runtime/runtime.frontend.schemas.d.ts.map +1 -1
  1812. package/dist/esm/core/runtime/runtime.frontend.schemas.js.map +1 -1
  1813. package/dist/esm/core/runtime/start-application.frontend.service.d.ts +38 -0
  1814. package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
  1815. package/dist/esm/core/runtime/start-application.frontend.service.js +84 -3
  1816. package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
  1817. package/dist/esm/core/runtime/useApplication.d.ts.map +1 -1
  1818. package/dist/esm/core/runtime/useApplication.js.map +1 -1
  1819. package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
  1820. package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
  1821. package/dist/esm/core/scope/scope.frontend.schemas.d.ts.map +1 -1
  1822. package/dist/esm/core/scope/scope.frontend.schemas.js.map +1 -1
  1823. package/dist/esm/core/scope/scope.utils.frontend.service.d.ts.map +1 -1
  1824. package/dist/esm/core/scope/scope.utils.frontend.service.js.map +1 -1
  1825. package/dist/esm/core/scope/useAppScope.d.ts.map +1 -1
  1826. package/dist/esm/core/scope/useAppScope.js.map +1 -1
  1827. package/dist/esm/core/security/AnonymousSessionContext.d.ts.map +1 -1
  1828. package/dist/esm/core/security/AnonymousSessionContext.js.map +1 -1
  1829. package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
  1830. package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
  1831. package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
  1832. package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
  1833. package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
  1834. package/dist/esm/core/security/UserOrgsContext.js +37 -9
  1835. package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
  1836. package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
  1837. package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
  1838. package/dist/esm/core/security/auth-session.utils.d.ts.map +1 -1
  1839. package/dist/esm/core/security/auth-session.utils.js.map +1 -1
  1840. package/dist/esm/core/security/cross-frontend-handoff.frontend.service.d.ts.map +1 -1
  1841. package/dist/esm/core/security/cross-frontend-handoff.frontend.service.js.map +1 -1
  1842. package/dist/esm/core/security/jwt.frontend.utils.d.ts.map +1 -1
  1843. package/dist/esm/core/security/jwt.frontend.utils.js.map +1 -1
  1844. package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
  1845. package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
  1846. package/dist/esm/core/security/session-token-storage.frontend.service.d.ts.map +1 -1
  1847. package/dist/esm/core/security/session-token-storage.frontend.service.js.map +1 -1
  1848. package/dist/esm/core/security/useAuthSession.d.ts.map +1 -1
  1849. package/dist/esm/core/security/useAuthSession.js.map +1 -1
  1850. package/dist/esm/core/security/useResolvedAuthConfig.d.ts.map +1 -1
  1851. package/dist/esm/core/security/useResolvedAuthConfig.js.map +1 -1
  1852. package/dist/esm/core/security/useStepUpAuth.d.ts.map +1 -1
  1853. package/dist/esm/core/security/useStepUpAuth.js.map +1 -1
  1854. package/dist/esm/core/security/useUserOrgs.d.ts.map +1 -1
  1855. package/dist/esm/core/security/useUserOrgs.js.map +1 -1
  1856. package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts.map +1 -1
  1857. package/dist/esm/core/ui/SurfaceErrorBoundary.js.map +1 -1
  1858. package/dist/esm/core/ui/SurfacePolicyContext.d.ts.map +1 -1
  1859. package/dist/esm/core/ui/SurfacePolicyContext.js.map +1 -1
  1860. package/dist/esm/core/ui/TypographyScopeContext.d.ts.map +1 -1
  1861. package/dist/esm/core/ui/TypographyScopeContext.js.map +1 -1
  1862. package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
  1863. package/dist/esm/core/ui/UIContext.js.map +1 -1
  1864. package/dist/esm/core/ui/chart-style-defaults.d.ts.map +1 -1
  1865. package/dist/esm/core/ui/chart-style-defaults.js.map +1 -1
  1866. package/dist/esm/core/ui/cn.d.ts.map +1 -1
  1867. package/dist/esm/core/ui/cn.js.map +1 -1
  1868. package/dist/esm/core/ui/color-conversion.utils.d.ts.map +1 -1
  1869. package/dist/esm/core/ui/color-conversion.utils.js.map +1 -1
  1870. package/dist/esm/core/ui/design-token-class-groups.d.ts.map +1 -1
  1871. package/dist/esm/core/ui/design-token-class-groups.js.map +1 -1
  1872. package/dist/esm/core/ui/design-token-config.utils.d.ts.map +1 -1
  1873. package/dist/esm/core/ui/design-token-config.utils.js.map +1 -1
  1874. package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
  1875. package/dist/esm/core/ui/design-token.utils.js.map +1 -1
  1876. package/dist/esm/core/ui/material-runtime.d.ts.map +1 -1
  1877. package/dist/esm/core/ui/material-runtime.js.map +1 -1
  1878. package/dist/esm/core/ui/surface-a11y.utils.d.ts.map +1 -1
  1879. package/dist/esm/core/ui/surface-a11y.utils.js.map +1 -1
  1880. package/dist/esm/core/ui/theme-preference-storage.shared.d.ts.map +1 -1
  1881. package/dist/esm/core/ui/theme-preference-storage.shared.js.map +1 -1
  1882. package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
  1883. package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
  1884. package/dist/esm/core/ui/ui.frontend.schemas.d.ts +7 -2
  1885. package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
  1886. package/dist/esm/core/ui/ui.frontend.schemas.js.map +1 -1
  1887. package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
  1888. package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
  1889. package/dist/esm/core/ui/useUI.d.ts.map +1 -1
  1890. package/dist/esm/core/ui/useUI.js.map +1 -1
  1891. package/dist/esm/index.d.ts +7 -2
  1892. package/dist/esm/index.d.ts.map +1 -1
  1893. package/dist/esm/index.js +20 -2
  1894. package/dist/esm/index.js.map +1 -1
  1895. package/dist/esm/tailwind/index.d.ts.map +1 -1
  1896. package/dist/esm/tailwind/index.js.map +1 -1
  1897. package/dist/esm/testing/mock-builders.d.ts.map +1 -1
  1898. package/dist/esm/testing/mock-builders.js +2 -0
  1899. package/dist/esm/testing/mock-builders.js.map +1 -1
  1900. package/dist/esm/testing/mock-factory.d.ts.map +1 -1
  1901. package/dist/esm/testing/mock-factory.js.map +1 -1
  1902. package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
  1903. package/dist/esm/testing/rmm-helpers.js.map +1 -1
  1904. package/dist/esm/testing/test-providers.d.ts.map +1 -1
  1905. package/dist/esm/testing/test-providers.js.map +1 -1
  1906. package/dist/esm/testing.d.ts.map +1 -1
  1907. package/dist/esm/testing.js.map +1 -1
  1908. package/dist/tsconfig.build.tsbuildinfo +1 -1
  1909. package/package.json +6 -5
  1910. package/dist/esm/components/billing/billing-plan-change-preview.d.ts +0 -21
  1911. package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +0 -1
  1912. package/dist/esm/components/billing/billing-plan-change-preview.js +0 -12
  1913. package/dist/esm/components/billing/billing-plan-change-preview.js.map +0 -1
  1914. package/dist/esm/components/billing/billing-promotion-code-input.d.ts +0 -12
  1915. package/dist/esm/components/billing/billing-promotion-code-input.d.ts.map +0 -1
  1916. package/dist/esm/components/billing/billing-promotion-code-input.js +0 -11
  1917. package/dist/esm/components/billing/billing-promotion-code-input.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"settings-hub-gating.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../../src/core/config/settings-hub-gating.frontend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAEL,KAAK,kCAAkC,EACxC,MAAM,mEAAmE,CAAC;AAC3E,OAAO,KAAK,EACV,yBAAyB,EAG1B,MAAM,iCAAiC,CAAC;AAEzC,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAED,qEAAqE;AACrE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,6EAA6E;IAC7E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,8DAA8D;IAC9D,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,4EAA4E;IAC5E,cAAc,EAAE,kCAAkC,CAAC;CACpD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,oBAAoB,GAAG,SAAS,EACvC,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAaT;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,EAAE,GAAG,SAAS,EACnC,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAGT;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,gBAAgB,EAAE,sBAAsB,GAAG,SAAS,EACpD,eAAe,EAAE,MAAM,EAAE,GACxB,OAAO,CAYT;AAWD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,yBAAyB,EACjC,MAAM,EAAE,wBAAwB,GAC/B,yBAAyB,CA0B3B"}
1
+ {"version":3,"file":"settings-hub-gating.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../src/core/config/settings-hub-gating.frontend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAEL,KAAK,kCAAkC,EACxC,MAAM,mEAAmE,CAAC;AAC3E,OAAO,KAAK,EACV,yBAAyB,EAG1B,MAAM,iCAAiC,CAAC;AAEzC,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAED,qEAAqE;AACrE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,6EAA6E;IAC7E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,8DAA8D;IAC9D,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,4EAA4E;IAC5E,cAAc,EAAE,kCAAkC,CAAC;CACpD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,oBAAoB,GAAG,SAAS,EACvC,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAaT;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,EAAE,GAAG,SAAS,EACnC,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAGT;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,gBAAgB,EAAE,sBAAsB,GAAG,SAAS,EACpD,eAAe,EAAE,MAAM,EAAE,GACxB,OAAO,CAYT;AAWD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,yBAAyB,EACjC,MAAM,EAAE,wBAAwB,GAC/B,yBAAyB,CA0B3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings-hub-gating.frontend.utils.js","sourceRoot":"","sources":["../../../../../src/core/config/settings-hub-gating.frontend.utils.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Settings Hub — Section Gating (\"face to right management of the user\")\n *\n * Pure, React-free evaluation of which categories/sections the current user may\n * see. Kept separate from the {@link useVisibleSettingsHubConfig} hook so the\n * gating decisions are unit-testable without a React tree.\n *\n * Four orthogonal gates, mirroring the framework's existing launcher/view gating\n * semantics so settings sections behave identically to every other gated surface:\n *\n * 1. **Scope** — a category bound to a {@link ResourcePrimaryScope} is hidden\n * when that scope has no current value (e.g. the `ORGANIZATIONS` category is\n * hidden when no organization is selected). Scope-agnostic categories always\n * pass.\n * 2. **Capability** — `runtimeAvailability.requiredCapabilities` evaluated via\n * the SAME {@link isLauncherRuntimeAvailabilitySatisfied} the sidebar/command\n * menu use (e.g. `billingEnabled`).\n * 3. **Role** — `requiredRoles` (OR semantics) evaluated against the merged\n * app-level + current-organization role set (`buildFeaturePolicyRoles`).\n * 4. **Feature** — `requiredFeatures` ({@link RequiredFeaturesConfig}) boolean\n * presence check against the resolved feature list. `limitChecks` are\n * intentionally ignored: a settings section is shown or hidden, never\n * \"over-limit\".\n *\n * @see settings-hub.frontend.schemas.ts — the gated section contract\n * @see useVisibleSettingsHubConfig.ts — the hook that wires live signals into this\n */\n\nimport { ResourcePrimaryScope } from '@wildo-ai/saas-models';\nimport type { RequiredFeaturesConfig } from '@wildo-ai/saas-models';\nimport {\n isLauncherRuntimeAvailabilitySatisfied,\n type LauncherRuntimeAvailabilityContext,\n} from '~wildo-frontend-lib/core/navigation/launcher-runtime-availability';\nimport type {\n ResolvedSettingsHubConfig,\n SettingsCategory,\n SettingsSection,\n} from './settings-hub.frontend.schemas';\n\n/** The current primary-scope values used to evaluate category scope availability. */\nexport interface SettingsScopeIds {\n currentUserId?: string | null;\n currentOrganizationId?: string | null;\n currentApplicationId?: string | null;\n currentAnonymousUserId?: string | null;\n}\n\n/** Everything the pure filter needs to decide section visibility. */\nexport interface SettingsHubGatingContext {\n scopeIds: SettingsScopeIds;\n /** Merged app-level + current-org roles (from `buildFeaturePolicyRoles`). */\n userRoles: string[];\n /** Resolved boolean feature identifiers currently enabled. */\n enabledFeatures: string[];\n /** Runtime-capability context (reused verbatim from the launcher layer). */\n runtimeContext: LauncherRuntimeAvailabilityContext;\n}\n\n/**\n * Whether a category's primary scope currently has a value. A category without a\n * `scope` is scope-agnostic and always available.\n */\nexport function isSettingsScopeAvailable(\n scope: ResourcePrimaryScope | undefined,\n scopeIds: SettingsScopeIds,\n): boolean {\n switch (scope) {\n case undefined:\n return true;\n case ResourcePrimaryScope.USER_SELF:\n return Boolean(scopeIds.currentUserId);\n case ResourcePrimaryScope.ORGANIZATIONS:\n return Boolean(scopeIds.currentOrganizationId);\n case ResourcePrimaryScope.APPLICATION:\n return Boolean(scopeIds.currentApplicationId);\n case ResourcePrimaryScope.ANONYMOUS:\n return Boolean(scopeIds.currentAnonymousUserId);\n }\n}\n\n/**\n * OR-semantics role check: a section with no `requiredRoles` is open; otherwise\n * the user must hold AT LEAST ONE of the required roles. Matches the role\n * semantics in `evaluateGuidanceAudience`.\n */\nexport function hasRequiredSettingsRoles(\n requiredRoles: string[] | undefined,\n userRoles: string[],\n): boolean {\n if (!requiredRoles?.length) return true;\n return requiredRoles.some(role => userRoles.includes(role));\n}\n\n/**\n * Boolean feature gate mirroring {@link RequiredFeaturesConfig} semantics\n * (shorthand `string[]` = OR; full form honours `mode`). `limitChecks` are not\n * evaluated for visibility. A section with no `requiredFeatures` is open.\n */\nexport function areSettingsFeaturesSatisfied(\n requiredFeatures: RequiredFeaturesConfig | undefined,\n enabledFeatures: string[],\n): boolean {\n if (!requiredFeatures) return true;\n\n const featureList = Array.isArray(requiredFeatures)\n ? requiredFeatures\n : (requiredFeatures.features ?? []);\n if (featureList.length === 0) return true;\n\n const mode = Array.isArray(requiredFeatures) ? 'OR' : (requiredFeatures.mode ?? 'OR');\n return mode === 'OR'\n ? featureList.some(feature => enabledFeatures.includes(feature))\n : featureList.every(feature => enabledFeatures.includes(feature));\n}\n\n/** A section passes every gate except its category's scope (checked at the category level). */\nfunction isSectionVisible(section: SettingsSection, gating: SettingsHubGatingContext): boolean {\n return (\n isLauncherRuntimeAvailabilitySatisfied(section.runtimeAvailability, gating.runtimeContext) &&\n hasRequiredSettingsRoles(section.requiredRoles, gating.userRoles) &&\n areSettingsFeaturesSatisfied(section.requiredFeatures, gating.enabledFeatures)\n );\n}\n\n/**\n * Filter a raw {@link ResolvedSettingsHubConfig} down to what the current user may see.\n *\n * Categories are dropped when their scope is unavailable OR when every one of\n * their sections is gated out (an empty rail group would be visual noise). The\n * `defaultSectionRef` is recomputed when the configured default is no longer\n * visible, so the hub never tries to open a section the user cannot access.\n */\nexport function filterSettingsHubConfig(\n config: ResolvedSettingsHubConfig,\n gating: SettingsHubGatingContext,\n): ResolvedSettingsHubConfig {\n const scopedCategories: SettingsCategory[] = config.categories.filter(category =>\n isSettingsScopeAvailable(category.scope, gating.scopeIds),\n );\n const scopedCategoryRefs = new Set(scopedCategories.map(category => category.ref));\n\n const visibleSections = config.sections.filter(\n section => scopedCategoryRefs.has(section.categoryRef) && isSectionVisible(section, gating),\n );\n\n // Drop categories that ended up with zero visible sections.\n const populatedCategoryRefs = new Set(visibleSections.map(section => section.categoryRef));\n const visibleCategories = scopedCategories.filter(category =>\n populatedCategoryRefs.has(category.ref),\n );\n\n const defaultSectionRef =\n config.defaultSectionRef && visibleSections.some(section => section.ref === config.defaultSectionRef)\n ? config.defaultSectionRef\n : visibleSections[0]?.ref;\n\n return {\n categories: visibleCategories,\n sections: visibleSections,\n defaultSectionRef,\n };\n}\n"]}
1
+ {"version":3,"file":"settings-hub-gating.frontend.utils.js","sourceRoot":"","sources":["../../../../src/core/config/settings-hub-gating.frontend.utils.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Settings Hub — Section Gating (\"face to right management of the user\")\n *\n * Pure, React-free evaluation of which categories/sections the current user may\n * see. Kept separate from the {@link useVisibleSettingsHubConfig} hook so the\n * gating decisions are unit-testable without a React tree.\n *\n * Four orthogonal gates, mirroring the framework's existing launcher/view gating\n * semantics so settings sections behave identically to every other gated surface:\n *\n * 1. **Scope** — a category bound to a {@link ResourcePrimaryScope} is hidden\n * when that scope has no current value (e.g. the `ORGANIZATIONS` category is\n * hidden when no organization is selected). Scope-agnostic categories always\n * pass.\n * 2. **Capability** — `runtimeAvailability.requiredCapabilities` evaluated via\n * the SAME {@link isLauncherRuntimeAvailabilitySatisfied} the sidebar/command\n * menu use (e.g. `billingEnabled`).\n * 3. **Role** — `requiredRoles` (OR semantics) evaluated against the merged\n * app-level + current-organization role set (`buildFeaturePolicyRoles`).\n * 4. **Feature** — `requiredFeatures` ({@link RequiredFeaturesConfig}) boolean\n * presence check against the resolved feature list. `limitChecks` are\n * intentionally ignored: a settings section is shown or hidden, never\n * \"over-limit\".\n *\n * @see settings-hub.frontend.schemas.ts — the gated section contract\n * @see useVisibleSettingsHubConfig.ts — the hook that wires live signals into this\n */\n\nimport { ResourcePrimaryScope } from '@wildo-ai/saas-models';\nimport type { RequiredFeaturesConfig } from '@wildo-ai/saas-models';\nimport {\n isLauncherRuntimeAvailabilitySatisfied,\n type LauncherRuntimeAvailabilityContext,\n} from '~wildo-frontend-lib/core/navigation/launcher-runtime-availability';\nimport type {\n ResolvedSettingsHubConfig,\n SettingsCategory,\n SettingsSection,\n} from './settings-hub.frontend.schemas';\n\n/** The current primary-scope values used to evaluate category scope availability. */\nexport interface SettingsScopeIds {\n currentUserId?: string | null;\n currentOrganizationId?: string | null;\n currentApplicationId?: string | null;\n currentAnonymousUserId?: string | null;\n}\n\n/** Everything the pure filter needs to decide section visibility. */\nexport interface SettingsHubGatingContext {\n scopeIds: SettingsScopeIds;\n /** Merged app-level + current-org roles (from `buildFeaturePolicyRoles`). */\n userRoles: string[];\n /** Resolved boolean feature identifiers currently enabled. */\n enabledFeatures: string[];\n /** Runtime-capability context (reused verbatim from the launcher layer). */\n runtimeContext: LauncherRuntimeAvailabilityContext;\n}\n\n/**\n * Whether a category's primary scope currently has a value. A category without a\n * `scope` is scope-agnostic and always available.\n */\nexport function isSettingsScopeAvailable(\n scope: ResourcePrimaryScope | undefined,\n scopeIds: SettingsScopeIds,\n): boolean {\n switch (scope) {\n case undefined:\n return true;\n case ResourcePrimaryScope.USER_SELF:\n return Boolean(scopeIds.currentUserId);\n case ResourcePrimaryScope.ORGANIZATIONS:\n return Boolean(scopeIds.currentOrganizationId);\n case ResourcePrimaryScope.APPLICATION:\n return Boolean(scopeIds.currentApplicationId);\n case ResourcePrimaryScope.ANONYMOUS:\n return Boolean(scopeIds.currentAnonymousUserId);\n }\n}\n\n/**\n * OR-semantics role check: a section with no `requiredRoles` is open; otherwise\n * the user must hold AT LEAST ONE of the required roles. Matches the role\n * semantics in `evaluateGuidanceAudience`.\n */\nexport function hasRequiredSettingsRoles(\n requiredRoles: string[] | undefined,\n userRoles: string[],\n): boolean {\n if (!requiredRoles?.length) return true;\n return requiredRoles.some(role => userRoles.includes(role));\n}\n\n/**\n * Boolean feature gate mirroring {@link RequiredFeaturesConfig} semantics\n * (shorthand `string[]` = OR; full form honours `mode`). `limitChecks` are not\n * evaluated for visibility. A section with no `requiredFeatures` is open.\n */\nexport function areSettingsFeaturesSatisfied(\n requiredFeatures: RequiredFeaturesConfig | undefined,\n enabledFeatures: string[],\n): boolean {\n if (!requiredFeatures) return true;\n\n const featureList = Array.isArray(requiredFeatures)\n ? requiredFeatures\n : (requiredFeatures.features ?? []);\n if (featureList.length === 0) return true;\n\n const mode = Array.isArray(requiredFeatures) ? 'OR' : (requiredFeatures.mode ?? 'OR');\n return mode === 'OR'\n ? featureList.some(feature => enabledFeatures.includes(feature))\n : featureList.every(feature => enabledFeatures.includes(feature));\n}\n\n/** A section passes every gate except its category's scope (checked at the category level). */\nfunction isSectionVisible(section: SettingsSection, gating: SettingsHubGatingContext): boolean {\n return (\n isLauncherRuntimeAvailabilitySatisfied(section.runtimeAvailability, gating.runtimeContext) &&\n hasRequiredSettingsRoles(section.requiredRoles, gating.userRoles) &&\n areSettingsFeaturesSatisfied(section.requiredFeatures, gating.enabledFeatures)\n );\n}\n\n/**\n * Filter a raw {@link ResolvedSettingsHubConfig} down to what the current user may see.\n *\n * Categories are dropped when their scope is unavailable OR when every one of\n * their sections is gated out (an empty rail group would be visual noise). The\n * `defaultSectionRef` is recomputed when the configured default is no longer\n * visible, so the hub never tries to open a section the user cannot access.\n */\nexport function filterSettingsHubConfig(\n config: ResolvedSettingsHubConfig,\n gating: SettingsHubGatingContext,\n): ResolvedSettingsHubConfig {\n const scopedCategories: SettingsCategory[] = config.categories.filter(category =>\n isSettingsScopeAvailable(category.scope, gating.scopeIds),\n );\n const scopedCategoryRefs = new Set(scopedCategories.map(category => category.ref));\n\n const visibleSections = config.sections.filter(\n section => scopedCategoryRefs.has(section.categoryRef) && isSectionVisible(section, gating),\n );\n\n // Drop categories that ended up with zero visible sections.\n const populatedCategoryRefs = new Set(visibleSections.map(section => section.categoryRef));\n const visibleCategories = scopedCategories.filter(category =>\n populatedCategoryRefs.has(category.ref),\n );\n\n const defaultSectionRef =\n config.defaultSectionRef && visibleSections.some(section => section.ref === config.defaultSectionRef)\n ? config.defaultSectionRef\n : visibleSections[0]?.ref;\n\n return {\n categories: visibleCategories,\n sections: visibleSections,\n defaultSectionRef,\n };\n}\n"]}
@@ -75,7 +75,20 @@ export declare enum SettingsPanelRef {
75
75
  * and auto-creates the account, which makes it the correct settings-surface
76
76
  * data source.
77
77
  */
78
- BILLING = "billing"
78
+ BILLING = "billing",
79
+ /**
80
+ * Where a person CONNECTS one of their own third-party accounts.
81
+ *
82
+ * Bespoke because connecting is not a row somebody creates: it is a flow that leaves the
83
+ * application, obtains consent at a vendor, and returns with a grant nobody typed. The generic
84
+ * resource surface can list, inspect and delete the resulting credentials perfectly — it simply has
85
+ * no mechanism for an ACTION of that shape, which is why the whole outbound-authorization lane had
86
+ * no surface that could begin it until this existed.
87
+ *
88
+ * Paired with, never replacing, the credential list: this panel answers what MAY be connected and
89
+ * the list answers what IS, and the empty answer to the second is exactly when the first matters.
90
+ */
91
+ CONNECTED_ACCOUNTS = "connected-accounts"
79
92
  }
80
93
  /** Renders a framework-owned bespoke panel. */
81
94
  export interface SettingsEnginePanelTarget {
@@ -1 +1 @@
1
- {"version":3,"file":"settings-hub.frontend.schemas.d.ts","sourceRoot":"","sources":["../../../../../src/core/config/settings-hub.frontend.schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings-hub.frontend.schemas.d.ts","sourceRoot":"","sources":["../../../../src/core/config/settings-hub.frontend.schemas.ts"],"names":[],"mappings":"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"}
@@ -81,6 +81,19 @@ export var SettingsPanelRef;
81
81
  * data source.
82
82
  */
83
83
  SettingsPanelRef["BILLING"] = "billing";
84
+ /**
85
+ * Where a person CONNECTS one of their own third-party accounts.
86
+ *
87
+ * Bespoke because connecting is not a row somebody creates: it is a flow that leaves the
88
+ * application, obtains consent at a vendor, and returns with a grant nobody typed. The generic
89
+ * resource surface can list, inspect and delete the resulting credentials perfectly — it simply has
90
+ * no mechanism for an ACTION of that shape, which is why the whole outbound-authorization lane had
91
+ * no surface that could begin it until this existed.
92
+ *
93
+ * Paired with, never replacing, the credential list: this panel answers what MAY be connected and
94
+ * the list answers what IS, and the empty answer to the second is exactly when the first matters.
95
+ */
96
+ SettingsPanelRef["CONNECTED_ACCOUNTS"] = "connected-accounts";
84
97
  })(SettingsPanelRef || (SettingsPanelRef = {}));
85
98
  /** @wildo_source:part:end saas.frontend.settings-hub.placement */
86
99
  //# sourceMappingURL=settings-hub.frontend.schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings-hub.frontend.schemas.js","sourceRoot":"","sources":["../../../../../src/core/config/settings-hub.frontend.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAMH,mEAAmE;AACnE,+DAA+D;AAC/D,mEAAmE;AAEnE;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,yBASX;AATD,WAAY,yBAAyB;IACnC,iEAAiE;IACjE,0DAA6B,CAAA;IAC7B,+FAA+F;IAC/F,sEAAyC,CAAA;IACzC,sFAAsF;IACtF,kEAAqC,CAAA;IACrC,0GAA0G;IAC1G,kDAAqB,CAAA;AACvB,CAAC,EATW,yBAAyB,KAAzB,yBAAyB,QASpC;AAED,mEAAmE;AACnE,6DAA6D;AAC7D,mEAAmE;AAEnE;;;;;;;;;;GAUG;AACH,MAAM,CAAN,IAAY,gBAoBX;AApBD,WAAY,gBAAgB;IAC1B,wGAAwG;IACxG,yCAAqB,CAAA;IACrB,qEAAqE;IACrE,6CAAyB,CAAA;IACzB,oFAAoF;IACpF,+CAA2B,CAAA;IAC3B;;;;;;;;;;;OAWG;IACH,uCAAmB,CAAA;AACrB,CAAC,EApBW,gBAAgB,KAAhB,gBAAgB,QAoB3B;AAgRD,kEAAkE","sourcesContent":["/**\n * Settings Hub — Declarative Section Registry\n *\n * The Settings Hub is the framework's single point of configuration: one overlay\n * surface that consolidates every settings destination (account, security,\n * appearance, organization, members, billing, …) behind a vertical `Tabs` rail\n * grouped by category. Many entry points (user dropdown, sidebar, command menu)\n * all converge on this one hub; links differ only by which section they pre-open.\n *\n * This file owns the **config-time** registry contract. It is declaration-first\n * and mirrors `launcher-items.frontend.schemas.ts`:\n * - `SettingsSectionTarget` is an interface-based discriminated union on `kind`\n * (exactly like `LauncherItemRef`), because section targets are config-time\n * descriptors resolved by the runtime — not Zod-validated wire payloads.\n * - The framework seeds a default `SettingsHubConfig`; apps merge/extend it\n * (same model as the sidebar/launcher config).\n *\n * Runtime concerns live elsewhere:\n * - `NavigationContentType.SETTINGS_HUB` (navigation.schemas.ts) — what renders\n * in the overlay zone.\n * - `SettingsHub` component (components/settings/) — resolves a section's target\n * to a rendered panel.\n *\n * @see launcher-items.frontend.schemas.ts — the sibling launcher registry this mirrors\n * @see .claude/plans/unified-settings-hub.md — design + layer trace\n */\n\nimport { ResourcePrimaryScope } from '@wildo-ai/saas-models';\nimport type { RequiredFeaturesConfig } from '@wildo-ai/saas-models';\nimport type { LauncherRuntimeAvailabilityConfig } from './launcher-items.frontend.schemas';\n\n// ════════════════════════════════════════════════════════════════\n// Section Target Kind — discriminant for SettingsSectionTarget\n// ════════════════════════════════════════════════════════════════\n\n/**\n * What a settings section renders in its content panel.\n *\n * Discriminant for the `SettingsSectionTarget` union. The default for\n * data-backed settings is `RESOURCE_OPERATION` (reuse the auto-rendered\n * resource surface); `ENGINE_PANEL` is reserved for the few sections whose\n * bespoke layout earns it (Security, Appearance).\n */\nexport enum SettingsSectionTargetKind {\n /** A framework-owned bespoke panel (Security, Appearance, …). */\n ENGINE_PANEL = 'engine_panel',\n /** An auto-rendered resource-operation surface (members, API tokens, billing, preferences). */\n RESOURCE_OPERATION = 'resource_operation',\n /** An app-registered custom React component (resolved via the component registry). */\n CUSTOM_COMPONENT = 'custom_component',\n /** A section that itself splits into horizontal sub-tabs (e.g. Teams → Members / Roles & Permissions). */\n SUB_TABS = 'sub_tabs',\n}\n\n// ════════════════════════════════════════════════════════════════\n// Engine Panel Ref — framework-owned bespoke settings panels\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Framework-provided settings panels with bespoke (non-CRUD) layout.\n *\n * Closed enum — only framework panels belong here. Most settings sections should\n * be `RESOURCE_OPERATION` targets instead; a panel earns a slot here only when a\n * standard resource surface cannot express it (multi-factor enrollment flows,\n * theme/dark-mode toggles, …).\n *\n * The runtime maps each ref to a registered panel component in the\n * `SettingsHub` resolver.\n */\nexport enum SettingsPanelRef {\n /** Password, MFA enrollment, passkeys, identity links (wraps the former `AppPage_SecuritySettings`). */\n SECURITY = 'security',\n /** Theme, dark-mode, density and other look-and-feel preferences. */\n APPEARANCE = 'appearance',\n /** The caller's own pending org invitations — accept/reject in-app (Approach P). */\n INVITATIONS = 'invitations',\n /**\n * The billing home: subscription status, plan catalog + checkout, usage,\n * invoices and the provider portal link — composed from the BillingContext\n * aggregated state (`GET_STATE`), NOT from per-resource LIST surfaces.\n *\n * Bespoke on purpose: the billing child resources (subscriptions, invoice\n * refs, usage records) are routed UNDER the billing account\n * (`REQUIRES_CONTEXT`), so a generic org-scoped `RESOURCE_OPERATION` panel\n * cannot build their URLs. The aggregated billing state is org-addressable\n * and auto-creates the account, which makes it the correct settings-surface\n * data source.\n */\n BILLING = 'billing',\n}\n\n// ════════════════════════════════════════════════════════════════\n// Section Target — discriminated union on `kind`\n// ════════════════════════════════════════════════════════════════\n\n/** Renders a framework-owned bespoke panel. */\nexport interface SettingsEnginePanelTarget {\n kind: SettingsSectionTargetKind.ENGINE_PANEL;\n panelRef: SettingsPanelRef;\n}\n\n/**\n * Renders an auto-generated resource-operation surface inside the section panel.\n * Resolved against the resource registry exactly like a launcher\n * `RESOURCE_OPERATION` target.\n */\nexport interface SettingsResourceOperationTarget {\n kind: SettingsSectionTargetKind.RESOURCE_OPERATION;\n resourceType: string;\n operation: string;\n operationVariant?: string;\n}\n\n/** Renders an app-registered custom React component (resolved by `componentRef`). */\nexport interface SettingsCustomComponentTarget {\n kind: SettingsSectionTargetKind.CUSTOM_COMPONENT;\n componentRef: string;\n}\n\n/**\n * Leaf targets renderable directly in a panel. Sub-tabs may only point at leaf\n * targets — sub-tabs cannot nest further sub-tabs (one level of in-section\n * tabbing, matching the BetterStack reference).\n */\nexport type SettingsLeafTarget =\n | SettingsEnginePanelTarget\n | SettingsResourceOperationTarget\n | SettingsCustomComponentTarget;\n\n/**\n * One horizontal sub-tab within a section (e.g. the \"Members\" / \"Roles &\n * Permissions\" tabs inside a Teams section).\n */\nexport interface SettingsSubTab {\n /** Sub-tab reference — app-defined, used for i18n + the `value` of the inner Tabs. */\n ref: string;\n /** Display label (i18n ref). */\n label: string;\n /** Optional icon ref for the sub-tab trigger. */\n icon?: string;\n /** What this sub-tab renders. Sub-tabs hold leaf targets only. */\n target: SettingsLeafTarget;\n}\n\n/** Splits a section into horizontal sub-tabs rendered above the panel content. */\nexport interface SettingsSubTabsTarget {\n kind: SettingsSectionTargetKind.SUB_TABS;\n subTabs: SettingsSubTab[];\n}\n\n/**\n * What a settings section renders. Discriminated on `kind`; the `SettingsHub`\n * resolver dispatches on it to produce the panel content.\n */\nexport type SettingsSectionTarget = SettingsLeafTarget | SettingsSubTabsTarget;\n\n// ════════════════════════════════════════════════════════════════\n// Category — the rail group\n// ════════════════════════════════════════════════════════════════\n\n/**\n * A category groups sections in the vertical rail (the `Account` / `Organization`\n * group headers in the BetterStack reference). Rendered as a label + separator\n * inside the `TabsList` — NOT a separate nav widget (the `Tabs` primitive stays\n * the section mechanism).\n *\n * `scope` ties the category to a primary-scope axis so the runtime can hide it\n * when the scope is unavailable — e.g. an `ORGANIZATIONS` category is hidden when\n * no organization is selected. It is derived against `AppScope`, not authored\n * per-user.\n */\nexport interface SettingsCategory {\n /** Category reference — app-defined, referenced by `SettingsSection.categoryRef`. */\n ref: string;\n /** Group header label (i18n ref). */\n label: string;\n /**\n * Primary scope this category belongs to. Drives rail grouping order and\n * scope-gated visibility (org categories hide when no org is selected).\n * Omit for a scope-agnostic category.\n */\n scope?: ResourcePrimaryScope;\n /** Optional icon ref for the group header. */\n icon?: string;\n /** Sort order among categories in the rail (lower = higher). */\n order?: number;\n}\n\n// ════════════════════════════════════════════════════════════════\n// Section — one vertical tab in the rail\n// ════════════════════════════════════════════════════════════════\n\n/** @wildo_source:part:start saas.frontend.settings-hub.placement facet:layer:frontend facet:family:config facet:audience:app-developer */\n/**\n * An addressable settings DESTINATION — what a settings surface *is*, with no\n * opinion on where it appears.\n *\n * This is the half the engine ships (`ENGINE_SETTINGS_DESTINATIONS`). It carries\n * the target and the gating stack, and deliberately carries **no `categoryRef`,\n * no `order` and no `label`**: those are placement, and placement is the\n * application's decision (`SettingsPlacement`).\n *\n * The split exists because the engine shipping a PLACED hub is what made the\n * settings rail unauthorable — an application could not add, remove, reorder or\n * rename a section without the framework agreeing. Splitting destination from\n * placement lets the engine keep owning what a destination MEANS (its target,\n * its roles, its entitlement) while the application owns where it sits.\n */\nexport interface SettingsDestination {\n /** Destination reference — the `/settings/:sectionRef` URL segment and the id a placement names. */\n ref: string;\n /** What the destination renders in its content panel. */\n target: SettingsSectionTarget;\n /** Declarative runtime capability gating (same contract as launcher items). */\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n /** Feature flags required to surface this destination (plan/subscription gating). */\n requiredFeatures?: RequiredFeaturesConfig;\n /** RBAC roles required to surface this destination (OR semantics). */\n requiredRoles?: string[];\n /** Optional CoreFeature id this destination's content is ENTITLED by (soft gate — renders an upgrade prompt). */\n entitlementFeatureId?: string;\n}\n\n/**\n * An application's explicit PLACEMENT of one destination in its settings rail.\n *\n * Authored in the application's own config. Nothing is placed implicitly: a\n * destination the application does not place does not render, which is the whole\n * point — \"we should just place things\", with no automatic inference.\n *\n * `label` is optional and is an OVERRIDE. The resolved label otherwise comes from\n * the `settings_hub.sections.<ref>.label` key, so a placed section is localizable\n * without the application authoring an English string.\n *\n * That namespace and its resolver (`tSettingsHubSection`) EXIST and already fall\n * back to the authored label. What does not exist is anything that generates the\n * units: `LabellingTypes.SETTINGS_HUB` is declared with an empty pattern and the\n * companion plans nothing for it, so today every rail label is the authored\n * English string. R9 is a wiring job, not a new mechanism.\n */\nexport interface SettingsPlacement {\n /** The {@link SettingsDestination.ref} being placed. Refused at DEV startup when unknown. */\n destinationRef: string;\n /** Which category (rail group) this destination sits under. */\n categoryRef: string;\n /** Sort order within the category (lower = higher). */\n order?: number;\n /** Optional icon ref for the rail entry. */\n icon?: string;\n /** Rail label override. Omit to take `settings_hub.sections.<ref>.label`. */\n label?: string;\n}\n/** @wildo_source:part:end saas.frontend.settings-hub.placement */\n\n/**\n * A settings section is one entry in the vertical rail (one `TabsTrigger`) —\n * the RESOLVED union of a {@link SettingsDestination} and the\n * {@link SettingsPlacement} that placed it.\n *\n * Produced by `resolveSettingsHubConfig()`; never authored directly. It\n * belongs to a category, addresses a target, and reuses the existing launcher\n * gating stack:\n * - `runtimeAvailability` — survives the app-shell filtering pass (capabilities).\n * - `requiredFeatures` — plan/subscription gating once resolved.\n * - `requiredRoles` — RBAC gating (e.g. org-admin-only sections).\n *\n * `ref` is the URL-addressable section id (`/settings/:sectionRef`).\n */\nexport interface SettingsSection {\n /** Section reference — app-defined; the `/settings/:sectionRef` URL segment + Tabs `value`. */\n ref: string;\n /** Which category (rail group) this section sits under. */\n categoryRef: string;\n /** Rail label (i18n ref). */\n label: string;\n /** Optional icon ref for the rail entry. */\n icon?: string;\n /** Sort order within the category (lower = higher). */\n order?: number;\n /** What the section renders in its content panel. */\n target: SettingsSectionTarget;\n /** Declarative runtime capability gating (same contract as launcher items). */\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n /**\n * Feature flags required to surface this section (plan/subscription gating).\n *\n * Uses the framework-canonical {@link RequiredFeaturesConfig} contract shared\n * with views and resource operations — shorthand `string[]` (OR semantics) or\n * the full `{ features, mode: 'OR' | 'AND' }` form. `limitChecks` are not\n * evaluated for section visibility (a section is shown or hidden, never\n * \"over-limit\"); use {@link requiredRoles} / capabilities for hard gating.\n */\n requiredFeatures?: RequiredFeaturesConfig;\n /**\n * RBAC roles required to surface this section (OR semantics — the user needs\n * ANY one of these roles). Evaluated against the merged app-level + current-\n * organization role set, the same effective surface the rest of the frontend\n * gating layer resolves (see `buildFeaturePolicyRoles`). Org-management\n * sections gate on `[CORE_ORG_ROLES.ORG_OWNER, CORE_ORG_ROLES.ORG_ADMIN]`.\n */\n requiredRoles?: string[];\n /**\n * Optional CoreFeature id this section's content is ENTITLED by. Distinct from\n * {@link requiredFeatures} (a HARD hide-gate): when set, the section still\n * SURVIVES (per `runtimeAvailability`/roles) and its body is wrapped in a\n * `FeatureGate` so an OFFERED-but-not-yet-entitled feature renders the\n * policy-driven upgrade/add-on prompt (`unavailabilityPolicy`) instead of\n * vanishing. Pair with a `runtimeAvailability.requiredCapabilities` gate whose\n * capability is the plan-independent \"app offers X\" signal, so a feature the\n * app does NOT offer at all is hidden outright while an offered one prompts.\n */\n entitlementFeatureId?: string;\n}\n\n// ════════════════════════════════════════════════════════════════\n// Hub Config — the registry root\n// ════════════════════════════════════════════════════════════════\n\n/** @wildo_source:part:start saas.frontend.settings-hub.placement */\n/**\n * The AUTHORED Settings Hub registry — an application's own settings rail.\n *\n * The framework ships destinations (`ENGINE_SETTINGS_DESTINATIONS`), never a\n * placed hub. This is the application's half: which categories exist, and which\n * destinations are placed where. `wildo init` scaffolds the full destination list\n * as placements so a new application starts complete and edits down.\n *\n * Resolve it with `resolveSettingsHubConfig()` to get the rendered\n * {@link SettingsSection} list; the render path never reads this shape directly.\n */\nexport interface SettingsHubConfig {\n /** Rail groups, in render order (also orderable via `SettingsCategory.order`). */\n categories: SettingsCategory[];\n /**\n * Every destination this application places, and where.\n *\n * A destination that appears in no placement does not render. That is\n * deliberate: absence is how an application removes a settings section, and it\n * must not be second-guessed by a merge against a framework default.\n */\n placements: SettingsPlacement[];\n /**\n * Section opened when the hub is launched without an explicit section\n * (`/settings` with no `:sectionRef`). Falls back to the first section of the\n * first category when omitted.\n */\n defaultSectionRef?: string;\n}\n\n/**\n * The RESOLVED hub — categories plus fully-resolved sections, ready to render.\n *\n * Distinct from {@link SettingsHubConfig} (what an application AUTHORS) because\n * conflating the two is what let a placed default ship from the engine. A\n * consumer that renders takes this; a consumer that configures takes the other.\n */\nexport interface ResolvedSettingsHubConfig {\n categories: SettingsCategory[];\n sections: SettingsSection[];\n defaultSectionRef?: string;\n}\n/** @wildo_source:part:end saas.frontend.settings-hub.placement */\n"]}
1
+ {"version":3,"file":"settings-hub.frontend.schemas.js","sourceRoot":"","sources":["../../../../src/core/config/settings-hub.frontend.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAMH,mEAAmE;AACnE,+DAA+D;AAC/D,mEAAmE;AAEnE;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,yBASX;AATD,WAAY,yBAAyB;IACnC,iEAAiE;IACjE,0DAA6B,CAAA;IAC7B,+FAA+F;IAC/F,sEAAyC,CAAA;IACzC,sFAAsF;IACtF,kEAAqC,CAAA;IACrC,0GAA0G;IAC1G,kDAAqB,CAAA;AACvB,CAAC,EATW,yBAAyB,KAAzB,yBAAyB,QASpC;AAED,mEAAmE;AACnE,6DAA6D;AAC7D,mEAAmE;AAEnE;;;;;;;;;;GAUG;AACH,MAAM,CAAN,IAAY,gBAiCX;AAjCD,WAAY,gBAAgB;IAC1B,wGAAwG;IACxG,yCAAqB,CAAA;IACrB,qEAAqE;IACrE,6CAAyB,CAAA;IACzB,oFAAoF;IACpF,+CAA2B,CAAA;IAC3B;;;;;;;;;;;OAWG;IACH,uCAAmB,CAAA;IACnB;;;;;;;;;;;OAWG;IACH,6DAAyC,CAAA;AAC3C,CAAC,EAjCW,gBAAgB,KAAhB,gBAAgB,QAiC3B;AAgRD,kEAAkE","sourcesContent":["/**\n * Settings Hub — Declarative Section Registry\n *\n * The Settings Hub is the framework's single point of configuration: one overlay\n * surface that consolidates every settings destination (account, security,\n * appearance, organization, members, billing, …) behind a vertical `Tabs` rail\n * grouped by category. Many entry points (user dropdown, sidebar, command menu)\n * all converge on this one hub; links differ only by which section they pre-open.\n *\n * This file owns the **config-time** registry contract. It is declaration-first\n * and mirrors `launcher-items.frontend.schemas.ts`:\n * - `SettingsSectionTarget` is an interface-based discriminated union on `kind`\n * (exactly like `LauncherItemRef`), because section targets are config-time\n * descriptors resolved by the runtime — not Zod-validated wire payloads.\n * - The framework seeds a default `SettingsHubConfig`; apps merge/extend it\n * (same model as the sidebar/launcher config).\n *\n * Runtime concerns live elsewhere:\n * - `NavigationContentType.SETTINGS_HUB` (navigation.schemas.ts) — what renders\n * in the overlay zone.\n * - `SettingsHub` component (components/settings/) — resolves a section's target\n * to a rendered panel.\n *\n * @see launcher-items.frontend.schemas.ts — the sibling launcher registry this mirrors\n * @see .claude/plans/unified-settings-hub.md — design + layer trace\n */\n\nimport { ResourcePrimaryScope } from '@wildo-ai/saas-models';\nimport type { RequiredFeaturesConfig } from '@wildo-ai/saas-models';\nimport type { LauncherRuntimeAvailabilityConfig } from './launcher-items.frontend.schemas';\n\n// ════════════════════════════════════════════════════════════════\n// Section Target Kind — discriminant for SettingsSectionTarget\n// ════════════════════════════════════════════════════════════════\n\n/**\n * What a settings section renders in its content panel.\n *\n * Discriminant for the `SettingsSectionTarget` union. The default for\n * data-backed settings is `RESOURCE_OPERATION` (reuse the auto-rendered\n * resource surface); `ENGINE_PANEL` is reserved for the few sections whose\n * bespoke layout earns it (Security, Appearance).\n */\nexport enum SettingsSectionTargetKind {\n /** A framework-owned bespoke panel (Security, Appearance, …). */\n ENGINE_PANEL = 'engine_panel',\n /** An auto-rendered resource-operation surface (members, API tokens, billing, preferences). */\n RESOURCE_OPERATION = 'resource_operation',\n /** An app-registered custom React component (resolved via the component registry). */\n CUSTOM_COMPONENT = 'custom_component',\n /** A section that itself splits into horizontal sub-tabs (e.g. Teams → Members / Roles & Permissions). */\n SUB_TABS = 'sub_tabs',\n}\n\n// ════════════════════════════════════════════════════════════════\n// Engine Panel Ref — framework-owned bespoke settings panels\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Framework-provided settings panels with bespoke (non-CRUD) layout.\n *\n * Closed enum — only framework panels belong here. Most settings sections should\n * be `RESOURCE_OPERATION` targets instead; a panel earns a slot here only when a\n * standard resource surface cannot express it (multi-factor enrollment flows,\n * theme/dark-mode toggles, …).\n *\n * The runtime maps each ref to a registered panel component in the\n * `SettingsHub` resolver.\n */\nexport enum SettingsPanelRef {\n /** Password, MFA enrollment, passkeys, identity links (wraps the former `AppPage_SecuritySettings`). */\n SECURITY = 'security',\n /** Theme, dark-mode, density and other look-and-feel preferences. */\n APPEARANCE = 'appearance',\n /** The caller's own pending org invitations — accept/reject in-app (Approach P). */\n INVITATIONS = 'invitations',\n /**\n * The billing home: subscription status, plan catalog + checkout, usage,\n * invoices and the provider portal link — composed from the BillingContext\n * aggregated state (`GET_STATE`), NOT from per-resource LIST surfaces.\n *\n * Bespoke on purpose: the billing child resources (subscriptions, invoice\n * refs, usage records) are routed UNDER the billing account\n * (`REQUIRES_CONTEXT`), so a generic org-scoped `RESOURCE_OPERATION` panel\n * cannot build their URLs. The aggregated billing state is org-addressable\n * and auto-creates the account, which makes it the correct settings-surface\n * data source.\n */\n BILLING = 'billing',\n /**\n * Where a person CONNECTS one of their own third-party accounts.\n *\n * Bespoke because connecting is not a row somebody creates: it is a flow that leaves the\n * application, obtains consent at a vendor, and returns with a grant nobody typed. The generic\n * resource surface can list, inspect and delete the resulting credentials perfectly — it simply has\n * no mechanism for an ACTION of that shape, which is why the whole outbound-authorization lane had\n * no surface that could begin it until this existed.\n *\n * Paired with, never replacing, the credential list: this panel answers what MAY be connected and\n * the list answers what IS, and the empty answer to the second is exactly when the first matters.\n */\n CONNECTED_ACCOUNTS = 'connected-accounts',\n}\n\n// ════════════════════════════════════════════════════════════════\n// Section Target — discriminated union on `kind`\n// ════════════════════════════════════════════════════════════════\n\n/** Renders a framework-owned bespoke panel. */\nexport interface SettingsEnginePanelTarget {\n kind: SettingsSectionTargetKind.ENGINE_PANEL;\n panelRef: SettingsPanelRef;\n}\n\n/**\n * Renders an auto-generated resource-operation surface inside the section panel.\n * Resolved against the resource registry exactly like a launcher\n * `RESOURCE_OPERATION` target.\n */\nexport interface SettingsResourceOperationTarget {\n kind: SettingsSectionTargetKind.RESOURCE_OPERATION;\n resourceType: string;\n operation: string;\n operationVariant?: string;\n}\n\n/** Renders an app-registered custom React component (resolved by `componentRef`). */\nexport interface SettingsCustomComponentTarget {\n kind: SettingsSectionTargetKind.CUSTOM_COMPONENT;\n componentRef: string;\n}\n\n/**\n * Leaf targets renderable directly in a panel. Sub-tabs may only point at leaf\n * targets — sub-tabs cannot nest further sub-tabs (one level of in-section\n * tabbing, matching the BetterStack reference).\n */\nexport type SettingsLeafTarget =\n | SettingsEnginePanelTarget\n | SettingsResourceOperationTarget\n | SettingsCustomComponentTarget;\n\n/**\n * One horizontal sub-tab within a section (e.g. the \"Members\" / \"Roles &\n * Permissions\" tabs inside a Teams section).\n */\nexport interface SettingsSubTab {\n /** Sub-tab reference — app-defined, used for i18n + the `value` of the inner Tabs. */\n ref: string;\n /** Display label (i18n ref). */\n label: string;\n /** Optional icon ref for the sub-tab trigger. */\n icon?: string;\n /** What this sub-tab renders. Sub-tabs hold leaf targets only. */\n target: SettingsLeafTarget;\n}\n\n/** Splits a section into horizontal sub-tabs rendered above the panel content. */\nexport interface SettingsSubTabsTarget {\n kind: SettingsSectionTargetKind.SUB_TABS;\n subTabs: SettingsSubTab[];\n}\n\n/**\n * What a settings section renders. Discriminated on `kind`; the `SettingsHub`\n * resolver dispatches on it to produce the panel content.\n */\nexport type SettingsSectionTarget = SettingsLeafTarget | SettingsSubTabsTarget;\n\n// ════════════════════════════════════════════════════════════════\n// Category — the rail group\n// ════════════════════════════════════════════════════════════════\n\n/**\n * A category groups sections in the vertical rail (the `Account` / `Organization`\n * group headers in the BetterStack reference). Rendered as a label + separator\n * inside the `TabsList` — NOT a separate nav widget (the `Tabs` primitive stays\n * the section mechanism).\n *\n * `scope` ties the category to a primary-scope axis so the runtime can hide it\n * when the scope is unavailable — e.g. an `ORGANIZATIONS` category is hidden when\n * no organization is selected. It is derived against `AppScope`, not authored\n * per-user.\n */\nexport interface SettingsCategory {\n /** Category reference — app-defined, referenced by `SettingsSection.categoryRef`. */\n ref: string;\n /** Group header label (i18n ref). */\n label: string;\n /**\n * Primary scope this category belongs to. Drives rail grouping order and\n * scope-gated visibility (org categories hide when no org is selected).\n * Omit for a scope-agnostic category.\n */\n scope?: ResourcePrimaryScope;\n /** Optional icon ref for the group header. */\n icon?: string;\n /** Sort order among categories in the rail (lower = higher). */\n order?: number;\n}\n\n// ════════════════════════════════════════════════════════════════\n// Section — one vertical tab in the rail\n// ════════════════════════════════════════════════════════════════\n\n/** @wildo_source:part:start saas.frontend.settings-hub.placement facet:layer:frontend facet:family:config facet:audience:app-developer */\n/**\n * An addressable settings DESTINATION — what a settings surface *is*, with no\n * opinion on where it appears.\n *\n * This is the half the engine ships (`ENGINE_SETTINGS_DESTINATIONS`). It carries\n * the target and the gating stack, and deliberately carries **no `categoryRef`,\n * no `order` and no `label`**: those are placement, and placement is the\n * application's decision (`SettingsPlacement`).\n *\n * The split exists because the engine shipping a PLACED hub is what made the\n * settings rail unauthorable — an application could not add, remove, reorder or\n * rename a section without the framework agreeing. Splitting destination from\n * placement lets the engine keep owning what a destination MEANS (its target,\n * its roles, its entitlement) while the application owns where it sits.\n */\nexport interface SettingsDestination {\n /** Destination reference — the `/settings/:sectionRef` URL segment and the id a placement names. */\n ref: string;\n /** What the destination renders in its content panel. */\n target: SettingsSectionTarget;\n /** Declarative runtime capability gating (same contract as launcher items). */\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n /** Feature flags required to surface this destination (plan/subscription gating). */\n requiredFeatures?: RequiredFeaturesConfig;\n /** RBAC roles required to surface this destination (OR semantics). */\n requiredRoles?: string[];\n /** Optional CoreFeature id this destination's content is ENTITLED by (soft gate — renders an upgrade prompt). */\n entitlementFeatureId?: string;\n}\n\n/**\n * An application's explicit PLACEMENT of one destination in its settings rail.\n *\n * Authored in the application's own config. Nothing is placed implicitly: a\n * destination the application does not place does not render, which is the whole\n * point — \"we should just place things\", with no automatic inference.\n *\n * `label` is optional and is an OVERRIDE. The resolved label otherwise comes from\n * the `settings_hub.sections.<ref>.label` key, so a placed section is localizable\n * without the application authoring an English string.\n *\n * That namespace and its resolver (`tSettingsHubSection`) EXIST and already fall\n * back to the authored label. What does not exist is anything that generates the\n * units: `LabellingTypes.SETTINGS_HUB` is declared with an empty pattern and the\n * companion plans nothing for it, so today every rail label is the authored\n * English string. R9 is a wiring job, not a new mechanism.\n */\nexport interface SettingsPlacement {\n /** The {@link SettingsDestination.ref} being placed. Refused at DEV startup when unknown. */\n destinationRef: string;\n /** Which category (rail group) this destination sits under. */\n categoryRef: string;\n /** Sort order within the category (lower = higher). */\n order?: number;\n /** Optional icon ref for the rail entry. */\n icon?: string;\n /** Rail label override. Omit to take `settings_hub.sections.<ref>.label`. */\n label?: string;\n}\n/** @wildo_source:part:end saas.frontend.settings-hub.placement */\n\n/**\n * A settings section is one entry in the vertical rail (one `TabsTrigger`) —\n * the RESOLVED union of a {@link SettingsDestination} and the\n * {@link SettingsPlacement} that placed it.\n *\n * Produced by `resolveSettingsHubConfig()`; never authored directly. It\n * belongs to a category, addresses a target, and reuses the existing launcher\n * gating stack:\n * - `runtimeAvailability` — survives the app-shell filtering pass (capabilities).\n * - `requiredFeatures` — plan/subscription gating once resolved.\n * - `requiredRoles` — RBAC gating (e.g. org-admin-only sections).\n *\n * `ref` is the URL-addressable section id (`/settings/:sectionRef`).\n */\nexport interface SettingsSection {\n /** Section reference — app-defined; the `/settings/:sectionRef` URL segment + Tabs `value`. */\n ref: string;\n /** Which category (rail group) this section sits under. */\n categoryRef: string;\n /** Rail label (i18n ref). */\n label: string;\n /** Optional icon ref for the rail entry. */\n icon?: string;\n /** Sort order within the category (lower = higher). */\n order?: number;\n /** What the section renders in its content panel. */\n target: SettingsSectionTarget;\n /** Declarative runtime capability gating (same contract as launcher items). */\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n /**\n * Feature flags required to surface this section (plan/subscription gating).\n *\n * Uses the framework-canonical {@link RequiredFeaturesConfig} contract shared\n * with views and resource operations — shorthand `string[]` (OR semantics) or\n * the full `{ features, mode: 'OR' | 'AND' }` form. `limitChecks` are not\n * evaluated for section visibility (a section is shown or hidden, never\n * \"over-limit\"); use {@link requiredRoles} / capabilities for hard gating.\n */\n requiredFeatures?: RequiredFeaturesConfig;\n /**\n * RBAC roles required to surface this section (OR semantics — the user needs\n * ANY one of these roles). Evaluated against the merged app-level + current-\n * organization role set, the same effective surface the rest of the frontend\n * gating layer resolves (see `buildFeaturePolicyRoles`). Org-management\n * sections gate on `[CORE_ORG_ROLES.ORG_OWNER, CORE_ORG_ROLES.ORG_ADMIN]`.\n */\n requiredRoles?: string[];\n /**\n * Optional CoreFeature id this section's content is ENTITLED by. Distinct from\n * {@link requiredFeatures} (a HARD hide-gate): when set, the section still\n * SURVIVES (per `runtimeAvailability`/roles) and its body is wrapped in a\n * `FeatureGate` so an OFFERED-but-not-yet-entitled feature renders the\n * policy-driven upgrade/add-on prompt (`unavailabilityPolicy`) instead of\n * vanishing. Pair with a `runtimeAvailability.requiredCapabilities` gate whose\n * capability is the plan-independent \"app offers X\" signal, so a feature the\n * app does NOT offer at all is hidden outright while an offered one prompts.\n */\n entitlementFeatureId?: string;\n}\n\n// ════════════════════════════════════════════════════════════════\n// Hub Config — the registry root\n// ════════════════════════════════════════════════════════════════\n\n/** @wildo_source:part:start saas.frontend.settings-hub.placement */\n/**\n * The AUTHORED Settings Hub registry — an application's own settings rail.\n *\n * The framework ships destinations (`ENGINE_SETTINGS_DESTINATIONS`), never a\n * placed hub. This is the application's half: which categories exist, and which\n * destinations are placed where. `wildo init` scaffolds the full destination list\n * as placements so a new application starts complete and edits down.\n *\n * Resolve it with `resolveSettingsHubConfig()` to get the rendered\n * {@link SettingsSection} list; the render path never reads this shape directly.\n */\nexport interface SettingsHubConfig {\n /** Rail groups, in render order (also orderable via `SettingsCategory.order`). */\n categories: SettingsCategory[];\n /**\n * Every destination this application places, and where.\n *\n * A destination that appears in no placement does not render. That is\n * deliberate: absence is how an application removes a settings section, and it\n * must not be second-guessed by a merge against a framework default.\n */\n placements: SettingsPlacement[];\n /**\n * Section opened when the hub is launched without an explicit section\n * (`/settings` with no `:sectionRef`). Falls back to the first section of the\n * first category when omitted.\n */\n defaultSectionRef?: string;\n}\n\n/**\n * The RESOLVED hub — categories plus fully-resolved sections, ready to render.\n *\n * Distinct from {@link SettingsHubConfig} (what an application AUTHORS) because\n * conflating the two is what let a placed default ship from the engine. A\n * consumer that renders takes this; a consumer that configures takes the other.\n */\nexport interface ResolvedSettingsHubConfig {\n categories: SettingsCategory[];\n sections: SettingsSection[];\n defaultSectionRef?: string;\n}\n/** @wildo_source:part:end saas.frontend.settings-hub.placement */\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useSettingsHubConfig.d.ts","sourceRoot":"","sources":["../../../../../src/core/config/useSettingsHubConfig.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,yBAAyB,EAEzB,iBAAiB,EAElB,MAAM,iCAAiC,CAAC;AAQzC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,GAAG,yBAAyB,CA0C3G;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,GAAG,MAAM,EAAE,CAO5F;AAED,wBAAgB,oBAAoB,IAAI,yBAAyB,CAGhE"}
1
+ {"version":3,"file":"useSettingsHubConfig.d.ts","sourceRoot":"","sources":["../../../../src/core/config/useSettingsHubConfig.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,yBAAyB,EAEzB,iBAAiB,EAElB,MAAM,iCAAiC,CAAC;AAQzC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,GAAG,yBAAyB,CA0C3G;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,GAAG,MAAM,EAAE,CAO5F;AAED,wBAAgB,oBAAoB,IAAI,yBAAyB,CAGhE"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSettingsHubConfig.js","sourceRoot":"","sources":["../../../../../src/core/config/useSettingsHubConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAO9E,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D,+EAA+E;AAC/E,MAAM,mBAAmB,GAA6C,IAAI,GAAG,CAC3E,4BAA4B,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAChF,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAuC;IAC9E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACtE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC;YACZ,GAAG,EAAE,WAAW,CAAC,GAAG;YACpB,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,4EAA4E;YAC5E,gEAAgE;YAChE,EAAE;YACF,iEAAiE;YACjE,sEAAsE;YACtE,yEAAyE;YACzE,uEAAuE;YACvE,wEAAwE;YACxE,mEAAmE;YACnE,oEAAoE;YACpE,iEAAiE;YACjE,iBAAiB;YACjB,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,WAAW,CAAC,GAAG;YACzC,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;YACpD,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;YAC9C,aAAa,EAAE,WAAW,CAAC,aAAa;YACxC,oBAAoB,EAAE,WAAW,CAAC,oBAAoB;SACvD,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,QAAQ;QACR,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;KAC9C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAuC;IAChF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,QAAQ,CAAC,UAAU;SACvB,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC;SAC1C,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,CAAC;IAChC,OAAO,wBAAwB,CAAC,WAAW,CAAC,CAAC;AAC/C,CAAC","sourcesContent":["/**\n * Resolves an application's authored Settings Hub config into the rendered shape.\n *\n * Resolution is the join between the two halves of the placement split: the\n * engine's destination catalog (`ENGINE_SETTINGS_DESTINATIONS` — what a settings\n * surface IS) and the application's placements (where each one sits). Neither\n * half renders alone.\n *\n * There is deliberately **no framework default and no merge**. An earlier\n * revision returned `DEFAULT_SETTINGS_HUB_CONFIG`, a fully placed hub the engine\n * owned, and that is precisely why an application could not remove or reorder a\n * settings section: the render path read the framework's arrangement, so an\n * application's absence of an arrangement was indistinguishable from agreement\n * with it. Here, an unplaced destination does not render — absence is how a\n * section is removed, and nothing reasserts it.\n */\nimport { ENGINE_SETTINGS_DESTINATIONS } from './engine-settings-destinations';\nimport type {\n ResolvedSettingsHubConfig,\n SettingsDestination,\n SettingsHubConfig,\n SettingsSection,\n} from './settings-hub.frontend.schemas';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\n\n/** Catalog lookup by ref, built once — resolution runs on every hub render. */\nconst DESTINATIONS_BY_REF: ReadonlyMap<string, SettingsDestination> = new Map(\n ENGINE_SETTINGS_DESTINATIONS.map(destination => [destination.ref, destination]),\n);\n\n/**\n * Pure (React-free) resolution — the single source of truth shared by\n * {@link useSettingsHubConfig} (render path) and the DEV-startup\n * `verifySettingsHubContent` pass.\n *\n * Keeping resolution here, not inlined in the hook, is what lets the verifier\n * check the EXACT config the hub renders. Do not inline it into either caller:\n * the moment the two derive their config separately, the verifier starts\n * attesting to something nobody renders.\n *\n * A placement naming a ref absent from the catalog is DROPPED here and reported\n * by the verifier rather than throwing. Resolution runs on the render path, and\n * a hard throw there would take down the whole hub over one bad ref; the DEV\n * startup pass is where an author is present to read the diagnostic.\n */\nexport function resolveSettingsHubConfig(authored: SettingsHubConfig | undefined): ResolvedSettingsHubConfig {\n if (authored === undefined) {\n return { categories: [], sections: [] };\n }\n\n const sections: SettingsSection[] = [];\n for (const placement of authored.placements) {\n const destination = DESTINATIONS_BY_REF.get(placement.destinationRef);\n if (destination === undefined) {\n continue;\n }\n sections.push({\n ref: destination.ref,\n categoryRef: placement.categoryRef,\n // The authored label, falling back to the ref so an unlabelled placement is\n // visibly wrong in the rail rather than rendering an empty tab.\n //\n // It is NOT superseded by label generation, and deleting it is a\n // regression rather than a tidy-up. `tSettingsHubSection(ref, label)`\n // takes this as the fallback when no key exists — and, more importantly,\n // the companion feeds this exact string to the labellize prompt as the\n // key's `purpose`. Generating without it made the model invent from the\n // ref: \"User provisioning\" became \"SCIM\", \"Audit streaming\" became\n // \"SIEM\", and a generated key WINS over the fallback, so the rail's\n // wording changed. The authored string is the intent; generation\n // translates it.\n label: placement.label ?? destination.ref,\n icon: placement.icon,\n order: placement.order,\n target: destination.target,\n runtimeAvailability: destination.runtimeAvailability,\n requiredFeatures: destination.requiredFeatures,\n requiredRoles: destination.requiredRoles,\n entitlementFeatureId: destination.entitlementFeatureId,\n });\n }\n\n return {\n categories: authored.categories,\n sections,\n defaultSectionRef: authored.defaultSectionRef,\n };\n}\n\n/**\n * Every destination ref an authored config places that the catalog does not\n * ship. Reported by `verifySettingsHubContent`; see the note on\n * {@link resolveSettingsHubConfig} for why resolution drops rather than throws.\n */\nexport function findUnknownDestinationRefs(authored: SettingsHubConfig | undefined): string[] {\n if (authored === undefined) {\n return [];\n }\n return authored.placements\n .map(placement => placement.destinationRef)\n .filter(ref => !DESTINATIONS_BY_REF.has(ref));\n}\n\nexport function useSettingsHubConfig(): ResolvedSettingsHubConfig {\n const { settingsHub } = useUI();\n return resolveSettingsHubConfig(settingsHub);\n}\n"]}
1
+ {"version":3,"file":"useSettingsHubConfig.js","sourceRoot":"","sources":["../../../../src/core/config/useSettingsHubConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAO9E,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D,+EAA+E;AAC/E,MAAM,mBAAmB,GAA6C,IAAI,GAAG,CAC3E,4BAA4B,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAChF,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAuC;IAC9E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACtE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC;YACZ,GAAG,EAAE,WAAW,CAAC,GAAG;YACpB,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,4EAA4E;YAC5E,gEAAgE;YAChE,EAAE;YACF,iEAAiE;YACjE,sEAAsE;YACtE,yEAAyE;YACzE,uEAAuE;YACvE,wEAAwE;YACxE,mEAAmE;YACnE,oEAAoE;YACpE,iEAAiE;YACjE,iBAAiB;YACjB,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,WAAW,CAAC,GAAG;YACzC,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;YACpD,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;YAC9C,aAAa,EAAE,WAAW,CAAC,aAAa;YACxC,oBAAoB,EAAE,WAAW,CAAC,oBAAoB;SACvD,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,QAAQ;QACR,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;KAC9C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAuC;IAChF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,QAAQ,CAAC,UAAU;SACvB,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC;SAC1C,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,CAAC;IAChC,OAAO,wBAAwB,CAAC,WAAW,CAAC,CAAC;AAC/C,CAAC","sourcesContent":["/**\n * Resolves an application's authored Settings Hub config into the rendered shape.\n *\n * Resolution is the join between the two halves of the placement split: the\n * engine's destination catalog (`ENGINE_SETTINGS_DESTINATIONS` — what a settings\n * surface IS) and the application's placements (where each one sits). Neither\n * half renders alone.\n *\n * There is deliberately **no framework default and no merge**. An earlier\n * revision returned `DEFAULT_SETTINGS_HUB_CONFIG`, a fully placed hub the engine\n * owned, and that is precisely why an application could not remove or reorder a\n * settings section: the render path read the framework's arrangement, so an\n * application's absence of an arrangement was indistinguishable from agreement\n * with it. Here, an unplaced destination does not render — absence is how a\n * section is removed, and nothing reasserts it.\n */\nimport { ENGINE_SETTINGS_DESTINATIONS } from './engine-settings-destinations';\nimport type {\n ResolvedSettingsHubConfig,\n SettingsDestination,\n SettingsHubConfig,\n SettingsSection,\n} from './settings-hub.frontend.schemas';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\n\n/** Catalog lookup by ref, built once — resolution runs on every hub render. */\nconst DESTINATIONS_BY_REF: ReadonlyMap<string, SettingsDestination> = new Map(\n ENGINE_SETTINGS_DESTINATIONS.map(destination => [destination.ref, destination]),\n);\n\n/**\n * Pure (React-free) resolution — the single source of truth shared by\n * {@link useSettingsHubConfig} (render path) and the DEV-startup\n * `verifySettingsHubContent` pass.\n *\n * Keeping resolution here, not inlined in the hook, is what lets the verifier\n * check the EXACT config the hub renders. Do not inline it into either caller:\n * the moment the two derive their config separately, the verifier starts\n * attesting to something nobody renders.\n *\n * A placement naming a ref absent from the catalog is DROPPED here and reported\n * by the verifier rather than throwing. Resolution runs on the render path, and\n * a hard throw there would take down the whole hub over one bad ref; the DEV\n * startup pass is where an author is present to read the diagnostic.\n */\nexport function resolveSettingsHubConfig(authored: SettingsHubConfig | undefined): ResolvedSettingsHubConfig {\n if (authored === undefined) {\n return { categories: [], sections: [] };\n }\n\n const sections: SettingsSection[] = [];\n for (const placement of authored.placements) {\n const destination = DESTINATIONS_BY_REF.get(placement.destinationRef);\n if (destination === undefined) {\n continue;\n }\n sections.push({\n ref: destination.ref,\n categoryRef: placement.categoryRef,\n // The authored label, falling back to the ref so an unlabelled placement is\n // visibly wrong in the rail rather than rendering an empty tab.\n //\n // It is NOT superseded by label generation, and deleting it is a\n // regression rather than a tidy-up. `tSettingsHubSection(ref, label)`\n // takes this as the fallback when no key exists — and, more importantly,\n // the companion feeds this exact string to the labellize prompt as the\n // key's `purpose`. Generating without it made the model invent from the\n // ref: \"User provisioning\" became \"SCIM\", \"Audit streaming\" became\n // \"SIEM\", and a generated key WINS over the fallback, so the rail's\n // wording changed. The authored string is the intent; generation\n // translates it.\n label: placement.label ?? destination.ref,\n icon: placement.icon,\n order: placement.order,\n target: destination.target,\n runtimeAvailability: destination.runtimeAvailability,\n requiredFeatures: destination.requiredFeatures,\n requiredRoles: destination.requiredRoles,\n entitlementFeatureId: destination.entitlementFeatureId,\n });\n }\n\n return {\n categories: authored.categories,\n sections,\n defaultSectionRef: authored.defaultSectionRef,\n };\n}\n\n/**\n * Every destination ref an authored config places that the catalog does not\n * ship. Reported by `verifySettingsHubContent`; see the note on\n * {@link resolveSettingsHubConfig} for why resolution drops rather than throws.\n */\nexport function findUnknownDestinationRefs(authored: SettingsHubConfig | undefined): string[] {\n if (authored === undefined) {\n return [];\n }\n return authored.placements\n .map(placement => placement.destinationRef)\n .filter(ref => !DESTINATIONS_BY_REF.has(ref));\n}\n\nexport function useSettingsHubConfig(): ResolvedSettingsHubConfig {\n const { settingsHub } = useUI();\n return resolveSettingsHubConfig(settingsHub);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useVisibleSettingsHubConfig.d.ts","sourceRoot":"","sources":["../../../../../src/core/config/useVisibleSettingsHubConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAUH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF,wBAAgB,2BAA2B,IAAI,yBAAyB,CAoCvE"}
1
+ {"version":3,"file":"useVisibleSettingsHubConfig.d.ts","sourceRoot":"","sources":["../../../../src/core/config/useVisibleSettingsHubConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAUH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF,wBAAgB,2BAA2B,IAAI,yBAAyB,CAoCvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"useVisibleSettingsHubConfig.js","sourceRoot":"","sources":["../../../../../src/core/config/useVisibleSettingsHubConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAC5E,OAAO,EAAE,qCAAqC,EAAE,MAAM,mEAAmE,CAAC;AAC1H,OAAO,EAAE,uBAAuB,EAAE,MAAM,yEAAyE,CAAC;AAClH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,MAAM,UAAU,2BAA2B;IACzC,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAAC;IACtC,MAAM,EAAE,gBAAgB,EAAE,GAAG,WAAW,EAAE,CAAC;IAC3C,MAAM,cAAc,GAAG,qCAAqC,EAAE,CAAC;IAE/D,MAAM,SAAS,GAAG,OAAO,CACvB,GAAG,EAAE,CAAC,uBAAuB,CAAC,WAAW,EAAE,QAAQ,EAAE,qBAAqB,CAAC,EAC3E,CAAC,WAAW,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAC/C,CAAC;IAEF,OAAO,OAAO,CACZ,GAAG,EAAE,CACH,uBAAuB,CAAC,SAAS,EAAE;QACjC,QAAQ,EAAE;YACR,aAAa,EAAE,QAAQ,EAAE,aAAa;YACtC,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB;YACtD,oBAAoB,EAAE,QAAQ,EAAE,oBAAoB;YACpD,sBAAsB,EAAE,QAAQ,EAAE,sBAAsB;SACzD;QACD,SAAS;QACT,eAAe,EAAE,gBAAgB,EAAE,QAAQ,IAAI,EAAE;QACjD,cAAc;KACf,CAAC,EACJ;QACE,SAAS;QACT,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,oBAAoB;QAC9B,QAAQ,EAAE,sBAAsB;QAChC,SAAS;QACT,gBAAgB,EAAE,QAAQ;QAC1B,cAAc;KACf,CACF,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Resolves the Settings Hub config gated to what the current user may see.\n *\n * Layered on {@link useSettingsHubConfig} (which resolves the application's\n * authored placements against the engine destination catalog): this hook\n * collects the live gating signals — primary scope, effective roles, resolved\n * features, runtime capabilities — and runs the pure\n * {@link filterSettingsHubConfig}. The hub component consumes the already-gated\n * config, so it never has to know about scope/role/feature evaluation.\n *\n * Note the two stages answer different questions and must stay separate. This\n * one asks \"may THIS USER see the section\" and its answer changes as the user's\n * scope and roles change. Resolution asks \"did the APPLICATION place it at all\",\n * and a `no` there is authorship, not gating — it must never be recoverable by a\n * user gaining a role.\n *\n * Signals are sourced from the SAME hooks the rest of the frontend gating layer\n * uses, so a settings section appears under exactly the same conditions as the\n * equivalent sidebar/command-menu entry:\n * - scope → `useAppScopeSafe`\n * - effective roles → `buildFeaturePolicyRoles(permissions, currentOrganizationId)`\n * - features → `useFeatures().resolvedFeatures`\n * - capabilities → `useLauncherRuntimeAvailabilityContext`\n */\n\nimport { useMemo } from 'react';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { useFeatures } from '~wildo-frontend-lib/core/features/useFeatures';\nimport { useLauncherRuntimeAvailabilityContext } from '~wildo-frontend-lib/core/navigation/launcher-runtime-availability';\nimport { buildFeaturePolicyRoles } from '~wildo-frontend-lib/core/features/feature-unavailability.frontend.utils';\nimport { useSettingsHubConfig } from './useSettingsHubConfig';\nimport { filterSettingsHubConfig } from './settings-hub-gating.frontend.utils';\nimport type { ResolvedSettingsHubConfig } from './settings-hub.frontend.schemas';\n\nexport function useVisibleSettingsHubConfig(): ResolvedSettingsHubConfig {\n const rawConfig = useSettingsHubConfig();\n const appScope = useAppScopeSafe();\n const { permissions } = useUserOrgs();\n const { resolvedFeatures } = useFeatures();\n const runtimeContext = useLauncherRuntimeAvailabilityContext();\n\n const userRoles = useMemo(\n () => buildFeaturePolicyRoles(permissions, appScope?.currentOrganizationId),\n [permissions, appScope?.currentOrganizationId],\n );\n\n return useMemo(\n () =>\n filterSettingsHubConfig(rawConfig, {\n scopeIds: {\n currentUserId: appScope?.currentUserId,\n currentOrganizationId: appScope?.currentOrganizationId,\n currentApplicationId: appScope?.currentApplicationId,\n currentAnonymousUserId: appScope?.currentAnonymousUserId,\n },\n userRoles,\n enabledFeatures: resolvedFeatures?.features ?? [],\n runtimeContext,\n }),\n [\n rawConfig,\n appScope?.currentUserId,\n appScope?.currentOrganizationId,\n appScope?.currentApplicationId,\n appScope?.currentAnonymousUserId,\n userRoles,\n resolvedFeatures?.features,\n runtimeContext,\n ],\n );\n}\n"]}
1
+ {"version":3,"file":"useVisibleSettingsHubConfig.js","sourceRoot":"","sources":["../../../../src/core/config/useVisibleSettingsHubConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAC5E,OAAO,EAAE,qCAAqC,EAAE,MAAM,mEAAmE,CAAC;AAC1H,OAAO,EAAE,uBAAuB,EAAE,MAAM,yEAAyE,CAAC;AAClH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,MAAM,UAAU,2BAA2B;IACzC,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAAC;IACtC,MAAM,EAAE,gBAAgB,EAAE,GAAG,WAAW,EAAE,CAAC;IAC3C,MAAM,cAAc,GAAG,qCAAqC,EAAE,CAAC;IAE/D,MAAM,SAAS,GAAG,OAAO,CACvB,GAAG,EAAE,CAAC,uBAAuB,CAAC,WAAW,EAAE,QAAQ,EAAE,qBAAqB,CAAC,EAC3E,CAAC,WAAW,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAC/C,CAAC;IAEF,OAAO,OAAO,CACZ,GAAG,EAAE,CACH,uBAAuB,CAAC,SAAS,EAAE;QACjC,QAAQ,EAAE;YACR,aAAa,EAAE,QAAQ,EAAE,aAAa;YACtC,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB;YACtD,oBAAoB,EAAE,QAAQ,EAAE,oBAAoB;YACpD,sBAAsB,EAAE,QAAQ,EAAE,sBAAsB;SACzD;QACD,SAAS;QACT,eAAe,EAAE,gBAAgB,EAAE,QAAQ,IAAI,EAAE;QACjD,cAAc;KACf,CAAC,EACJ;QACE,SAAS;QACT,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,oBAAoB;QAC9B,QAAQ,EAAE,sBAAsB;QAChC,SAAS;QACT,gBAAgB,EAAE,QAAQ;QAC1B,cAAc;KACf,CACF,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Resolves the Settings Hub config gated to what the current user may see.\n *\n * Layered on {@link useSettingsHubConfig} (which resolves the application's\n * authored placements against the engine destination catalog): this hook\n * collects the live gating signals — primary scope, effective roles, resolved\n * features, runtime capabilities — and runs the pure\n * {@link filterSettingsHubConfig}. The hub component consumes the already-gated\n * config, so it never has to know about scope/role/feature evaluation.\n *\n * Note the two stages answer different questions and must stay separate. This\n * one asks \"may THIS USER see the section\" and its answer changes as the user's\n * scope and roles change. Resolution asks \"did the APPLICATION place it at all\",\n * and a `no` there is authorship, not gating — it must never be recoverable by a\n * user gaining a role.\n *\n * Signals are sourced from the SAME hooks the rest of the frontend gating layer\n * uses, so a settings section appears under exactly the same conditions as the\n * equivalent sidebar/command-menu entry:\n * - scope → `useAppScopeSafe`\n * - effective roles → `buildFeaturePolicyRoles(permissions, currentOrganizationId)`\n * - features → `useFeatures().resolvedFeatures`\n * - capabilities → `useLauncherRuntimeAvailabilityContext`\n */\n\nimport { useMemo } from 'react';\nimport { useAppScopeSafe } from '~wildo-frontend-lib/core/scope/useAppScope';\nimport { useUserOrgs } from '~wildo-frontend-lib/core/security/useUserOrgs';\nimport { useFeatures } from '~wildo-frontend-lib/core/features/useFeatures';\nimport { useLauncherRuntimeAvailabilityContext } from '~wildo-frontend-lib/core/navigation/launcher-runtime-availability';\nimport { buildFeaturePolicyRoles } from '~wildo-frontend-lib/core/features/feature-unavailability.frontend.utils';\nimport { useSettingsHubConfig } from './useSettingsHubConfig';\nimport { filterSettingsHubConfig } from './settings-hub-gating.frontend.utils';\nimport type { ResolvedSettingsHubConfig } from './settings-hub.frontend.schemas';\n\nexport function useVisibleSettingsHubConfig(): ResolvedSettingsHubConfig {\n const rawConfig = useSettingsHubConfig();\n const appScope = useAppScopeSafe();\n const { permissions } = useUserOrgs();\n const { resolvedFeatures } = useFeatures();\n const runtimeContext = useLauncherRuntimeAvailabilityContext();\n\n const userRoles = useMemo(\n () => buildFeaturePolicyRoles(permissions, appScope?.currentOrganizationId),\n [permissions, appScope?.currentOrganizationId],\n );\n\n return useMemo(\n () =>\n filterSettingsHubConfig(rawConfig, {\n scopeIds: {\n currentUserId: appScope?.currentUserId,\n currentOrganizationId: appScope?.currentOrganizationId,\n currentApplicationId: appScope?.currentApplicationId,\n currentAnonymousUserId: appScope?.currentAnonymousUserId,\n },\n userRoles,\n enabledFeatures: resolvedFeatures?.features ?? [],\n runtimeContext,\n }),\n [\n rawConfig,\n appScope?.currentUserId,\n appScope?.currentOrganizationId,\n appScope?.currentApplicationId,\n appScope?.currentAnonymousUserId,\n userRoles,\n resolvedFeatures?.features,\n runtimeContext,\n ],\n );\n}\n"]}
@@ -14,5 +14,12 @@ export declare function verifyFrontendFeatureReferences(params: {
14
14
  resourcesRegistry: FrontendResourcesRegistry;
15
15
  appConfig: AppConfiguration_Frontend;
16
16
  featureConfiguration: FeatureConfiguration;
17
+ /**
18
+ * Whether a component ref resolves in `ComponentRegistryService`. Optional so a caller that
19
+ * verifies BEFORE component registration still gets the reference checks; the CUSTOM-behaviour
20
+ * check simply does not run without it. `start-application.frontend.service.ts` passes it,
21
+ * deliberately after `componentLoader()`.
22
+ */
23
+ isComponentRegistered?: (componentRef: string) => boolean;
17
24
  }): FrontendFeatureReferenceVerificationResult;
18
25
  //# sourceMappingURL=verify-feature-references.frontend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify-feature-references.frontend.d.ts","sourceRoot":"","sources":["../../../../../src/core/config/verify-feature-references.frontend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,gCAAgC,EAGjC,MAAM,uBAAuB,CAAC;AAK/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,+DAA+D,CAAC;AAEvE,MAAM,WAAW,0CAA2C,SAAQ,gCAAgC;IAClG,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IACtD,iBAAiB,EAAE,yBAAyB,CAAC;IAC7C,SAAS,EAAE,yBAAyB,CAAC;IACrC,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C,GAAG,0CAA0C,CA6B7C"}
1
+ {"version":3,"file":"verify-feature-references.frontend.d.ts","sourceRoot":"","sources":["../../../../src/core/config/verify-feature-references.frontend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,gCAAgC,EAGjC,MAAM,uBAAuB,CAAC;AAM/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,+DAA+D,CAAC;AAEvE,MAAM,WAAW,0CAA2C,SAAQ,gCAAgC;IAClG,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IACtD,iBAAiB,EAAE,yBAAyB,CAAC;IAC7C,SAAS,EAAE,yBAAyB,CAAC;IACrC,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3D,GAAG,0CAA0C,CAiC7C"}
@@ -1,4 +1,4 @@
1
- import { collectFeatureReferenceValidationIssues, extractFeatureReferencesFromRequiredFeatures, } from '@wildo-ai/saas-models';
1
+ import { collectFeatureReferenceValidationIssues, extractFeatureReferencesFromRequiredFeatures, FeatureUnavailabilityBehavior, } from '@wildo-ai/saas-models';
2
2
  /**
3
3
  * DEV-time validation for frontend-authored feature refs that never pass
4
4
  * through backend startup. This covers app-level views plus resource-owned UI
@@ -14,6 +14,7 @@ export function verifyFrontendFeatureReferences(params) {
14
14
  usages,
15
15
  });
16
16
  const warnings = [
17
+ ...collectCustomUnavailabilityComponentWarnings(params.featureConfiguration, params.isComponentRegistered),
17
18
  ...issues.unknownIssues.map((issue) => (`${issue.surface}: unknown feature reference(s): ${formatFeatureReferences(issue.references)}`)),
18
19
  ...issues.incompatibleIssues.map((issue) => (`${issue.surface}: incompatible feature reference(s): ${issue.references
19
20
  .map((reference) => (`'${reference.featureId}' via ${reference.slotLabel} expects ${reference.expectedValueType} but registry defines ${reference.actualValueType}`))
@@ -25,6 +26,46 @@ export function verifyFrontendFeatureReferences(params) {
25
26
  isValid: warnings.length === 0,
26
27
  };
27
28
  }
29
+ /**
30
+ * CUSTOM unavailability behaviour, checked at authoring time.
31
+ *
32
+ * The engine resolves `unavailability.customComponentRef` through `ComponentRegistryService` and
33
+ * renders the declared component. A ref naming nothing registered would otherwise reach a user as
34
+ * `ComponentNotInjected` — better than the silence this replaced (#440), but still a runtime
35
+ * surprise for something knowable at startup. Same trade as the launcher's
36
+ * HOSTED_COMPONENT_NOT_CONFIGURED check, and deliberately the same shape.
37
+ *
38
+ * Two shapes are reported, and the second is the one that used to be invisible:
39
+ * - a ref that resolves to no registered component;
40
+ * - CUSTOM selected with NO ref at all, which renders the generic prompt and is therefore
41
+ * indistinguishable from DISABLE — the exact state that made this behaviour look inert.
42
+ *
43
+ * `byRole` overrides are checked too: a role-specific CUSTOM has the same requirement as the
44
+ * feature-level one, and reads from the same single `customComponentRef`.
45
+ */
46
+ function collectCustomUnavailabilityComponentWarnings(featureConfiguration, isComponentRegistered) {
47
+ const warnings = [];
48
+ for (const definition of featureConfiguration.definitions ?? []) {
49
+ const unavailability = definition.unavailability;
50
+ if (!unavailability) {
51
+ continue;
52
+ }
53
+ const selectsCustom = unavailability.behavior === FeatureUnavailabilityBehavior.CUSTOM
54
+ || Object.values(unavailability.byRole ?? {}).includes(FeatureUnavailabilityBehavior.CUSTOM);
55
+ if (!selectsCustom) {
56
+ continue;
57
+ }
58
+ const componentRef = unavailability.customComponentRef;
59
+ if (!componentRef) {
60
+ warnings.push(`feature '${definition.identifier}': unavailability behavior CUSTOM declares no customComponentRef, so it renders the generic prompt and behaves identically to DISABLE`);
61
+ continue;
62
+ }
63
+ if (isComponentRegistered && !isComponentRegistered(componentRef)) {
64
+ warnings.push(`feature '${definition.identifier}': customComponentRef '${componentRef}' is not registered in ComponentRegistryService`);
65
+ }
66
+ }
67
+ return warnings;
68
+ }
28
69
  function collectAppViewFeatureReferenceUsages(appConfig) {
29
70
  return [
30
71
  ...collectViewArrayFeatureReferenceUsages(appConfig.compositeViews, (view) => `frontend composite view '${view.ref}'`),
@@ -1 +1 @@
1
- {"version":3,"file":"verify-feature-references.frontend.js","sourceRoot":"","sources":["../../../../../src/core/config/verify-feature-references.frontend.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n FeatureConfiguration,\n FeatureReferenceValidationIssues,\n FeatureReferenceEntry,\n FeatureReferenceUsage,\n} from '@wildo-ai/saas-models';\nimport {\n collectFeatureReferenceValidationIssues,\n extractFeatureReferencesFromRequiredFeatures,\n} from '@wildo-ai/saas-models';\nimport type { AppConfiguration_Frontend } from './app-configuration-frontend.schemas';\nimport type {\n AnyFrontendResourceConfiguration,\n FrontendResourcesRegistry,\n} from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\n\nexport interface FrontendFeatureReferenceVerificationResult extends FeatureReferenceValidationIssues {\n isValid: boolean;\n warnings: string[];\n}\n\n/**\n * DEV-time validation for frontend-authored feature refs that never pass\n * through backend startup. This covers app-level views plus resource-owned UI\n * declarations such as inserted charts and resource guidance.\n */\nexport function verifyFrontendFeatureReferences(params: {\n resourcesRegistry: FrontendResourcesRegistry;\n appConfig: AppConfiguration_Frontend;\n featureConfiguration: FeatureConfiguration;\n}): FrontendFeatureReferenceVerificationResult {\n const usages: FeatureReferenceUsage[] = [\n ...collectAppViewFeatureReferenceUsages(params.appConfig),\n ...collectResourceConfigurationFeatureReferenceUsages(params.resourcesRegistry),\n ];\n\n const issues = collectFeatureReferenceValidationIssues({\n definitions: params.featureConfiguration.definitions,\n usages,\n });\n\n const warnings = [\n ...issues.unknownIssues.map((issue) => (\n `${issue.surface}: unknown feature reference(s): ${formatFeatureReferences(issue.references)}`\n )),\n ...issues.incompatibleIssues.map((issue) => (\n `${issue.surface}: incompatible feature reference(s): ${issue.references\n .map((reference) => (\n `'${reference.featureId}' via ${reference.slotLabel} expects ${reference.expectedValueType} but registry defines ${reference.actualValueType}`\n ))\n .join(', ')}`\n )),\n ];\n\n return {\n ...issues,\n warnings,\n isValid: warnings.length === 0,\n };\n}\n\nfunction collectAppViewFeatureReferenceUsages(\n appConfig: AppConfiguration_Frontend,\n): FeatureReferenceUsage[] {\n return [\n ...collectViewArrayFeatureReferenceUsages(\n appConfig.compositeViews,\n (view) => `frontend composite view '${view.ref}'`,\n ),\n ...collectViewArrayFeatureReferenceUsages(\n appConfig.fullCustomViews,\n (view) => `frontend full custom view '${view.ref}'`,\n ),\n ...collectViewArrayFeatureReferenceUsages(\n appConfig.flowsActorsViews,\n (view) => `frontend flows/actors view '${view.ref}'`,\n ),\n ...collectViewArrayFeatureReferenceUsages(\n appConfig.onboardingViews,\n (view) => `frontend onboarding view '${view.ref}'`,\n ),\n ...collectFrontendGuidanceFlowFeatureReferenceUsages(appConfig),\n ];\n}\n\nfunction collectFrontendGuidanceFlowFeatureReferenceUsages(\n appConfig: AppConfiguration_Frontend,\n): FeatureReferenceUsage[] {\n return (appConfig.guidanceFlows ?? []).flatMap((flow) => {\n const references = extractFeatureReferencesFromRequiredFeatures(\n flow.audience?.requiredFeatures,\n );\n if (references.length === 0) {\n return [];\n }\n\n return [{\n surface: `frontend guidance flow '${flow.ref}' audience`,\n references,\n }];\n });\n}\n\nfunction collectViewArrayFeatureReferenceUsages<T extends { ref?: string; requiredFeatures?: unknown }>(\n views: T[] | undefined,\n surfaceBuilder: (view: T, index: number) => string,\n): FeatureReferenceUsage[] {\n if (!views) {\n return [];\n }\n\n return views.flatMap((view, index) => {\n const references = extractFeatureReferencesFromRequiredFeatures(\n view.requiredFeatures as never,\n );\n if (references.length === 0) {\n return [];\n }\n\n return [{\n surface: surfaceBuilder(view, index),\n references,\n }];\n });\n}\n\nfunction collectResourceConfigurationFeatureReferenceUsages(\n resourcesRegistry: FrontendResourcesRegistry,\n): FeatureReferenceUsage[] {\n return Object.entries(resourcesRegistry.resourceConfigurations).flatMap(\n ([resourceType, resourceConfiguration]) => (\n collectSingleResourceConfigurationFeatureReferenceUsages(\n resourceType,\n resourceConfiguration,\n )\n ),\n );\n}\n\nfunction collectSingleResourceConfigurationFeatureReferenceUsages(\n resourceType: string,\n resourceConfiguration: AnyFrontendResourceConfiguration,\n): FeatureReferenceUsage[] {\n const frontendConfiguration = resourceConfiguration.frontendConfiguration;\n\n return [\n ...(frontendConfiguration?.compositeViews ?? []).flatMap((view) => {\n const references = extractFeatureReferencesFromRequiredFeatures(view.requiredFeatures);\n if (references.length === 0) {\n return [];\n }\n\n return [{\n surface: `resource '${resourceType}' composite view '${view.ref}'`,\n references,\n }];\n }),\n ...(frontendConfiguration?.chartViews ?? []).flatMap((view) => {\n const references = extractFeatureReferencesFromRequiredFeatures(\n view.chartDefinition.requiredFeatures,\n );\n if (references.length === 0) {\n return [];\n }\n\n return [{\n surface: `resource '${resourceType}' chart '${view.ref}'`,\n references,\n }];\n }),\n ...(frontendConfiguration?.executionViews ?? []).flatMap((view) => {\n const references = extractFeatureReferencesFromRequiredFeatures(view.requiredFeatures);\n if (references.length === 0) {\n return [];\n }\n\n return [{\n surface: `resource '${resourceType}' execution view '${view.ref}'`,\n references,\n }];\n }),\n ...(frontendConfiguration?.guidance ?? []).flatMap((flow) => {\n const references = extractFeatureReferencesFromRequiredFeatures(\n flow.audience?.requiredFeatures,\n );\n if (references.length === 0) {\n return [];\n }\n\n return [{\n surface: `resource '${resourceType}' guidance flow '${flow.ref}' audience`,\n references,\n }];\n }),\n ];\n}\n\nfunction formatFeatureReferences(references: FeatureReferenceEntry[]): string {\n return references\n .map((reference) => `'${reference.featureId}' via ${reference.slotLabel}`)\n .join(', ');\n}\n"]}
1
+ {"version":3,"file":"verify-feature-references.frontend.js","sourceRoot":"","sources":["../../../../src/core/config/verify-feature-references.frontend.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n FeatureConfiguration,\n FeatureReferenceValidationIssues,\n FeatureReferenceEntry,\n FeatureReferenceUsage,\n} from '@wildo-ai/saas-models';\nimport {\n collectFeatureReferenceValidationIssues,\n extractFeatureReferencesFromRequiredFeatures,\n FeatureUnavailabilityBehavior,\n} from '@wildo-ai/saas-models';\nimport type { AppConfiguration_Frontend } from './app-configuration-frontend.schemas';\nimport type {\n AnyFrontendResourceConfiguration,\n FrontendResourcesRegistry,\n} from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\n\nexport interface FrontendFeatureReferenceVerificationResult extends FeatureReferenceValidationIssues {\n isValid: boolean;\n warnings: string[];\n}\n\n/**\n * DEV-time validation for frontend-authored feature refs that never pass\n * through backend startup. This covers app-level views plus resource-owned UI\n * declarations such as inserted charts and resource guidance.\n */\nexport function verifyFrontendFeatureReferences(params: {\n resourcesRegistry: FrontendResourcesRegistry;\n appConfig: AppConfiguration_Frontend;\n featureConfiguration: FeatureConfiguration;\n /**\n * Whether a component ref resolves in `ComponentRegistryService`. Optional so a caller that\n * verifies BEFORE component registration still gets the reference checks; the CUSTOM-behaviour\n * check simply does not run without it. `start-application.frontend.service.ts` passes it,\n * deliberately after `componentLoader()`.\n */\n isComponentRegistered?: (componentRef: string) => boolean;\n}): FrontendFeatureReferenceVerificationResult {\n const usages: FeatureReferenceUsage[] = [\n ...collectAppViewFeatureReferenceUsages(params.appConfig),\n ...collectResourceConfigurationFeatureReferenceUsages(params.resourcesRegistry),\n ];\n\n const issues = collectFeatureReferenceValidationIssues({\n definitions: params.featureConfiguration.definitions,\n usages,\n });\n\n const warnings = [\n ...collectCustomUnavailabilityComponentWarnings(\n params.featureConfiguration,\n params.isComponentRegistered,\n ),\n ...issues.unknownIssues.map((issue) => (\n `${issue.surface}: unknown feature reference(s): ${formatFeatureReferences(issue.references)}`\n )),\n ...issues.incompatibleIssues.map((issue) => (\n `${issue.surface}: incompatible feature reference(s): ${issue.references\n .map((reference) => (\n `'${reference.featureId}' via ${reference.slotLabel} expects ${reference.expectedValueType} but registry defines ${reference.actualValueType}`\n ))\n .join(', ')}`\n )),\n ];\n\n return {\n ...issues,\n warnings,\n isValid: warnings.length === 0,\n };\n}\n\n/**\n * CUSTOM unavailability behaviour, checked at authoring time.\n *\n * The engine resolves `unavailability.customComponentRef` through `ComponentRegistryService` and\n * renders the declared component. A ref naming nothing registered would otherwise reach a user as\n * `ComponentNotInjected` — better than the silence this replaced (#440), but still a runtime\n * surprise for something knowable at startup. Same trade as the launcher's\n * HOSTED_COMPONENT_NOT_CONFIGURED check, and deliberately the same shape.\n *\n * Two shapes are reported, and the second is the one that used to be invisible:\n * - a ref that resolves to no registered component;\n * - CUSTOM selected with NO ref at all, which renders the generic prompt and is therefore\n * indistinguishable from DISABLE — the exact state that made this behaviour look inert.\n *\n * `byRole` overrides are checked too: a role-specific CUSTOM has the same requirement as the\n * feature-level one, and reads from the same single `customComponentRef`.\n */\nfunction collectCustomUnavailabilityComponentWarnings(\n featureConfiguration: FeatureConfiguration,\n isComponentRegistered?: (componentRef: string) => boolean,\n): string[] {\n const warnings: string[] = [];\n\n for (const definition of featureConfiguration.definitions ?? []) {\n const unavailability = definition.unavailability;\n if (!unavailability) {\n continue;\n }\n\n const selectsCustom = unavailability.behavior === FeatureUnavailabilityBehavior.CUSTOM\n || Object.values(unavailability.byRole ?? {}).includes(FeatureUnavailabilityBehavior.CUSTOM);\n if (!selectsCustom) {\n continue;\n }\n\n const componentRef = unavailability.customComponentRef;\n if (!componentRef) {\n warnings.push(\n `feature '${definition.identifier}': unavailability behavior CUSTOM declares no customComponentRef, so it renders the generic prompt and behaves identically to DISABLE`,\n );\n continue;\n }\n\n if (isComponentRegistered && !isComponentRegistered(componentRef)) {\n warnings.push(\n `feature '${definition.identifier}': customComponentRef '${componentRef}' is not registered in ComponentRegistryService`,\n );\n }\n }\n\n return warnings;\n}\n\nfunction collectAppViewFeatureReferenceUsages(\n appConfig: AppConfiguration_Frontend,\n): FeatureReferenceUsage[] {\n return [\n ...collectViewArrayFeatureReferenceUsages(\n appConfig.compositeViews,\n (view) => `frontend composite view '${view.ref}'`,\n ),\n ...collectViewArrayFeatureReferenceUsages(\n appConfig.fullCustomViews,\n (view) => `frontend full custom view '${view.ref}'`,\n ),\n ...collectViewArrayFeatureReferenceUsages(\n appConfig.flowsActorsViews,\n (view) => `frontend flows/actors view '${view.ref}'`,\n ),\n ...collectViewArrayFeatureReferenceUsages(\n appConfig.onboardingViews,\n (view) => `frontend onboarding view '${view.ref}'`,\n ),\n ...collectFrontendGuidanceFlowFeatureReferenceUsages(appConfig),\n ];\n}\n\nfunction collectFrontendGuidanceFlowFeatureReferenceUsages(\n appConfig: AppConfiguration_Frontend,\n): FeatureReferenceUsage[] {\n return (appConfig.guidanceFlows ?? []).flatMap((flow) => {\n const references = extractFeatureReferencesFromRequiredFeatures(\n flow.audience?.requiredFeatures,\n );\n if (references.length === 0) {\n return [];\n }\n\n return [{\n surface: `frontend guidance flow '${flow.ref}' audience`,\n references,\n }];\n });\n}\n\nfunction collectViewArrayFeatureReferenceUsages<T extends { ref?: string; requiredFeatures?: unknown }>(\n views: T[] | undefined,\n surfaceBuilder: (view: T, index: number) => string,\n): FeatureReferenceUsage[] {\n if (!views) {\n return [];\n }\n\n return views.flatMap((view, index) => {\n const references = extractFeatureReferencesFromRequiredFeatures(\n view.requiredFeatures as never,\n );\n if (references.length === 0) {\n return [];\n }\n\n return [{\n surface: surfaceBuilder(view, index),\n references,\n }];\n });\n}\n\nfunction collectResourceConfigurationFeatureReferenceUsages(\n resourcesRegistry: FrontendResourcesRegistry,\n): FeatureReferenceUsage[] {\n return Object.entries(resourcesRegistry.resourceConfigurations).flatMap(\n ([resourceType, resourceConfiguration]) => (\n collectSingleResourceConfigurationFeatureReferenceUsages(\n resourceType,\n resourceConfiguration,\n )\n ),\n );\n}\n\nfunction collectSingleResourceConfigurationFeatureReferenceUsages(\n resourceType: string,\n resourceConfiguration: AnyFrontendResourceConfiguration,\n): FeatureReferenceUsage[] {\n const frontendConfiguration = resourceConfiguration.frontendConfiguration;\n\n return [\n ...(frontendConfiguration?.compositeViews ?? []).flatMap((view) => {\n const references = extractFeatureReferencesFromRequiredFeatures(view.requiredFeatures);\n if (references.length === 0) {\n return [];\n }\n\n return [{\n surface: `resource '${resourceType}' composite view '${view.ref}'`,\n references,\n }];\n }),\n ...(frontendConfiguration?.chartViews ?? []).flatMap((view) => {\n const references = extractFeatureReferencesFromRequiredFeatures(\n view.chartDefinition.requiredFeatures,\n );\n if (references.length === 0) {\n return [];\n }\n\n return [{\n surface: `resource '${resourceType}' chart '${view.ref}'`,\n references,\n }];\n }),\n ...(frontendConfiguration?.executionViews ?? []).flatMap((view) => {\n const references = extractFeatureReferencesFromRequiredFeatures(view.requiredFeatures);\n if (references.length === 0) {\n return [];\n }\n\n return [{\n surface: `resource '${resourceType}' execution view '${view.ref}'`,\n references,\n }];\n }),\n ...(frontendConfiguration?.guidance ?? []).flatMap((flow) => {\n const references = extractFeatureReferencesFromRequiredFeatures(\n flow.audience?.requiredFeatures,\n );\n if (references.length === 0) {\n return [];\n }\n\n return [{\n surface: `resource '${resourceType}' guidance flow '${flow.ref}' audience`,\n references,\n }];\n }),\n ];\n}\n\nfunction formatFeatureReferences(references: FeatureReferenceEntry[]): string {\n return references\n .map((reference) => `'${reference.featureId}' via ${reference.slotLabel}`)\n .join(', ');\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"verify-launcher-content.d.ts","sourceRoot":"","sources":["../../../../../src/core/config/verify-launcher-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,KAAK,EAAE,yBAAyB,EAAoC,MAAM,+DAA+D,CAAC;AAoCjJ,oBAAY,4BAA4B;IACtC,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAID,oBAAY,6BAA6B;IACvC,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;IACzC,qBAAqB,0BAA0B;IAC/C,mCAAmC,wCAAwC;IAC3E,0CAA0C,+CAA+C;IACzF,+CAA+C,oDAAoD;IACnG,qCAAqC,0CAA0C;IAC/E,qCAAqC,0CAA0C;IAC/E,+BAA+B,oCAAoC;IACnE,uBAAuB,4BAA4B;IACnD,gCAAgC,qCAAqC;IACrE,iCAAiC,sCAAsC;IACvE,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C;;;;;;OAMG;IACH,2BAA2B,gCAAgC;CAC5D;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,4BAA4B,CAAC;IACvC,IAAI,EAAE,6BAA6B,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACpC,OAAO,EAAE,OAAO,CAAC;CAClB;AAkeD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,yBAAyB,EACnC,SAAS,EAAE,yBAAyB,EACpC,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,GACxD,0BAA0B,CAkK5B;AAMD;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,0BAA0B,GAAG,IAAI,CAqB1F"}
1
+ {"version":3,"file":"verify-launcher-content.d.ts","sourceRoot":"","sources":["../../../../src/core/config/verify-launcher-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,KAAK,EAAE,yBAAyB,EAAoC,MAAM,+DAA+D,CAAC;AAoCjJ,oBAAY,4BAA4B;IACtC,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAID,oBAAY,6BAA6B;IACvC,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;IACzC,qBAAqB,0BAA0B;IAC/C,mCAAmC,wCAAwC;IAC3E,0CAA0C,+CAA+C;IACzF,+CAA+C,oDAAoD;IACnG,qCAAqC,0CAA0C;IAC/E,qCAAqC,0CAA0C;IAC/E,+BAA+B,oCAAoC;IACnE,uBAAuB,4BAA4B;IACnD,gCAAgC,qCAAqC;IACrE,iCAAiC,sCAAsC;IACvE,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C;;;;;;OAMG;IACH,2BAA2B,gCAAgC;CAC5D;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,4BAA4B,CAAC;IACvC,IAAI,EAAE,6BAA6B,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACpC,OAAO,EAAE,OAAO,CAAC;CAClB;AA0eD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,yBAAyB,EACnC,SAAS,EAAE,yBAAyB,EACpC,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,GACxD,0BAA0B,CAkK5B;AAMD;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,0BAA0B,GAAG,IAAI,CAqB1F"}
@@ -12,6 +12,7 @@
12
12
  * @see launcher-operation-binding-analysis.md §3.11
13
13
  * @see app-shell-implementation-plan.md Step 5
14
14
  */
15
+ import { notificationBadgeIdentityKey } from '@wildo-ai/saas-models';
15
16
  import { FrontendView_ScopeMode } from './views-frontend.schemas.js';
16
17
  import { findResourceOwnedViewReferenceMatches, resolveResourceOwnedViewReference, } from './resource-owned-view-resolution.frontend.utils.js';
17
18
  import { findDuplicateAppScopeResourceTypes, } from './app-configuration-frontend.schemas.js';
@@ -315,13 +316,19 @@ placedSettingsSectionRefs, isComponentRegistered) {
315
316
  function verifySidebarItems(items, context, registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered) {
316
317
  for (const item of items) {
317
318
  verifyItemRef(item, context, registry, viewRegistry, errors, placedSettingsSectionRefs, isComponentRegistered);
319
+ // Matched on the badge KEY (`<scope>:<identifier>`), which is what `NavigationItemBadge`
320
+ // resolves with and what the badge store indexes by. Matching on the bare `identifier` — the
321
+ // previous behaviour — accepted a ref that names a definition at a DIFFERENT scope from the one
322
+ // that would actually render, and reported nothing.
318
323
  if (item.notificationBadgeRef
319
- && !registry.notificationBadgeDefinitions.some((definition) => definition.identifier === item.notificationBadgeRef)) {
324
+ && !registry.notificationBadgeDefinitions.some((definition) => notificationBadgeIdentityKey(definition) === item.notificationBadgeRef)) {
320
325
  errors.push({
321
326
  severity: LauncherVerificationSeverity.ERROR,
322
327
  code: LauncherVerificationErrorCode.NOTIFICATION_BADGE_REF_NOT_FOUND,
323
328
  context,
324
- message: `notificationBadgeRef "${item.notificationBadgeRef}" does not resolve to a registered notification badge definition`,
329
+ message: `notificationBadgeRef "${item.notificationBadgeRef}" does not resolve to a registered notification badge definition. `
330
+ + `A ref is a badge key ("<scope>:<identifier>"); registered keys are: `
331
+ + `${registry.notificationBadgeDefinitions.map(notificationBadgeIdentityKey).join(', ') || '(none)'}`,
325
332
  item,
326
333
  });
327
334
  }