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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1938) hide show
  1. package/dist/esm/browser-bootstrap/theme-bootstrap.d.ts.map +1 -1
  2. package/dist/esm/browser-bootstrap/theme-bootstrap.js.map +1 -1
  3. package/dist/esm/browser-bootstrap.exports.d.ts.map +1 -1
  4. package/dist/esm/browser-bootstrap.exports.js.map +1 -1
  5. package/dist/esm/companion-exports.d.ts +1 -1
  6. package/dist/esm/companion-exports.d.ts.map +1 -1
  7. package/dist/esm/companion-exports.js +1 -1
  8. package/dist/esm/companion-exports.js.map +1 -1
  9. package/dist/esm/companion-runtime-exports.d.ts.map +1 -1
  10. package/dist/esm/companion-runtime-exports.js.map +1 -1
  11. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  12. package/dist/esm/components/actions/action-bar.js.map +1 -1
  13. package/dist/esm/components/actions/action-button.d.ts.map +1 -1
  14. package/dist/esm/components/actions/action-button.js.map +1 -1
  15. package/dist/esm/components/actions/button-group.d.ts.map +1 -1
  16. package/dist/esm/components/actions/button-group.js.map +1 -1
  17. package/dist/esm/components/actions/button.d.ts.map +1 -1
  18. package/dist/esm/components/actions/button.js.map +1 -1
  19. package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.d.ts.map +1 -1
  20. package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.js.map +1 -1
  21. package/dist/esm/components/ai-elements/artifacts/artifact-list.d.ts.map +1 -1
  22. package/dist/esm/components/ai-elements/artifacts/artifact-list.js.map +1 -1
  23. package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
  24. package/dist/esm/components/ai-elements/artifacts/artifact.js.map +1 -1
  25. package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
  26. package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
  27. package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
  28. package/dist/esm/components/ai-elements/artifacts/image.js.map +1 -1
  29. package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
  30. package/dist/esm/components/ai-elements/artifacts/web-preview.js.map +1 -1
  31. package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
  32. package/dist/esm/components/ai-elements/chat/conversation.js.map +1 -1
  33. package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
  34. package/dist/esm/components/ai-elements/chat/message.js.map +1 -1
  35. package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
  36. package/dist/esm/components/ai-elements/chat/prompt-input.js.map +1 -1
  37. package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
  38. package/dist/esm/components/ai-elements/chat/sources.js.map +1 -1
  39. package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
  40. package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
  41. package/dist/esm/components/ai-elements/decision/approval.d.ts +28 -3
  42. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  43. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  44. package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
  45. package/dist/esm/components/ai-elements/execution/confirmation.js.map +1 -1
  46. package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
  47. package/dist/esm/components/ai-elements/execution/queue.js.map +1 -1
  48. package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
  49. package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
  50. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  51. package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
  52. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  53. package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
  54. package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
  55. package/dist/esm/components/ai-elements/graph/connection.js.map +1 -1
  56. package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
  57. package/dist/esm/components/ai-elements/graph/controls.js.map +1 -1
  58. package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
  59. package/dist/esm/components/ai-elements/graph/edge.js.map +1 -1
  60. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  61. package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
  62. package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
  63. package/dist/esm/components/ai-elements/graph/panel.js.map +1 -1
  64. package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
  65. package/dist/esm/components/ai-elements/graph/toolbar.js.map +1 -1
  66. package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts.map +1 -1
  67. package/dist/esm/components/ai-elements/meta/agent-wrappers.js.map +1 -1
  68. package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
  69. package/dist/esm/components/ai-elements/meta/context.js.map +1 -1
  70. package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
  71. package/dist/esm/components/ai-elements/meta/model-selector.js.map +1 -1
  72. package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
  73. package/dist/esm/components/ai-elements/meta/open-in-chat.js.map +1 -1
  74. package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
  75. package/dist/esm/components/ai-elements/shared/loader.js.map +1 -1
  76. package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
  77. package/dist/esm/components/ai-elements/shared/shimmer.js.map +1 -1
  78. package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
  79. package/dist/esm/components/ai-elements/stream/execution-stream.js.map +1 -1
  80. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
  81. package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
  82. package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
  83. package/dist/esm/components/ai-elements/trace/checkpoint.js.map +1 -1
  84. package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
  85. package/dist/esm/components/ai-elements/trace/inline-citation.js.map +1 -1
  86. package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
  87. package/dist/esm/components/ai-elements/trace/plan.js.map +1 -1
  88. package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
  89. package/dist/esm/components/ai-elements/trace/reasoning.js.map +1 -1
  90. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
  91. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
  92. package/dist/esm/components/app/AppLayout_ErrorBoundary.d.ts.map +1 -1
  93. package/dist/esm/components/app/AppLayout_ErrorBoundary.js.map +1 -1
  94. package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.d.ts.map +1 -1
  95. package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.js.map +1 -1
  96. package/dist/esm/components/app/AppLayout_Home.d.ts.map +1 -1
  97. package/dist/esm/components/app/AppLayout_Home.js.map +1 -1
  98. package/dist/esm/components/app/AppLayout_Home.labels.d.ts.map +1 -1
  99. package/dist/esm/components/app/AppLayout_Home.labels.js.map +1 -1
  100. package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
  101. package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
  102. package/dist/esm/components/app/AppLayout_NotificationCenter.d.ts.map +1 -1
  103. package/dist/esm/components/app/AppLayout_NotificationCenter.js +7 -2
  104. package/dist/esm/components/app/AppLayout_NotificationCenter.js.map +1 -1
  105. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.d.ts.map +1 -1
  106. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.js.map +1 -1
  107. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.d.ts.map +1 -1
  108. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.js.map +1 -1
  109. package/dist/esm/components/app/AppPage_Home.d.ts.map +1 -1
  110. package/dist/esm/components/app/AppPage_Home.js.map +1 -1
  111. package/dist/esm/components/app/PublicLayout_MainContainer.d.ts.map +1 -1
  112. package/dist/esm/components/app/PublicLayout_MainContainer.js.map +1 -1
  113. package/dist/esm/components/app/PublicLayout_StaticContentContainer.d.ts.map +1 -1
  114. package/dist/esm/components/app/PublicLayout_StaticContentContainer.js.map +1 -1
  115. package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.d.ts.map +1 -1
  116. package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.js.map +1 -1
  117. package/dist/esm/components/app/PublicLayout_Terms.labels.d.ts.map +1 -1
  118. package/dist/esm/components/app/PublicLayout_Terms.labels.js.map +1 -1
  119. package/dist/esm/components/auth/Auth_AuthCallback.d.ts.map +1 -1
  120. package/dist/esm/components/auth/Auth_AuthCallback.js.map +1 -1
  121. package/dist/esm/components/auth/Auth_AuthCallback.labels.d.ts.map +1 -1
  122. package/dist/esm/components/auth/Auth_AuthCallback.labels.js.map +1 -1
  123. package/dist/esm/components/auth/Auth_ConfirmEmail.d.ts.map +1 -1
  124. package/dist/esm/components/auth/Auth_ConfirmEmail.js.map +1 -1
  125. package/dist/esm/components/auth/Auth_ConfirmEmail.labels.d.ts.map +1 -1
  126. package/dist/esm/components/auth/Auth_ConfirmEmail.labels.js.map +1 -1
  127. package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
  128. package/dist/esm/components/auth/Auth_EnrollmentRequired.js.map +1 -1
  129. package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.d.ts.map +1 -1
  130. package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.js.map +1 -1
  131. package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
  132. package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
  133. package/dist/esm/components/auth/Auth_Invitation.labels.d.ts.map +1 -1
  134. package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
  135. package/dist/esm/components/auth/Auth_MagicLinkVerify.d.ts.map +1 -1
  136. package/dist/esm/components/auth/Auth_MagicLinkVerify.js.map +1 -1
  137. package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.d.ts.map +1 -1
  138. package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.js.map +1 -1
  139. package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
  140. package/dist/esm/components/auth/Auth_Main.js.map +1 -1
  141. package/dist/esm/components/auth/Auth_Main.labels.d.ts.map +1 -1
  142. package/dist/esm/components/auth/Auth_Main.labels.js.map +1 -1
  143. package/dist/esm/components/auth/Auth_MfaChallenge.d.ts.map +1 -1
  144. package/dist/esm/components/auth/Auth_MfaChallenge.js.map +1 -1
  145. package/dist/esm/components/auth/Auth_MfaChallenge.labels.d.ts.map +1 -1
  146. package/dist/esm/components/auth/Auth_MfaChallenge.labels.js.map +1 -1
  147. package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
  148. package/dist/esm/components/auth/Auth_OAuthConsent.js.map +1 -1
  149. package/dist/esm/components/auth/Auth_OAuthConsent.labels.d.ts.map +1 -1
  150. package/dist/esm/components/auth/Auth_OAuthConsent.labels.js.map +1 -1
  151. package/dist/esm/components/auth/Auth_OAuthLoggedOut.d.ts.map +1 -1
  152. package/dist/esm/components/auth/Auth_OAuthLoggedOut.js.map +1 -1
  153. package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.d.ts.map +1 -1
  154. package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.js.map +1 -1
  155. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.d.ts.map +1 -1
  156. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.js.map +1 -1
  157. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.d.ts.map +1 -1
  158. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.js.map +1 -1
  159. package/dist/esm/components/auth/Auth_OneOffSession.d.ts.map +1 -1
  160. package/dist/esm/components/auth/Auth_OneOffSession.js.map +1 -1
  161. package/dist/esm/components/auth/Auth_OneOffSession.labels.d.ts.map +1 -1
  162. package/dist/esm/components/auth/Auth_OneOffSession.labels.js.map +1 -1
  163. package/dist/esm/components/auth/Auth_PasswordLost.d.ts.map +1 -1
  164. package/dist/esm/components/auth/Auth_PasswordLost.js.map +1 -1
  165. package/dist/esm/components/auth/Auth_PasswordLost.labels.d.ts.map +1 -1
  166. package/dist/esm/components/auth/Auth_PasswordLost.labels.js.map +1 -1
  167. package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
  168. package/dist/esm/components/auth/Auth_Register.js.map +1 -1
  169. package/dist/esm/components/auth/Auth_Register.labels.d.ts.map +1 -1
  170. package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
  171. package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
  172. package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
  173. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
  174. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
  175. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
  176. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
  177. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map +1 -1
  178. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js.map +1 -1
  179. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.d.ts.map +1 -1
  180. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.js.map +1 -1
  181. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.d.ts.map +1 -1
  182. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js.map +1 -1
  183. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.d.ts.map +1 -1
  184. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js.map +1 -1
  185. package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.d.ts.map +1 -1
  186. package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.js.map +1 -1
  187. package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.d.ts.map +1 -1
  188. package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.js.map +1 -1
  189. package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts.map +1 -1
  190. package/dist/esm/components/auth/enrollment/enrollment-method-components.js.map +1 -1
  191. package/dist/esm/components/auth/methods/EmailOtpAuthMethod.d.ts.map +1 -1
  192. package/dist/esm/components/auth/methods/EmailOtpAuthMethod.js.map +1 -1
  193. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
  194. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js.map +1 -1
  195. package/dist/esm/components/auth/methods/MagicLinkAuthMethod.d.ts.map +1 -1
  196. package/dist/esm/components/auth/methods/MagicLinkAuthMethod.js.map +1 -1
  197. package/dist/esm/components/auth/methods/OrgOidcAuthMethod.d.ts.map +1 -1
  198. package/dist/esm/components/auth/methods/OrgOidcAuthMethod.js.map +1 -1
  199. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
  200. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
  201. package/dist/esm/components/auth/methods/PasskeyAuthMethod.d.ts.map +1 -1
  202. package/dist/esm/components/auth/methods/PasskeyAuthMethod.js.map +1 -1
  203. package/dist/esm/components/auth/methods/PasswordAuthMethod.d.ts.map +1 -1
  204. package/dist/esm/components/auth/methods/PasswordAuthMethod.js.map +1 -1
  205. package/dist/esm/components/auth/methods/SmsOtpAuthMethod.d.ts.map +1 -1
  206. package/dist/esm/components/auth/methods/SmsOtpAuthMethod.js.map +1 -1
  207. package/dist/esm/components/auth/methods/TotpAuthMethod.d.ts.map +1 -1
  208. package/dist/esm/components/auth/methods/TotpAuthMethod.js.map +1 -1
  209. package/dist/esm/components/auth/methods/auth-method-components.d.ts.map +1 -1
  210. package/dist/esm/components/auth/methods/auth-method-components.js.map +1 -1
  211. package/dist/esm/components/auth/pages/AuthPage_AuthCallback.d.ts.map +1 -1
  212. package/dist/esm/components/auth/pages/AuthPage_AuthCallback.js.map +1 -1
  213. package/dist/esm/components/auth/pages/AuthPage_AuthExchange.d.ts.map +1 -1
  214. package/dist/esm/components/auth/pages/AuthPage_AuthExchange.js.map +1 -1
  215. package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.d.ts.map +1 -1
  216. package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.js.map +1 -1
  217. package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.d.ts.map +1 -1
  218. package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.js.map +1 -1
  219. package/dist/esm/components/auth/pages/AuthPage_Invitation.d.ts.map +1 -1
  220. package/dist/esm/components/auth/pages/AuthPage_Invitation.js.map +1 -1
  221. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts.map +1 -1
  222. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.js.map +1 -1
  223. package/dist/esm/components/auth/pages/AuthPage_Main.d.ts.map +1 -1
  224. package/dist/esm/components/auth/pages/AuthPage_Main.js.map +1 -1
  225. package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.d.ts.map +1 -1
  226. package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.js.map +1 -1
  227. package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.d.ts.map +1 -1
  228. package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.js.map +1 -1
  229. package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.d.ts.map +1 -1
  230. package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.js.map +1 -1
  231. package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.d.ts.map +1 -1
  232. package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.js.map +1 -1
  233. package/dist/esm/components/auth/pages/AuthPage_OneOffSession.d.ts.map +1 -1
  234. package/dist/esm/components/auth/pages/AuthPage_OneOffSession.js.map +1 -1
  235. package/dist/esm/components/auth/pages/AuthPage_PasswordLost.d.ts.map +1 -1
  236. package/dist/esm/components/auth/pages/AuthPage_PasswordLost.js.map +1 -1
  237. package/dist/esm/components/auth/pages/AuthPage_Register.d.ts.map +1 -1
  238. package/dist/esm/components/auth/pages/AuthPage_Register.js.map +1 -1
  239. package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.d.ts.map +1 -1
  240. package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.js.map +1 -1
  241. package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.d.ts.map +1 -1
  242. package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.js.map +1 -1
  243. package/dist/esm/components/auth/utils/LabeledDivider.d.ts.map +1 -1
  244. package/dist/esm/components/auth/utils/LabeledDivider.js.map +1 -1
  245. package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts.map +1 -1
  246. package/dist/esm/components/auth/utils/OAuthProvidersSection.js.map +1 -1
  247. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts.map +1 -1
  248. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
  249. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts.map +1 -1
  250. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js.map +1 -1
  251. package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.d.ts.map +1 -1
  252. package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.js.map +1 -1
  253. package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
  254. package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
  255. package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
  256. package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
  257. package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
  258. package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
  259. package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
  260. package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
  261. package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
  262. package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
  263. package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
  264. package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
  265. package/dist/esm/components/data-display/DisplayContextKindContext.d.ts.map +1 -1
  266. package/dist/esm/components/data-display/DisplayContextKindContext.js.map +1 -1
  267. package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
  268. package/dist/esm/components/data-display/DisplayField.js +8 -5
  269. package/dist/esm/components/data-display/DisplayField.js.map +1 -1
  270. package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
  271. package/dist/esm/components/data-display/DisplayFieldArray.js.map +1 -1
  272. package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
  273. package/dist/esm/components/data-display/DisplayFieldEditable.js +6 -2
  274. package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
  275. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
  276. package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
  277. package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
  278. package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
  279. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
  280. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js.map +1 -1
  281. package/dist/esm/components/data-display/DisplayTemplateContext.d.ts.map +1 -1
  282. package/dist/esm/components/data-display/DisplayTemplateContext.js.map +1 -1
  283. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
  284. package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
  285. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
  286. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
  287. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
  288. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
  289. package/dist/esm/components/data-display/SummaryContext.d.ts.map +1 -1
  290. package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
  291. package/dist/esm/components/data-display/automatic-displayer.utils.d.ts.map +1 -1
  292. package/dist/esm/components/data-display/automatic-displayer.utils.js.map +1 -1
  293. package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
  294. package/dist/esm/components/data-display/avatar.js.map +1 -1
  295. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  296. package/dist/esm/components/data-display/badge.js.map +1 -1
  297. package/dist/esm/components/data-display/chart-echarts.d.ts.map +1 -1
  298. package/dist/esm/components/data-display/chart-echarts.js.map +1 -1
  299. package/dist/esm/components/data-display/chromes/DisplayChromeContext.d.ts.map +1 -1
  300. package/dist/esm/components/data-display/chromes/DisplayChromeContext.js.map +1 -1
  301. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
  302. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
  303. package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
  304. package/dist/esm/components/data-display/description-list.js.map +1 -1
  305. package/dist/esm/components/data-display/display-field-resolution.utils.d.ts.map +1 -1
  306. package/dist/esm/components/data-display/display-field-resolution.utils.js.map +1 -1
  307. package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
  308. package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
  309. package/dist/esm/components/data-display/display-resource-link-trail.d.ts.map +1 -1
  310. package/dist/esm/components/data-display/display-resource-link-trail.js.map +1 -1
  311. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
  312. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
  313. package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
  314. package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
  315. package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
  316. package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
  317. package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
  318. package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
  319. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
  320. package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
  321. package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
  322. package/dist/esm/components/data-display/formatters/display-field-duration.js.map +1 -1
  323. package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
  324. package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
  325. package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
  326. package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
  327. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
  328. package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
  329. package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
  330. package/dist/esm/components/data-display/formatters/display-field-file-gallery.js.map +1 -1
  331. package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
  332. package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
  333. package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
  334. package/dist/esm/components/data-display/formatters/display-field-file-video.js.map +1 -1
  335. package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
  336. package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
  337. package/dist/esm/components/data-display/formatters/display-field-json.d.ts.map +1 -1
  338. package/dist/esm/components/data-display/formatters/display-field-json.js.map +1 -1
  339. package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
  340. package/dist/esm/components/data-display/formatters/display-field-money.js.map +1 -1
  341. package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
  342. package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
  343. package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
  344. package/dist/esm/components/data-display/formatters/display-field-phone.js.map +1 -1
  345. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
  346. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.js.map +1 -1
  347. package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
  348. package/dist/esm/components/data-display/formatters/display-field-range-date.js.map +1 -1
  349. package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
  350. package/dist/esm/components/data-display/formatters/display-field-range-datetime.js.map +1 -1
  351. package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
  352. package/dist/esm/components/data-display/formatters/display-field-range-money.js.map +1 -1
  353. package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
  354. package/dist/esm/components/data-display/formatters/display-field-range-number.js.map +1 -1
  355. package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
  356. package/dist/esm/components/data-display/formatters/display-field-range-time.js.map +1 -1
  357. package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
  358. package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
  359. package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
  360. package/dist/esm/components/data-display/formatters/display-field-time.js.map +1 -1
  361. package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
  362. package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
  363. package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
  364. package/dist/esm/components/data-display/useFileActivation.js.map +1 -1
  365. package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
  366. package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
  367. package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
  368. package/dist/esm/components/feedback/danger-zone.js.map +1 -1
  369. package/dist/esm/components/feedback/empty-display-policy.utils.d.ts.map +1 -1
  370. package/dist/esm/components/feedback/empty-display-policy.utils.js.map +1 -1
  371. package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
  372. package/dist/esm/components/feedback/empty-state.js.map +1 -1
  373. package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
  374. package/dist/esm/components/feedback/error-display.js.map +1 -1
  375. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  376. package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -1
  377. package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
  378. package/dist/esm/components/feedback/features/feature-lock-badge.js.map +1 -1
  379. package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
  380. package/dist/esm/components/feedback/features/feature-unavailable-dialog.js.map +1 -1
  381. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts +36 -0
  382. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
  383. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js +29 -0
  384. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
  385. package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
  386. package/dist/esm/components/feedback/loading-overlay.js.map +1 -1
  387. package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
  388. package/dist/esm/components/feedback/loading-spinner.js.map +1 -1
  389. package/dist/esm/components/feedback/notification-center.d.ts +11 -5
  390. package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
  391. package/dist/esm/components/feedback/notification-center.js +2 -3
  392. package/dist/esm/components/feedback/notification-center.js.map +1 -1
  393. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  394. package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
  395. package/dist/esm/components/feedback/progress.d.ts.map +1 -1
  396. package/dist/esm/components/feedback/progress.js.map +1 -1
  397. package/dist/esm/components/feedback/resource-empty-state.d.ts.map +1 -1
  398. package/dist/esm/components/feedback/resource-empty-state.js.map +1 -1
  399. package/dist/esm/components/feedback/skeleton-text.d.ts.map +1 -1
  400. package/dist/esm/components/feedback/skeleton-text.js.map +1 -1
  401. package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
  402. package/dist/esm/components/feedback/skeleton.js.map +1 -1
  403. package/dist/esm/components/feedback/toast.d.ts.map +1 -1
  404. package/dist/esm/components/feedback/toast.js.map +1 -1
  405. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts +41 -0
  406. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -0
  407. package/dist/esm/components/files/Files_UploadGrantDrop.js +207 -0
  408. package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -0
  409. package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts +3 -0
  410. package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts.map +1 -0
  411. package/dist/esm/components/files/Files_UploadGrantDrop.labels.js +36 -0
  412. package/dist/esm/components/files/Files_UploadGrantDrop.labels.js.map +1 -0
  413. package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts +8 -0
  414. package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts.map +1 -0
  415. package/dist/esm/components/files/pages/FilesPage_UploadGrant.js +14 -0
  416. package/dist/esm/components/files/pages/FilesPage_UploadGrant.js.map +1 -0
  417. package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
  418. package/dist/esm/components/flows-actors/actor.js.map +1 -1
  419. package/dist/esm/components/flows-actors/actor.labels.d.ts.map +1 -1
  420. package/dist/esm/components/flows-actors/actor.labels.js.map +1 -1
  421. package/dist/esm/components/flows-actors/agent-config.d.ts.map +1 -1
  422. package/dist/esm/components/flows-actors/agent-config.js.map +1 -1
  423. package/dist/esm/components/flows-actors/agent-config.labels.d.ts.map +1 -1
  424. package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
  425. package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
  426. package/dist/esm/components/flows-actors/approval.js +21 -4
  427. package/dist/esm/components/flows-actors/approval.js.map +1 -1
  428. package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
  429. package/dist/esm/components/flows-actors/approval.labels.js +5 -0
  430. package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
  431. package/dist/esm/components/flows-actors/artifact-browser.d.ts.map +1 -1
  432. package/dist/esm/components/flows-actors/artifact-browser.js.map +1 -1
  433. package/dist/esm/components/flows-actors/artifact-browser.labels.d.ts.map +1 -1
  434. package/dist/esm/components/flows-actors/artifact-browser.labels.js.map +1 -1
  435. package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
  436. package/dist/esm/components/flows-actors/execution-plan.js +1 -1
  437. package/dist/esm/components/flows-actors/execution-plan.js.map +1 -1
  438. package/dist/esm/components/flows-actors/execution-plan.labels.d.ts.map +1 -1
  439. package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
  440. package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
  441. package/dist/esm/components/flows-actors/flow-execution.js.map +1 -1
  442. package/dist/esm/components/flows-actors/flow-execution.labels.d.ts.map +1 -1
  443. package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
  444. package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
  445. package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
  446. package/dist/esm/components/flows-actors/flow-node.d.ts.map +1 -1
  447. package/dist/esm/components/flows-actors/flow-node.js.map +1 -1
  448. package/dist/esm/components/flows-actors/flow-node.labels.d.ts.map +1 -1
  449. package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
  450. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts.map +1 -1
  451. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js.map +1 -1
  452. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts.map +1 -1
  453. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js.map +1 -1
  454. package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts.map +1 -1
  455. package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
  456. package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
  457. package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
  458. package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
  459. package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
  460. package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
  461. package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
  462. package/dist/esm/components/flows-actors/task-detail.labels.d.ts.map +1 -1
  463. package/dist/esm/components/flows-actors/task-detail.labels.js.map +1 -1
  464. package/dist/esm/components/flows-actors/task-memory.d.ts.map +1 -1
  465. package/dist/esm/components/flows-actors/task-memory.js +1 -1
  466. package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
  467. package/dist/esm/components/flows-actors/task-memory.labels.d.ts.map +1 -1
  468. package/dist/esm/components/flows-actors/task-memory.labels.js.map +1 -1
  469. package/dist/esm/components/form/Form.d.ts.map +1 -1
  470. package/dist/esm/components/form/Form.js.map +1 -1
  471. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
  472. package/dist/esm/components/form/automated/AutomatedArrayField.js +1 -1
  473. package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
  474. package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
  475. package/dist/esm/components/form/automated/AutomatedForm.js +16 -9
  476. package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
  477. package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
  478. package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
  479. package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
  480. package/dist/esm/components/form/automated/FormField.js +9 -2
  481. package/dist/esm/components/form/automated/FormField.js.map +1 -1
  482. package/dist/esm/components/form/automated/FormFieldArray.d.ts.map +1 -1
  483. package/dist/esm/components/form/automated/FormFieldArray.js.map +1 -1
  484. package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
  485. package/dist/esm/components/form/automated/FormFieldComposite.js +8 -6
  486. package/dist/esm/components/form/automated/FormFieldComposite.js.map +1 -1
  487. package/dist/esm/components/form/automated/FormFieldRecord.d.ts.map +1 -1
  488. package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
  489. package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
  490. package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
  491. package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.d.ts.map +1 -1
  492. package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.js.map +1 -1
  493. package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.d.ts.map +1 -1
  494. package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.js.map +1 -1
  495. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
  496. package/dist/esm/components/form/automated/ResourceAutomatedForm.js +37 -3
  497. package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
  498. package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts.map +1 -1
  499. package/dist/esm/components/form/automated/ResourceFormActionsContext.js.map +1 -1
  500. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
  501. package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
  502. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts +12 -0
  503. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts.map +1 -0
  504. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js +26 -0
  505. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js.map +1 -0
  506. package/dist/esm/components/form/automated/autosave-indicator.d.ts.map +1 -1
  507. package/dist/esm/components/form/automated/autosave-indicator.js.map +1 -1
  508. package/dist/esm/components/form/automated/autosave-indicator.utils.d.ts.map +1 -1
  509. package/dist/esm/components/form/automated/autosave-indicator.utils.js.map +1 -1
  510. package/dist/esm/components/form/automated/create-form-default-values.utils.d.ts.map +1 -1
  511. package/dist/esm/components/form/automated/create-form-default-values.utils.js.map +1 -1
  512. package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.d.ts.map +1 -1
  513. package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.js.map +1 -1
  514. package/dist/esm/components/form/automated/generated-relationship-field.helpers.d.ts.map +1 -1
  515. package/dist/esm/components/form/automated/generated-relationship-field.helpers.js.map +1 -1
  516. package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts +1 -1
  517. package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts.map +1 -1
  518. package/dist/esm/components/form/automated/generated-relationship-field.hooks.js.map +1 -1
  519. package/dist/esm/components/form/automated/generated-relationship-field.shared.d.ts.map +1 -1
  520. package/dist/esm/components/form/automated/generated-relationship-field.shared.js.map +1 -1
  521. package/dist/esm/components/form/automated/generated-relationship-field.utils.d.ts.map +1 -1
  522. package/dist/esm/components/form/automated/generated-relationship-field.utils.js.map +1 -1
  523. package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
  524. package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
  525. package/dist/esm/components/form/chromes/FormChromeContext.d.ts.map +1 -1
  526. package/dist/esm/components/form/chromes/FormChromeContext.js.map +1 -1
  527. package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
  528. package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
  529. package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
  530. package/dist/esm/components/form/chromes/field.js.map +1 -1
  531. package/dist/esm/components/form/chromes/form-primitives.d.ts.map +1 -1
  532. package/dist/esm/components/form/chromes/form-primitives.js.map +1 -1
  533. package/dist/esm/components/form/combobox.d.ts.map +1 -1
  534. package/dist/esm/components/form/combobox.js.map +1 -1
  535. package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
  536. package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
  537. package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
  538. package/dist/esm/components/form/controls/boolean/switch.js.map +1 -1
  539. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
  540. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.js.map +1 -1
  541. package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
  542. package/dist/esm/components/form/controls/boolean/toggle.js.map +1 -1
  543. package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
  544. package/dist/esm/components/form/controls/date-time/calendar.js.map +1 -1
  545. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  546. package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
  547. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  548. package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
  549. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  550. package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -1
  551. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  552. package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -1
  553. package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
  554. package/dist/esm/components/form/controls/date-time/time-picker.js.map +1 -1
  555. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  556. package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -1
  557. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  558. package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
  559. package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
  560. package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
  561. package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
  562. package/dist/esm/components/form/controls/enum/select.js.map +1 -1
  563. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  564. package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
  565. package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
  566. package/dist/esm/components/form/controls/file/file-upload.js.map +1 -1
  567. package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
  568. package/dist/esm/components/form/controls/file/image-crop.frontend.utils.d.ts.map +1 -1
  569. package/dist/esm/components/form/controls/file/image-crop.frontend.utils.js.map +1 -1
  570. package/dist/esm/components/form/controls/file/image-crop.js.map +1 -1
  571. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
  572. package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
  573. package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
  574. package/dist/esm/components/form/controls/input-group.js.map +1 -1
  575. package/dist/esm/components/form/controls/input.d.ts.map +1 -1
  576. package/dist/esm/components/form/controls/input.js.map +1 -1
  577. package/dist/esm/components/form/controls/number/slider.d.ts +1 -1
  578. package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
  579. package/dist/esm/components/form/controls/number/slider.js.map +1 -1
  580. package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
  581. package/dist/esm/components/form/controls/string/color-input.js.map +1 -1
  582. package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
  583. package/dist/esm/components/form/controls/string/inline-edit-text.js.map +1 -1
  584. package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
  585. package/dist/esm/components/form/controls/string/input-otp.js.map +1 -1
  586. package/dist/esm/components/form/controls/string/markdown-editor.d.ts.map +1 -1
  587. package/dist/esm/components/form/controls/string/markdown-editor.js.map +1 -1
  588. package/dist/esm/components/form/controls/string/markdown-editor.labels.d.ts.map +1 -1
  589. package/dist/esm/components/form/controls/string/markdown-editor.labels.js.map +1 -1
  590. package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
  591. package/dist/esm/components/form/controls/string/password-input.js.map +1 -1
  592. package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
  593. package/dist/esm/components/form/controls/string/textarea.js.map +1 -1
  594. package/dist/esm/components/form/feedback/RemoteChangeNotification.d.ts.map +1 -1
  595. package/dist/esm/components/form/feedback/RemoteChangeNotification.js.map +1 -1
  596. package/dist/esm/components/form/fields/form-field-bigdecimal.d.ts.map +1 -1
  597. package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
  598. package/dist/esm/components/form/fields/form-field-bigdecimal.labels.d.ts.map +1 -1
  599. package/dist/esm/components/form/fields/form-field-bigdecimal.labels.js.map +1 -1
  600. package/dist/esm/components/form/fields/form-field-boolean.d.ts.map +1 -1
  601. package/dist/esm/components/form/fields/form-field-boolean.js +4 -2
  602. package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
  603. package/dist/esm/components/form/fields/form-field-boolean.labels.d.ts.map +1 -1
  604. package/dist/esm/components/form/fields/form-field-boolean.labels.js.map +1 -1
  605. package/dist/esm/components/form/fields/form-field-code.d.ts.map +1 -1
  606. package/dist/esm/components/form/fields/form-field-code.js.map +1 -1
  607. package/dist/esm/components/form/fields/form-field-code.labels.d.ts.map +1 -1
  608. package/dist/esm/components/form/fields/form-field-code.labels.js.map +1 -1
  609. package/dist/esm/components/form/fields/form-field-date.d.ts.map +1 -1
  610. package/dist/esm/components/form/fields/form-field-date.js.map +1 -1
  611. package/dist/esm/components/form/fields/form-field-date.labels.d.ts.map +1 -1
  612. package/dist/esm/components/form/fields/form-field-date.labels.js.map +1 -1
  613. package/dist/esm/components/form/fields/form-field-datetime.d.ts.map +1 -1
  614. package/dist/esm/components/form/fields/form-field-datetime.js.map +1 -1
  615. package/dist/esm/components/form/fields/form-field-datetime.labels.d.ts.map +1 -1
  616. package/dist/esm/components/form/fields/form-field-datetime.labels.js.map +1 -1
  617. package/dist/esm/components/form/fields/form-field-duration.d.ts.map +1 -1
  618. package/dist/esm/components/form/fields/form-field-duration.js.map +1 -1
  619. package/dist/esm/components/form/fields/form-field-duration.labels.d.ts.map +1 -1
  620. package/dist/esm/components/form/fields/form-field-duration.labels.js.map +1 -1
  621. package/dist/esm/components/form/fields/form-field-enum.d.ts.map +1 -1
  622. package/dist/esm/components/form/fields/form-field-enum.js +4 -2
  623. package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
  624. package/dist/esm/components/form/fields/form-field-enum.labels.d.ts.map +1 -1
  625. package/dist/esm/components/form/fields/form-field-enum.labels.js.map +1 -1
  626. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts +15 -5
  627. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts.map +1 -1
  628. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js +21 -18
  629. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js.map +1 -1
  630. package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
  631. package/dist/esm/components/form/fields/form-field-file.js +139 -2
  632. package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
  633. package/dist/esm/components/form/fields/form-field-file.labels.d.ts.map +1 -1
  634. package/dist/esm/components/form/fields/form-field-file.labels.js +15 -0
  635. package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
  636. package/dist/esm/components/form/fields/form-field-money.d.ts.map +1 -1
  637. package/dist/esm/components/form/fields/form-field-money.js.map +1 -1
  638. package/dist/esm/components/form/fields/form-field-money.labels.d.ts.map +1 -1
  639. package/dist/esm/components/form/fields/form-field-money.labels.js.map +1 -1
  640. package/dist/esm/components/form/fields/form-field-number.d.ts.map +1 -1
  641. package/dist/esm/components/form/fields/form-field-number.js +4 -2
  642. package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
  643. package/dist/esm/components/form/fields/form-field-number.labels.d.ts.map +1 -1
  644. package/dist/esm/components/form/fields/form-field-number.labels.js.map +1 -1
  645. package/dist/esm/components/form/fields/form-field-phone.d.ts.map +1 -1
  646. package/dist/esm/components/form/fields/form-field-phone.js.map +1 -1
  647. package/dist/esm/components/form/fields/form-field-phone.labels.d.ts.map +1 -1
  648. package/dist/esm/components/form/fields/form-field-phone.labels.js.map +1 -1
  649. package/dist/esm/components/form/fields/form-field-range-bigdecimal.d.ts.map +1 -1
  650. package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
  651. package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.d.ts.map +1 -1
  652. package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.js.map +1 -1
  653. package/dist/esm/components/form/fields/form-field-range-date.d.ts.map +1 -1
  654. package/dist/esm/components/form/fields/form-field-range-date.js.map +1 -1
  655. package/dist/esm/components/form/fields/form-field-range-date.labels.d.ts.map +1 -1
  656. package/dist/esm/components/form/fields/form-field-range-date.labels.js.map +1 -1
  657. package/dist/esm/components/form/fields/form-field-range-datetime.d.ts.map +1 -1
  658. package/dist/esm/components/form/fields/form-field-range-datetime.js.map +1 -1
  659. package/dist/esm/components/form/fields/form-field-range-datetime.labels.d.ts.map +1 -1
  660. package/dist/esm/components/form/fields/form-field-range-datetime.labels.js.map +1 -1
  661. package/dist/esm/components/form/fields/form-field-range-money.d.ts.map +1 -1
  662. package/dist/esm/components/form/fields/form-field-range-money.js.map +1 -1
  663. package/dist/esm/components/form/fields/form-field-range-money.labels.d.ts.map +1 -1
  664. package/dist/esm/components/form/fields/form-field-range-money.labels.js.map +1 -1
  665. package/dist/esm/components/form/fields/form-field-range-number.d.ts.map +1 -1
  666. package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
  667. package/dist/esm/components/form/fields/form-field-range-number.labels.d.ts.map +1 -1
  668. package/dist/esm/components/form/fields/form-field-range-number.labels.js.map +1 -1
  669. package/dist/esm/components/form/fields/form-field-range-time.d.ts.map +1 -1
  670. package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
  671. package/dist/esm/components/form/fields/form-field-range-time.labels.d.ts.map +1 -1
  672. package/dist/esm/components/form/fields/form-field-range-time.labels.js.map +1 -1
  673. package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
  674. package/dist/esm/components/form/fields/form-field-string.js +7 -2
  675. package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
  676. package/dist/esm/components/form/fields/form-field-string.labels.d.ts.map +1 -1
  677. package/dist/esm/components/form/fields/form-field-string.labels.js.map +1 -1
  678. package/dist/esm/components/form/fields/form-field-time.d.ts.map +1 -1
  679. package/dist/esm/components/form/fields/form-field-time.js.map +1 -1
  680. package/dist/esm/components/form/fields/form-field-time.labels.d.ts.map +1 -1
  681. package/dist/esm/components/form/fields/form-field-time.labels.js.map +1 -1
  682. package/dist/esm/components/form/fields/useFormField.d.ts.map +1 -1
  683. package/dist/esm/components/form/fields/useFormField.js.map +1 -1
  684. package/dist/esm/components/form/form-context.d.ts.map +1 -1
  685. package/dist/esm/components/form/form-context.js.map +1 -1
  686. package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
  687. package/dist/esm/components/form/form-context.utils.js.map +1 -1
  688. package/dist/esm/components/form/form-field-types.d.ts +20 -0
  689. package/dist/esm/components/form/form-field-types.d.ts.map +1 -1
  690. package/dist/esm/components/form/form-field-types.js.map +1 -1
  691. package/dist/esm/components/form/useFormSchemaContext.d.ts.map +1 -1
  692. package/dist/esm/components/form/useFormSchemaContext.js.map +1 -1
  693. package/dist/esm/components/form/validation-errors/FormErrorSummary.d.ts.map +1 -1
  694. package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
  695. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts.map +1 -1
  696. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.js.map +1 -1
  697. package/dist/esm/components/form/validation-errors/form-validation.d.ts.map +1 -1
  698. package/dist/esm/components/form/validation-errors/form-validation.js.map +1 -1
  699. package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
  700. package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
  701. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts.map +1 -1
  702. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
  703. package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.d.ts.map +1 -1
  704. package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.js.map +1 -1
  705. package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts.map +1 -1
  706. package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
  707. package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
  708. package/dist/esm/components/layout/aspect-ratio.js.map +1 -1
  709. package/dist/esm/components/layout/carousel.d.ts.map +1 -1
  710. package/dist/esm/components/layout/carousel.js.map +1 -1
  711. package/dist/esm/components/layout/divider.d.ts.map +1 -1
  712. package/dist/esm/components/layout/divider.js.map +1 -1
  713. package/dist/esm/components/layout/resizable.d.ts.map +1 -1
  714. package/dist/esm/components/layout/resizable.js.map +1 -1
  715. package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
  716. package/dist/esm/components/layout/scroll-area.js.map +1 -1
  717. package/dist/esm/components/layout/separator.d.ts.map +1 -1
  718. package/dist/esm/components/layout/separator.js.map +1 -1
  719. package/dist/esm/components/navigation/NavigationItemBadge.d.ts +13 -1
  720. package/dist/esm/components/navigation/NavigationItemBadge.d.ts.map +1 -1
  721. package/dist/esm/components/navigation/NavigationItemBadge.js +31 -2
  722. package/dist/esm/components/navigation/NavigationItemBadge.js.map +1 -1
  723. package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.d.ts.map +1 -1
  724. package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.js.map +1 -1
  725. package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.d.ts.map +1 -1
  726. package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.js.map +1 -1
  727. package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.d.ts.map +1 -1
  728. package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.js.map +1 -1
  729. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.d.ts.map +1 -1
  730. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.js.map +1 -1
  731. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.d.ts.map +1 -1
  732. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.js.map +1 -1
  733. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts.map +1 -1
  734. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js.map +1 -1
  735. package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.d.ts.map +1 -1
  736. package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.js.map +1 -1
  737. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts.map +1 -1
  738. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.js.map +1 -1
  739. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.d.ts.map +1 -1
  740. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.js.map +1 -1
  741. package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.d.ts.map +1 -1
  742. package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.js.map +1 -1
  743. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts.map +1 -1
  744. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.js.map +1 -1
  745. package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.d.ts.map +1 -1
  746. package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.js.map +1 -1
  747. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts.map +1 -1
  748. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.js.map +1 -1
  749. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.d.ts.map +1 -1
  750. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js.map +1 -1
  751. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.d.ts.map +1 -1
  752. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
  753. package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.d.ts.map +1 -1
  754. package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.js.map +1 -1
  755. package/dist/esm/components/navigation/app-level/useActivityBarBehavior.d.ts.map +1 -1
  756. package/dist/esm/components/navigation/app-level/useActivityBarBehavior.js.map +1 -1
  757. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
  758. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
  759. package/dist/esm/components/navigation/app-level/useControlPanelBehavior.d.ts.map +1 -1
  760. package/dist/esm/components/navigation/app-level/useControlPanelBehavior.js.map +1 -1
  761. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts.map +1 -1
  762. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js.map +1 -1
  763. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
  764. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
  765. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
  766. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
  767. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts +5 -2
  768. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts.map +1 -1
  769. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js +18 -41
  770. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js.map +1 -1
  771. package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.d.ts.map +1 -1
  772. package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.js.map +1 -1
  773. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
  774. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
  775. package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
  776. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +1 -1
  777. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
  778. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts.map +1 -1
  779. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js +13 -3
  780. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js.map +1 -1
  781. package/dist/esm/components/navigation/app-level/useToolbarBehavior.d.ts.map +1 -1
  782. package/dist/esm/components/navigation/app-level/useToolbarBehavior.js.map +1 -1
  783. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +23 -5
  784. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
  785. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +81 -13
  786. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
  787. package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
  788. package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
  789. package/dist/esm/components/navigation/command.d.ts.map +1 -1
  790. package/dist/esm/components/navigation/command.js.map +1 -1
  791. package/dist/esm/components/navigation/menu-bar.d.ts +1 -1
  792. package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
  793. package/dist/esm/components/navigation/menu-bar.js.map +1 -1
  794. package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
  795. package/dist/esm/components/navigation/navbar.js.map +1 -1
  796. package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
  797. package/dist/esm/components/navigation/sidebar.js.map +1 -1
  798. package/dist/esm/components/overlays/containers/OverlayContainer.d.ts.map +1 -1
  799. package/dist/esm/components/overlays/containers/OverlayContainer.js +36 -9
  800. package/dist/esm/components/overlays/containers/OverlayContainer.js.map +1 -1
  801. package/dist/esm/components/overlays/containers/OverlayContainer.labels.d.ts.map +1 -1
  802. package/dist/esm/components/overlays/containers/OverlayContainer.labels.js.map +1 -1
  803. package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
  804. package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
  805. package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
  806. package/dist/esm/components/overlays/containers/alert.js.map +1 -1
  807. package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
  808. package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
  809. package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts.map +1 -1
  810. package/dist/esm/components/overlays/containers/dialog.shared-types.js.map +1 -1
  811. package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
  812. package/dist/esm/components/overlays/containers/drawer.js.map +1 -1
  813. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts.map +1 -1
  814. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.js.map +1 -1
  815. package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.d.ts.map +1 -1
  816. package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.js.map +1 -1
  817. package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
  818. package/dist/esm/components/overlays/containers/sheet.js.map +1 -1
  819. package/dist/esm/components/overlays/floating/context-menu.d.ts +1 -1
  820. package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
  821. package/dist/esm/components/overlays/floating/context-menu.js.map +1 -1
  822. package/dist/esm/components/overlays/floating/dropdown-menu.d.ts +1 -1
  823. package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
  824. package/dist/esm/components/overlays/floating/dropdown-menu.js.map +1 -1
  825. package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
  826. package/dist/esm/components/overlays/floating/hover-card.js.map +1 -1
  827. package/dist/esm/components/overlays/floating/menu.shared-types.d.ts.map +1 -1
  828. package/dist/esm/components/overlays/floating/menu.shared-types.js.map +1 -1
  829. package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
  830. package/dist/esm/components/overlays/floating/popover.js.map +1 -1
  831. package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
  832. package/dist/esm/components/overlays/floating/tooltip.js.map +1 -1
  833. package/dist/esm/components/progression/ProgressionAchievementBadge.d.ts.map +1 -1
  834. package/dist/esm/components/progression/ProgressionAchievementBadge.js.map +1 -1
  835. package/dist/esm/components/progression/ProgressionAchievementBadge.labels.d.ts.map +1 -1
  836. package/dist/esm/components/progression/ProgressionAchievementBadge.labels.js.map +1 -1
  837. package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts.map +1 -1
  838. package/dist/esm/components/progression/ProgressionMilestoneTracker.js.map +1 -1
  839. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.d.ts.map +1 -1
  840. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
  841. package/dist/esm/components/resources/CollectionSelectionControls.d.ts.map +1 -1
  842. package/dist/esm/components/resources/CollectionSelectionControls.js.map +1 -1
  843. package/dist/esm/components/resources/EphemeralFieldsRevealDialog.d.ts.map +1 -1
  844. package/dist/esm/components/resources/EphemeralFieldsRevealDialog.js.map +1 -1
  845. package/dist/esm/components/resources/InlineSearchInput.d.ts.map +1 -1
  846. package/dist/esm/components/resources/InlineSearchInput.js.map +1 -1
  847. package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
  848. package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
  849. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
  850. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
  851. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
  852. package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
  853. package/dist/esm/components/resources/ResourceInPlaceOperationRow.d.ts.map +1 -1
  854. package/dist/esm/components/resources/ResourceInPlaceOperationRow.js.map +1 -1
  855. package/dist/esm/components/resources/ResourceLayout_Action.d.ts.map +1 -1
  856. package/dist/esm/components/resources/ResourceLayout_Action.js.map +1 -1
  857. package/dist/esm/components/resources/ResourceLayout_Action.labels.d.ts.map +1 -1
  858. package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
  859. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
  860. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
  861. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.d.ts.map +1 -1
  862. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.js.map +1 -1
  863. package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
  864. package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
  865. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.d.ts.map +1 -1
  866. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js.map +1 -1
  867. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.d.ts.map +1 -1
  868. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.js.map +1 -1
  869. package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
  870. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +9 -0
  871. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
  872. package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.d.ts.map +1 -1
  873. package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.js.map +1 -1
  874. package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
  875. package/dist/esm/components/resources/ResourceLayout_Create.js.map +1 -1
  876. package/dist/esm/components/resources/ResourceLayout_Create.labels.d.ts.map +1 -1
  877. package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
  878. package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
  879. package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
  880. package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.d.ts.map +1 -1
  881. package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.js.map +1 -1
  882. package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
  883. package/dist/esm/components/resources/ResourceLayout_FilterChips.js +1 -1
  884. package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
  885. package/dist/esm/components/resources/ResourceLayout_Filters.d.ts.map +1 -1
  886. package/dist/esm/components/resources/ResourceLayout_Filters.js.map +1 -1
  887. package/dist/esm/components/resources/ResourceLayout_Filters.labels.d.ts.map +1 -1
  888. package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
  889. package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
  890. package/dist/esm/components/resources/ResourceLayout_FiltersControl.js.map +1 -1
  891. package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
  892. package/dist/esm/components/resources/ResourceLayout_Header.js +1 -1
  893. package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
  894. package/dist/esm/components/resources/ResourceLayout_Header.labels.d.ts.map +1 -1
  895. package/dist/esm/components/resources/ResourceLayout_Header.labels.js.map +1 -1
  896. package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
  897. package/dist/esm/components/resources/ResourceLayout_InsertedViews.js.map +1 -1
  898. package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
  899. package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
  900. package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
  901. package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
  902. package/dist/esm/components/resources/ResourceLayout_List_Table.d.ts.map +1 -1
  903. package/dist/esm/components/resources/ResourceLayout_List_Table.js.map +1 -1
  904. package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
  905. package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
  906. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.d.ts.map +1 -1
  907. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
  908. package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
  909. package/dist/esm/components/resources/ResourceLayout_OperationsItems.js.map +1 -1
  910. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.d.ts.map +1 -1
  911. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js.map +1 -1
  912. package/dist/esm/components/resources/ResourceLayout_Pagination.d.ts.map +1 -1
  913. package/dist/esm/components/resources/ResourceLayout_Pagination.js.map +1 -1
  914. package/dist/esm/components/resources/ResourceLayout_Pagination.labels.d.ts.map +1 -1
  915. package/dist/esm/components/resources/ResourceLayout_Pagination.labels.js.map +1 -1
  916. package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
  917. package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
  918. package/dist/esm/components/resources/ResourceLayout_Read.labels.d.ts.map +1 -1
  919. package/dist/esm/components/resources/ResourceLayout_Read.labels.js.map +1 -1
  920. package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
  921. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
  922. package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.d.ts.map +1 -1
  923. package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.js.map +1 -1
  924. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
  925. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
  926. package/dist/esm/components/resources/ResourceLayout_Read_Expandable.d.ts.map +1 -1
  927. package/dist/esm/components/resources/ResourceLayout_Read_Expandable.js.map +1 -1
  928. package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
  929. package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
  930. package/dist/esm/components/resources/ResourceLayout_Search.labels.d.ts.map +1 -1
  931. package/dist/esm/components/resources/ResourceLayout_Search.labels.js.map +1 -1
  932. package/dist/esm/components/resources/ResourceLayout_Search_Table.d.ts.map +1 -1
  933. package/dist/esm/components/resources/ResourceLayout_Search_Table.js.map +1 -1
  934. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
  935. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
  936. package/dist/esm/components/resources/ResourceLayout_SortControl.d.ts.map +1 -1
  937. package/dist/esm/components/resources/ResourceLayout_SortControl.js.map +1 -1
  938. package/dist/esm/components/resources/ResourceLayout_Update.d.ts.map +1 -1
  939. package/dist/esm/components/resources/ResourceLayout_Update.js.map +1 -1
  940. package/dist/esm/components/resources/ResourceLayout_Update.labels.d.ts.map +1 -1
  941. package/dist/esm/components/resources/ResourceLayout_Update.labels.js.map +1 -1
  942. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
  943. package/dist/esm/components/resources/ResourceListItemRenderer.js +1 -1
  944. package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
  945. package/dist/esm/components/resources/ResourceOperationActionPopover.d.ts.map +1 -1
  946. package/dist/esm/components/resources/ResourceOperationActionPopover.js.map +1 -1
  947. package/dist/esm/components/resources/ResourceOperationSurface.d.ts.map +1 -1
  948. package/dist/esm/components/resources/ResourceOperationSurface.js.map +1 -1
  949. package/dist/esm/components/resources/ResourceOwnedViewEmbeds.d.ts.map +1 -1
  950. package/dist/esm/components/resources/ResourceOwnedViewEmbeds.js.map +1 -1
  951. package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
  952. package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
  953. package/dist/esm/components/resources/card-action-placement.utils.d.ts.map +1 -1
  954. package/dist/esm/components/resources/card-action-placement.utils.js.map +1 -1
  955. package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
  956. package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
  957. package/dist/esm/components/resources/collection-view-mode.frontend.d.ts.map +1 -1
  958. package/dist/esm/components/resources/collection-view-mode.frontend.js.map +1 -1
  959. package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.d.ts.map +1 -1
  960. package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.js.map +1 -1
  961. package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.d.ts.map +1 -1
  962. package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.js.map +1 -1
  963. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts.map +1 -1
  964. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.js.map +1 -1
  965. package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.d.ts.map +1 -1
  966. package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.js.map +1 -1
  967. package/dist/esm/components/resources/embeds/RelatedResourcePreview.d.ts.map +1 -1
  968. package/dist/esm/components/resources/embeds/RelatedResourcePreview.js.map +1 -1
  969. package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
  970. package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
  971. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
  972. package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
  973. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts.map +1 -1
  974. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
  975. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
  976. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
  977. package/dist/esm/components/resources/inserted-resource-view.frontend.utils.d.ts.map +1 -1
  978. package/dist/esm/components/resources/inserted-resource-view.frontend.utils.js.map +1 -1
  979. package/dist/esm/components/resources/resource-operation-custom-view.contracts.d.ts.map +1 -1
  980. package/dist/esm/components/resources/resource-operation-custom-view.contracts.js.map +1 -1
  981. package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
  982. package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
  983. package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
  984. package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
  985. package/dist/esm/components/resources/skeleton/ArrayItemTemplate.d.ts.map +1 -1
  986. package/dist/esm/components/resources/skeleton/ArrayItemTemplate.js.map +1 -1
  987. package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.d.ts.map +1 -1
  988. package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.js.map +1 -1
  989. package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
  990. package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
  991. package/dist/esm/components/resources/skeleton/Divider.d.ts.map +1 -1
  992. package/dist/esm/components/resources/skeleton/Divider.js.map +1 -1
  993. package/dist/esm/components/resources/skeleton/FieldScopeContext.d.ts.map +1 -1
  994. package/dist/esm/components/resources/skeleton/FieldScopeContext.js.map +1 -1
  995. package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.d.ts.map +1 -1
  996. package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.js.map +1 -1
  997. package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
  998. package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
  999. package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.d.ts.map +1 -1
  1000. package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.js.map +1 -1
  1001. package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
  1002. package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
  1003. package/dist/esm/components/resources/skeleton/ObjectScope.d.ts.map +1 -1
  1004. package/dist/esm/components/resources/skeleton/ObjectScope.js.map +1 -1
  1005. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts +12 -0
  1006. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
  1007. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js +13 -1
  1008. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
  1009. package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
  1010. package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
  1011. package/dist/esm/components/resources/skeleton/Section.shared.d.ts.map +1 -1
  1012. package/dist/esm/components/resources/skeleton/Section.shared.js.map +1 -1
  1013. package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts.map +1 -1
  1014. package/dist/esm/components/resources/skeleton/SectionFieldsContext.js.map +1 -1
  1015. package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.d.ts.map +1 -1
  1016. package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.js.map +1 -1
  1017. package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts.map +1 -1
  1018. package/dist/esm/components/resources/skeleton/SectionPresentationContext.js.map +1 -1
  1019. package/dist/esm/components/resources/skeleton/SubmitButton.d.ts.map +1 -1
  1020. package/dist/esm/components/resources/skeleton/SubmitButton.js.map +1 -1
  1021. package/dist/esm/components/resources/skeleton/SummaryHeader.d.ts.map +1 -1
  1022. package/dist/esm/components/resources/skeleton/SummaryHeader.js.map +1 -1
  1023. package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts.map +1 -1
  1024. package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
  1025. package/dist/esm/components/resources/skeleton/SummaryMeta.d.ts.map +1 -1
  1026. package/dist/esm/components/resources/skeleton/SummaryMeta.js.map +1 -1
  1027. package/dist/esm/components/resources/skeleton/SummaryTitle.d.ts.map +1 -1
  1028. package/dist/esm/components/resources/skeleton/SummaryTitle.js.map +1 -1
  1029. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
  1030. package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
  1031. package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
  1032. package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
  1033. package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
  1034. package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
  1035. package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.d.ts.map +1 -1
  1036. package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.js.map +1 -1
  1037. package/dist/esm/components/resources/skeleton/section-consolidation.shared.d.ts.map +1 -1
  1038. package/dist/esm/components/resources/skeleton/section-consolidation.shared.js.map +1 -1
  1039. package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts.map +1 -1
  1040. package/dist/esm/components/resources/skeleton/section-consolidation.utils.js.map +1 -1
  1041. package/dist/esm/components/resources/useInlineSearch.d.ts.map +1 -1
  1042. package/dist/esm/components/resources/useInlineSearch.js.map +1 -1
  1043. package/dist/esm/components/resources/useLongPress.d.ts.map +1 -1
  1044. package/dist/esm/components/resources/useLongPress.js.map +1 -1
  1045. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
  1046. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
  1047. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.d.ts.map +1 -1
  1048. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js.map +1 -1
  1049. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.d.ts.map +1 -1
  1050. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js.map +1 -1
  1051. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.d.ts.map +1 -1
  1052. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.js.map +1 -1
  1053. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts.map +1 -1
  1054. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.js.map +1 -1
  1055. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.d.ts.map +1 -1
  1056. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.js.map +1 -1
  1057. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
  1058. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
  1059. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
  1060. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
  1061. package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
  1062. package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
  1063. package/dist/esm/components/sections/ContentSectionContainer.labels.d.ts.map +1 -1
  1064. package/dist/esm/components/sections/ContentSectionContainer.labels.js.map +1 -1
  1065. package/dist/esm/components/sections/accordion.d.ts.map +1 -1
  1066. package/dist/esm/components/sections/accordion.js.map +1 -1
  1067. package/dist/esm/components/sections/card.d.ts.map +1 -1
  1068. package/dist/esm/components/sections/card.js.map +1 -1
  1069. package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
  1070. package/dist/esm/components/sections/collapsible.js.map +1 -1
  1071. package/dist/esm/components/sections/content-section.d.ts.map +1 -1
  1072. package/dist/esm/components/sections/content-section.js.map +1 -1
  1073. package/dist/esm/components/sections/pagination.d.ts.map +1 -1
  1074. package/dist/esm/components/sections/pagination.js.map +1 -1
  1075. package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
  1076. package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
  1077. package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
  1078. package/dist/esm/components/sections/stacked-layout.js.map +1 -1
  1079. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  1080. package/dist/esm/components/sections/stepper.js.map +1 -1
  1081. package/dist/esm/components/sections/surface.d.ts.map +1 -1
  1082. package/dist/esm/components/sections/surface.js.map +1 -1
  1083. package/dist/esm/components/sections/table.d.ts.map +1 -1
  1084. package/dist/esm/components/sections/table.js.map +1 -1
  1085. package/dist/esm/components/sections/tabs.d.ts.map +1 -1
  1086. package/dist/esm/components/sections/tabs.js.map +1 -1
  1087. package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
  1088. package/dist/esm/components/settings/AppPage_AppearanceSettings.js.map +1 -1
  1089. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
  1090. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js.map +1 -1
  1091. package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
  1092. package/dist/esm/components/settings/AppPage_BillingSettings.js.map +1 -1
  1093. package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
  1094. package/dist/esm/components/settings/AppPage_BillingSettings.labels.js.map +1 -1
  1095. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +121 -0
  1096. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -0
  1097. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +386 -0
  1098. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -0
  1099. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts +3 -0
  1100. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -0
  1101. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +56 -0
  1102. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -0
  1103. package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
  1104. package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
  1105. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
  1106. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
  1107. package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
  1108. package/dist/esm/components/settings/SettingsHub.js +32 -5
  1109. package/dist/esm/components/settings/SettingsHub.js.map +1 -1
  1110. package/dist/esm/components/settings/SettingsHub.labels.d.ts.map +1 -1
  1111. package/dist/esm/components/settings/SettingsHub.labels.js.map +1 -1
  1112. package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
  1113. package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
  1114. package/dist/esm/components/settings/SettingsSectionNavigationHost.d.ts.map +1 -1
  1115. package/dist/esm/components/settings/SettingsSectionNavigationHost.js.map +1 -1
  1116. package/dist/esm/components/typography/heading.d.ts.map +1 -1
  1117. package/dist/esm/components/typography/heading.js.map +1 -1
  1118. package/dist/esm/components/typography/label.d.ts.map +1 -1
  1119. package/dist/esm/components/typography/label.js.map +1 -1
  1120. package/dist/esm/components/typography/link.d.ts.map +1 -1
  1121. package/dist/esm/components/typography/link.js.map +1 -1
  1122. package/dist/esm/components/typography/text.d.ts.map +1 -1
  1123. package/dist/esm/components/typography/text.js.map +1 -1
  1124. package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
  1125. package/dist/esm/components/typography/truncated-text.js.map +1 -1
  1126. package/dist/esm/components/views/ViewLayout_Header.d.ts.map +1 -1
  1127. package/dist/esm/components/views/ViewLayout_Header.js.map +1 -1
  1128. package/dist/esm/components/views/ViewNotFound.d.ts.map +1 -1
  1129. package/dist/esm/components/views/ViewNotFound.js.map +1 -1
  1130. package/dist/esm/components/views/ViewNotFound.labels.d.ts.map +1 -1
  1131. package/dist/esm/components/views/ViewNotFound.labels.js.map +1 -1
  1132. package/dist/esm/components/views/chart-view/ChartEmptyState.d.ts.map +1 -1
  1133. package/dist/esm/components/views/chart-view/ChartEmptyState.js.map +1 -1
  1134. package/dist/esm/components/views/chart-view/ChartErrorState.d.ts.map +1 -1
  1135. package/dist/esm/components/views/chart-view/ChartErrorState.js.map +1 -1
  1136. package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.d.ts.map +1 -1
  1137. package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.js.map +1 -1
  1138. package/dist/esm/components/views/chart-view/ChartView.d.ts.map +1 -1
  1139. package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
  1140. package/dist/esm/components/views/chart-view/ChartView.labels.d.ts.map +1 -1
  1141. package/dist/esm/components/views/chart-view/ChartView.labels.js.map +1 -1
  1142. package/dist/esm/components/views/chart-view/ChartView.lazy.d.ts.map +1 -1
  1143. package/dist/esm/components/views/chart-view/ChartView.lazy.js.map +1 -1
  1144. package/dist/esm/components/views/chart-view/ChartWidget.d.ts.map +1 -1
  1145. package/dist/esm/components/views/chart-view/ChartWidget.js.map +1 -1
  1146. package/dist/esm/components/views/chart-view/ChartWidget.labels.d.ts.map +1 -1
  1147. package/dist/esm/components/views/chart-view/ChartWidget.labels.js.map +1 -1
  1148. package/dist/esm/components/views/chart-view/WildoEChart.d.ts.map +1 -1
  1149. package/dist/esm/components/views/chart-view/WildoEChart.js.map +1 -1
  1150. package/dist/esm/components/views/chart-view/chart-export.utils.d.ts.map +1 -1
  1151. package/dist/esm/components/views/chart-view/chart-export.utils.js.map +1 -1
  1152. package/dist/esm/components/views/chart-view/chart-runtime.utils.d.ts.map +1 -1
  1153. package/dist/esm/components/views/chart-view/chart-runtime.utils.js.map +1 -1
  1154. package/dist/esm/components/views/chart-view/chart-theme-bridge.d.ts.map +1 -1
  1155. package/dist/esm/components/views/chart-view/chart-theme-bridge.js.map +1 -1
  1156. package/dist/esm/components/views/chart-view/chart-view.utils.d.ts.map +1 -1
  1157. package/dist/esm/components/views/chart-view/chart-view.utils.js.map +1 -1
  1158. package/dist/esm/components/views/chart-view/dev/ChartView.example.d.ts.map +1 -1
  1159. package/dist/esm/components/views/chart-view/dev/ChartView.example.js.map +1 -1
  1160. package/dist/esm/components/views/chart-view/echarts-setup.d.ts.map +1 -1
  1161. package/dist/esm/components/views/chart-view/echarts-setup.js.map +1 -1
  1162. package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts.map +1 -1
  1163. package/dist/esm/components/views/chart-view/enum-color-bridge.js.map +1 -1
  1164. package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts.map +1 -1
  1165. package/dist/esm/components/views/chart-view/option-builder/builder-utils.js.map +1 -1
  1166. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.d.ts.map +1 -1
  1167. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map +1 -1
  1168. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.d.ts.map +1 -1
  1169. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map +1 -1
  1170. package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.d.ts.map +1 -1
  1171. package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.js.map +1 -1
  1172. package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.d.ts.map +1 -1
  1173. package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.js.map +1 -1
  1174. package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.d.ts.map +1 -1
  1175. package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.js.map +1 -1
  1176. package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.d.ts.map +1 -1
  1177. package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.js.map +1 -1
  1178. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.d.ts.map +1 -1
  1179. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js.map +1 -1
  1180. package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.d.ts.map +1 -1
  1181. package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.js.map +1 -1
  1182. package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.d.ts.map +1 -1
  1183. package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.js.map +1 -1
  1184. package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.d.ts.map +1 -1
  1185. package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.js.map +1 -1
  1186. package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.d.ts.map +1 -1
  1187. package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.js.map +1 -1
  1188. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.d.ts.map +1 -1
  1189. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js.map +1 -1
  1190. package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.d.ts.map +1 -1
  1191. package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.js.map +1 -1
  1192. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts.map +1 -1
  1193. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.js.map +1 -1
  1194. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts.map +1 -1
  1195. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
  1196. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
  1197. package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
  1198. package/dist/esm/components/views/composite-view/CompositeView.d.ts.map +1 -1
  1199. package/dist/esm/components/views/composite-view/CompositeView.js.map +1 -1
  1200. package/dist/esm/components/views/composite-view/CompositeViewContext.d.ts.map +1 -1
  1201. package/dist/esm/components/views/composite-view/CompositeViewContext.js.map +1 -1
  1202. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.d.ts.map +1 -1
  1203. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js.map +1 -1
  1204. package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.d.ts.map +1 -1
  1205. package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.js.map +1 -1
  1206. package/dist/esm/components/views/execution-view/ExecutionView.d.ts.map +1 -1
  1207. package/dist/esm/components/views/execution-view/ExecutionView.js.map +1 -1
  1208. package/dist/esm/components/views/execution-view/ExecutionView.labels.d.ts.map +1 -1
  1209. package/dist/esm/components/views/execution-view/ExecutionView.labels.js.map +1 -1
  1210. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
  1211. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +11 -7
  1212. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js.map +1 -1
  1213. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts.map +1 -1
  1214. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
  1215. package/dist/esm/components/views/full-custom-view/FullCustomView.d.ts.map +1 -1
  1216. package/dist/esm/components/views/full-custom-view/FullCustomView.js.map +1 -1
  1217. package/dist/esm/components/views/onboarding-view/OnboardingView.d.ts.map +1 -1
  1218. package/dist/esm/components/views/onboarding-view/OnboardingView.js +9 -2
  1219. package/dist/esm/components/views/onboarding-view/OnboardingView.js.map +1 -1
  1220. package/dist/esm/components/views/onboarding-view/OnboardingView.labels.d.ts.map +1 -1
  1221. package/dist/esm/components/views/onboarding-view/OnboardingView.labels.js.map +1 -1
  1222. package/dist/esm/components/views/onboarding-view/onboarding-view.utils.d.ts.map +1 -1
  1223. package/dist/esm/components/views/onboarding-view/onboarding-view.utils.js.map +1 -1
  1224. package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
  1225. package/dist/esm/core/app-shell/PortalContainerContext.js.map +1 -1
  1226. package/dist/esm/core/app-shell/app-shell.schemas.d.ts +40 -18
  1227. package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
  1228. package/dist/esm/core/app-shell/app-shell.schemas.js +0 -5
  1229. package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
  1230. package/dist/esm/core/app-shell/app-shell.utils.d.ts.map +1 -1
  1231. package/dist/esm/core/app-shell/app-shell.utils.js.map +1 -1
  1232. package/dist/esm/core/app-shell/hosted-components.utils.d.ts.map +1 -1
  1233. package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
  1234. package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
  1235. package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
  1236. package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
  1237. package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
  1238. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts +16 -0
  1239. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts.map +1 -1
  1240. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js +17 -0
  1241. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js.map +1 -1
  1242. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +31 -11
  1243. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
  1244. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +34 -25
  1245. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
  1246. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +30 -4
  1247. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts.map +1 -1
  1248. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js +233 -17
  1249. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
  1250. package/dist/esm/core/billing/BillingContext.d.ts +36 -0
  1251. package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
  1252. package/dist/esm/core/billing/BillingContext.js +1 -0
  1253. package/dist/esm/core/billing/BillingContext.js.map +1 -1
  1254. package/dist/esm/core/billing/BillingErrorNotifier.d.ts.map +1 -1
  1255. package/dist/esm/core/billing/BillingErrorNotifier.js.map +1 -1
  1256. package/dist/esm/core/billing/billing-launcher.d.ts.map +1 -1
  1257. package/dist/esm/core/billing/billing-launcher.js +1 -1
  1258. package/dist/esm/core/billing/billing-launcher.js.map +1 -1
  1259. package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
  1260. package/dist/esm/core/billing/billing-provider-display.frontend.utils.js.map +1 -1
  1261. package/dist/esm/core/billing/useBilling.d.ts.map +1 -1
  1262. package/dist/esm/core/billing/useBilling.js.map +1 -1
  1263. package/dist/esm/core/billing/useBillingAction.d.ts.map +1 -1
  1264. package/dist/esm/core/billing/useBillingAction.js.map +1 -1
  1265. package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts.map +1 -1
  1266. package/dist/esm/core/billing/useSafeBillingActionExecutor.js.map +1 -1
  1267. package/dist/esm/core/branding/useBrandIdentity.d.ts +17 -0
  1268. package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
  1269. package/dist/esm/core/branding/useBrandIdentity.js +17 -0
  1270. package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
  1271. package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
  1272. package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
  1273. package/dist/esm/core/commons/devices.frontend.schemas.d.ts.map +1 -1
  1274. package/dist/esm/core/commons/devices.frontend.schemas.js.map +1 -1
  1275. package/dist/esm/core/commons/local-storage.frontend.schemas.d.ts.map +1 -1
  1276. package/dist/esm/core/commons/local-storage.frontend.schemas.js.map +1 -1
  1277. package/dist/esm/core/commons/window-event.frontend.schemas.d.ts.map +1 -1
  1278. package/dist/esm/core/commons/window-event.frontend.schemas.js.map +1 -1
  1279. package/dist/esm/core/companion/companion-exports.frontend.definitions.d.ts.map +1 -1
  1280. package/dist/esm/core/companion/companion-exports.frontend.definitions.js.map +1 -1
  1281. package/dist/esm/core/components-registry/ComponentNotInjected.d.ts.map +1 -1
  1282. package/dist/esm/core/components-registry/ComponentNotInjected.js.map +1 -1
  1283. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
  1284. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +1 -0
  1285. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
  1286. package/dist/esm/core/components-registry/component-registry-loader.frontend.service.d.ts.map +1 -1
  1287. package/dist/esm/core/components-registry/component-registry-loader.frontend.service.js.map +1 -1
  1288. package/dist/esm/core/components-registry/component-registry.frontend.schemas.d.ts.map +1 -1
  1289. package/dist/esm/core/components-registry/component-registry.frontend.schemas.js.map +1 -1
  1290. package/dist/esm/core/components-registry/component-registry.frontend.service.d.ts.map +1 -1
  1291. package/dist/esm/core/components-registry/component-registry.frontend.service.js +4 -1
  1292. package/dist/esm/core/components-registry/component-registry.frontend.service.js.map +1 -1
  1293. package/dist/esm/core/components-registry/component-resolver.frontend.helper.d.ts.map +1 -1
  1294. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js +8 -1
  1295. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
  1296. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts +188 -0
  1297. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -0
  1298. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js +255 -0
  1299. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -0
  1300. package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
  1301. package/dist/esm/core/components-registry/register-framework-layouts.js +2 -0
  1302. package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
  1303. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts +76 -0
  1304. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -0
  1305. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js +99 -0
  1306. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -0
  1307. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +15 -5
  1308. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
  1309. package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
  1310. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts +44 -7
  1311. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
  1312. package/dist/esm/core/config/app-level-components.frontend.schemas.js +44 -7
  1313. package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
  1314. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +14 -14
  1315. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
  1316. package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
  1317. package/dist/esm/core/config/composite-view.schemas.d.ts.map +1 -1
  1318. package/dist/esm/core/config/composite-view.schemas.js.map +1 -1
  1319. package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
  1320. package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
  1321. package/dist/esm/core/config/engine-settings-destinations.d.ts +0 -49
  1322. package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
  1323. package/dist/esm/core/config/engine-settings-destinations.js +102 -56
  1324. package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
  1325. package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
  1326. package/dist/esm/core/config/execution-view.schemas.js.map +1 -1
  1327. package/dist/esm/core/config/flows-actors-view.schemas.d.ts +5 -3
  1328. package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
  1329. package/dist/esm/core/config/flows-actors-view.schemas.js +2 -2
  1330. package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
  1331. package/dist/esm/core/config/full-custom-view.schemas.d.ts.map +1 -1
  1332. package/dist/esm/core/config/full-custom-view.schemas.js.map +1 -1
  1333. package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
  1334. package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
  1335. package/dist/esm/core/config/inserted-view.frontend.schemas.d.ts.map +1 -1
  1336. package/dist/esm/core/config/inserted-view.frontend.schemas.js.map +1 -1
  1337. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +51 -11
  1338. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
  1339. package/dist/esm/core/config/launcher-items.frontend.schemas.js +21 -7
  1340. package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
  1341. package/dist/esm/core/config/onboarding-view.frontend.schemas.d.ts.map +1 -1
  1342. package/dist/esm/core/config/onboarding-view.frontend.schemas.js.map +1 -1
  1343. package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.d.ts.map +1 -1
  1344. package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.js.map +1 -1
  1345. package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts.map +1 -1
  1346. package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
  1347. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +23 -1
  1348. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
  1349. package/dist/esm/core/config/settings-hub.frontend.schemas.js +22 -0
  1350. package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
  1351. package/dist/esm/core/config/useSettingsHubConfig.d.ts.map +1 -1
  1352. package/dist/esm/core/config/useSettingsHubConfig.js +8 -1
  1353. package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
  1354. package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
  1355. package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
  1356. package/dist/esm/core/config/verify-feature-references.frontend.d.ts +7 -0
  1357. package/dist/esm/core/config/verify-feature-references.frontend.d.ts.map +1 -1
  1358. package/dist/esm/core/config/verify-feature-references.frontend.js +42 -1
  1359. package/dist/esm/core/config/verify-feature-references.frontend.js.map +1 -1
  1360. package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
  1361. package/dist/esm/core/config/verify-launcher-content.js +9 -2
  1362. package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
  1363. package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
  1364. package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
  1365. package/dist/esm/core/config/views-frontend.schemas.d.ts.map +1 -1
  1366. package/dist/esm/core/config/views-frontend.schemas.js.map +1 -1
  1367. package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
  1368. package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
  1369. package/dist/esm/core/errors/ErrorBoundary.d.ts.map +1 -1
  1370. package/dist/esm/core/errors/ErrorBoundary.js.map +1 -1
  1371. package/dist/esm/core/errors/ErrorContext.d.ts.map +1 -1
  1372. package/dist/esm/core/errors/ErrorContext.js.map +1 -1
  1373. package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
  1374. package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
  1375. package/dist/esm/core/errors/RouterErrorBoundary.d.ts.map +1 -1
  1376. package/dist/esm/core/errors/RouterErrorBoundary.js.map +1 -1
  1377. package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
  1378. package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
  1379. package/dist/esm/core/errors/errors-builder.frontend.services.d.ts.map +1 -1
  1380. package/dist/esm/core/errors/errors-builder.frontend.services.js.map +1 -1
  1381. package/dist/esm/core/errors/errors.frontend.schemas.d.ts.map +1 -1
  1382. package/dist/esm/core/errors/errors.frontend.schemas.js.map +1 -1
  1383. package/dist/esm/core/errors/http-error-behavior.frontend.schemas.d.ts.map +1 -1
  1384. package/dist/esm/core/errors/http-error-behavior.frontend.schemas.js.map +1 -1
  1385. package/dist/esm/core/errors/useError.d.ts.map +1 -1
  1386. package/dist/esm/core/errors/useError.js.map +1 -1
  1387. package/dist/esm/core/errors/withErrorBoundary.d.ts.map +1 -1
  1388. package/dist/esm/core/errors/withErrorBoundary.js.map +1 -1
  1389. package/dist/esm/core/events/EventBusContext.d.ts.map +1 -1
  1390. package/dist/esm/core/events/EventBusContext.js.map +1 -1
  1391. package/dist/esm/core/events/NotificationContext.d.ts +6 -5
  1392. package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
  1393. package/dist/esm/core/events/NotificationContext.js +41 -39
  1394. package/dist/esm/core/events/NotificationContext.js.map +1 -1
  1395. package/dist/esm/core/events/event-bus.frontend.service.d.ts.map +1 -1
  1396. package/dist/esm/core/events/event-bus.frontend.service.js.map +1 -1
  1397. package/dist/esm/core/events/events.frontend.schemas.d.ts +34 -18
  1398. package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
  1399. package/dist/esm/core/events/events.frontend.schemas.js +22 -1
  1400. package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
  1401. package/dist/esm/core/events/notification-display-policy.frontend.schemas.d.ts.map +1 -1
  1402. package/dist/esm/core/events/notification-display-policy.frontend.schemas.js.map +1 -1
  1403. package/dist/esm/core/events/toast.d.ts.map +1 -1
  1404. package/dist/esm/core/events/toast.js.map +1 -1
  1405. package/dist/esm/core/events/useEventBus.d.ts.map +1 -1
  1406. package/dist/esm/core/events/useEventBus.js.map +1 -1
  1407. package/dist/esm/core/events/useNotification.d.ts.map +1 -1
  1408. package/dist/esm/core/events/useNotification.js.map +1 -1
  1409. package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.d.ts.map +1 -1
  1410. package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.js.map +1 -1
  1411. package/dist/esm/core/execution/ExecutionRuntimeContext.d.ts.map +1 -1
  1412. package/dist/esm/core/execution/ExecutionRuntimeContext.js.map +1 -1
  1413. package/dist/esm/core/execution/execution-anchor.utils.d.ts.map +1 -1
  1414. package/dist/esm/core/execution/execution-anchor.utils.js.map +1 -1
  1415. package/dist/esm/core/execution/execution-dirty-markers.utils.d.ts.map +1 -1
  1416. package/dist/esm/core/execution/execution-dirty-markers.utils.js.map +1 -1
  1417. package/dist/esm/core/execution/execution-failure-handling.utils.d.ts.map +1 -1
  1418. package/dist/esm/core/execution/execution-failure-handling.utils.js.map +1 -1
  1419. package/dist/esm/core/execution/execution-outcome-emission.utils.d.ts.map +1 -1
  1420. package/dist/esm/core/execution/execution-outcome-emission.utils.js.map +1 -1
  1421. package/dist/esm/core/execution/execution-participation.utils.d.ts.map +1 -1
  1422. package/dist/esm/core/execution/execution-participation.utils.js.map +1 -1
  1423. package/dist/esm/core/execution/useExecution.d.ts.map +1 -1
  1424. package/dist/esm/core/execution/useExecution.js.map +1 -1
  1425. package/dist/esm/core/execution/useExecutionDirtyBridge.d.ts.map +1 -1
  1426. package/dist/esm/core/execution/useExecutionDirtyBridge.js.map +1 -1
  1427. package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.d.ts.map +1 -1
  1428. package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.js.map +1 -1
  1429. package/dist/esm/core/execution/useExecutionParticipationPrefetch.d.ts.map +1 -1
  1430. package/dist/esm/core/execution/useExecutionParticipationPrefetch.js.map +1 -1
  1431. package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
  1432. package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
  1433. package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.d.ts.map +1 -1
  1434. package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.js.map +1 -1
  1435. package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
  1436. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
  1437. package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts +77 -0
  1438. package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -0
  1439. package/dist/esm/core/external-providers/ProviderFilePickerHost.js +114 -0
  1440. package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -0
  1441. package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.d.ts.map +1 -1
  1442. package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.js.map +1 -1
  1443. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts +33 -15
  1444. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts.map +1 -1
  1445. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js +27 -21
  1446. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
  1447. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts +102 -0
  1448. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts.map +1 -0
  1449. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js +117 -0
  1450. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js.map +1 -0
  1451. package/dist/esm/core/features/FeatureGate.d.ts.map +1 -1
  1452. package/dist/esm/core/features/FeatureGate.js +1 -1
  1453. package/dist/esm/core/features/FeatureGate.js.map +1 -1
  1454. package/dist/esm/core/features/FeatureRouteGuard.d.ts.map +1 -1
  1455. package/dist/esm/core/features/FeatureRouteGuard.js +1 -1
  1456. package/dist/esm/core/features/FeatureRouteGuard.js.map +1 -1
  1457. package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
  1458. package/dist/esm/core/features/FeaturesContext.js.map +1 -1
  1459. package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts +7 -0
  1460. package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts.map +1 -1
  1461. package/dist/esm/core/features/feature-unavailability.frontend.utils.js +5 -0
  1462. package/dist/esm/core/features/feature-unavailability.frontend.utils.js.map +1 -1
  1463. package/dist/esm/core/features/useFeatureAvailability.d.ts +2 -0
  1464. package/dist/esm/core/features/useFeatureAvailability.d.ts.map +1 -1
  1465. package/dist/esm/core/features/useFeatureAvailability.js +4 -2
  1466. package/dist/esm/core/features/useFeatureAvailability.js.map +1 -1
  1467. package/dist/esm/core/features/useFeatureGate.d.ts.map +1 -1
  1468. package/dist/esm/core/features/useFeatureGate.js.map +1 -1
  1469. package/dist/esm/core/features/useFeatures.d.ts.map +1 -1
  1470. package/dist/esm/core/features/useFeatures.js.map +1 -1
  1471. package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
  1472. package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
  1473. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +26 -2
  1474. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
  1475. package/dist/esm/core/flows-actors/FlowsActorsContext.js +60 -3
  1476. package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
  1477. package/dist/esm/core/flows-actors/useFlowsActors.d.ts.map +1 -1
  1478. package/dist/esm/core/flows-actors/useFlowsActors.js.map +1 -1
  1479. package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
  1480. package/dist/esm/core/guidance/GuidanceContext.js +2 -2
  1481. package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
  1482. package/dist/esm/core/guidance/GuidanceRenderer.d.ts.map +1 -1
  1483. package/dist/esm/core/guidance/GuidanceRenderer.js.map +1 -1
  1484. package/dist/esm/core/guidance/guidance-audience.frontend.utils.d.ts.map +1 -1
  1485. package/dist/esm/core/guidance/guidance-audience.frontend.utils.js.map +1 -1
  1486. package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.d.ts.map +1 -1
  1487. package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.js.map +1 -1
  1488. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.d.ts.map +1 -1
  1489. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.js.map +1 -1
  1490. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.d.ts.map +1 -1
  1491. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.js.map +1 -1
  1492. package/dist/esm/core/guidance/renderers/GuidanceBadge.d.ts.map +1 -1
  1493. package/dist/esm/core/guidance/renderers/GuidanceBadge.js.map +1 -1
  1494. package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.d.ts.map +1 -1
  1495. package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.js.map +1 -1
  1496. package/dist/esm/core/guidance/renderers/GuidanceBanner.d.ts.map +1 -1
  1497. package/dist/esm/core/guidance/renderers/GuidanceBanner.js.map +1 -1
  1498. package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.d.ts.map +1 -1
  1499. package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.js.map +1 -1
  1500. package/dist/esm/core/guidance/renderers/GuidanceCard.d.ts.map +1 -1
  1501. package/dist/esm/core/guidance/renderers/GuidanceCard.js.map +1 -1
  1502. package/dist/esm/core/guidance/renderers/GuidanceCard.labels.d.ts.map +1 -1
  1503. package/dist/esm/core/guidance/renderers/GuidanceCard.labels.js.map +1 -1
  1504. package/dist/esm/core/guidance/renderers/GuidanceChecklist.d.ts.map +1 -1
  1505. package/dist/esm/core/guidance/renderers/GuidanceChecklist.js.map +1 -1
  1506. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.d.ts.map +1 -1
  1507. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
  1508. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.d.ts.map +1 -1
  1509. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.js.map +1 -1
  1510. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.d.ts.map +1 -1
  1511. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.js.map +1 -1
  1512. package/dist/esm/core/guidance/renderers/GuidanceModal.d.ts.map +1 -1
  1513. package/dist/esm/core/guidance/renderers/GuidanceModal.js.map +1 -1
  1514. package/dist/esm/core/guidance/renderers/GuidanceModal.labels.d.ts.map +1 -1
  1515. package/dist/esm/core/guidance/renderers/GuidanceModal.labels.js.map +1 -1
  1516. package/dist/esm/core/guidance/renderers/GuidanceSurvey.d.ts.map +1 -1
  1517. package/dist/esm/core/guidance/renderers/GuidanceSurvey.js.map +1 -1
  1518. package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.d.ts.map +1 -1
  1519. package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.js.map +1 -1
  1520. package/dist/esm/core/guidance/renderers/GuidanceTooltip.d.ts.map +1 -1
  1521. package/dist/esm/core/guidance/renderers/GuidanceTooltip.js.map +1 -1
  1522. package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.d.ts.map +1 -1
  1523. package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.js.map +1 -1
  1524. package/dist/esm/core/guidance/renderers/GuidanceTour.d.ts.map +1 -1
  1525. package/dist/esm/core/guidance/renderers/GuidanceTour.js.map +1 -1
  1526. package/dist/esm/core/guidance/renderers/GuidanceTour.labels.d.ts.map +1 -1
  1527. package/dist/esm/core/guidance/renderers/GuidanceTour.labels.js.map +1 -1
  1528. package/dist/esm/core/guidance/useGuidance.d.ts.map +1 -1
  1529. package/dist/esm/core/guidance/useGuidance.js.map +1 -1
  1530. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +29 -0
  1531. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
  1532. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +76 -1
  1533. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
  1534. package/dist/esm/core/hotkey/HotkeyRegistryContext.d.ts.map +1 -1
  1535. package/dist/esm/core/hotkey/HotkeyRegistryContext.js +44 -8
  1536. package/dist/esm/core/hotkey/HotkeyRegistryContext.js.map +1 -1
  1537. package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.d.ts.map +1 -1
  1538. package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.js.map +1 -1
  1539. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts +53 -1
  1540. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts.map +1 -1
  1541. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js +78 -13
  1542. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js.map +1 -1
  1543. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts.map +1 -1
  1544. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
  1545. package/dist/esm/core/hotkey/useHotkey.d.ts.map +1 -1
  1546. package/dist/esm/core/hotkey/useHotkey.js.map +1 -1
  1547. package/dist/esm/core/i18n/I18nContext.d.ts +32 -0
  1548. package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
  1549. package/dist/esm/core/i18n/I18nContext.js +154 -32
  1550. package/dist/esm/core/i18n/I18nContext.js.map +1 -1
  1551. package/dist/esm/core/i18n/component-label-resolution.utils.d.ts.map +1 -1
  1552. package/dist/esm/core/i18n/component-label-resolution.utils.js.map +1 -1
  1553. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts +51 -0
  1554. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -0
  1555. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js +66 -0
  1556. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -0
  1557. package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
  1558. package/dist/esm/core/i18n/useI18n.js +22 -2
  1559. package/dist/esm/core/i18n/useI18n.js.map +1 -1
  1560. package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
  1561. package/dist/esm/core/icons/IconRegistryBridge.js.map +1 -1
  1562. package/dist/esm/core/icons/IconRegistryContext.d.ts.map +1 -1
  1563. package/dist/esm/core/icons/IconRegistryContext.js.map +1 -1
  1564. package/dist/esm/core/icons/icon-registry.frontend.definitions.d.ts.map +1 -1
  1565. package/dist/esm/core/icons/icon-registry.frontend.definitions.js.map +1 -1
  1566. package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
  1567. package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
  1568. package/dist/esm/core/icons/useIconRegistry.d.ts.map +1 -1
  1569. package/dist/esm/core/icons/useIconRegistry.js.map +1 -1
  1570. package/dist/esm/core/loading/AppLoadingGate.d.ts.map +1 -1
  1571. package/dist/esm/core/loading/AppLoadingGate.js.map +1 -1
  1572. package/dist/esm/core/loading/LoadingBarrier.d.ts.map +1 -1
  1573. package/dist/esm/core/loading/LoadingBarrier.js.map +1 -1
  1574. package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
  1575. package/dist/esm/core/loading/LoadingContext.js.map +1 -1
  1576. package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
  1577. package/dist/esm/core/loading/LoadingGate.js +16 -3
  1578. package/dist/esm/core/loading/LoadingGate.js.map +1 -1
  1579. package/dist/esm/core/loading/loading-policy.frontend.schemas.d.ts.map +1 -1
  1580. package/dist/esm/core/loading/loading-policy.frontend.schemas.js.map +1 -1
  1581. package/dist/esm/core/loading/loading-scope.frontend.utils.d.ts.map +1 -1
  1582. package/dist/esm/core/loading/loading-scope.frontend.utils.js.map +1 -1
  1583. package/dist/esm/core/loading/loading-types.frontend.schemas.d.ts.map +1 -1
  1584. package/dist/esm/core/loading/loading-types.frontend.schemas.js.map +1 -1
  1585. package/dist/esm/core/loading/resolveLoadingPolicy.d.ts.map +1 -1
  1586. package/dist/esm/core/loading/resolveLoadingPolicy.js.map +1 -1
  1587. package/dist/esm/core/loading/useAppLoading.d.ts.map +1 -1
  1588. package/dist/esm/core/loading/useAppLoading.js.map +1 -1
  1589. package/dist/esm/core/loading/useComponentLoading.d.ts.map +1 -1
  1590. package/dist/esm/core/loading/useComponentLoading.js.map +1 -1
  1591. package/dist/esm/core/loading/useEmitLoadingScope.d.ts.map +1 -1
  1592. package/dist/esm/core/loading/useEmitLoadingScope.js.map +1 -1
  1593. package/dist/esm/core/loading/useLoading.d.ts.map +1 -1
  1594. package/dist/esm/core/loading/useLoading.js.map +1 -1
  1595. package/dist/esm/core/mode/AppModeContext.d.ts.map +1 -1
  1596. package/dist/esm/core/mode/AppModeContext.js.map +1 -1
  1597. package/dist/esm/core/mode/section-visibility.d.ts.map +1 -1
  1598. package/dist/esm/core/mode/section-visibility.js.map +1 -1
  1599. package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
  1600. package/dist/esm/core/monitoring/analytics/AnalyticsContext.js.map +1 -1
  1601. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts.map +1 -1
  1602. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js.map +1 -1
  1603. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts.map +1 -1
  1604. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js.map +1 -1
  1605. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts.map +1 -1
  1606. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js.map +1 -1
  1607. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
  1608. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
  1609. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts.map +1 -1
  1610. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js.map +1 -1
  1611. package/dist/esm/core/monitoring/analytics/useAnalytics.d.ts.map +1 -1
  1612. package/dist/esm/core/monitoring/analytics/useAnalytics.js.map +1 -1
  1613. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts +97 -0
  1614. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts.map +1 -0
  1615. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js +179 -0
  1616. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js.map +1 -0
  1617. package/dist/esm/core/monitoring/logger.frontend.service.d.ts.map +1 -1
  1618. package/dist/esm/core/monitoring/logger.frontend.service.js.map +1 -1
  1619. package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
  1620. package/dist/esm/core/navigation/NavigationContentAreas.js +76 -48
  1621. package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
  1622. package/dist/esm/core/navigation/NavigationContext.d.ts +12 -0
  1623. package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
  1624. package/dist/esm/core/navigation/NavigationContext.js +24 -0
  1625. package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
  1626. package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
  1627. package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
  1628. package/dist/esm/core/navigation/hosted-pane.constants.d.ts.map +1 -1
  1629. package/dist/esm/core/navigation/hosted-pane.constants.js.map +1 -1
  1630. package/dist/esm/core/navigation/launcher-resolution.d.ts +1 -1
  1631. package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
  1632. package/dist/esm/core/navigation/launcher-resolution.js +1 -1
  1633. package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
  1634. package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
  1635. package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
  1636. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
  1637. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js.map +1 -1
  1638. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts +14 -5
  1639. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
  1640. package/dist/esm/core/navigation/navigation-policy-resolver.service.js +146 -17
  1641. package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
  1642. package/dist/esm/core/navigation/navigation.schemas.d.ts +58 -10
  1643. package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
  1644. package/dist/esm/core/navigation/navigation.schemas.js +1 -1
  1645. package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
  1646. package/dist/esm/core/navigation/navigation.utils.d.ts +2 -2
  1647. package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
  1648. package/dist/esm/core/navigation/navigation.utils.js +4 -4
  1649. package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
  1650. package/dist/esm/core/navigation/primary-destination-layout.d.ts.map +1 -1
  1651. package/dist/esm/core/navigation/primary-destination-layout.js.map +1 -1
  1652. package/dist/esm/core/navigation/useIsStackEntryActive.d.ts.map +1 -1
  1653. package/dist/esm/core/navigation/useIsStackEntryActive.js.map +1 -1
  1654. package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
  1655. package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
  1656. package/dist/esm/core/navigation/useNavigationController.d.ts +8 -0
  1657. package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
  1658. package/dist/esm/core/navigation/useNavigationController.js +26 -6
  1659. package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
  1660. package/dist/esm/core/navigation/useNavigationState.d.ts.map +1 -1
  1661. package/dist/esm/core/navigation/useNavigationState.js.map +1 -1
  1662. package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
  1663. package/dist/esm/core/navigation/useOverlayTitle.js.map +1 -1
  1664. package/dist/esm/core/navigation/useTransactionAwareSyncRetry.d.ts.map +1 -1
  1665. package/dist/esm/core/navigation/useTransactionAwareSyncRetry.js.map +1 -1
  1666. package/dist/esm/core/navigation/view-title-resolution.d.ts.map +1 -1
  1667. package/dist/esm/core/navigation/view-title-resolution.js.map +1 -1
  1668. package/dist/esm/core/navigation/zone-content-geometry.d.ts.map +1 -1
  1669. package/dist/esm/core/navigation/zone-content-geometry.js.map +1 -1
  1670. package/dist/esm/core/navigation/zone-empty-behavior.d.ts.map +1 -1
  1671. package/dist/esm/core/navigation/zone-empty-behavior.js.map +1 -1
  1672. package/dist/esm/core/navigation/zone-visible-entry.d.ts +26 -0
  1673. package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -0
  1674. package/dist/esm/core/navigation/zone-visible-entry.js +76 -0
  1675. package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -0
  1676. package/dist/esm/core/requests/api-readiness-checker.frontend.service.d.ts.map +1 -1
  1677. package/dist/esm/core/requests/api-readiness-checker.frontend.service.js.map +1 -1
  1678. package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
  1679. package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
  1680. package/dist/esm/core/requests/client-instance-id.frontend.service.d.ts.map +1 -1
  1681. package/dist/esm/core/requests/client-instance-id.frontend.service.js.map +1 -1
  1682. package/dist/esm/core/requests/network-backoff.frontend.utils.d.ts.map +1 -1
  1683. package/dist/esm/core/requests/network-backoff.frontend.utils.js.map +1 -1
  1684. package/dist/esm/core/requests/offline-replay-policy.frontend.d.ts.map +1 -1
  1685. package/dist/esm/core/requests/offline-replay-policy.frontend.js.map +1 -1
  1686. package/dist/esm/core/requests/request-cancellation.frontend.utils.d.ts.map +1 -1
  1687. package/dist/esm/core/requests/request-cancellation.frontend.utils.js.map +1 -1
  1688. package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.d.ts.map +1 -1
  1689. package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.js.map +1 -1
  1690. package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
  1691. package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
  1692. package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
  1693. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
  1694. package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts.map +1 -1
  1695. package/dist/esm/core/requests/websockets/useNotificationBadges.js +32 -19
  1696. package/dist/esm/core/requests/websockets/useNotificationBadges.js.map +1 -1
  1697. package/dist/esm/core/requests/websockets/useResourceRoom.d.ts.map +1 -1
  1698. package/dist/esm/core/requests/websockets/useResourceRoom.js.map +1 -1
  1699. package/dist/esm/core/requests/websockets/useWebSocket.d.ts.map +1 -1
  1700. package/dist/esm/core/requests/websockets/useWebSocket.js.map +1 -1
  1701. package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.d.ts.map +1 -1
  1702. package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.js.map +1 -1
  1703. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +146 -2
  1704. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
  1705. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +108 -1
  1706. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
  1707. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts +3 -2
  1708. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
  1709. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js +57 -4
  1710. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
  1711. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +6 -0
  1712. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
  1713. package/dist/esm/core/requests/wildo-http-client.frontend.service.js +1 -0
  1714. package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
  1715. package/dist/esm/core/resources/ResourceOperationViewContext.d.ts.map +1 -1
  1716. package/dist/esm/core/resources/ResourceOperationViewContext.js.map +1 -1
  1717. package/dist/esm/core/resources/ResourceOperationViewProvider.d.ts.map +1 -1
  1718. package/dist/esm/core/resources/ResourceOperationViewProvider.js.map +1 -1
  1719. package/dist/esm/core/resources/ResourceReadCacheBridge.d.ts.map +1 -1
  1720. package/dist/esm/core/resources/ResourceReadCacheBridge.js +130 -37
  1721. package/dist/esm/core/resources/ResourceReadCacheBridge.js.map +1 -1
  1722. package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
  1723. package/dist/esm/core/resources/ResourceRegistryContext.js.map +1 -1
  1724. package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
  1725. package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
  1726. package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
  1727. package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
  1728. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.d.ts.map +1 -1
  1729. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js.map +1 -1
  1730. package/dist/esm/core/resources/ephemeral-fields.utils.d.ts.map +1 -1
  1731. package/dist/esm/core/resources/ephemeral-fields.utils.js.map +1 -1
  1732. package/dist/esm/core/resources/file-serve-url.frontend.utils.d.ts.map +1 -1
  1733. package/dist/esm/core/resources/file-serve-url.frontend.utils.js.map +1 -1
  1734. package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
  1735. package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
  1736. package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
  1737. package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
  1738. package/dist/esm/core/resources/in-place/InPlaceOperationContext.d.ts.map +1 -1
  1739. package/dist/esm/core/resources/in-place/InPlaceOperationContext.js.map +1 -1
  1740. package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.d.ts.map +1 -1
  1741. package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.js.map +1 -1
  1742. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
  1743. package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
  1744. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.d.ts.map +1 -1
  1745. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js.map +1 -1
  1746. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts.map +1 -1
  1747. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js.map +1 -1
  1748. package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts.map +1 -1
  1749. package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
  1750. package/dist/esm/core/resources/resource-operation-view.frontend.utils.d.ts.map +1 -1
  1751. package/dist/esm/core/resources/resource-operation-view.frontend.utils.js.map +1 -1
  1752. package/dist/esm/core/resources/resource-path.frontend.schemas.d.ts.map +1 -1
  1753. package/dist/esm/core/resources/resource-path.frontend.schemas.js.map +1 -1
  1754. package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts.map +1 -1
  1755. package/dist/esm/core/resources/resource-read-cache.frontend.service.js.map +1 -1
  1756. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
  1757. package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
  1758. package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
  1759. package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
  1760. package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
  1761. package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
  1762. package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
  1763. package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
  1764. package/dist/esm/core/resources/rmm/RMMRegistryContext.d.ts.map +1 -1
  1765. package/dist/esm/core/resources/rmm/RMMRegistryContext.js.map +1 -1
  1766. package/dist/esm/core/resources/rmm/RMMWebSocketBridge.d.ts.map +1 -1
  1767. package/dist/esm/core/resources/rmm/RMMWebSocketBridge.js.map +1 -1
  1768. package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
  1769. package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
  1770. package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.d.ts.map +1 -1
  1771. package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.js.map +1 -1
  1772. package/dist/esm/core/resources/rmm/field-path.utils.d.ts.map +1 -1
  1773. package/dist/esm/core/resources/rmm/field-path.utils.js.map +1 -1
  1774. package/dist/esm/core/resources/rmm/rmm-constants.d.ts.map +1 -1
  1775. package/dist/esm/core/resources/rmm/rmm-constants.js.map +1 -1
  1776. package/dist/esm/core/resources/rmm/rmm-noop-snapshot.d.ts.map +1 -1
  1777. package/dist/esm/core/resources/rmm/rmm-noop-snapshot.js.map +1 -1
  1778. package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
  1779. package/dist/esm/core/resources/rmm/types.js.map +1 -1
  1780. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
  1781. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
  1782. package/dist/esm/core/resources/rmm/useListInvalidation.d.ts.map +1 -1
  1783. package/dist/esm/core/resources/rmm/useListInvalidation.js.map +1 -1
  1784. package/dist/esm/core/resources/rmm/useRMMEventHandler.d.ts.map +1 -1
  1785. package/dist/esm/core/resources/rmm/useRMMEventHandler.js.map +1 -1
  1786. package/dist/esm/core/resources/rmm/useRMMSnapshot.d.ts.map +1 -1
  1787. package/dist/esm/core/resources/rmm/useRMMSnapshot.js.map +1 -1
  1788. package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
  1789. package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
  1790. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
  1791. package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
  1792. package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.d.ts.map +1 -1
  1793. package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.js.map +1 -1
  1794. package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
  1795. package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
  1796. package/dist/esm/core/resources/useOperationEnabled.d.ts.map +1 -1
  1797. package/dist/esm/core/resources/useOperationEnabled.js.map +1 -1
  1798. package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
  1799. package/dist/esm/core/resources/useResourceLabels.js +20 -14
  1800. package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
  1801. package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
  1802. package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
  1803. package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
  1804. package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
  1805. package/dist/esm/core/resources/useResourceRegistry.d.ts.map +1 -1
  1806. package/dist/esm/core/resources/useResourceRegistry.js.map +1 -1
  1807. package/dist/esm/core/resources/useResourceSelection.d.ts.map +1 -1
  1808. package/dist/esm/core/resources/useResourceSelection.js.map +1 -1
  1809. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts.map +1 -1
  1810. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js.map +1 -1
  1811. package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
  1812. package/dist/esm/core/runtime/AppRouter.js +2 -1
  1813. package/dist/esm/core/runtime/AppRouter.js.map +1 -1
  1814. package/dist/esm/core/runtime/ApplicationContext.shared.d.ts +9 -0
  1815. package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
  1816. package/dist/esm/core/runtime/ApplicationContext.shared.js.map +1 -1
  1817. package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
  1818. package/dist/esm/core/runtime/ApplicationMainContext.js +1 -0
  1819. package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
  1820. package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.d.ts.map +1 -1
  1821. package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.js.map +1 -1
  1822. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
  1823. package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
  1824. package/dist/esm/core/runtime/env-variable-loader.frontend.service.d.ts.map +1 -1
  1825. package/dist/esm/core/runtime/env-variable-loader.frontend.service.js.map +1 -1
  1826. package/dist/esm/core/runtime/frontend-companion-resource-inputs.d.ts.map +1 -1
  1827. package/dist/esm/core/runtime/frontend-companion-resource-inputs.js.map +1 -1
  1828. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +6 -0
  1829. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
  1830. package/dist/esm/core/runtime/routes.frontend.definitions.js +7 -0
  1831. package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
  1832. package/dist/esm/core/runtime/runtime.frontend.schemas.d.ts.map +1 -1
  1833. package/dist/esm/core/runtime/runtime.frontend.schemas.js.map +1 -1
  1834. package/dist/esm/core/runtime/start-application.frontend.service.d.ts +38 -0
  1835. package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
  1836. package/dist/esm/core/runtime/start-application.frontend.service.js +92 -3
  1837. package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
  1838. package/dist/esm/core/runtime/useApplication.d.ts.map +1 -1
  1839. package/dist/esm/core/runtime/useApplication.js.map +1 -1
  1840. package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
  1841. package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
  1842. package/dist/esm/core/scope/scope.frontend.schemas.d.ts.map +1 -1
  1843. package/dist/esm/core/scope/scope.frontend.schemas.js.map +1 -1
  1844. package/dist/esm/core/scope/scope.utils.frontend.service.d.ts.map +1 -1
  1845. package/dist/esm/core/scope/scope.utils.frontend.service.js.map +1 -1
  1846. package/dist/esm/core/scope/useAppScope.d.ts.map +1 -1
  1847. package/dist/esm/core/scope/useAppScope.js.map +1 -1
  1848. package/dist/esm/core/security/AnonymousSessionContext.d.ts.map +1 -1
  1849. package/dist/esm/core/security/AnonymousSessionContext.js.map +1 -1
  1850. package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
  1851. package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
  1852. package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
  1853. package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
  1854. package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
  1855. package/dist/esm/core/security/UserOrgsContext.js +97 -13
  1856. package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
  1857. package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
  1858. package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
  1859. package/dist/esm/core/security/auth-session.utils.d.ts.map +1 -1
  1860. package/dist/esm/core/security/auth-session.utils.js.map +1 -1
  1861. package/dist/esm/core/security/cross-frontend-handoff.frontend.service.d.ts.map +1 -1
  1862. package/dist/esm/core/security/cross-frontend-handoff.frontend.service.js.map +1 -1
  1863. package/dist/esm/core/security/jwt.frontend.utils.d.ts.map +1 -1
  1864. package/dist/esm/core/security/jwt.frontend.utils.js.map +1 -1
  1865. package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
  1866. package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
  1867. package/dist/esm/core/security/session-token-storage.frontend.service.d.ts.map +1 -1
  1868. package/dist/esm/core/security/session-token-storage.frontend.service.js.map +1 -1
  1869. package/dist/esm/core/security/useAuthSession.d.ts.map +1 -1
  1870. package/dist/esm/core/security/useAuthSession.js.map +1 -1
  1871. package/dist/esm/core/security/useResolvedAuthConfig.d.ts.map +1 -1
  1872. package/dist/esm/core/security/useResolvedAuthConfig.js.map +1 -1
  1873. package/dist/esm/core/security/useStepUpAuth.d.ts.map +1 -1
  1874. package/dist/esm/core/security/useStepUpAuth.js.map +1 -1
  1875. package/dist/esm/core/security/useUserOrgs.d.ts.map +1 -1
  1876. package/dist/esm/core/security/useUserOrgs.js.map +1 -1
  1877. package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts.map +1 -1
  1878. package/dist/esm/core/ui/SurfaceErrorBoundary.js.map +1 -1
  1879. package/dist/esm/core/ui/SurfacePolicyContext.d.ts.map +1 -1
  1880. package/dist/esm/core/ui/SurfacePolicyContext.js.map +1 -1
  1881. package/dist/esm/core/ui/TypographyScopeContext.d.ts.map +1 -1
  1882. package/dist/esm/core/ui/TypographyScopeContext.js.map +1 -1
  1883. package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
  1884. package/dist/esm/core/ui/UIContext.js.map +1 -1
  1885. package/dist/esm/core/ui/chart-style-defaults.d.ts.map +1 -1
  1886. package/dist/esm/core/ui/chart-style-defaults.js.map +1 -1
  1887. package/dist/esm/core/ui/cn.d.ts.map +1 -1
  1888. package/dist/esm/core/ui/cn.js.map +1 -1
  1889. package/dist/esm/core/ui/color-conversion.utils.d.ts.map +1 -1
  1890. package/dist/esm/core/ui/color-conversion.utils.js.map +1 -1
  1891. package/dist/esm/core/ui/design-token-class-groups.d.ts.map +1 -1
  1892. package/dist/esm/core/ui/design-token-class-groups.js.map +1 -1
  1893. package/dist/esm/core/ui/design-token-config.utils.d.ts.map +1 -1
  1894. package/dist/esm/core/ui/design-token-config.utils.js.map +1 -1
  1895. package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
  1896. package/dist/esm/core/ui/design-token.utils.js.map +1 -1
  1897. package/dist/esm/core/ui/material-runtime.d.ts.map +1 -1
  1898. package/dist/esm/core/ui/material-runtime.js.map +1 -1
  1899. package/dist/esm/core/ui/surface-a11y.utils.d.ts.map +1 -1
  1900. package/dist/esm/core/ui/surface-a11y.utils.js.map +1 -1
  1901. package/dist/esm/core/ui/theme-preference-storage.shared.d.ts.map +1 -1
  1902. package/dist/esm/core/ui/theme-preference-storage.shared.js.map +1 -1
  1903. package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
  1904. package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
  1905. package/dist/esm/core/ui/ui.frontend.schemas.d.ts +7 -2
  1906. package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
  1907. package/dist/esm/core/ui/ui.frontend.schemas.js.map +1 -1
  1908. package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
  1909. package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
  1910. package/dist/esm/core/ui/useUI.d.ts.map +1 -1
  1911. package/dist/esm/core/ui/useUI.js.map +1 -1
  1912. package/dist/esm/index.d.ts +7 -2
  1913. package/dist/esm/index.d.ts.map +1 -1
  1914. package/dist/esm/index.js +20 -2
  1915. package/dist/esm/index.js.map +1 -1
  1916. package/dist/esm/tailwind/index.d.ts.map +1 -1
  1917. package/dist/esm/tailwind/index.js.map +1 -1
  1918. package/dist/esm/testing/mock-builders.d.ts.map +1 -1
  1919. package/dist/esm/testing/mock-builders.js +2 -0
  1920. package/dist/esm/testing/mock-builders.js.map +1 -1
  1921. package/dist/esm/testing/mock-factory.d.ts.map +1 -1
  1922. package/dist/esm/testing/mock-factory.js.map +1 -1
  1923. package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
  1924. package/dist/esm/testing/rmm-helpers.js.map +1 -1
  1925. package/dist/esm/testing/test-providers.d.ts.map +1 -1
  1926. package/dist/esm/testing/test-providers.js.map +1 -1
  1927. package/dist/esm/testing.d.ts.map +1 -1
  1928. package/dist/esm/testing.js.map +1 -1
  1929. package/dist/tsconfig.build.tsbuildinfo +1 -1
  1930. package/package.json +6 -5
  1931. package/dist/esm/components/billing/billing-plan-change-preview.d.ts +0 -21
  1932. package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +0 -1
  1933. package/dist/esm/components/billing/billing-plan-change-preview.js +0 -12
  1934. package/dist/esm/components/billing/billing-plan-change-preview.js.map +0 -1
  1935. package/dist/esm/components/billing/billing-promotion-code-input.d.ts +0 -12
  1936. package/dist/esm/components/billing/billing-promotion-code-input.d.ts.map +0 -1
  1937. package/dist/esm/components/billing/billing-promotion-code-input.js +0 -11
  1938. package/dist/esm/components/billing/billing-promotion-code-input.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"launcher-items.frontend.schemas.js","sourceRoot":"","sources":["../../../../../src/core/config/launcher-items.frontend.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Launcher Item Types & Schemas\n *\n * Per-launcher content declaration model. Each launcher (sidebar, command menu,\n * quick action button, etc.) declares its own content using these types.\n *\n * `LauncherItemTargetKind` is the discriminant for `LauncherItemRef` — it tells\n * the resolution layer what kind of target a launcher item points to.\n *\n * `SidebarSectionContentKind` is the discriminant for sidebar section content —\n * determines whether a section renders a navigation list, a resource browser,\n * a guidance widget, or a custom component.\n *\n * These types are config-time types. The resolution layer (Step 2) transforms\n * them into runtime `ResolvedNavigationItem` instances.\n *\n * @see launcher-operation-binding-analysis.md §3.1.1, §3.2\n * @see component-taxonomy-deep-review.md §3.5\n */\n\nimport { z } from 'zod';\nimport {\n SidebarItemDisplayPolicy,\n CommandMenuDisplayPolicy,\n QuickActionDisplayPolicy,\n HotkeyScope,\n} from './app-level-components.frontend.schemas';\nimport { HorizontalPlacement, VerticalPlacement } from '@wildo-ai/presets-components-models';\nimport { ViewportBreakpoint, ForeignKeyDisplayMode } from '@wildo-ai/zod-decorators';\nimport { CommonRoutePaths } from '~wildo-frontend-lib/core/runtime/routes.frontend.definitions';\nimport { StandardIconReference } from '~wildo-frontend-lib/core/icons/icon-registry.frontend.schemas';\nimport type { AppScopeValue } from '~wildo-frontend-lib/core/scope/scope.frontend.schemas';\n\n// ════════════════════════════════════════════════════════════════\n// Launcher Item Target Kind\n// ════════════════════════════════════════════════════════════════\n\n/**\n * What kind of target a launcher item points to.\n *\n * This is a config-time concept — the resolution layer maps each kind to a\n * navigation action. Different from `NavigationContentType` which is a runtime\n * concept for zone content rendering. Both have `RESOURCE_OPERATION` but serve\n * different axes: `LauncherItemTargetKind` = what a launcher item targets,\n * `NavigationContentType` = what renders in a navigation zone.\n *\n * @see launcher-operation-binding-analysis.md §3.1.1\n */\nexport enum LauncherItemTargetKind {\n /** Navigate to a resource operation (list, create, read, etc.). */\n RESOURCE_OPERATION = 'resource_operation',\n /** Navigate to an application-scoped special view. */\n VIEW = 'view',\n /** Navigate to a resource-scoped special view. */\n RESOURCE_VIEW = 'resource_view',\n /** Navigate to a framework-provided page (home, security settings, etc.). */\n ENGINE_PAGE = 'engine_page',\n /** Render a custom registered React component. */\n CUSTOM_COMPONENT = 'custom_component',\n /** Open the unified Settings Hub (overlay), optionally at a specific section. */\n SETTINGS_SECTION = 'settings_section',\n}\n\n// ════════════════════════════════════════════════════════════════\n// Engine Page Ref (closed enum)\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Framework-provided navigable pages.\n *\n * Closed enum — only framework pages belong here. Auth routes (login, register, etc.)\n * are NOT engine pages. Dev routes (devTest, devThemeGallery) are excluded.\n *\n * The resolution layer maps these to `CommonRoutePaths` in `routes.frontend.definitions.ts`.\n *\n * @see app-shell-implementation-plan.md Step 0 item 1\n */\nexport enum EnginePageRef {\n /** Home page — maps to `CommonRoutePaths.home` (`/`) */\n HOME = 'home',\n // NOTE: security settings is no longer a standalone engine page — it is a\n // section panel inside the unified Settings Hub (`/settings/security` opens the\n // hub at its Security section via `SETTINGS_SECTION` / `useSettingsHubOverlaySync`).\n}\n\n/**\n * Per-engine-page metadata: route, i18n label key, standard icon.\n *\n * Single source of truth — consumed by:\n * - `launcher-resolution.ts` (route + label + icon for resolved engine pages)\n * - `verify-launcher-content.ts` (pageRef existence check)\n * - `useNavigationBehaviors.ts` (home route lookup)\n * - companion `planEnginePageUnits()` (label-key generation)\n *\n * Adding a new engine page = adding the `EnginePageRef` enum entry above\n * + one record entry here. No other touch-up needed.\n */\nexport interface EnginePageMetadata {\n /** Route path under the app. */\n route: string;\n /**\n * i18n key used to resolve the page's display label at\n * `engine.pages.<key>.title` (the companion's `planEnginePageUnits()`\n * emits matching keys for label generation).\n */\n i18nKey: string;\n /** Standard icon to render for navigation entries pointing at this page. */\n icon: StandardIconReference;\n}\n\nexport const ENGINE_PAGE_METADATA: Record<EnginePageRef, EnginePageMetadata> = {\n [EnginePageRef.HOME]: {\n route: CommonRoutePaths.home,\n i18nKey: 'engine.pages.home',\n icon: StandardIconReference.HOME,\n },\n};\n\n// ════════════════════════════════════════════════════════════════\n// Activity Bar & Sidebar Enums\n// ════════════════════════════════════════════════════════════════\n\n/**\n * How the Activity Bar renders at different breakpoints.\n *\n * The activity bar is the mode selector — it shows available `AppMode`s and\n * lets the user switch between them. Its rendering varies by breakpoint.\n *\n * @see component-taxonomy-deep-review.md §3.5.2\n */\nexport enum ActivityBarRendering {\n /** Vertical icon column on the left side (desktop default). */\n VERTICAL_RAIL = 'vertical_rail',\n /** Horizontal icon row at the top (alternative desktop layout). */\n HORIZONTAL_BAR = 'horizontal_bar',\n /** Persistent bottom tab bar (mobile). */\n BOTTOM_TAB_BAR = 'bottom_tab_bar',\n}\n\n/**\n * Sidebar responsive behavior on mobile breakpoints.\n *\n * Controls how the sidebar adapts when the viewport shrinks below\n * its responsive breakpoint.\n *\n * @see component-taxonomy-deep-review.md §7.1\n */\nexport enum SidebarResponsivePolicy {\n /** Sidebar becomes a burger menu / drawer overlay on mobile. */\n BURGER = 'BURGER',\n /** Sidebar stays visible but auto-expands on desktop. */\n DRAWER = 'DRAWER',\n}\n\n/**\n * How the sidebar surfaces the application's HOME destination.\n *\n * Three mutually-exclusive presentations of ONE concept — an app picks the one\n * matching its shell identity, and the framework never renders two home\n * affordances at once.\n */\nexport enum SidebarHomeDisplayMode {\n /**\n * No home affordance in the sidebar at all. For apps whose home is reached\n * elsewhere (a menubar brand, a logo in the shell header) or that have no\n * meaningful home surface.\n */\n HIDDEN = 'hidden',\n /**\n * The application's brand header: its SYMBOL brand asset plus the application\n * display name, PINNED at the very top of the sidebar — above the scroll\n * region and therefore above any hosted component (e.g. the command-menu\n * search trigger). Clicking it navigates home. This is the Slack / Linear /\n * Notion shell convention: the product identity doubles as the home button,\n * so no separate \"Home\" row is needed. Collapsed to the icon rail it shows\n * the symbol alone.\n *\n * The logo resolves from the app's `brandAssets` (see `RuntimeBrandAsset` /\n * `resolveBrandAsset` in `@wildo-ai/saas-models`) for the active light/dark\n * theme; an app with no generated brand shows the name alone (and the\n * framework home icon on the collapsed rail).\n */\n BRAND_HEADER = 'brand_header',\n /**\n * A \"Home\" navigation ROW at the top of the primary navigation group, beside\n * the app's other top-level destinations. The framework default — it assumes\n * nothing about brand assets.\n */\n NAVIGATION_ITEM = 'navigation_item',\n}\n\n/** Sidebar section behavior mode — where a section's ITEMS come from. */\nexport enum SidebarSectionBehavior {\n /** Items are exactly the declared `children`. */\n STATIC = 'static',\n /** Items are produced at runtime by the section's content kind. */\n DYNAMIC = 'dynamic',\n /**\n * Items are the USER'S FAVORITED navigation items: the engine populates the\n * section from starred items across the other navigation-list sections\n * (persisted machine-locally under `LOCAL_STORAGE_KEYS.SIDEBAR_FAVORITES`),\n * REPLACING any declared `children` — author none. Declaring a FAVORITES\n * section is what enables the hover-star affordance on sidebar rows; the\n * section is hidden entirely while no favorites exist, and the engine\n * ordering policy places it right after the primary group. Declare at most\n * ONE favorites section: several would render the same favorited copies\n * (same ids) in each, and the active-row election would highlight one row\n * per duplicate id.\n */\n FAVORITES = 'favorites',\n}\n\n/** Sidebar section inline create mode. */\nexport enum SidebarSectionInlineCreate {\n NONE = 'none',\n INPUT = 'input',\n DIALOG = 'dialog',\n}\n\n/**\n * Quick Action Button placement mode.\n *\n * Replaces the literal string `\"FLOATING\"` patterns in existing schemas.\n * After container inversion (Step 4), the only placement is `FLOATING` or\n * `CONTAINED` (hosted by menubar/sidebar via `hostedComponents`).\n */\nexport enum QuickActionButtonPlacement {\n /** Floating action button overlaying the content area. */\n FLOATING = 'FLOATING',\n /** Contained within a parent component (menubar or sidebar). */\n CONTAINED = 'CONTAINED',\n}\n\n// ════════════════════════════════════════════════════════════════\n// Sidebar Section Content Kind\n// ════════════════════════════════════════════════════════════════\n\n/**\n * What kind of content a sidebar section renders.\n *\n * This is the discriminant for the `SidebarSection` discriminated union.\n * Each content kind has its own set of properties and rendering behavior.\n *\n * @see launcher-operation-binding-analysis.md §3.3.1\n */\nexport enum SidebarSectionContentKind {\n /** Traditional navigation item list (tree, collapsible, inline create). */\n NAVIGATION_LIST = 'navigation_list',\n /** Filterable resource instance list — fetches from a bound operation. */\n RESOURCE_BROWSER = 'resource_browser',\n /** Guidance/onboarding widget — renders a registered guidance component. */\n GUIDANCE_WIDGET = 'guidance_widget',\n /** Arbitrary registered React component. */\n CUSTOM_COMPONENT = 'custom_component',\n}\n\n// ════════════════════════════════════════════════════════════════\n// LauncherItemRef — Discriminated Union\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Points to a resource operation (list, create, read, etc.).\n * The resolution layer resolves this via the resource registry.\n */\nexport interface ResourceOperationItemRef {\n kind: LauncherItemTargetKind.RESOURCE_OPERATION;\n resourceType: string;\n operation: string;\n operationVariant?: string;\n}\n\n/** Points to an application-scoped special view. */\nexport interface ViewItemRef {\n kind: LauncherItemTargetKind.VIEW;\n viewRef: string;\n}\n\n/** Points to a resource-scoped special view. */\nexport interface ResourceViewItemRef {\n kind: LauncherItemTargetKind.RESOURCE_VIEW;\n resourceType: string;\n viewRef: string;\n}\n\n/** Points to a framework page (home, security settings). */\nexport interface EnginePageItemRef {\n kind: LauncherItemTargetKind.ENGINE_PAGE;\n pageRef: EnginePageRef;\n}\n\n/** Points to a registered custom React component. */\nexport interface CustomComponentItemRef {\n kind: LauncherItemTargetKind.CUSTOM_COMPONENT;\n componentRef: string;\n}\n\n/**\n * Opens the unified Settings Hub (overlay), optionally pre-selecting a section.\n * Resolves to a `/settings` / `/settings/:sectionRef` URL navigation — the hub\n * is URL-driven (`useSettingsHubRouterSync` reconstructs it), so every settings\n * entry point converges on one destination.\n */\nexport interface SettingsSectionItemRef {\n kind: LauncherItemTargetKind.SETTINGS_SECTION;\n /** Section to pre-open; omit to open the hub's default section. */\n sectionRef?: string;\n}\n\n/**\n * A launcher item reference — identifies WHAT a launcher item targets.\n * Discriminated on `kind`. The resolution layer dispatches on this to\n * produce a `ResolvedNavigationItem`.\n *\n * @see launcher-operation-binding-analysis.md §3.2\n */\nexport type LauncherItemRef =\n | ResourceOperationItemRef\n | ViewItemRef\n | ResourceViewItemRef\n | EnginePageItemRef\n | CustomComponentItemRef\n | SettingsSectionItemRef;\n\n/**\n * Toolbar items are navigation-only launcher refs.\n * Custom-component materialization belongs to other app-level surfaces and is\n * intentionally excluded from the global app-level toolbar contract.\n */\nexport type ToolbarItemRef =\n | ResourceOperationItemRef\n | ViewItemRef\n | ResourceViewItemRef\n | EnginePageItemRef;\n\n// ════════════════════════════════════════════════════════════════\n// Per-Launcher Item Types\n// ════════════════════════════════════════════════════════════════\n\n/**\n * A sidebar navigation item — extends `LauncherItemRef` with sidebar-specific\n * display properties. Supports all launcher target kinds as targets.\n */\nexport type SidebarItem = LauncherItemRef & {\n displayPolicy?: SidebarItemDisplayPolicy;\n /**\n * Typed reference to a registered `NotificationBadgeDefinition` (its\n * `identifier`). Unlike the retired free-string `badgeReference`, this resolves\n * against the app's `notificationBadgeDefinitions` — the resolved definition\n * supplies the display mode / tone / pulse, and the live count comes from\n * `useNotificationBadges`. Validated in `verify-launcher-content`.\n */\n notificationBadgeRef?: string;\n children?: SidebarItem[];\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n};\n\n/** A command menu entry. */\nexport type CommandMenuCommand = LauncherItemRef & {\n category?: string;\n shortcut?: string;\n /**\n * OPTIONAL extra literal match terms, appended to the localized keyword set\n * the palette already resolves for this command. These literals are NOT\n * translated — reserve them for genuinely app-specific jargon that no\n * localized label or operation-verb synonym covers (e.g. an internal codename\n * like `\"boards\"` for a Todo-Lists list command).\n *\n * You do NOT need to author generic action verbs here: for a\n * `RESOURCE_OPERATION` command the framework already folds in the LOCALIZED\n * operation-verb synonyms (`components.APPLICATION_LEVEL_COMMAND_MENU.keywords*`,\n * generated + translated by the labelling pipeline) keyed off the command's\n * core operation semantic, and the record/command noun is covered by the\n * command's already-localized label. So a French user finds \"Create Todo\" by\n * typing \"nouveau\"/\"créer\" without any literal being authored here.\n */\n searchKeywords?: string[];\n displayPolicy?: CommandMenuDisplayPolicy;\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n};\n\n/**\n * @wildo_source:part:start saas.frontend.command-menu.search-resource facet:layer:frontend facet:family:app-shell\n *\n * Declares one resource whose `SEARCH` operation feeds the command menu's\n * **omnibox** record-search layer. Import from `@wildo-ai/saas-frontend-lib`.\n *\n * You list these on the `[ApplicationLevelComponentType.COMMAND_MENU]`\n * config's `searchResources` array (in `frontend/src/config/app-shell.config.ts`);\n * they take effect **only** when that config also sets\n * `policy: CommandBarPolicy.OMNIBOX`. Each entry opts one resource into live,\n * debounced record search inside the Cmd+K palette.\n *\n * Unlike a {@link CommandMenuCommand} — a static, declarative navigation target\n * — this drives a live, debounced query (≥2 chars, 300ms) against the\n * resource's addressable `SEARCH` operation (falling back to `LIST`). Results\n * are labelled with the resource's own frontend label config and, on\n * selection, navigate to the record's addressable `READ` view. Name the\n * searchable set explicitly so the palette never fires queries against\n * resources the app did not opt in.\n *\n * @example\n * // In frontend/src/config/app-shell.config.ts, on [COMMAND_MENU]:\n * searchResources: [\n * { resourceType: 'todos', category: 'todos', maxResults: 5 },\n * { resourceType: 'tasks', category: 'tasks', maxResults: 5 },\n * ]\n */\nexport type CommandMenuSearchResource = {\n /** Resource type whose SEARCH operation is queried (e.g. `'todos'`). */\n resourceType: string;\n /**\n * Group/category ref the results are placed under in the palette. Defaults\n * to the `resourceType` (humanized) when omitted. Resolved through the same\n * i18n category-label path as static command categories.\n */\n category?: string;\n /** Max results fetched per resource per keystroke. Defaults to 5. */\n maxResults?: number;\n /**\n * Relative order weight of this record group in the palette result list —\n * lower renders higher. This is the SINGLE ordering axis the palette sorts\n * every group (record groups AND static command-category groups) by.\n *\n * When omitted, record groups default to a weight ABOVE the static command\n * groups, so live record matches surface FIRST while the user is searching —\n * `searchResources` array position breaks ties among record groups. Static\n * command categories sit on a higher (later) default band, sequenced among\n * themselves by `[COMMAND_MENU].categoryOrder`. Set an explicit `order` to\n * pin a record group anywhere in that merged list (e.g. a large value to push\n * a low-signal resource below the command groups, or a negative value to pin\n * it at the very top).\n */\n order?: number;\n /**\n * How each matched record renders in the palette:\n * - `SUMMARY` (default) — the resource's summary VIEW (its summary card, no\n * action bar), via `ResourceSummaryDisplayer`. Reuses the SUMMARY-mode DTO\n * the `SEARCH` operation already returns, so there is no extra fetch. This\n * is the richer, default representation.\n * - `LABEL` — a single-line resolved label (opt-out / compact fallback).\n *\n * `ID` is treated as `LABEL` here (there is no id-only palette row).\n * Reuses {@link ForeignKeyDisplayMode} — the same LABEL-vs-SUMMARY vocabulary\n * the foreign-key reference picker uses for its dropdown rows — rather than\n * inventing a parallel command-menu-only enum.\n */\n resultDisplay?: ForeignKeyDisplayMode;\n /**\n * OPTIONAL extra literal match terms appended to every result of this\n * resource for client-side fuzzy matching. NOT translated — the raw query is\n * always kept as a keyword (so server hits never drop) and the framework also\n * folds in the LOCALIZED \"search\" verb synonyms\n * (`components.APPLICATION_LEVEL_COMMAND_MENU.keywordsSearch`) for the group.\n * Reserve this field for app-specific jargon a localized label/synonym cannot\n * cover.\n */\n searchKeywords?: string[];\n};\n/** @wildo_source:part:end saas.frontend.command-menu.search-resource */\n\n/** A quick action button entry. */\nexport type QuickActionItem = LauncherItemRef & {\n displayPolicy?: QuickActionDisplayPolicy;\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n};\n\n/**\n * A keyboard shortcut binding to a navigation target (`LauncherItemRef`).\n *\n * `description` overrides the registry/help label. When omitted, the framework uses\n * `tResourceOperation(…, 'title')` for `RESOURCE_OPERATION` targets and the resolved\n * navigation `label` for all other kinds.\n */\nexport type HotkeyBinding = LauncherItemRef & {\n shortcut: string;\n scope?: HotkeyScope;\n description?: string;\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n};\n\n/** A toolbar item. */\nexport type ToolbarItem = ToolbarItemRef & {\n group?: string;\n /** When true, only the icon is shown (label is hidden). */\n iconOnly?: boolean;\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n};\n\n/** A control panel item. */\nexport type ControlPanelItem = LauncherItemRef & {\n section?: string;\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n};\n\n/** A utility panel item (Gmail-style right-side panel). */\nexport interface UtilityPanelItem {\n kind: LauncherItemTargetKind.CUSTOM_COMPONENT;\n componentRef: string;\n icon: string;\n label: string;\n}\n\n/**\n * How a hosted component's TRIGGER renders inside its host surface.\n *\n * The same trigger serves two very different chrome shapes: a menubar's\n * trailing cluster is a row of small icon controls, while a sidebar rail (or a\n * wide top bar) can carry a full input-like control. Declaring the appearance\n * keeps that a per-PLACEMENT decision rather than a component-wide compromise —\n * this application hosts the identical command menu in both surfaces.\n */\nexport enum HostedTriggerAppearance {\n /**\n * Full input-like \"false button\": leading glyph, placeholder text and the\n * shortcut hint. Honors `triggerWidth`. Default.\n */\n EXPANDED = 'expanded',\n /**\n * Square icon-only button sized to the chrome row — what belongs beside the\n * notification bell and the avatar. `triggerWidth` is deliberately IGNORED\n * here: a 240px icon button is dead space, not a wide control.\n */\n COMPACT = 'compact',\n}\n\n/**\n * @wildo_source:part:start saas.frontend.app-shell.hosted-components facet:layer:frontend facet:family:app-shell\n *\n * Hosts an app-level component (the Cmd+K command-menu trigger, a quick-action\n * button, the notification center, …) INSIDE the menubar via container\n * inversion. Import from `@wildo-ai/saas-frontend-lib`.\n *\n * You list these on the `[ApplicationLevelComponentType.MENUBAR]` config's\n * `hostedComponents` array (in `frontend/src/config/app-shell.config.ts`).\n * `componentType` is an `ApplicationLevelComponentType.*` member; `placement`\n * is a {@link HorizontalPlacement} (`START`/`MIDDLE`/`END`) selecting the\n * menubar zone; `breakpoint` restricts the component to one viewport\n * breakpoint. Render order follows array position in `hostedComponents`.\n *\n * The sidebar is the vertical mirror of this contract — see\n * {@link SidebarHostedComponent}. Both surfaces share ONE hosting pipeline, so\n * hosting the SAME component (e.g. the command menu) in both places yields two\n * triggers driving one shared dialog / one hotkey registration, never two.\n *\n * @example\n * // In frontend/src/config/app-shell.config.ts, on [MENUBAR]:\n * hostedComponents: [\n * { componentType: ApplicationLevelComponentType.COMMAND_MENU,\n * placement: HorizontalPlacement.START, triggerWidth: 240 },\n * { componentType: ApplicationLevelComponentType.USER_DROPDOWN,\n * placement: HorizontalPlacement.END },\n * ]\n */\nexport interface MenubarHostedComponent {\n componentType: string;\n /** Which menubar zone the component renders in. Defaults to `START`. */\n placement?: HorizontalPlacement;\n breakpoint?: ViewportBreakpoint;\n /** Override the preset name used for component resolution. Defaults to `CorePresetNames.DEFAULT`. */\n presetName?: string;\n /**\n * Per-placement width override for hosted components that render an\n * input-like trigger (today: the command-menu \"false button\"). Accepts an\n * explicit CSS length — a plain number is treated as pixels (`240` → 240px),\n * or a CSS width string (`'240px'`, `'100%'`, `'16rem'`). Applied as an\n * inline `style.width` because tailwind-merge cannot override the trigger's\n * default width utility. Omit to use the component's built-in default width.\n */\n triggerWidth?: string | number;\n /**\n * How the trigger renders here — see {@link HostedTriggerAppearance}.\n * Defaults to `EXPANDED`. A menubar's trailing cluster normally wants\n * `COMPACT`, so the control is an icon button beside the bell and the avatar;\n * a sidebar rail keeps the full input-like control. `triggerWidth` above is\n * ignored under `COMPACT`.\n */\n triggerAppearance?: HostedTriggerAppearance;\n}\n\n/**\n * Hosts an app-level component INSIDE the sidebar (container inversion — the\n * vertical mirror of {@link MenubarHostedComponent}). Import from\n * `@wildo-ai/saas-frontend-lib`.\n *\n * You list these on the `[ApplicationLevelComponentType.SIDEBAR]` config's\n * `hostedComponents` array. Both surfaces share ONE hosting pipeline\n * (`resolveHostedComponents` + the shell-level interaction owner); the only\n * difference is the placement axis: the sidebar is a vertical column, so\n * `placement` is a {@link VerticalPlacement} (`TOP` renders above the nav,\n * `BOTTOM` below it) rather than the menubar's horizontal axis. `breakpoint`\n * restricts the component to a viewport breakpoint; render order follows array\n * position in `hostedComponents`.\n *\n * @example\n * // In frontend/src/config/app-shell.config.ts, on [SIDEBAR] — the same command\n * // menu ALSO placed in the sidebar, filling the rail width:\n * hostedComponents: [\n * { componentType: ApplicationLevelComponentType.COMMAND_MENU,\n * placement: VerticalPlacement.TOP, triggerWidth: '100%' },\n * ]\n */\nexport interface SidebarHostedComponent {\n componentType: string;\n /** Which end of the sidebar column the component renders at. Defaults to `TOP`. */\n placement?: VerticalPlacement;\n breakpoint?: ViewportBreakpoint;\n /** Override the preset name used for component resolution. Defaults to `CorePresetNames.DEFAULT`. */\n presetName?: string;\n /**\n * Per-placement width override for the hosted trigger (see\n * {@link MenubarHostedComponent.triggerWidth} — number = px, or a CSS width\n * string). A sidebar trigger commonly uses `'100%'` to fill the rail; the\n * menubar copy is typically narrower.\n */\n triggerWidth?: string | number;\n /**\n * How the trigger renders here — see {@link HostedTriggerAppearance}.\n * Defaults to `EXPANDED`. A menubar's trailing cluster normally wants\n * `COMPACT`, so the control is an icon button beside the bell and the avatar;\n * a sidebar rail keeps the full input-like control. `triggerWidth` above is\n * ignored under `COMPACT`.\n */\n triggerAppearance?: HostedTriggerAppearance;\n}\n/** @wildo_source:part:end saas.frontend.app-shell.hosted-components */\n\n/** A menubar-specific launcher item (config-time declaration). */\nexport type MenubarLauncherItem = LauncherItemRef & {\n group?: string;\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n};\n\n/**\n * Generic runtime availability contract for launcher declarations.\n *\n * This is intentionally distinct from `requiredFeatures` on resolved\n * view/resource targets:\n * - `runtimeAvailability` decides whether a launcher declaration should survive\n * the app-shell filtering pass at all\n * - `requiredFeatures` stays the canonical plan/subscription gating mechanism\n * once an item has already survived launcher filtering and is being resolved\n */\nexport interface LauncherRuntimeAvailabilityConfig {\n requiredCapabilities?: string[];\n}\n\nexport const LauncherRuntimeAvailabilityConfigSchema = z.object({\n requiredCapabilities: z.array(z.string()).optional(),\n});\n\n// ════════════════════════════════════════════════════════════════\n// Scope Condition Types (used by sidebar sections, evaluated in Macro B)\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Parameters passed to a `ScopeConditionFn` for evaluating section visibility.\n *\n * @see component-taxonomy-deep-review.md §3.5.3\n */\nexport interface ScopeConditionParams {\n /** Current app scope values (workspace, project, environment, etc.). */\n appScopeValues: Record<string, AppScopeValue>;\n /** Currently active mode ref, or `null` if no mode system. */\n activeMode: string | null;\n /** All defined app modes (for inspecting mode metadata). */\n availableModes: AppModeDefinition[];\n}\n\n/**\n * Predicate function that determines whether a sidebar section should be visible\n * based on the current scope and mode state.\n *\n * Returns `true` to show the section, `false` to hide it.\n * Called reactively whenever scope or mode changes.\n */\nexport type ScopeConditionFn = (params: ScopeConditionParams) => boolean;\n\n/**\n * Context provided to a `ResourceBrowser` section's `onInstanceClick` callback.\n */\nexport interface ResourceBrowserClickContext {\n resourceType: string;\n instanceId: string;\n instanceData: Record<string, unknown>;\n}\n\n// ════════════════════════════════════════════════════════════════\n// AppMode Definition\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Defines an application mode (e.g., \"explorer\", \"search\", \"admin\").\n *\n * Modes filter which sidebar sections are visible. The `ACTIVITY_BAR`\n * renders available modes as selectable icons.\n *\n * @see component-taxonomy-deep-review.md §7.3\n */\nexport interface AppModeDefinition {\n /** Unique reference for this mode. */\n ref: string;\n /** Display label (i18n ref). */\n label: string;\n /** Icon identifier for the activity bar. */\n icon: string;\n /** Whether this is the default mode when none is persisted. */\n isDefault?: boolean;\n /** Restrict mode visibility to specific user types. */\n visibleToUserTypes?: string[];\n}\n\n// ════════════════════════════════════════════════════════════════\n// Sidebar Section Types — Discriminated Union on `contentKind`\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Base properties shared by all sidebar section types.\n * `ref` is `string`-typed — no framework enum, apps define their own refs.\n */\nexport interface SidebarSectionBase {\n contentKind: SidebarSectionContentKind;\n /** Section reference — app-defined, used for i18n and configuration matching. */\n ref: string;\n /** Display label (i18n ref). If omitted, section renders without a header. */\n label?: string;\n /** Icon for the section header. */\n icon?: string;\n /** Whether the section header (label + icon) is rendered. Defaults to `true`. */\n showLabel?: boolean;\n /** Whether the section can be collapsed by the user. */\n collapsible?: boolean;\n /** Whether the section starts collapsed. */\n defaultCollapsed?: boolean;\n /**\n * Mode refs this section is visible in. If omitted, visible in all modes.\n * String-based — validated at startup against `appModes[].ref`.\n * Evaluated in Macro B (Step 6).\n */\n visibleInModes?: string[];\n /**\n * Function-based visibility condition for complex scope-dependent logic.\n * Evaluated in Macro B (Step 6).\n */\n scopeCondition?: ScopeConditionFn;\n /** Declarative runtime capability gating evaluated by the app-shell layer. */\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n}\n\n/**\n * Traditional navigation item list section.\n * Supports tree hierarchy, inline create, drag-reorder (via behavior).\n */\nexport interface SidebarSection_NavigationList extends SidebarSectionBase {\n contentKind: SidebarSectionContentKind.NAVIGATION_LIST;\n children: SidebarItem[];\n behavior?: SidebarSectionBehavior;\n /**\n * Marks this section as the sidebar's PRIMARY navigation group — the app's\n * top-level destinations (the \"Home group\"). Primary sections render at the\n * top of the sidebar with no section header and never collapsible. When\n * `SIDEBAR.homeDisplayMode` is `NAVIGATION_ITEM` (the default) the framework's\n * Home row heads that same group, giving the Linear/Notion \"Inbox / My Issues\n * right under Home\" shape; the other home modes surface home elsewhere and\n * leave this group to the app's own destinations.\n *\n * This is a PLACEMENT/CHROME role, deliberately distinct from\n * `SidebarSectionBehavior` (which describes where a section's ITEMS come\n * from). Section ordering is engine policy and ignores declaration order for\n * the special roles: primary section(s) first, then non-empty\n * `SidebarSectionBehavior.FAVORITES` section(s), then the remaining sections\n * in declared order. Modules can therefore contribute a primary section\n * without the app config having to interleave it manually.\n */\n isPrimary?: boolean;\n inlineCreate?: SidebarSectionInlineCreate;\n inlineCreateResourceType?: string;\n /** Field that receives the user's input during inline creation. Defaults to `'title'`. */\n inlineCreateField?: string;\n nested?: boolean;\n maxNestingDepth?: number;\n}\n\n/**\n * Filterable resource instance list section.\n * Fetches data from a bound operation and displays resource instances.\n *\n * @see launcher-operation-binding-analysis.md §3.3.6\n */\nexport interface SidebarSection_ResourceBrowser extends SidebarSectionBase {\n contentKind: SidebarSectionContentKind.RESOURCE_BROWSER;\n /** Resource type to browse. */\n resourceType: string;\n /** Override the default LIST operation (optional — defaults to LIST). */\n operation?: string;\n /** Operation variant for filtered views. */\n operationVariant?: string;\n /**\n * Operation used when the user clicks a listed instance.\n * Defaults to READ when available; otherwise falls back to the bound operation.\n */\n navigateOperation?: string;\n /** Variant for the click/navigation operation. */\n navigateOperationVariant?: string;\n /**\n * Client-side filter predicate applied after fetching.\n * Enables display restrictions (e.g., \"starred only\").\n */\n instanceFilter?: (instance: Record<string, unknown>) => boolean;\n /**\n * Custom click handler for resource instances.\n * Default: navigate to instance via `NavigationUtils.resolveResourceUrl()`.\n */\n onInstanceClick?: (context: ResourceBrowserClickContext) => void;\n}\n\n/** Guidance/onboarding widget section. */\nexport interface SidebarSection_GuidanceWidget extends SidebarSectionBase {\n contentKind: SidebarSectionContentKind.GUIDANCE_WIDGET;\n /** Reference to a registered guidance component. */\n guidanceRef: string;\n}\n\n/** Arbitrary custom component section. */\nexport interface SidebarSection_CustomComponent extends SidebarSectionBase {\n contentKind: SidebarSectionContentKind.CUSTOM_COMPONENT;\n /** Reference to a registered React component. */\n componentRef: string;\n}\n\n/**\n * Discriminated union of all sidebar section types.\n * Narrow on `contentKind` to access type-specific properties.\n */\nexport type SidebarSection =\n | SidebarSection_NavigationList\n | SidebarSection_ResourceBrowser\n | SidebarSection_GuidanceWidget\n | SidebarSection_CustomComponent;\n\n// ════════════════════════════════════════════════════════════════\n// Zod Schemas\n// ════════════════════════════════════════════════════════════════\n\nexport const LauncherItemTargetKindSchema = z.enum(LauncherItemTargetKind);\nexport const EnginePageRefSchema = z.enum(EnginePageRef);\nexport const ActivityBarRenderingSchema = z.enum(ActivityBarRendering);\nexport const SidebarResponsivePolicySchema = z.enum(SidebarResponsivePolicy);\nexport const QuickActionButtonPlacementSchema = z.enum(QuickActionButtonPlacement);\nexport const SidebarSectionContentKindSchema = z.enum(SidebarSectionContentKind);\n\n/** Zod schema for `ResourceOperationItemRef`. */\nexport const ResourceOperationItemRefSchema = z.object({\n kind: z.literal(LauncherItemTargetKind.RESOURCE_OPERATION),\n resourceType: z.string(),\n operation: z.string(),\n operationVariant: z.string().optional(),\n});\n\n/** Zod schema for `ViewItemRef`. */\nexport const ViewItemRefSchema = z.object({\n kind: z.literal(LauncherItemTargetKind.VIEW),\n viewRef: z.string(),\n});\n\n/** Zod schema for `ResourceViewItemRef`. */\nexport const ResourceViewItemRefSchema = z.object({\n kind: z.literal(LauncherItemTargetKind.RESOURCE_VIEW),\n resourceType: z.string(),\n viewRef: z.string(),\n});\n\n/** Zod schema for `EnginePageItemRef`. */\nexport const EnginePageItemRefSchema = z.object({\n kind: z.literal(LauncherItemTargetKind.ENGINE_PAGE),\n pageRef: EnginePageRefSchema,\n});\n\n/** Zod schema for `CustomComponentItemRef`. */\nexport const CustomComponentItemRefSchema = z.object({\n kind: z.literal(LauncherItemTargetKind.CUSTOM_COMPONENT),\n componentRef: z.string(),\n});\n\nexport const SettingsSectionItemRefSchema = z.object({\n kind: z.literal(LauncherItemTargetKind.SETTINGS_SECTION),\n sectionRef: z.string().optional(),\n});\n\n/**\n * Zod schema for `LauncherItemRef` — discriminated union on `kind`.\n * Validates config-time launcher item references.\n */\nexport const LauncherItemRefSchema = z.discriminatedUnion('kind', [\n ResourceOperationItemRefSchema,\n ViewItemRefSchema,\n ResourceViewItemRefSchema,\n EnginePageItemRefSchema,\n CustomComponentItemRefSchema,\n SettingsSectionItemRefSchema,\n]);\n\n/** Zod schema for `SidebarItem`. */\nexport const SidebarItemSchema: z.ZodType<SidebarItem> = z.lazy(() =>\n LauncherItemRefSchema.and(z.object({\n displayPolicy: z.enum(SidebarItemDisplayPolicy).optional(),\n notificationBadgeRef: z.string().optional(),\n children: z.array(SidebarItemSchema).optional(),\n runtimeAvailability: LauncherRuntimeAvailabilityConfigSchema.optional(),\n }))\n);\n\n/** Zod schema for `CommandMenuCommand`. */\nexport const CommandMenuCommandSchema = LauncherItemRefSchema.and(z.object({\n category: z.string().optional(),\n shortcut: z.string().optional(),\n searchKeywords: z.array(z.string()).optional(),\n displayPolicy: z.enum(CommandMenuDisplayPolicy).optional(),\n runtimeAvailability: LauncherRuntimeAvailabilityConfigSchema.optional(),\n}));\n\n/**\n * @wildo_source:part:start saas.frontend.command-menu.search-resource facet:layer:frontend facet:family:app-shell\n *\n * Zod schema for `CommandMenuSearchResource` — validates each entry in the\n * `[COMMAND_MENU].searchResources` array.\n */\nexport const CommandMenuSearchResourceSchema: z.ZodType<CommandMenuSearchResource> = z.object({\n resourceType: z.string(),\n category: z.string().optional(),\n maxResults: z.number().optional(),\n order: z.number().optional(),\n resultDisplay: z.enum([\n ForeignKeyDisplayMode.ID,\n ForeignKeyDisplayMode.LABEL,\n ForeignKeyDisplayMode.SUMMARY,\n ]).optional(),\n searchKeywords: z.array(z.string()).optional(),\n});\n/** @wildo_source:part:end saas.frontend.command-menu.search-resource */\n\n/** Zod schema for `QuickActionItem`. */\nexport const QuickActionItemSchema = LauncherItemRefSchema.and(z.object({\n displayPolicy: z.enum(QuickActionDisplayPolicy).optional(),\n runtimeAvailability: LauncherRuntimeAvailabilityConfigSchema.optional(),\n}));\n\n/** Zod schema for `HotkeyBinding`. */\nexport const HotkeyBindingSchema = LauncherItemRefSchema.and(z.object({\n shortcut: z.string(),\n scope: z.enum(HotkeyScope).optional(),\n description: z.string().optional(),\n runtimeAvailability: LauncherRuntimeAvailabilityConfigSchema.optional(),\n}));\n\n/** Zod schema for `ToolbarItemRef`. */\nexport const ToolbarItemRefSchema = z.discriminatedUnion('kind', [\n ResourceOperationItemRefSchema,\n ViewItemRefSchema,\n ResourceViewItemRefSchema,\n EnginePageItemRefSchema,\n]);\n\n/** Zod schema for `ToolbarItem`. */\nexport const ToolbarItemSchema = ToolbarItemRefSchema.and(z.object({\n group: z.string().optional(),\n iconOnly: z.boolean().optional(),\n runtimeAvailability: LauncherRuntimeAvailabilityConfigSchema.optional(),\n}));\n\n/** Zod schema for `ControlPanelItem`. */\nexport const ControlPanelItemSchema = LauncherItemRefSchema.and(z.object({\n section: z.string().optional(),\n runtimeAvailability: LauncherRuntimeAvailabilityConfigSchema.optional(),\n}));\n\n/** Zod schema for `UtilityPanelItem`. */\nexport const UtilityPanelItemSchema = z.object({\n kind: z.literal(LauncherItemTargetKind.CUSTOM_COMPONENT),\n componentRef: z.string(),\n icon: z.string(),\n label: z.string(),\n});\n\n/**\n * @wildo_source:part:start saas.frontend.app-shell.hosted-components facet:layer:frontend facet:family:app-shell\n *\n * Zod schema for `MenubarHostedComponent` — validates each entry in the\n * `[MENUBAR].hostedComponents` array. `placement` determines which zone\n * (START/MIDDLE/END) the component renders in; `breakpoint` restricts the\n * component to a specific viewport breakpoint. Render order follows array\n * position in `hostedComponents`.\n */\nexport const MenubarHostedComponentSchema = z.object({\n componentType: z.string(),\n placement: z.enum(HorizontalPlacement).optional(),\n breakpoint: z.enum(ViewportBreakpoint).optional(),\n presetName: z.string().optional(),\n triggerWidth: z.union([z.string(), z.number()]).optional(),\n triggerAppearance: z.enum(HostedTriggerAppearance).optional(),\n});\n\n/**\n * Zod schema for `SidebarHostedComponent` — declares a component hosted within\n * the sidebar (the vertical mirror of `MenubarHostedComponentSchema`).\n * `placement` selects which end of the sidebar column the component renders at\n * (`TOP`/`BOTTOM`); `breakpoint` restricts it to a viewport breakpoint. Render\n * order follows array position in `hostedComponents`.\n */\nexport const SidebarHostedComponentSchema = z.object({\n componentType: z.string(),\n placement: z.enum(VerticalPlacement).optional(),\n breakpoint: z.enum(ViewportBreakpoint).optional(),\n presetName: z.string().optional(),\n triggerWidth: z.union([z.string(), z.number()]).optional(),\n triggerAppearance: z.enum(HostedTriggerAppearance).optional(),\n});\n/** @wildo_source:part:end saas.frontend.app-shell.hosted-components */\n\n/** Zod schema for `MenubarLauncherItem`. */\nexport const MenubarLauncherItemSchema = LauncherItemRefSchema.and(z.object({\n group: z.string().optional(),\n runtimeAvailability: LauncherRuntimeAvailabilityConfigSchema.optional(),\n}));\n\n// ── Sidebar Section Schemas (discriminated union on contentKind) ──\n\nconst SidebarSectionBaseSchema = z.object({\n ref: z.string(),\n label: z.string().optional(),\n icon: z.string().optional(),\n showLabel: z.boolean().optional(),\n collapsible: z.boolean().optional(),\n defaultCollapsed: z.boolean().optional(),\n visibleInModes: z.array(z.string()).optional(),\n runtimeAvailability: LauncherRuntimeAvailabilityConfigSchema.optional(),\n});\n\nexport const SidebarSection_NavigationListSchema = SidebarSectionBaseSchema.extend({\n contentKind: z.literal(SidebarSectionContentKind.NAVIGATION_LIST),\n children: z.array(SidebarItemSchema),\n behavior: z.enum(SidebarSectionBehavior).optional(),\n isPrimary: z.boolean().optional(),\n inlineCreate: z.enum(SidebarSectionInlineCreate).optional(),\n inlineCreateResourceType: z.string().optional(),\n inlineCreateField: z.string().optional(),\n nested: z.boolean().optional(),\n maxNestingDepth: z.number().optional(),\n});\n\nexport const SidebarSection_ResourceBrowserSchema = SidebarSectionBaseSchema.extend({\n contentKind: z.literal(SidebarSectionContentKind.RESOURCE_BROWSER),\n resourceType: z.string(),\n operation: z.string().optional(),\n operationVariant: z.string().optional(),\n navigateOperation: z.string().optional(),\n navigateOperationVariant: z.string().optional(),\n});\n\nexport const SidebarSection_GuidanceWidgetSchema = SidebarSectionBaseSchema.extend({\n contentKind: z.literal(SidebarSectionContentKind.GUIDANCE_WIDGET),\n guidanceRef: z.string(),\n});\n\nexport const SidebarSection_CustomComponentSchema = SidebarSectionBaseSchema.extend({\n contentKind: z.literal(SidebarSectionContentKind.CUSTOM_COMPONENT),\n componentRef: z.string(),\n});\n\n/**\n * Zod schema for `SidebarSection` — discriminated union on `contentKind`.\n *\n * Note: `scopeCondition` (on `SidebarSectionBase`), `instanceFilter`, and\n * `onInstanceClick` (on `SidebarSection_ResourceBrowser`) are function types\n * that cannot be validated by Zod. They are typed on the TypeScript interfaces\n * but excluded from the Zod schema (runtime code handles them directly).\n */\nexport const SidebarSectionSchema = z.discriminatedUnion('contentKind', [\n SidebarSection_NavigationListSchema,\n SidebarSection_ResourceBrowserSchema,\n SidebarSection_GuidanceWidgetSchema,\n SidebarSection_CustomComponentSchema,\n]);\n\n/** Zod schema for `AppModeDefinition`. */\nexport const AppModeDefinitionSchema = z.object({\n ref: z.string(),\n label: z.string(),\n icon: z.string(),\n isDefault: z.boolean().optional(),\n visibleToUserTypes: z.array(z.string()).optional(),\n});\n"]}
1
+ {"version":3,"file":"launcher-items.frontend.schemas.js","sourceRoot":"","sources":["../../../../src/core/config/launcher-items.frontend.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Launcher Item Types & Schemas\n *\n * Per-launcher content declaration model. Each launcher (sidebar, command menu,\n * quick action button, etc.) declares its own content using these types.\n *\n * `LauncherItemTargetKind` is the discriminant for `LauncherItemRef` — it tells\n * the resolution layer what kind of target a launcher item points to.\n *\n * `SidebarSectionContentKind` is the discriminant for sidebar section content —\n * determines whether a section renders a navigation list, a resource browser,\n * a guidance widget, or a custom component.\n *\n * These types are config-time types. The resolution layer (Step 2) transforms\n * them into runtime `ResolvedNavigationItem` instances.\n *\n * @see launcher-operation-binding-analysis.md §3.1.1, §3.2\n * @see component-taxonomy-deep-review.md §3.5\n */\n\nimport { z } from 'zod';\nimport {\n SidebarItemDisplayPolicy,\n CommandMenuDisplayPolicy,\n QuickActionDisplayPolicy,\n HotkeyScope,\n} from './app-level-components.frontend.schemas';\nimport { HorizontalPlacement, VerticalPlacement } from '@wildo-ai/presets-components-models';\nimport { ViewportBreakpoint, ForeignKeyDisplayMode } from '@wildo-ai/zod-decorators';\nimport { CommonRoutePaths } from '~wildo-frontend-lib/core/runtime/routes.frontend.definitions';\nimport { StandardIconReference } from '~wildo-frontend-lib/core/icons/icon-registry.frontend.schemas';\nimport type { AppScopeValue } from '~wildo-frontend-lib/core/scope/scope.frontend.schemas';\n\n// ════════════════════════════════════════════════════════════════\n// Launcher Item Target Kind\n// ════════════════════════════════════════════════════════════════\n\n/**\n * What kind of target a launcher item points to.\n *\n * This is a config-time concept — the resolution layer maps each kind to a\n * navigation action. Different from `NavigationContentType` which is a runtime\n * concept for zone content rendering. Both have `RESOURCE_OPERATION` but serve\n * different axes: `LauncherItemTargetKind` = what a launcher item targets,\n * `NavigationContentType` = what renders in a navigation zone.\n *\n * @see launcher-operation-binding-analysis.md §3.1.1\n */\nexport enum LauncherItemTargetKind {\n /** Navigate to a resource operation (list, create, read, etc.). */\n RESOURCE_OPERATION = 'resource_operation',\n /** Navigate to an application-scoped special view. */\n VIEW = 'view',\n /** Navigate to a resource-scoped special view. */\n RESOURCE_VIEW = 'resource_view',\n /** Navigate to a framework-provided page (home, security settings, etc.). */\n ENGINE_PAGE = 'engine_page',\n /** Render a custom registered React component. */\n CUSTOM_COMPONENT = 'custom_component',\n /** Open the unified Settings Hub (overlay), optionally at a specific section. */\n SETTINGS_SECTION = 'settings_section',\n}\n\n// ════════════════════════════════════════════════════════════════\n// Engine Page Ref (closed enum)\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Framework-provided navigable pages.\n *\n * Closed enum — only framework pages belong here. Auth routes (login, register, etc.)\n * are NOT engine pages. Dev routes (devTest, devThemeGallery) are excluded.\n *\n * The resolution layer maps these to `CommonRoutePaths` in `routes.frontend.definitions.ts`.\n *\n * @see app-shell-implementation-plan.md Step 0 item 1\n */\nexport enum EnginePageRef {\n /** Home page — maps to `CommonRoutePaths.home` (`/`) */\n HOME = 'home',\n // NOTE: security settings is no longer a standalone engine page — it is a\n // section panel inside the unified Settings Hub (`/settings/security` opens the\n // hub at its Security section via `SETTINGS_SECTION` / `useSettingsHubOverlaySync`).\n}\n\n/**\n * Per-engine-page metadata: route, i18n label key, standard icon.\n *\n * Single source of truth — consumed by:\n * - `launcher-resolution.ts` (route + label + icon for resolved engine pages)\n * - `verify-launcher-content.ts` (pageRef existence check)\n * - `useNavigationBehaviors.ts` (home route lookup)\n * - companion `planEnginePageUnits()` (label-key generation)\n *\n * Adding a new engine page = adding the `EnginePageRef` enum entry above\n * + one record entry here. No other touch-up needed.\n */\nexport interface EnginePageMetadata {\n /** Route path under the app. */\n route: string;\n /**\n * i18n key used to resolve the page's display label at\n * `engine.pages.<key>.title` (the companion's `planEnginePageUnits()`\n * emits matching keys for label generation).\n */\n i18nKey: string;\n /** Standard icon to render for navigation entries pointing at this page. */\n icon: StandardIconReference;\n}\n\nexport const ENGINE_PAGE_METADATA: Record<EnginePageRef, EnginePageMetadata> = {\n [EnginePageRef.HOME]: {\n route: CommonRoutePaths.home,\n i18nKey: 'engine.pages.home',\n icon: StandardIconReference.HOME,\n },\n};\n\n// ════════════════════════════════════════════════════════════════\n// Activity Bar & Sidebar Enums\n// ════════════════════════════════════════════════════════════════\n\n/**\n * How the Activity Bar renders at different breakpoints.\n *\n * The activity bar is the mode selector — it shows available `AppMode`s and\n * lets the user switch between them. Its rendering varies by breakpoint.\n *\n * @see component-taxonomy-deep-review.md §3.5.2\n */\nexport enum ActivityBarRendering {\n /** Vertical icon column on the left side (desktop default). */\n VERTICAL_RAIL = 'vertical_rail',\n /** Horizontal icon row at the top (alternative desktop layout). */\n HORIZONTAL_BAR = 'horizontal_bar',\n /** Persistent bottom tab bar (mobile). */\n BOTTOM_TAB_BAR = 'bottom_tab_bar',\n}\n\n/**\n * Sidebar responsive behavior on mobile breakpoints.\n *\n * Controls how the sidebar adapts when the viewport shrinks below\n * its responsive breakpoint.\n *\n * @see component-taxonomy-deep-review.md §7.1\n */\nexport enum SidebarResponsivePolicy {\n /** Sidebar becomes a burger menu / drawer overlay on mobile. */\n BURGER = 'BURGER',\n /** Sidebar stays visible but auto-expands on desktop. */\n DRAWER = 'DRAWER',\n}\n\n/**\n * How the sidebar surfaces the application's HOME destination.\n *\n * Three mutually-exclusive presentations of ONE concept — an app picks the one\n * matching its shell identity, and the framework never renders two home\n * affordances at once.\n */\nexport enum SidebarHomeDisplayMode {\n /**\n * No home affordance in the sidebar at all. For apps whose home is reached\n * elsewhere (a menubar brand, a logo in the shell header) or that have no\n * meaningful home surface.\n */\n HIDDEN = 'hidden',\n /**\n * The application's brand header: its SYMBOL brand asset plus the application\n * display name, PINNED at the very top of the sidebar — above the scroll\n * region and therefore above any hosted component (e.g. the command-menu\n * search trigger). Clicking it navigates home. This is the Slack / Linear /\n * Notion shell convention: the product identity doubles as the home button,\n * so no separate \"Home\" row is needed. Collapsed to the icon rail it shows\n * the symbol alone.\n *\n * The logo resolves from the app's `brandAssets` (see `RuntimeBrandAsset` /\n * `resolveBrandAsset` in `@wildo-ai/saas-models`) for the active light/dark\n * theme; an app with no generated brand shows the name alone (and the\n * framework home icon on the collapsed rail).\n */\n BRAND_HEADER = 'brand_header',\n /**\n * A \"Home\" navigation ROW at the top of the primary navigation group, beside\n * the app's other top-level destinations. The framework default — it assumes\n * nothing about brand assets.\n */\n NAVIGATION_ITEM = 'navigation_item',\n}\n\n/** Sidebar section behavior mode — where a section's ITEMS come from. */\nexport enum SidebarSectionBehavior {\n /** Items are exactly the declared `children`. */\n STATIC = 'static',\n /** Items are produced at runtime by the section's content kind. */\n DYNAMIC = 'dynamic',\n /**\n * Items are the USER'S FAVORITED navigation items: the engine populates the\n * section from starred items across the other navigation-list sections\n * (persisted machine-locally under `LOCAL_STORAGE_KEYS.SIDEBAR_FAVORITES`),\n * REPLACING any declared `children` — author none. Declaring a FAVORITES\n * section is what enables the hover-star affordance on sidebar rows; the\n * section is hidden entirely while no favorites exist, and the engine\n * ordering policy places it right after the primary group. Declare at most\n * ONE favorites section: several would render the same favorited copies\n * (same ids) in each, and the active-row election would highlight one row\n * per duplicate id.\n */\n FAVORITES = 'favorites',\n}\n\n/** Sidebar section inline create mode. */\nexport enum SidebarSectionInlineCreate {\n NONE = 'none',\n INPUT = 'input',\n DIALOG = 'dialog',\n}\n\n/**\n * Quick Action Button placement mode.\n *\n * Replaces the literal string `\"FLOATING\"` patterns in existing schemas.\n * After container inversion (Step 4), the only placement is `FLOATING` or\n * `CONTAINED` (hosted by menubar/sidebar via `hostedComponents`).\n */\nexport enum QuickActionButtonPlacement {\n /** Floating action button overlaying the content area. */\n FLOATING = 'FLOATING',\n /** Contained within a parent component (menubar or sidebar). */\n CONTAINED = 'CONTAINED',\n}\n\n// ════════════════════════════════════════════════════════════════\n// Sidebar Section Content Kind\n// ════════════════════════════════════════════════════════════════\n\n/**\n * What kind of content a sidebar section renders.\n *\n * This is the discriminant for the `SidebarSection` discriminated union.\n * Each content kind has its own set of properties and rendering behavior.\n *\n * @see launcher-operation-binding-analysis.md §3.3.1\n */\nexport enum SidebarSectionContentKind {\n /** Traditional navigation item list (tree, collapsible, inline create). */\n NAVIGATION_LIST = 'navigation_list',\n /** Filterable resource instance list — fetches from a bound operation. */\n RESOURCE_BROWSER = 'resource_browser',\n /** Guidance/onboarding widget — renders a registered guidance component. */\n GUIDANCE_WIDGET = 'guidance_widget',\n /** Arbitrary registered React component. */\n CUSTOM_COMPONENT = 'custom_component',\n}\n\n// ════════════════════════════════════════════════════════════════\n// LauncherItemRef — Discriminated Union\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Points to a resource operation (list, create, read, etc.).\n * The resolution layer resolves this via the resource registry.\n */\nexport interface ResourceOperationItemRef {\n kind: LauncherItemTargetKind.RESOURCE_OPERATION;\n resourceType: string;\n operation: string;\n operationVariant?: string;\n}\n\n/** Points to an application-scoped special view. */\nexport interface ViewItemRef {\n kind: LauncherItemTargetKind.VIEW;\n viewRef: string;\n}\n\n/** Points to a resource-scoped special view. */\nexport interface ResourceViewItemRef {\n kind: LauncherItemTargetKind.RESOURCE_VIEW;\n resourceType: string;\n viewRef: string;\n}\n\n/** Points to a framework page (home, security settings). */\nexport interface EnginePageItemRef {\n kind: LauncherItemTargetKind.ENGINE_PAGE;\n pageRef: EnginePageRef;\n}\n\n/** Points to a registered custom React component. */\nexport interface CustomComponentItemRef {\n kind: LauncherItemTargetKind.CUSTOM_COMPONENT;\n componentRef: string;\n}\n\n/**\n * Opens the unified Settings Hub (overlay), optionally pre-selecting a section.\n * Resolves to a `/settings` / `/settings/:sectionRef` URL navigation — the hub\n * is URL-driven (`useSettingsHubRouterSync` reconstructs it), so every settings\n * entry point converges on one destination.\n */\nexport interface SettingsSectionItemRef {\n kind: LauncherItemTargetKind.SETTINGS_SECTION;\n /** Section to pre-open; omit to open the hub's default section. */\n sectionRef?: string;\n}\n\n/**\n * A launcher item reference — identifies WHAT a launcher item targets.\n * Discriminated on `kind`. The resolution layer dispatches on this to\n * produce a `ResolvedNavigationItem`.\n *\n * @see launcher-operation-binding-analysis.md §3.2\n */\nexport type LauncherItemRef =\n | ResourceOperationItemRef\n | ViewItemRef\n | ResourceViewItemRef\n | EnginePageItemRef\n | CustomComponentItemRef\n | SettingsSectionItemRef;\n\n/**\n * Toolbar items are navigation-only launcher refs.\n * Custom-component materialization belongs to other app-level surfaces and is\n * intentionally excluded from the global app-level toolbar contract.\n */\nexport type ToolbarItemRef =\n | ResourceOperationItemRef\n | ViewItemRef\n | ResourceViewItemRef\n | EnginePageItemRef;\n\n// ════════════════════════════════════════════════════════════════\n// Per-Launcher Item Types\n// ════════════════════════════════════════════════════════════════\n\n/**\n * A sidebar navigation item — extends `LauncherItemRef` with sidebar-specific\n * display properties. Supports all launcher target kinds as targets.\n */\nexport type SidebarItem = LauncherItemRef & {\n displayPolicy?: SidebarItemDisplayPolicy;\n /**\n * Typed reference to a registered `NotificationBadgeDefinition` — its badge KEY,\n * `<scope>:<identifier>`, built by `buildNotificationBadgeKey` /\n * `notificationBadgeIdentityKey` from `@wildo-ai/saas-models`.\n *\n * The key, not the bare `identifier`: a definition is `(scope, identifier)`, so an identifier\n * alone names a definition only while no second scope declares the same one. Matching on it made\n * the second definition unreachable and gave it the first's count.\n *\n * The resolved definition supplies the display mode / tone / pulse, and the live count comes from\n * `useNotificationBadges`, which indexes by the same key. Reported by `verify-launcher-content`\n * when it resolves to nothing.\n */\n notificationBadgeRef?: string;\n children?: SidebarItem[];\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n};\n\n/** A command menu entry. */\nexport type CommandMenuCommand = LauncherItemRef & {\n category?: string;\n shortcut?: string;\n /**\n * OPTIONAL extra literal match terms, appended to the localized keyword set\n * the palette already resolves for this command. These literals are NOT\n * translated — reserve them for genuinely app-specific jargon that no\n * localized label or operation-verb synonym covers (e.g. an internal codename\n * like `\"boards\"` for a Todo-Lists list command).\n *\n * You do NOT need to author generic action verbs here: for a\n * `RESOURCE_OPERATION` command the framework already folds in the LOCALIZED\n * operation-verb synonyms (`components.APPLICATION_LEVEL_COMMAND_MENU.keywords*`,\n * generated + translated by the labelling pipeline) keyed off the command's\n * core operation semantic, and the record/command noun is covered by the\n * command's already-localized label. So a French user finds \"Create Todo\" by\n * typing \"nouveau\"/\"créer\" without any literal being authored here.\n */\n searchKeywords?: string[];\n displayPolicy?: CommandMenuDisplayPolicy;\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n};\n\n/**\n * @wildo_source:part:start saas.frontend.command-menu.search-resource facet:layer:frontend facet:family:app-shell\n *\n * Declares one resource whose `SEARCH` operation feeds the command menu's\n * **omnibox** record-search layer. Import from `@wildo-ai/saas-frontend-lib`.\n *\n * You list these on the `[ApplicationLevelComponentType.COMMAND_MENU]`\n * config's `searchResources` array (in `frontend/src/config/app-shell.config.ts`);\n * they take effect **only** when that config also sets\n * `policy: CommandBarPolicy.OMNIBOX`. Each entry opts one resource into live,\n * debounced record search inside the Cmd+K palette.\n *\n * Unlike a {@link CommandMenuCommand} — a static, declarative navigation target\n * — this drives a live, debounced query (≥2 chars, 300ms) against the\n * resource's addressable `SEARCH` operation (falling back to `LIST`). Results\n * are labelled with the resource's own frontend label config and, on\n * selection, navigate to the record's addressable `READ` view. Name the\n * searchable set explicitly so the palette never fires queries against\n * resources the app did not opt in.\n *\n * @example\n * // In frontend/src/config/app-shell.config.ts, on [COMMAND_MENU]:\n * searchResources: [\n * { resourceType: 'todos', category: 'todos', maxResults: 5 },\n * { resourceType: 'tasks', category: 'tasks', maxResults: 5 },\n * ]\n */\nexport type CommandMenuSearchResource = {\n /** Resource type whose SEARCH operation is queried (e.g. `'todos'`). */\n resourceType: string;\n /**\n * Group/category ref the results are placed under in the palette. Defaults\n * to the `resourceType` (humanized) when omitted. Resolved through the same\n * i18n category-label path as static command categories.\n */\n category?: string;\n /** Max results fetched per resource per keystroke. Defaults to 5. */\n maxResults?: number;\n /**\n * Relative order weight of this record group in the palette result list —\n * lower renders higher. This is the SINGLE ordering axis the palette sorts\n * every group (record groups AND static command-category groups) by.\n *\n * When omitted, record groups default to a weight ABOVE the static command\n * groups, so live record matches surface FIRST while the user is searching —\n * `searchResources` array position breaks ties among record groups. Static\n * command categories sit on a higher (later) default band, sequenced among\n * themselves by `[COMMAND_MENU].categoryOrder`. Set an explicit `order` to\n * pin a record group anywhere in that merged list (e.g. a large value to push\n * a low-signal resource below the command groups, or a negative value to pin\n * it at the very top).\n */\n order?: number;\n /**\n * How each matched record renders in the palette:\n * - `SUMMARY` (default) — the resource's summary VIEW (its summary card, no\n * action bar), via `ResourceSummaryDisplayer`. Reuses the SUMMARY-mode DTO\n * the `SEARCH` operation already returns, so there is no extra fetch. This\n * is the richer, default representation.\n * - `LABEL` — a single-line resolved label (opt-out / compact fallback).\n *\n * `ID` is treated as `LABEL` here (there is no id-only palette row).\n * Reuses {@link ForeignKeyDisplayMode} — the same LABEL-vs-SUMMARY vocabulary\n * the foreign-key reference picker uses for its dropdown rows — rather than\n * inventing a parallel command-menu-only enum.\n */\n resultDisplay?: ForeignKeyDisplayMode;\n /**\n * OPTIONAL extra literal match terms appended to every result of this\n * resource for client-side fuzzy matching. NOT translated — the raw query is\n * always kept as a keyword (so server hits never drop) and the framework also\n * folds in the LOCALIZED \"search\" verb synonyms\n * (`components.APPLICATION_LEVEL_COMMAND_MENU.keywordsSearch`) for the group.\n * Reserve this field for app-specific jargon a localized label/synonym cannot\n * cover.\n */\n searchKeywords?: string[];\n};\n/** @wildo_source:part:end saas.frontend.command-menu.search-resource */\n\n/** A quick action button entry. */\nexport type QuickActionItem = LauncherItemRef & {\n displayPolicy?: QuickActionDisplayPolicy;\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n};\n\n/**\n * A keyboard shortcut binding to a navigation target (`LauncherItemRef`).\n *\n * `description` overrides the registry/help label. When omitted, the framework uses\n * `tResourceOperation(…, 'title')` for `RESOURCE_OPERATION` targets and the resolved\n * navigation `label` for all other kinds.\n */\nexport type HotkeyBinding = LauncherItemRef & {\n shortcut: string;\n scope?: HotkeyScope;\n description?: string;\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n};\n\n/** A toolbar item. */\nexport type ToolbarItem = ToolbarItemRef & {\n group?: string;\n /** When true, only the icon is shown (label is hidden). */\n iconOnly?: boolean;\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n};\n\n/** A control panel item. */\nexport type ControlPanelItem = LauncherItemRef & {\n section?: string;\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n};\n\n/**\n * A utility panel item (Gmail-style right-side panel).\n *\n * Two target kinds, because the panel hosts two genuinely different things and collapsing them\n * would have meant an untyped props bag (#504):\n *\n * - `CUSTOM_COMPONENT` names a component the ENGINE ships, rendered with no arguments. The registry\n * is typed on `FrontendComponentType` from `register` through `resolve`, so an application cannot\n * name its own here however the free-string ref reads — that contract gap is filed separately.\n * - `VIEW` names an application-scoped view by ref, rendered INLINE in the panel. The panel does not\n * navigate, so this is the same target a launcher item names and a different verb applied to it:\n * the kind says WHAT, the host decides HOW.\n *\n * `VIEW` exists because the content applications actually want beside the workspace is their own —\n * an actor flow, a report — and such a surface needs to know WHICH instance it is showing. A\n * component rendered with no arguments cannot be told, which is why a ref rather than a props object\n * is the right shape: it is the one parameter that identifies an instance, and it is typed.\n */\nexport type UtilityPanelItem =\n | {\n kind: LauncherItemTargetKind.CUSTOM_COMPONENT;\n componentRef: string;\n icon: string;\n label: string;\n }\n | {\n kind: LauncherItemTargetKind.VIEW;\n /** The `ref` of an application-scoped view definition — today, a `FlowsActorsViewDefinition`. */\n viewRef: string;\n icon: string;\n label: string;\n };\n\n/**\n * How a hosted component's TRIGGER renders inside its host surface.\n *\n * The same trigger serves two very different chrome shapes: a menubar's\n * trailing cluster is a row of small icon controls, while a sidebar rail (or a\n * wide top bar) can carry a full input-like control. Declaring the appearance\n * keeps that a per-PLACEMENT decision rather than a component-wide compromise —\n * this application hosts the identical command menu in both surfaces.\n */\nexport enum HostedTriggerAppearance {\n /**\n * Full input-like \"false button\": leading glyph, placeholder text and the\n * shortcut hint. Honors `triggerWidth`. Default.\n */\n EXPANDED = 'expanded',\n /**\n * Square icon-only button sized to the chrome row — what belongs beside the\n * notification bell and the avatar. `triggerWidth` is deliberately IGNORED\n * here: a 240px icon button is dead space, not a wide control.\n */\n COMPACT = 'compact',\n}\n\n/**\n * @wildo_source:part:start saas.frontend.app-shell.hosted-components facet:layer:frontend facet:family:app-shell\n *\n * Hosts an app-level component (the Cmd+K command-menu trigger, a quick-action\n * button, the notification center, …) INSIDE the menubar via container\n * inversion. Import from `@wildo-ai/saas-frontend-lib`.\n *\n * You list these on the `[ApplicationLevelComponentType.MENUBAR]` config's\n * `hostedComponents` array (in `frontend/src/config/app-shell.config.ts`).\n * `componentType` is an `ApplicationLevelComponentType.*` member; `placement`\n * is a {@link HorizontalPlacement} (`START`/`MIDDLE`/`END`) selecting the\n * menubar zone; `breakpoint` restricts the component to one viewport\n * breakpoint. Render order follows array position in `hostedComponents`.\n *\n * The sidebar is the vertical mirror of this contract — see\n * {@link SidebarHostedComponent}. Both surfaces share ONE hosting pipeline, so\n * hosting the SAME component (e.g. the command menu) in both places yields two\n * triggers driving one shared dialog / one hotkey registration, never two.\n *\n * @example\n * // In frontend/src/config/app-shell.config.ts, on [MENUBAR]:\n * hostedComponents: [\n * { componentType: ApplicationLevelComponentType.COMMAND_MENU,\n * placement: HorizontalPlacement.START, triggerWidth: 240 },\n * { componentType: ApplicationLevelComponentType.USER_DROPDOWN,\n * placement: HorizontalPlacement.END },\n * ]\n */\nexport interface MenubarHostedComponent {\n componentType: string;\n /** Which menubar zone the component renders in. Defaults to `START`. */\n placement?: HorizontalPlacement;\n breakpoint?: ViewportBreakpoint;\n /** Override the preset name used for component resolution. Defaults to `CorePresetNames.DEFAULT`. */\n presetName?: string;\n /**\n * Per-placement width override for hosted components that render an\n * input-like trigger (today: the command-menu \"false button\"). Accepts an\n * explicit CSS length — a plain number is treated as pixels (`240` → 240px),\n * or a CSS width string (`'240px'`, `'100%'`, `'16rem'`). Applied as an\n * inline `style.width` because tailwind-merge cannot override the trigger's\n * default width utility. Omit to use the component's built-in default width.\n */\n triggerWidth?: string | number;\n /**\n * How the trigger renders here — see {@link HostedTriggerAppearance}.\n * Defaults to `EXPANDED`. A menubar's trailing cluster normally wants\n * `COMPACT`, so the control is an icon button beside the bell and the avatar;\n * a sidebar rail keeps the full input-like control. `triggerWidth` above is\n * ignored under `COMPACT`.\n */\n triggerAppearance?: HostedTriggerAppearance;\n}\n\n/**\n * Hosts an app-level component INSIDE the sidebar (container inversion — the\n * vertical mirror of {@link MenubarHostedComponent}). Import from\n * `@wildo-ai/saas-frontend-lib`.\n *\n * You list these on the `[ApplicationLevelComponentType.SIDEBAR]` config's\n * `hostedComponents` array. Both surfaces share ONE hosting pipeline\n * (`resolveHostedComponents` + the shell-level interaction owner); the only\n * difference is the placement axis: the sidebar is a vertical column, so\n * `placement` is a {@link VerticalPlacement} (`TOP` renders above the nav,\n * `BOTTOM` below it) rather than the menubar's horizontal axis. `breakpoint`\n * restricts the component to a viewport breakpoint; render order follows array\n * position in `hostedComponents`.\n *\n * @example\n * // In frontend/src/config/app-shell.config.ts, on [SIDEBAR] — the same command\n * // menu ALSO placed in the sidebar, filling the rail width:\n * hostedComponents: [\n * { componentType: ApplicationLevelComponentType.COMMAND_MENU,\n * placement: VerticalPlacement.TOP, triggerWidth: '100%' },\n * ]\n */\nexport interface SidebarHostedComponent {\n componentType: string;\n /** Which end of the sidebar column the component renders at. Defaults to `TOP`. */\n placement?: VerticalPlacement;\n breakpoint?: ViewportBreakpoint;\n /** Override the preset name used for component resolution. Defaults to `CorePresetNames.DEFAULT`. */\n presetName?: string;\n /**\n * Per-placement width override for the hosted trigger (see\n * {@link MenubarHostedComponent.triggerWidth} — number = px, or a CSS width\n * string). A sidebar trigger commonly uses `'100%'` to fill the rail; the\n * menubar copy is typically narrower.\n */\n triggerWidth?: string | number;\n /**\n * How the trigger renders here — see {@link HostedTriggerAppearance}.\n * Defaults to `EXPANDED`. A menubar's trailing cluster normally wants\n * `COMPACT`, so the control is an icon button beside the bell and the avatar;\n * a sidebar rail keeps the full input-like control. `triggerWidth` above is\n * ignored under `COMPACT`.\n */\n triggerAppearance?: HostedTriggerAppearance;\n}\n/** @wildo_source:part:end saas.frontend.app-shell.hosted-components */\n\n/** A menubar-specific launcher item (config-time declaration). */\nexport type MenubarLauncherItem = LauncherItemRef & {\n group?: string;\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n};\n\n/**\n * Generic runtime availability contract for launcher declarations.\n *\n * This is intentionally distinct from `requiredFeatures` on resolved\n * view/resource targets:\n * - `runtimeAvailability` decides whether a launcher declaration should survive\n * the app-shell filtering pass at all\n * - `requiredFeatures` stays the canonical plan/subscription gating mechanism\n * once an item has already survived launcher filtering and is being resolved\n */\nexport interface LauncherRuntimeAvailabilityConfig {\n requiredCapabilities?: string[];\n}\n\nexport const LauncherRuntimeAvailabilityConfigSchema = z.object({\n requiredCapabilities: z.array(z.string()).optional(),\n});\n\n// ════════════════════════════════════════════════════════════════\n// Scope Condition Types (used by sidebar sections, evaluated in Macro B)\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Parameters passed to a `ScopeConditionFn` for evaluating section visibility.\n *\n * @see component-taxonomy-deep-review.md §3.5.3\n */\nexport interface ScopeConditionParams {\n /** Current app scope values (workspace, project, environment, etc.). */\n appScopeValues: Record<string, AppScopeValue>;\n /** Currently active mode ref, or `null` if no mode system. */\n activeMode: string | null;\n /** All defined app modes (for inspecting mode metadata). */\n availableModes: AppModeDefinition[];\n}\n\n/**\n * Predicate function that determines whether a sidebar section should be visible\n * based on the current scope and mode state.\n *\n * Returns `true` to show the section, `false` to hide it.\n * Called reactively whenever scope or mode changes.\n */\nexport type ScopeConditionFn = (params: ScopeConditionParams) => boolean;\n\n/**\n * Context provided to a `ResourceBrowser` section's `onInstanceClick` callback.\n */\nexport interface ResourceBrowserClickContext {\n resourceType: string;\n instanceId: string;\n instanceData: Record<string, unknown>;\n}\n\n// ════════════════════════════════════════════════════════════════\n// AppMode Definition\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Defines an application mode (e.g., \"explorer\", \"search\", \"admin\").\n *\n * Modes filter which sidebar sections are visible. The `ACTIVITY_BAR`\n * renders available modes as selectable icons.\n *\n * @see component-taxonomy-deep-review.md §7.3\n */\nexport interface AppModeDefinition {\n /** Unique reference for this mode. */\n ref: string;\n /** Display label (i18n ref). */\n label: string;\n /** Icon identifier for the activity bar. */\n icon: string;\n /** Whether this is the default mode when none is persisted. */\n isDefault?: boolean;\n /** Restrict mode visibility to specific user types. */\n visibleToUserTypes?: string[];\n}\n\n// ════════════════════════════════════════════════════════════════\n// Sidebar Section Types — Discriminated Union on `contentKind`\n// ════════════════════════════════════════════════════════════════\n\n/**\n * Base properties shared by all sidebar section types.\n * `ref` is `string`-typed — no framework enum, apps define their own refs.\n */\nexport interface SidebarSectionBase {\n contentKind: SidebarSectionContentKind;\n /** Section reference — app-defined, used for i18n and configuration matching. */\n ref: string;\n /** Display label (i18n ref). If omitted, section renders without a header. */\n label?: string;\n /** Icon for the section header. */\n icon?: string;\n /** Whether the section header (label + icon) is rendered. Defaults to `true`. */\n showLabel?: boolean;\n /** Whether the section can be collapsed by the user. */\n collapsible?: boolean;\n /** Whether the section starts collapsed. */\n defaultCollapsed?: boolean;\n /**\n * Mode refs this section is visible in. If omitted, visible in all modes.\n * String-based — validated at startup against `appModes[].ref`.\n * Evaluated in Macro B (Step 6).\n */\n visibleInModes?: string[];\n /**\n * Function-based visibility condition for complex scope-dependent logic.\n * Evaluated in Macro B (Step 6).\n */\n scopeCondition?: ScopeConditionFn;\n /** Declarative runtime capability gating evaluated by the app-shell layer. */\n runtimeAvailability?: LauncherRuntimeAvailabilityConfig;\n}\n\n/**\n * Traditional navigation item list section.\n * Supports tree hierarchy, inline create, drag-reorder (via behavior).\n */\nexport interface SidebarSection_NavigationList extends SidebarSectionBase {\n contentKind: SidebarSectionContentKind.NAVIGATION_LIST;\n children: SidebarItem[];\n behavior?: SidebarSectionBehavior;\n /**\n * Marks this section as the sidebar's PRIMARY navigation group — the app's\n * top-level destinations (the \"Home group\"). Primary sections render at the\n * top of the sidebar with no section header and never collapsible. When\n * `SIDEBAR.homeDisplayMode` is `NAVIGATION_ITEM` (the default) the framework's\n * Home row heads that same group, giving the Linear/Notion \"Inbox / My Issues\n * right under Home\" shape; the other home modes surface home elsewhere and\n * leave this group to the app's own destinations.\n *\n * This is a PLACEMENT/CHROME role, deliberately distinct from\n * `SidebarSectionBehavior` (which describes where a section's ITEMS come\n * from). Section ordering is engine policy and ignores declaration order for\n * the special roles: primary section(s) first, then non-empty\n * `SidebarSectionBehavior.FAVORITES` section(s), then the remaining sections\n * in declared order. Modules can therefore contribute a primary section\n * without the app config having to interleave it manually.\n */\n isPrimary?: boolean;\n inlineCreate?: SidebarSectionInlineCreate;\n inlineCreateResourceType?: string;\n /** Field that receives the user's input during inline creation. Defaults to `'title'`. */\n inlineCreateField?: string;\n nested?: boolean;\n maxNestingDepth?: number;\n}\n\n/**\n * Filterable resource instance list section.\n * Fetches data from a bound operation and displays resource instances.\n *\n * @see launcher-operation-binding-analysis.md §3.3.6\n */\nexport interface SidebarSection_ResourceBrowser extends SidebarSectionBase {\n contentKind: SidebarSectionContentKind.RESOURCE_BROWSER;\n /** Resource type to browse. */\n resourceType: string;\n /** Override the default LIST operation (optional — defaults to LIST). */\n operation?: string;\n /** Operation variant for filtered views. */\n operationVariant?: string;\n /**\n * Operation used when the user clicks a listed instance.\n * Defaults to READ when available; otherwise falls back to the bound operation.\n */\n navigateOperation?: string;\n /** Variant for the click/navigation operation. */\n navigateOperationVariant?: string;\n /**\n * Client-side filter predicate applied after fetching.\n * Enables display restrictions (e.g., \"starred only\").\n */\n instanceFilter?: (instance: Record<string, unknown>) => boolean;\n /**\n * Custom click handler for resource instances.\n * Default: navigate to instance via `NavigationUtils.resolveResourceUrl()`.\n */\n onInstanceClick?: (context: ResourceBrowserClickContext) => void;\n}\n\n/** Guidance/onboarding widget section. */\nexport interface SidebarSection_GuidanceWidget extends SidebarSectionBase {\n contentKind: SidebarSectionContentKind.GUIDANCE_WIDGET;\n /** Reference to a registered guidance component. */\n guidanceRef: string;\n}\n\n/** Arbitrary custom component section. */\nexport interface SidebarSection_CustomComponent extends SidebarSectionBase {\n contentKind: SidebarSectionContentKind.CUSTOM_COMPONENT;\n /** Reference to a registered React component. */\n componentRef: string;\n}\n\n/**\n * Discriminated union of all sidebar section types.\n * Narrow on `contentKind` to access type-specific properties.\n */\nexport type SidebarSection =\n | SidebarSection_NavigationList\n | SidebarSection_ResourceBrowser\n | SidebarSection_GuidanceWidget\n | SidebarSection_CustomComponent;\n\n// ════════════════════════════════════════════════════════════════\n// Zod Schemas\n// ════════════════════════════════════════════════════════════════\n\nexport const LauncherItemTargetKindSchema = z.enum(LauncherItemTargetKind);\nexport const EnginePageRefSchema = z.enum(EnginePageRef);\nexport const ActivityBarRenderingSchema = z.enum(ActivityBarRendering);\nexport const SidebarResponsivePolicySchema = z.enum(SidebarResponsivePolicy);\nexport const QuickActionButtonPlacementSchema = z.enum(QuickActionButtonPlacement);\nexport const SidebarSectionContentKindSchema = z.enum(SidebarSectionContentKind);\n\n/** Zod schema for `ResourceOperationItemRef`. */\nexport const ResourceOperationItemRefSchema = z.object({\n kind: z.literal(LauncherItemTargetKind.RESOURCE_OPERATION),\n resourceType: z.string(),\n operation: z.string(),\n operationVariant: z.string().optional(),\n});\n\n/** Zod schema for `ViewItemRef`. */\nexport const ViewItemRefSchema = z.object({\n kind: z.literal(LauncherItemTargetKind.VIEW),\n viewRef: z.string(),\n});\n\n/** Zod schema for `ResourceViewItemRef`. */\nexport const ResourceViewItemRefSchema = z.object({\n kind: z.literal(LauncherItemTargetKind.RESOURCE_VIEW),\n resourceType: z.string(),\n viewRef: z.string(),\n});\n\n/** Zod schema for `EnginePageItemRef`. */\nexport const EnginePageItemRefSchema = z.object({\n kind: z.literal(LauncherItemTargetKind.ENGINE_PAGE),\n pageRef: EnginePageRefSchema,\n});\n\n/** Zod schema for `CustomComponentItemRef`. */\nexport const CustomComponentItemRefSchema = z.object({\n kind: z.literal(LauncherItemTargetKind.CUSTOM_COMPONENT),\n componentRef: z.string(),\n});\n\nexport const SettingsSectionItemRefSchema = z.object({\n kind: z.literal(LauncherItemTargetKind.SETTINGS_SECTION),\n sectionRef: z.string().optional(),\n});\n\n/**\n * Zod schema for `LauncherItemRef` — discriminated union on `kind`.\n * Validates config-time launcher item references.\n */\nexport const LauncherItemRefSchema = z.discriminatedUnion('kind', [\n ResourceOperationItemRefSchema,\n ViewItemRefSchema,\n ResourceViewItemRefSchema,\n EnginePageItemRefSchema,\n CustomComponentItemRefSchema,\n SettingsSectionItemRefSchema,\n]);\n\n/** Zod schema for `SidebarItem`. */\nexport const SidebarItemSchema: z.ZodType<SidebarItem> = z.lazy(() =>\n LauncherItemRefSchema.and(z.object({\n displayPolicy: z.enum(SidebarItemDisplayPolicy).optional(),\n notificationBadgeRef: z.string().optional(),\n children: z.array(SidebarItemSchema).optional(),\n runtimeAvailability: LauncherRuntimeAvailabilityConfigSchema.optional(),\n }))\n);\n\n/** Zod schema for `CommandMenuCommand`. */\nexport const CommandMenuCommandSchema = LauncherItemRefSchema.and(z.object({\n category: z.string().optional(),\n shortcut: z.string().optional(),\n searchKeywords: z.array(z.string()).optional(),\n displayPolicy: z.enum(CommandMenuDisplayPolicy).optional(),\n runtimeAvailability: LauncherRuntimeAvailabilityConfigSchema.optional(),\n}));\n\n/**\n * @wildo_source:part:start saas.frontend.command-menu.search-resource facet:layer:frontend facet:family:app-shell\n *\n * Zod schema for `CommandMenuSearchResource` — validates each entry in the\n * `[COMMAND_MENU].searchResources` array.\n */\nexport const CommandMenuSearchResourceSchema: z.ZodType<CommandMenuSearchResource> = z.object({\n resourceType: z.string(),\n category: z.string().optional(),\n maxResults: z.number().optional(),\n order: z.number().optional(),\n resultDisplay: z.enum([\n ForeignKeyDisplayMode.ID,\n ForeignKeyDisplayMode.LABEL,\n ForeignKeyDisplayMode.SUMMARY,\n ]).optional(),\n searchKeywords: z.array(z.string()).optional(),\n});\n/** @wildo_source:part:end saas.frontend.command-menu.search-resource */\n\n/** Zod schema for `QuickActionItem`. */\nexport const QuickActionItemSchema = LauncherItemRefSchema.and(z.object({\n displayPolicy: z.enum(QuickActionDisplayPolicy).optional(),\n runtimeAvailability: LauncherRuntimeAvailabilityConfigSchema.optional(),\n}));\n\n/** Zod schema for `HotkeyBinding`. */\nexport const HotkeyBindingSchema = LauncherItemRefSchema.and(z.object({\n shortcut: z.string(),\n scope: z.enum(HotkeyScope).optional(),\n description: z.string().optional(),\n runtimeAvailability: LauncherRuntimeAvailabilityConfigSchema.optional(),\n}));\n\n/** Zod schema for `ToolbarItemRef`. */\nexport const ToolbarItemRefSchema = z.discriminatedUnion('kind', [\n ResourceOperationItemRefSchema,\n ViewItemRefSchema,\n ResourceViewItemRefSchema,\n EnginePageItemRefSchema,\n]);\n\n/** Zod schema for `ToolbarItem`. */\nexport const ToolbarItemSchema = ToolbarItemRefSchema.and(z.object({\n group: z.string().optional(),\n iconOnly: z.boolean().optional(),\n runtimeAvailability: LauncherRuntimeAvailabilityConfigSchema.optional(),\n}));\n\n/** Zod schema for `ControlPanelItem`. */\nexport const ControlPanelItemSchema = LauncherItemRefSchema.and(z.object({\n section: z.string().optional(),\n runtimeAvailability: LauncherRuntimeAvailabilityConfigSchema.optional(),\n}));\n\n/**\n * Zod schema for `UtilityPanelItem`.\n *\n * A DISCRIMINATED union rather than one object with two optional refs: an item that carried both a\n * `componentRef` and a `viewRef`, or neither, would parse — and the render path would then have to\n * invent a precedence rule that no author wrote down.\n */\nexport const UtilityPanelItemSchema = z.discriminatedUnion('kind', [\n z.object({\n kind: z.literal(LauncherItemTargetKind.CUSTOM_COMPONENT),\n componentRef: z.string(),\n icon: z.string(),\n label: z.string(),\n }),\n z.object({\n kind: z.literal(LauncherItemTargetKind.VIEW),\n viewRef: z.string(),\n icon: z.string(),\n label: z.string(),\n }),\n]);\n\n/**\n * @wildo_source:part:start saas.frontend.app-shell.hosted-components facet:layer:frontend facet:family:app-shell\n *\n * Zod schema for `MenubarHostedComponent` — validates each entry in the\n * `[MENUBAR].hostedComponents` array. `placement` determines which zone\n * (START/MIDDLE/END) the component renders in; `breakpoint` restricts the\n * component to a specific viewport breakpoint. Render order follows array\n * position in `hostedComponents`.\n */\nexport const MenubarHostedComponentSchema = z.object({\n componentType: z.string(),\n placement: z.enum(HorizontalPlacement).optional(),\n breakpoint: z.enum(ViewportBreakpoint).optional(),\n presetName: z.string().optional(),\n triggerWidth: z.union([z.string(), z.number()]).optional(),\n triggerAppearance: z.enum(HostedTriggerAppearance).optional(),\n});\n\n/**\n * Zod schema for `SidebarHostedComponent` — declares a component hosted within\n * the sidebar (the vertical mirror of `MenubarHostedComponentSchema`).\n * `placement` selects which end of the sidebar column the component renders at\n * (`TOP`/`BOTTOM`); `breakpoint` restricts it to a viewport breakpoint. Render\n * order follows array position in `hostedComponents`.\n */\nexport const SidebarHostedComponentSchema = z.object({\n componentType: z.string(),\n placement: z.enum(VerticalPlacement).optional(),\n breakpoint: z.enum(ViewportBreakpoint).optional(),\n presetName: z.string().optional(),\n triggerWidth: z.union([z.string(), z.number()]).optional(),\n triggerAppearance: z.enum(HostedTriggerAppearance).optional(),\n});\n/** @wildo_source:part:end saas.frontend.app-shell.hosted-components */\n\n/** Zod schema for `MenubarLauncherItem`. */\nexport const MenubarLauncherItemSchema = LauncherItemRefSchema.and(z.object({\n group: z.string().optional(),\n runtimeAvailability: LauncherRuntimeAvailabilityConfigSchema.optional(),\n}));\n\n// ── Sidebar Section Schemas (discriminated union on contentKind) ──\n\nconst SidebarSectionBaseSchema = z.object({\n ref: z.string(),\n label: z.string().optional(),\n icon: z.string().optional(),\n showLabel: z.boolean().optional(),\n collapsible: z.boolean().optional(),\n defaultCollapsed: z.boolean().optional(),\n visibleInModes: z.array(z.string()).optional(),\n runtimeAvailability: LauncherRuntimeAvailabilityConfigSchema.optional(),\n});\n\nexport const SidebarSection_NavigationListSchema = SidebarSectionBaseSchema.extend({\n contentKind: z.literal(SidebarSectionContentKind.NAVIGATION_LIST),\n children: z.array(SidebarItemSchema),\n behavior: z.enum(SidebarSectionBehavior).optional(),\n isPrimary: z.boolean().optional(),\n inlineCreate: z.enum(SidebarSectionInlineCreate).optional(),\n inlineCreateResourceType: z.string().optional(),\n inlineCreateField: z.string().optional(),\n nested: z.boolean().optional(),\n maxNestingDepth: z.number().optional(),\n});\n\nexport const SidebarSection_ResourceBrowserSchema = SidebarSectionBaseSchema.extend({\n contentKind: z.literal(SidebarSectionContentKind.RESOURCE_BROWSER),\n resourceType: z.string(),\n operation: z.string().optional(),\n operationVariant: z.string().optional(),\n navigateOperation: z.string().optional(),\n navigateOperationVariant: z.string().optional(),\n});\n\nexport const SidebarSection_GuidanceWidgetSchema = SidebarSectionBaseSchema.extend({\n contentKind: z.literal(SidebarSectionContentKind.GUIDANCE_WIDGET),\n guidanceRef: z.string(),\n});\n\nexport const SidebarSection_CustomComponentSchema = SidebarSectionBaseSchema.extend({\n contentKind: z.literal(SidebarSectionContentKind.CUSTOM_COMPONENT),\n componentRef: z.string(),\n});\n\n/**\n * Zod schema for `SidebarSection` — discriminated union on `contentKind`.\n *\n * Note: `scopeCondition` (on `SidebarSectionBase`), `instanceFilter`, and\n * `onInstanceClick` (on `SidebarSection_ResourceBrowser`) are function types\n * that cannot be validated by Zod. They are typed on the TypeScript interfaces\n * but excluded from the Zod schema (runtime code handles them directly).\n */\nexport const SidebarSectionSchema = z.discriminatedUnion('contentKind', [\n SidebarSection_NavigationListSchema,\n SidebarSection_ResourceBrowserSchema,\n SidebarSection_GuidanceWidgetSchema,\n SidebarSection_CustomComponentSchema,\n]);\n\n/** Zod schema for `AppModeDefinition`. */\nexport const AppModeDefinitionSchema = z.object({\n ref: z.string(),\n label: z.string(),\n icon: z.string(),\n isDefault: z.boolean().optional(),\n visibleToUserTypes: z.array(z.string()).optional(),\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding-view.frontend.schemas.d.ts","sourceRoot":"","sources":["../../../../../src/core/config/onboarding-view.frontend.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAiC,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACjG,OAAO,KAAK,EAAE,0CAA0C,EAAE,MAAM,mEAAmE,CAAC;AAEpI;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2B1C,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,sBAAsB,CAAC;IAC9B,2BAA2B,CAAC,EAAE,0CAA0C,EAAE,CAAC;IAC3E,8BAA8B,CAAC,EAAE,0CAA0C,EAAE,CAAC;IAC9E,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,qBAAqB,CAAC;IAC/B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C"}
1
+ {"version":3,"file":"onboarding-view.frontend.schemas.d.ts","sourceRoot":"","sources":["../../../../src/core/config/onboarding-view.frontend.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAiC,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACjG,OAAO,KAAK,EAAE,0CAA0C,EAAE,MAAM,mEAAmE,CAAC;AAEpI;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA2B1C,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,sBAAsB,CAAC;IAC9B,2BAA2B,CAAC,EAAE,0CAA0C,EAAE,CAAC;IAC3E,8BAA8B,CAAC,EAAE,0CAA0C,EAAE,CAAC;IAC9E,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,qBAAqB,CAAC;IAC/B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding-view.frontend.schemas.js","sourceRoot":"","sources":["../../../../../src/core/config/onboarding-view.frontend.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,6BAA6B,EAA0B,MAAM,0BAA0B,CAAC;AAGjG;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,YAAY,CAC1D,6BAA6B,EAC7B,CAAC,CAAC,MAAM,CAAC;IACP;;;;;;;;;;;;;;;;;OAiBG;IACH,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,OAAO,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IAC3C,OAAO,EAAE,2BAA2B;IACpC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC;IAC1C,gBAAgB,EAAE,4BAA4B,CAAC,QAAQ,EAAE;CAC1D,CAAC,CACH,CAAC","sourcesContent":["import { z } from 'zod';\nimport {\n OnboardingTriggerSchema,\n OnboardingViewOptionsSchema,\n OnboardingElementSchema,\n RequiredFeaturesConfigSchema,\n} from '@wildo-ai/saas-models';\nimport type {\n OnboardingTrigger,\n OnboardingViewOptions,\n OnboardingElement,\n RequiredFeaturesConfig,\n} from '@wildo-ai/saas-models';\nimport { FrontendView_DefinitionSchema, FrontendView_ScopeMode } from './views-frontend.schemas';\nimport type { FrontendResource_ParentResourceRequirement } from '~wildo-frontend-lib/core/resources/resource-path.frontend.schemas';\n\n/**\n * OnboardingViewDefinition — intersects onboarding primitives (saas-models)\n * with view wiring (FrontendView_DefinitionSchema) for frontend rendering.\n *\n * The onboarding primitives (triggers, elements, options) are shared because\n * the backend guidance system inspects them. The view definition wrapper\n * (scope, parent requirements) is frontend-only.\n */\nexport const OnboardingViewDefinitionSchema = z.intersection(\n FrontendView_DefinitionSchema,\n z.object({\n /**\n * Stable string identity for this onboarding view. Used by:\n * - The companion spec layer (`OnboardingViewSpecification` keys\n * this ref against `app.<ref>` for application-scope views and\n * `resources.<resourceType>.<ref>` for resource-scope views).\n * - Future ref-based registry lookups (today the runtime accesses\n * onboarding documents by direct array reference via\n * `<EmbedOnboarding document={…} />`, but per-ref lookup is the\n * coming convention — guidance flows already work this way).\n *\n * NOTE on uniqueness: `buildFrontendModuleRegistry` collapses\n * onboarding views to ref-keyed dedup (mirrors guidance-flow\n * merge). Two modules contributing the same ref therefore overwrite,\n * with the last-merged module winning — same semantics as\n * guidance flows. Spec-layer\n * `buildOnboardingViewSpecificationMap` ALSO fails closed on\n * duplicate keys for any app that authors the spec.\n */\n ref: z.string().min(1),\n trigger: OnboardingTriggerSchema.optional(),\n options: OnboardingViewOptionsSchema,\n elements: z.array(OnboardingElementSchema),\n requiredFeatures: RequiredFeaturesConfigSchema.optional(),\n }),\n);\n\nexport interface OnboardingViewDefinition {\n ref: string;\n scope: FrontendView_ScopeMode;\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[];\n additionalResourceRequirements?: FrontendResource_ParentResourceRequirement[];\n trigger?: OnboardingTrigger;\n options: OnboardingViewOptions;\n elements: OnboardingElement[];\n requiredFeatures?: RequiredFeaturesConfig;\n}\n"]}
1
+ {"version":3,"file":"onboarding-view.frontend.schemas.js","sourceRoot":"","sources":["../../../../src/core/config/onboarding-view.frontend.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,6BAA6B,EAA0B,MAAM,0BAA0B,CAAC;AAGjG;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,YAAY,CAC1D,6BAA6B,EAC7B,CAAC,CAAC,MAAM,CAAC;IACP;;;;;;;;;;;;;;;;;OAiBG;IACH,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,OAAO,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IAC3C,OAAO,EAAE,2BAA2B;IACpC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC;IAC1C,gBAAgB,EAAE,4BAA4B,CAAC,QAAQ,EAAE;CAC1D,CAAC,CACH,CAAC","sourcesContent":["import { z } from 'zod';\nimport {\n OnboardingTriggerSchema,\n OnboardingViewOptionsSchema,\n OnboardingElementSchema,\n RequiredFeaturesConfigSchema,\n} from '@wildo-ai/saas-models';\nimport type {\n OnboardingTrigger,\n OnboardingViewOptions,\n OnboardingElement,\n RequiredFeaturesConfig,\n} from '@wildo-ai/saas-models';\nimport { FrontendView_DefinitionSchema, FrontendView_ScopeMode } from './views-frontend.schemas';\nimport type { FrontendResource_ParentResourceRequirement } from '~wildo-frontend-lib/core/resources/resource-path.frontend.schemas';\n\n/**\n * OnboardingViewDefinition — intersects onboarding primitives (saas-models)\n * with view wiring (FrontendView_DefinitionSchema) for frontend rendering.\n *\n * The onboarding primitives (triggers, elements, options) are shared because\n * the backend guidance system inspects them. The view definition wrapper\n * (scope, parent requirements) is frontend-only.\n */\nexport const OnboardingViewDefinitionSchema = z.intersection(\n FrontendView_DefinitionSchema,\n z.object({\n /**\n * Stable string identity for this onboarding view. Used by:\n * - The companion spec layer (`OnboardingViewSpecification` keys\n * this ref against `app.<ref>` for application-scope views and\n * `resources.<resourceType>.<ref>` for resource-scope views).\n * - Future ref-based registry lookups (today the runtime accesses\n * onboarding documents by direct array reference via\n * `<EmbedOnboarding document={…} />`, but per-ref lookup is the\n * coming convention — guidance flows already work this way).\n *\n * NOTE on uniqueness: `buildFrontendModuleRegistry` collapses\n * onboarding views to ref-keyed dedup (mirrors guidance-flow\n * merge). Two modules contributing the same ref therefore overwrite,\n * with the last-merged module winning — same semantics as\n * guidance flows. Spec-layer\n * `buildOnboardingViewSpecificationMap` ALSO fails closed on\n * duplicate keys for any app that authors the spec.\n */\n ref: z.string().min(1),\n trigger: OnboardingTriggerSchema.optional(),\n options: OnboardingViewOptionsSchema,\n elements: z.array(OnboardingElementSchema),\n requiredFeatures: RequiredFeaturesConfigSchema.optional(),\n }),\n);\n\nexport interface OnboardingViewDefinition {\n ref: string;\n scope: FrontendView_ScopeMode;\n parentResourcesRequirements?: FrontendResource_ParentResourceRequirement[];\n additionalResourceRequirements?: FrontendResource_ParentResourceRequirement[];\n trigger?: OnboardingTrigger;\n options: OnboardingViewOptions;\n elements: OnboardingElement[];\n requiredFeatures?: RequiredFeaturesConfig;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"resource-owned-view-resolution.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../../src/core/config/resource-owned-view-resolution.frontend.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAE/G,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,OAAO,GAAG,WAAW,CAAC;AAE1E,MAAM,WAAW,iCAAiC;IAChD,MAAM,EAAE,uBAAuB,CAAC;IAChC,KAAK,EAAE,sBAAsB,CAAC;CAC/B;AAED,MAAM,WAAW,+BAAgC,SAAQ,iCAAiC;IACxF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,yBAAyB,CAAC;CACrC,GAAG,+BAA+B,EAAE,CAoBpC;AAED,wBAAgB,qCAAqC,CAAC,MAAM,EAAE;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,yBAAyB,CAAC;CACrC,GAAG,+BAA+B,EAAE,CAKpC;AAED,wBAAgB,iCAAiC,CAAC,MAAM,EAAE;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,yBAAyB,CAAC;CACrC,GAAG,iCAAiC,GAAG,IAAI,CAU3C"}
1
+ {"version":3,"file":"resource-owned-view-resolution.frontend.utils.d.ts","sourceRoot":"","sources":["../../../../src/core/config/resource-owned-view-resolution.frontend.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAE/G,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,OAAO,GAAG,WAAW,CAAC;AAE1E,MAAM,WAAW,iCAAiC;IAChD,MAAM,EAAE,uBAAuB,CAAC;IAChC,KAAK,EAAE,sBAAsB,CAAC;CAC/B;AAED,MAAM,WAAW,+BAAgC,SAAQ,iCAAiC;IACxF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,yBAAyB,CAAC;CACrC,GAAG,+BAA+B,EAAE,CAoBpC;AAED,wBAAgB,qCAAqC,CAAC,MAAM,EAAE;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,yBAAyB,CAAC;CACrC,GAAG,+BAA+B,EAAE,CAKpC;AAED,wBAAgB,iCAAiC,CAAC,MAAM,EAAE;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,yBAAyB,CAAC;CACrC,GAAG,iCAAiC,GAAG,IAAI,CAU3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"resource-owned-view-resolution.frontend.utils.js","sourceRoot":"","sources":["../../../../../src/core/config/resource-owned-view-resolution.frontend.utils.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,+BAA+B,CAAC,MAG/C;IACC,MAAM,qBAAqB,GAAG,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAEjH,OAAO;QACL,GAAG,CAAC,qBAAqB,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9D,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,MAAM,EAAE,WAAoB;YAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QACH,GAAG,CAAC,qBAAqB,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1D,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,MAAM,EAAE,OAAgB;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QACH,GAAG,CAAC,qBAAqB,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9D,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,MAAM,EAAE,WAAoB;YAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,MAIrD;IACC,OAAO,+BAA+B,CAAC;QACrC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,MAIjD;IACC,MAAM,OAAO,GAAG,qCAAqC,CAAC,MAAM,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM;QACzB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK;KACxB,CAAC;AACJ,CAAC","sourcesContent":["import { FrontendView_ScopeMode } from './views-frontend.schemas';\nimport type { FrontendResourcesRegistry } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\n\nexport type ResourceOwnedViewFamily = 'composite' | 'chart' | 'execution';\n\nexport interface ResourceOwnedViewResolutionResult {\n family: ResourceOwnedViewFamily;\n scope: FrontendView_ScopeMode;\n}\n\nexport interface ResourceOwnedViewReferenceMatch extends ResourceOwnedViewResolutionResult {\n viewRef: string;\n}\n\nexport function listResourceOwnedViewReferences(params: {\n resourceType: string;\n registry: FrontendResourcesRegistry;\n}): ResourceOwnedViewReferenceMatch[] {\n const frontendConfiguration = params.registry.resourceConfigurations[params.resourceType]?.frontendConfiguration;\n\n return [\n ...(frontendConfiguration?.compositeViews ?? []).map((view) => ({\n viewRef: view.ref,\n family: 'composite' as const,\n scope: view.scope,\n })),\n ...(frontendConfiguration?.chartViews ?? []).map((view) => ({\n viewRef: view.ref,\n family: 'chart' as const,\n scope: view.scope,\n })),\n ...(frontendConfiguration?.executionViews ?? []).map((view) => ({\n viewRef: view.ref,\n family: 'execution' as const,\n scope: view.scope,\n })),\n ];\n}\n\nexport function findResourceOwnedViewReferenceMatches(params: {\n resourceType: string;\n viewRef: string;\n registry: FrontendResourcesRegistry;\n}): ResourceOwnedViewReferenceMatch[] {\n return listResourceOwnedViewReferences({\n resourceType: params.resourceType,\n registry: params.registry,\n }).filter((view) => view.viewRef === params.viewRef);\n}\n\nexport function resolveResourceOwnedViewReference(params: {\n resourceType: string;\n viewRef: string;\n registry: FrontendResourcesRegistry;\n}): ResourceOwnedViewResolutionResult | null {\n const matches = findResourceOwnedViewReferenceMatches(params);\n if (matches.length !== 1) {\n return null;\n }\n\n return {\n family: matches[0].family,\n scope: matches[0].scope,\n };\n}\n"]}
1
+ {"version":3,"file":"resource-owned-view-resolution.frontend.utils.js","sourceRoot":"","sources":["../../../../src/core/config/resource-owned-view-resolution.frontend.utils.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,+BAA+B,CAAC,MAG/C;IACC,MAAM,qBAAqB,GAAG,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAEjH,OAAO;QACL,GAAG,CAAC,qBAAqB,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9D,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,MAAM,EAAE,WAAoB;YAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QACH,GAAG,CAAC,qBAAqB,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1D,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,MAAM,EAAE,OAAgB;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QACH,GAAG,CAAC,qBAAqB,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9D,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,MAAM,EAAE,WAAoB;YAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,MAIrD;IACC,OAAO,+BAA+B,CAAC;QACrC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,MAIjD;IACC,MAAM,OAAO,GAAG,qCAAqC,CAAC,MAAM,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM;QACzB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK;KACxB,CAAC;AACJ,CAAC","sourcesContent":["import { FrontendView_ScopeMode } from './views-frontend.schemas';\nimport type { FrontendResourcesRegistry } from '~wildo-frontend-lib/core/resources/resources.frontend.schemas';\n\nexport type ResourceOwnedViewFamily = 'composite' | 'chart' | 'execution';\n\nexport interface ResourceOwnedViewResolutionResult {\n family: ResourceOwnedViewFamily;\n scope: FrontendView_ScopeMode;\n}\n\nexport interface ResourceOwnedViewReferenceMatch extends ResourceOwnedViewResolutionResult {\n viewRef: string;\n}\n\nexport function listResourceOwnedViewReferences(params: {\n resourceType: string;\n registry: FrontendResourcesRegistry;\n}): ResourceOwnedViewReferenceMatch[] {\n const frontendConfiguration = params.registry.resourceConfigurations[params.resourceType]?.frontendConfiguration;\n\n return [\n ...(frontendConfiguration?.compositeViews ?? []).map((view) => ({\n viewRef: view.ref,\n family: 'composite' as const,\n scope: view.scope,\n })),\n ...(frontendConfiguration?.chartViews ?? []).map((view) => ({\n viewRef: view.ref,\n family: 'chart' as const,\n scope: view.scope,\n })),\n ...(frontendConfiguration?.executionViews ?? []).map((view) => ({\n viewRef: view.ref,\n family: 'execution' as const,\n scope: view.scope,\n })),\n ];\n}\n\nexport function findResourceOwnedViewReferenceMatches(params: {\n resourceType: string;\n viewRef: string;\n registry: FrontendResourcesRegistry;\n}): ResourceOwnedViewReferenceMatch[] {\n return listResourceOwnedViewReferences({\n resourceType: params.resourceType,\n registry: params.registry,\n }).filter((view) => view.viewRef === params.viewRef);\n}\n\nexport function resolveResourceOwnedViewReference(params: {\n resourceType: string;\n viewRef: string;\n registry: FrontendResourcesRegistry;\n}): ResourceOwnedViewResolutionResult | null {\n const matches = findResourceOwnedViewReferenceMatches(params);\n if (matches.length !== 1) {\n return null;\n }\n\n return {\n family: matches[0].family,\n scope: matches[0].scope,\n };\n}\n"]}
@@ -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,29 @@ 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",
92
+ /**
93
+ * The same act at the TENANT's scope: connecting an account the whole organization acts as.
94
+ *
95
+ * A distinct ref rather than a parameterised one, because a settings destination resolves a ref to
96
+ * a panel and carries no arguments — and because the two must never be reachable from each other's
97
+ * screen. The component behind them IS shared: the act is identical, and duplicating it would
98
+ * guarantee the two drift. What is never shared is the data.
99
+ */
100
+ ORGANIZATION_CONNECTED_ACCOUNTS = "organization-connected-accounts"
79
101
  }
80
102
  /** Renders a framework-owned bespoke panel. */
81
103
  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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAC;AAM3F;;;;;;;GAOG;AACH,oBAAY,yBAAyB;IACnC,iEAAiE;IACjE,YAAY,iBAAiB;IAC7B,+FAA+F;IAC/F,kBAAkB,uBAAuB;IACzC,sFAAsF;IACtF,gBAAgB,qBAAqB;IACrC,0GAA0G;IAC1G,QAAQ,aAAa;CACtB;AAMD;;;;;;;;;;GAUG;AACH,oBAAY,gBAAgB;IAC1B,wGAAwG;IACxG,QAAQ,aAAa;IACrB,qEAAqE;IACrE,UAAU,eAAe;IACzB,oFAAoF;IACpF,WAAW,gBAAgB;IAC3B;;;;;;;;;;;OAWG;IACH,OAAO,YAAY;CACpB;AAMD,+CAA+C;AAC/C,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,yBAAyB,CAAC,YAAY,CAAC;IAC7C,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,yBAAyB,CAAC,kBAAkB,CAAC;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qFAAqF;AACrF,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,yBAAyB,CAAC,gBAAgB,CAAC;IACjD,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAC1B,yBAAyB,GACzB,+BAA+B,GAC/B,6BAA6B,CAAC;AAElC;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,sFAAsF;IACtF,GAAG,EAAE,MAAM,CAAC;IACZ,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED,kFAAkF;AAClF,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,yBAAyB,CAAC,QAAQ,CAAC;IACzC,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG,qBAAqB,CAAC;AAM/E;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qFAAqF;IACrF,GAAG,EAAE,MAAM,CAAC;IACZ,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,0IAA0I;AAC1I;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,mBAAmB;IAClC,oGAAoG;IACpG,GAAG,EAAE,MAAM,CAAC;IACZ,yDAAyD;IACzD,MAAM,EAAE,qBAAqB,CAAC;IAC9B,+EAA+E;IAC/E,mBAAmB,CAAC,EAAE,iCAAiC,CAAC;IACxD,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,iHAAiH;IACjH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,iBAAiB;IAChC,6FAA6F;IAC7F,cAAc,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,kEAAkE;AAElE;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,eAAe;IAC9B,+FAA+F;IAC/F,GAAG,EAAE,MAAM,CAAC;IACZ,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,MAAM,EAAE,qBAAqB,CAAC;IAC9B,+EAA+E;IAC/E,mBAAmB,CAAC,EAAE,iCAAiC,CAAC;IACxD;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;;;;;;;OASG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAMD,oEAAoE;AACpE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B;;;;;;OAMG;IACH,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AACD,kEAAkE"}
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,28 @@ 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";
97
+ /**
98
+ * The same act at the TENANT's scope: connecting an account the whole organization acts as.
99
+ *
100
+ * A distinct ref rather than a parameterised one, because a settings destination resolves a ref to
101
+ * a panel and carries no arguments — and because the two must never be reachable from each other's
102
+ * screen. The component behind them IS shared: the act is identical, and duplicating it would
103
+ * guarantee the two drift. What is never shared is the data.
104
+ */
105
+ SettingsPanelRef["ORGANIZATION_CONNECTED_ACCOUNTS"] = "organization-connected-accounts";
84
106
  })(SettingsPanelRef || (SettingsPanelRef = {}));
85
107
  /** @wildo_source:part:end saas.frontend.settings-hub.placement */
86
108
  //# 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,gBA0CX;AA1CD,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;IACzC;;;;;;;OAOG;IACH,uFAAmE,CAAA;AACrE,CAAC,EA1CW,gBAAgB,KAAhB,gBAAgB,QA0C3B;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 * The same act at the TENANT's scope: connecting an account the whole organization acts as.\n *\n * A distinct ref rather than a parameterised one, because a settings destination resolves a ref to\n * a panel and carries no arguments — and because the two must never be reachable from each other's\n * screen. The component behind them IS shared: the act is identical, and duplicating it would\n * guarantee the two drift. What is never shared is the data.\n */\n ORGANIZATION_CONNECTED_ACCOUNTS = 'organization-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"]}