@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":"DefaultHotkeyHandler.js","sourceRoot":"","sources":["../../../../../src/core/hotkey/DefaultHotkeyHandler.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,WAAW,EACX,WAAW,GAEZ,MAAM,uEAAuE,CAAC;AAE/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EACL,cAAc,GAKf,MAAM,yDAAyD,CAAC;AACjE,OAAO,EACL,yCAAyC,EACzC,qCAAqC,GACtC,MAAM,mEAAmE,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAA8B,MAAM,yDAAyD,CAAC;AAC5H,OAAO,EAAE,4BAA4B,EAAE,MAAM,kEAAkE,CAAC;AAChH,OAAO,EAAE,uBAAuB,EAAE,MAAM,6DAA6D,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AACvF,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D,MAAM,6BAA6B,GAA4C;IAC7E,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,EAAE,8BAA8B;IAC/E,CAAC,uBAAuB,CAAC,yBAAyB,CAAC,EAAE,kCAAkC;IACvF,CAAC,uBAAuB,CAAC,0BAA0B,CAAC,EAAE,kCAAkC;IACxF,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,EAAE,8BAA8B;CAChF,CAAC;AAEF,SAAS,oBAAoB,CAAC,KAA8B;IAC1D,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,uBAAuB,CAAC,0BAA0B;YACrD,OAAO,6BAA6B,CAAC,cAAc,CAAC;QACtD,KAAK,uBAAuB,CAAC,yBAAyB;YACpD,OAAO,6BAA6B,CAAC,mBAAmB,CAAC;QAC3D;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,EAAE,QAAQ,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACzC,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,4BAA4B,EAAE,CAAC;IACrD,MAAM,EAAE,QAAQ,EAAE,GAAG,uBAAuB,EAAE,CAAC;IAC/C,MAAM,EAAE,0BAA0B,EAAE,GAAG,KAAK,EAAE,CAAC;IAC/C,MAAM,0BAA0B,GAAG,qCAAqC,EAAE,CAAC;IAE3E,MAAM,YAAY,GAAG,0BAA0B,EAAE,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACxF,MAAM,iBAAiB,GACrB,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,IAAI;QACvD,CAAC,CAAE,YAA+C,CAAC,QAAQ;QAC3D,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CACnC,yCAAyC,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,CACzF,EAAE,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,CAAC,CAAC;IAEpD,MAAM,mBAAmB,GACvB,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,IAAI;QACvD,CAAC,CAAE,YAAyD,CAAC,aAAa;QAC1E,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,wBAAwB,CAAC,EAAE,EAAE,mBAAmB,CAAC,EACvD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAA4B,EAAE;QAC7D,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QACjD,OAAO,qBAAqB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAC9D,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,aAAa,GAAsB,EAAE,CAAC;QAE5C,MAAM,eAAe,GAAG,CAAC,GAAuB,EAAU,EAAE;YAC1D,MAAM,GAAG,GAAG,GAAG,CAAC,uBAAuB,IAAI,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpF,OAAO,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACpD,CAAC,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAChC,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK;gBAAE,SAAS;YACpC,aAAa,CAAC,IAAI,CAChB,QAAQ,CAAC;gBACP,EAAE,EAAE,YAAY,GAAG,CAAC,KAAK,EAAE;gBAC3B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,WAAW,EAAE,eAAe,CAAC,GAAG,CAAC;gBACjC,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM;gBACtC,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,OAAO,EAAE,GAAG,EAAE;oBACZ,QAAQ,GAAG,CAAC,KAAK,EAAE,CAAC;wBAClB,KAAK,uBAAuB,CAAC,qBAAqB;4BAChD,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,EAAuC,CAAC,CAAC;4BACpF,MAAM;wBACR,KAAK,uBAAuB,CAAC,yBAAyB;4BACpD,IAAI,CAAC,cAAc,CAAC,yBAAyB,EAAE,EAA2C,CAAC,CAAC;4BAC5F,MAAM;wBACR,KAAK,uBAAuB,CAAC,0BAA0B;4BACrD,IAAI,CAAC,cAAc,CAAC,0BAA0B,EAAE,EAA2C,CAAC,CAAC;4BAC7F,MAAM;wBACR,KAAK,uBAAuB,CAAC,qBAAqB;4BAChD,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,EAAuC,CAAC,CAAC;4BACpF,MAAM;wBACR;4BACE,MAAM;oBACV,CAAC;gBACH,CAAC;gBACD,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC;gBACzC,cAAc,EAAE,GAAG,CAAC,cAAc,KAAK,KAAK;aAC7C,CAAC,CACH,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;YACvC,aAAa,CAAC,IAAI,CAChB,QAAQ,CAAC;gBACP,EAAE,EAAE,cAAc,OAAO,CAAC,EAAE,EAAE;gBAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK;gBACjD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM;gBAC1C,KAAK,EAAE,WAAW,CAAC,OAAO;gBAC1B,OAAO,EAAE,GAAG,EAAE;oBACZ,eAAe,CAAC,mCAAmC,CACjD,QAAQ,EACR,OAAO,EACP,6BAA6B,CAAC,MAAM,CACrC,CAAC;gBACJ,CAAC;gBACD,QAAQ,EAAE,6BAA6B,CAAC,MAAM;gBAC9C,cAAc,EAAE,IAAI;aACrB,CAAC,CACH,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,EAAE;YACV,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE,CAAC;gBACvC,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;IAE/E,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["/**\n * Registers config-driven application hotkeys:\n * - `[HOTKEY].emitShortcuts` → dispatch `FrontendEvents` (sidebar toggle, palette-adjacent surfaces, etc.)\n * - `[HOTKEY].bindings` → navigate via `resolveHotkeyBindings` / `NavigationUtils`\n *\n * Command menu keyboard open is owned by `useCommandMenuBehavior` (`[COMMAND_MENU].openShortcut`),\n * not this component, so Cmd+K is not double-registered.\n */\n\nimport { useEffect, useMemo } from 'react';\nimport {\n ApplicationLevelComponentType,\n HotkeyDispatchableEvent,\n HotkeyGroup,\n HotkeyScope,\n type HotkeyEmitShortcut,\n} from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport type { HotkeyBinding } from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport { useHotkeyRegistry } from './useHotkey';\nimport { mergeHotkeyEmitShortcuts } from './merge-hotkey-emit-shortcuts';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport {\n FrontendEvents,\n type FrontendEvent_HotkeyNotificationsOpen,\n type FrontendEvent_HotkeyQuickSwitcherOpen,\n type FrontendEvent_HotkeyShortcutsHelp,\n type FrontendEvent_HotkeySidebarToggle,\n} from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport {\n filterHotkeyBindingsByRuntimeAvailability,\n useLauncherRuntimeAvailabilityContext,\n} from '~wildo-frontend-lib/core/navigation/launcher-runtime-availability';\nimport { resolveHotkeyBindings, type ResolvedHotkeyBinding } from '~wildo-frontend-lib/core/navigation/launcher-resolution';\nimport { useLauncherResolutionContext } from '~wildo-frontend-lib/core/navigation/useLauncherResolutionContext';\nimport { useNavigationController } from '~wildo-frontend-lib/core/navigation/useNavigationController';\nimport { NavigationUtils } from '~wildo-frontend-lib/core/navigation/navigation.utils';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\n\nconst DEFAULT_EMIT_DESCRIPTION_KEYS: Record<HotkeyDispatchableEvent, string> = {\n [HotkeyDispatchableEvent.HOTKEY_SIDEBAR_TOGGLE]: 'engine.hotkeys.sidebarToggle',\n [HotkeyDispatchableEvent.HOTKEY_NOTIFICATIONS_OPEN]: 'engine.hotkeys.notificationsOpen',\n [HotkeyDispatchableEvent.HOTKEY_QUICK_SWITCHER_OPEN]: 'engine.hotkeys.quickSwitcherOpen',\n [HotkeyDispatchableEvent.HOTKEY_SHORTCUTS_HELP]: 'engine.hotkeys.shortcutsHelp',\n};\n\nfunction launcherForEmitEvent(event: HotkeyDispatchableEvent): ApplicationLevelComponentType | undefined {\n switch (event) {\n case HotkeyDispatchableEvent.HOTKEY_QUICK_SWITCHER_OPEN:\n return ApplicationLevelComponentType.QUICK_SWITCHER;\n case HotkeyDispatchableEvent.HOTKEY_NOTIFICATIONS_OPEN:\n return ApplicationLevelComponentType.NOTIFICATION_CENTER;\n default:\n return undefined;\n }\n}\n\n/**\n * Renderless component — registers hotkeys from `[HOTKEY]` config.\n */\nexport function DefaultHotkeyHandler(): null {\n const { register } = useHotkeyRegistry();\n const { emit } = useEventBus();\n const resolutionCtx = useLauncherResolutionContext();\n const { navigate } = useNavigationController();\n const { appComponentsConfiguration } = useUI();\n const runtimeAvailabilityContext = useLauncherRuntimeAvailabilityContext();\n\n const hotkeyConfig = appComponentsConfiguration?.[ApplicationLevelComponentType.HOTKEY];\n const rawConfigBindings: HotkeyBinding[] | undefined =\n typeof hotkeyConfig === 'object' && hotkeyConfig !== null\n ? (hotkeyConfig as { bindings?: HotkeyBinding[] }).bindings\n : undefined;\n const configBindings = useMemo(() => (\n filterHotkeyBindingsByRuntimeAvailability(rawConfigBindings, runtimeAvailabilityContext)\n ), [rawConfigBindings, runtimeAvailabilityContext]);\n\n const configEmitShortcuts: HotkeyEmitShortcut[] | undefined =\n typeof hotkeyConfig === 'object' && hotkeyConfig !== null\n ? (hotkeyConfig as { emitShortcuts?: HotkeyEmitShortcut[] }).emitShortcuts\n : undefined;\n\n const emitShortcuts = useMemo(\n () => mergeHotkeyEmitShortcuts([], configEmitShortcuts),\n [configEmitShortcuts],\n );\n\n const resolvedBindings = useMemo((): ResolvedHotkeyBinding[] => {\n if (!configBindings || !resolutionCtx) return [];\n return resolveHotkeyBindings(configBindings, resolutionCtx);\n }, [configBindings, resolutionCtx]);\n\n useEffect(() => {\n const unregisterFns: Array<() => void> = [];\n\n const describeEmitRow = (row: HotkeyEmitShortcut): string => {\n const key = row.descriptionLabellingRef ?? DEFAULT_EMIT_DESCRIPTION_KEYS[row.event];\n return resolutionCtx ? resolutionCtx.t(key) : key;\n };\n\n for (const row of emitShortcuts) {\n if (row.enabled === false) continue;\n unregisterFns.push(\n register({\n id: `app-emit-${row.event}`,\n shortcut: row.shortcut,\n description: describeEmitRow(row),\n scope: row.scope ?? HotkeyScope.GLOBAL,\n group: row.group,\n handler: () => {\n switch (row.event) {\n case HotkeyDispatchableEvent.HOTKEY_SIDEBAR_TOGGLE:\n emit(FrontendEvents.HOTKEY_SIDEBAR_TOGGLE, {} as FrontendEvent_HotkeySidebarToggle);\n break;\n case HotkeyDispatchableEvent.HOTKEY_NOTIFICATIONS_OPEN:\n emit(FrontendEvents.HOTKEY_NOTIFICATIONS_OPEN, {} as FrontendEvent_HotkeyNotificationsOpen);\n break;\n case HotkeyDispatchableEvent.HOTKEY_QUICK_SWITCHER_OPEN:\n emit(FrontendEvents.HOTKEY_QUICK_SWITCHER_OPEN, {} as FrontendEvent_HotkeyQuickSwitcherOpen);\n break;\n case HotkeyDispatchableEvent.HOTKEY_SHORTCUTS_HELP:\n emit(FrontendEvents.HOTKEY_SHORTCUTS_HELP, {} as FrontendEvent_HotkeyShortcutsHelp);\n break;\n default:\n break;\n }\n },\n launcher: launcherForEmitEvent(row.event),\n preventDefault: row.preventDefault !== false,\n }),\n );\n }\n\n for (const binding of resolvedBindings) {\n unregisterFns.push(\n register({\n id: `app-hotkey-${binding.id}`,\n shortcut: binding.shortcut,\n description: binding.description ?? binding.label,\n scope: binding.scope ?? HotkeyScope.GLOBAL,\n group: HotkeyGroup.ACTIONS,\n handler: () => {\n NavigationUtils.dispatchNavigationForResolvedTarget(\n navigate,\n binding,\n ApplicationLevelComponentType.HOTKEY,\n );\n },\n launcher: ApplicationLevelComponentType.HOTKEY,\n preventDefault: true,\n }),\n );\n }\n\n return () => {\n for (const unregister of unregisterFns) {\n unregister();\n }\n };\n }, [register, emit, resolvedBindings, navigate, emitShortcuts, resolutionCtx]);\n\n return null;\n}\n"]}
1
+ {"version":3,"file":"DefaultHotkeyHandler.js","sourceRoot":"","sources":["../../../../src/core/hotkey/DefaultHotkeyHandler.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Registers config-driven application hotkeys:\n * - `[HOTKEY].emitShortcuts` → dispatch `FrontendEvents` (sidebar toggle, palette-adjacent surfaces, etc.)\n * - `[HOTKEY].bindings` → navigate via `resolveHotkeyBindings` / `NavigationUtils`\n *\n * Command menu keyboard open is owned by `useCommandMenuBehavior` (`[COMMAND_MENU].openShortcut`),\n * not this component, so Cmd+K is not double-registered.\n */\n\nimport { useEffect, useMemo } from 'react';\nimport {\n ApplicationLevelComponentType,\n HotkeyDispatchableEvent,\n HotkeyGroup,\n HotkeyScope,\n type HotkeyEmitShortcut,\n} from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport type { HotkeyBinding } from '~wildo-frontend-lib/core/config/launcher-items.frontend.schemas';\nimport { useHotkeyRegistry } from './useHotkey';\nimport { HOTKEY_FRAMEWORK_DEFAULT_PRIORITY } from './hotkey-registry.frontend.schemas';\nimport { mergeHotkeyEmitShortcuts } from './merge-hotkey-emit-shortcuts';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport {\n FrontendEvents,\n type FrontendEvent_HotkeyNotificationsOpen,\n type FrontendEvent_HotkeyQuickSwitcherOpen,\n type FrontendEvent_HotkeyShortcutsHelp,\n type FrontendEvent_HotkeySidebarToggle,\n} from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport {\n filterHotkeyBindingsByRuntimeAvailability,\n useLauncherRuntimeAvailabilityContext,\n} from '~wildo-frontend-lib/core/navigation/launcher-runtime-availability';\nimport { resolveHotkeyBindings, type ResolvedHotkeyBinding } from '~wildo-frontend-lib/core/navigation/launcher-resolution';\nimport { useLauncherResolutionContext } from '~wildo-frontend-lib/core/navigation/useLauncherResolutionContext';\nimport { useNavigationController } from '~wildo-frontend-lib/core/navigation/useNavigationController';\nimport { NavigationUtils } from '~wildo-frontend-lib/core/navigation/navigation.utils';\nimport { useUI } from '~wildo-frontend-lib/core/ui/useUI';\n\nconst DEFAULT_EMIT_DESCRIPTION_KEYS: Record<HotkeyDispatchableEvent, string> = {\n [HotkeyDispatchableEvent.HOTKEY_SIDEBAR_TOGGLE]: 'engine.hotkeys.sidebarToggle',\n [HotkeyDispatchableEvent.HOTKEY_NOTIFICATIONS_OPEN]: 'engine.hotkeys.notificationsOpen',\n [HotkeyDispatchableEvent.HOTKEY_QUICK_SWITCHER_OPEN]: 'engine.hotkeys.quickSwitcherOpen',\n [HotkeyDispatchableEvent.HOTKEY_SHORTCUTS_HELP]: 'engine.hotkeys.shortcutsHelp',\n};\n\n/**\n * The framework's DEFAULT chord for each dispatchable event (#441).\n *\n * Until 2026-09-08 the baseline was `[]`: an application's `emitShortcuts` was the ONLY binding\n * channel, no shipped configuration declared one, and so the shortcuts help dialog was mounted for\n * every application and openable by keyboard in none of them.\n *\n * ## How an application overrides\n *\n * `mergeHotkeyEmitShortcuts` keys by EVENT, so an application row for the same event replaces the\n * default outright — application beats framework, with no new mechanism and no arbitration. Setting\n * `enabled: false` on a row removes the binding entirely.\n *\n * ## Why these chords\n *\n * Conventions people already have in their fingers, not inventions:\n * - `Mod+B` — the sidebar toggle in VS Code, Linear and Notion.\n * - `Mod+P` — quick-open / switcher, from VS Code. `Mod+K` was NOT available: the command menu\n * owns it through `[COMMAND_MENU].openShortcut`, and double-registering it is the collision\n * this issue's other half exists to arbitrate.\n * - `Mod+I` — inbox, Linear's mnemonic for the notification surface.\n * - `Shift+?` — the universal \"show shortcuts\" chord (GitHub, Slack, Gmail, Linear).\n *\n * `Shift+?` is spelled with its modifier deliberately. Matching is strict, and typing `?` raises\n * `shiftKey`, so a chord written `?` alone can never match — it would have shipped a help dialog\n * that still could not be opened, which is the exact defect being closed.\n */\nexport const ENGINE_DEFAULT_HOTKEY_EMIT_SHORTCUTS: readonly HotkeyEmitShortcut[] = [\n {\n event: HotkeyDispatchableEvent.HOTKEY_SIDEBAR_TOGGLE,\n shortcut: 'Mod+B',\n scope: HotkeyScope.GLOBAL,\n group: HotkeyGroup.NAVIGATION,\n },\n {\n event: HotkeyDispatchableEvent.HOTKEY_QUICK_SWITCHER_OPEN,\n shortcut: 'Mod+P',\n scope: HotkeyScope.GLOBAL,\n group: HotkeyGroup.NAVIGATION,\n },\n {\n event: HotkeyDispatchableEvent.HOTKEY_NOTIFICATIONS_OPEN,\n shortcut: 'Mod+I',\n scope: HotkeyScope.GLOBAL,\n group: HotkeyGroup.NAVIGATION,\n },\n {\n event: HotkeyDispatchableEvent.HOTKEY_SHORTCUTS_HELP,\n shortcut: 'Shift+?',\n scope: HotkeyScope.GLOBAL,\n group: HotkeyGroup.HELP,\n },\n];\n\n/**\n * Whether a merged row is the framework's own default rather than one the application authored.\n *\n * Identity by REFERENCE: `mergeHotkeyEmitShortcuts` either keeps the default object or replaces it\n * with the application's, so the surviving object IS the answer. Comparing by event would be wrong\n * — an application row for the same event is exactly the case that must NOT be treated as a\n * framework default.\n */\nfunction isFrameworkDefaultRow(row: HotkeyEmitShortcut): boolean {\n return ENGINE_DEFAULT_HOTKEY_EMIT_SHORTCUTS.includes(row);\n}\n\nfunction launcherForEmitEvent(event: HotkeyDispatchableEvent): ApplicationLevelComponentType | undefined {\n switch (event) {\n case HotkeyDispatchableEvent.HOTKEY_QUICK_SWITCHER_OPEN:\n return ApplicationLevelComponentType.QUICK_SWITCHER;\n case HotkeyDispatchableEvent.HOTKEY_NOTIFICATIONS_OPEN:\n return ApplicationLevelComponentType.NOTIFICATION_CENTER;\n default:\n return undefined;\n }\n}\n\n/**\n * Renderless component — registers hotkeys from `[HOTKEY]` config.\n */\nexport function DefaultHotkeyHandler(): null {\n const { register } = useHotkeyRegistry();\n const { emit } = useEventBus();\n const resolutionCtx = useLauncherResolutionContext();\n const { navigate } = useNavigationController();\n const { appComponentsConfiguration } = useUI();\n const runtimeAvailabilityContext = useLauncherRuntimeAvailabilityContext();\n\n const hotkeyConfig = appComponentsConfiguration?.[ApplicationLevelComponentType.HOTKEY];\n const rawConfigBindings: HotkeyBinding[] | undefined =\n typeof hotkeyConfig === 'object' && hotkeyConfig !== null\n ? (hotkeyConfig as { bindings?: HotkeyBinding[] }).bindings\n : undefined;\n const configBindings = useMemo(() => (\n filterHotkeyBindingsByRuntimeAvailability(rawConfigBindings, runtimeAvailabilityContext)\n ), [rawConfigBindings, runtimeAvailabilityContext]);\n\n const configEmitShortcuts: HotkeyEmitShortcut[] | undefined =\n typeof hotkeyConfig === 'object' && hotkeyConfig !== null\n ? (hotkeyConfig as { emitShortcuts?: HotkeyEmitShortcut[] }).emitShortcuts\n : undefined;\n\n const emitShortcuts = useMemo(\n // The baseline was `[]` until #441 — which is why an application declaring no `emitShortcuts`\n // got no working shortcuts at all, help dialog included.\n () => mergeHotkeyEmitShortcuts(ENGINE_DEFAULT_HOTKEY_EMIT_SHORTCUTS, configEmitShortcuts),\n [configEmitShortcuts],\n );\n\n const resolvedBindings = useMemo((): ResolvedHotkeyBinding[] => {\n if (!configBindings || !resolutionCtx) return [];\n return resolveHotkeyBindings(configBindings, resolutionCtx);\n }, [configBindings, resolutionCtx]);\n\n useEffect(() => {\n const unregisterFns: Array<() => void> = [];\n\n const describeEmitRow = (row: HotkeyEmitShortcut): string => {\n const key = row.descriptionLabellingRef ?? DEFAULT_EMIT_DESCRIPTION_KEYS[row.event];\n return resolutionCtx ? resolutionCtx.t(key) : key;\n };\n\n for (const row of emitShortcuts) {\n if (row.enabled === false) continue;\n unregisterFns.push(\n register({\n id: `app-emit-${row.event}`,\n shortcut: row.shortcut,\n description: describeEmitRow(row),\n scope: row.scope ?? HotkeyScope.GLOBAL,\n group: row.group,\n handler: () => {\n switch (row.event) {\n case HotkeyDispatchableEvent.HOTKEY_SIDEBAR_TOGGLE:\n emit(FrontendEvents.HOTKEY_SIDEBAR_TOGGLE, {} as FrontendEvent_HotkeySidebarToggle);\n break;\n case HotkeyDispatchableEvent.HOTKEY_NOTIFICATIONS_OPEN:\n emit(FrontendEvents.HOTKEY_NOTIFICATIONS_OPEN, {} as FrontendEvent_HotkeyNotificationsOpen);\n break;\n case HotkeyDispatchableEvent.HOTKEY_QUICK_SWITCHER_OPEN:\n emit(FrontendEvents.HOTKEY_QUICK_SWITCHER_OPEN, {} as FrontendEvent_HotkeyQuickSwitcherOpen);\n break;\n case HotkeyDispatchableEvent.HOTKEY_SHORTCUTS_HELP:\n emit(FrontendEvents.HOTKEY_SHORTCUTS_HELP, {} as FrontendEvent_HotkeyShortcutsHelp);\n break;\n default:\n break;\n }\n },\n launcher: launcherForEmitEvent(row.event),\n preventDefault: row.preventDefault !== false,\n /*\n * A row the FRAMEWORK supplied registers below an application's own (#441). The merge\n * already replaces a default per event, so this only matters for the other collision: an\n * application binding a DIFFERENT event to a chord a framework default also claims. The\n * application meant its binding; the default is what was offered when nothing was said.\n */\n priority: isFrameworkDefaultRow(row) ? HOTKEY_FRAMEWORK_DEFAULT_PRIORITY : undefined,\n }),\n );\n }\n\n for (const binding of resolvedBindings) {\n unregisterFns.push(\n register({\n id: `app-hotkey-${binding.id}`,\n shortcut: binding.shortcut,\n description: binding.description ?? binding.label,\n scope: binding.scope ?? HotkeyScope.GLOBAL,\n group: HotkeyGroup.ACTIONS,\n handler: () => {\n NavigationUtils.dispatchNavigationForResolvedTarget(\n navigate,\n binding,\n ApplicationLevelComponentType.HOTKEY,\n );\n },\n launcher: ApplicationLevelComponentType.HOTKEY,\n preventDefault: true,\n }),\n );\n }\n\n return () => {\n for (const unregister of unregisterFns) {\n unregister();\n }\n };\n }, [register, emit, resolvedBindings, navigate, emitShortcuts, resolutionCtx]);\n\n return null;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"HotkeyRegistryContext.d.ts","sourceRoot":"","sources":["../../../../../src/core/hotkey/HotkeyRegistryContext.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAA2E,MAAM,OAAO,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,uEAAuE,CAAC;AACpG,OAAO,EAEL,yBAAyB,EAK1B,MAAM,oCAAoC,CAAC;AAE5C,QAAA,MAAM,qBAAqB,0CAAwD,CAAC;AAMpF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,2BAA2B;IAC3B,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAiNxE,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"HotkeyRegistryContext.d.ts","sourceRoot":"","sources":["../../../../src/core/hotkey/HotkeyRegistryContext.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAA2E,MAAM,OAAO,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,uEAAuE,CAAC;AACpG,OAAO,EAEL,yBAAyB,EAO1B,MAAM,oCAAoC,CAAC;AAE5C,QAAA,MAAM,qBAAqB,0CAAwD,CAAC;AAMpF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,2BAA2B;IAC3B,YAAY,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAuPxE,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -7,7 +7,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
7
7
  */
8
8
  import { createContext, useCallback, useEffect, useMemo, useRef, useState } from 'react';
9
9
  import { HotkeyScope } from '../../core/config/app-level-components.frontend.schemas.js';
10
- import { parseShortcut, matchesShortcut, } from './hotkey-registry.frontend.schemas.js';
10
+ import { parseShortcut, matchesShortcut, HOTKEY_DEFAULT_PRIORITY, HOTKEY_SCOPE_SPECIFICITY, } from './hotkey-registry.frontend.schemas.js';
11
11
  const HotkeyRegistryContext = createContext(null);
12
12
  function scopesOverlap(a, b) {
13
13
  return a === b || a === HotkeyScope.GLOBAL || b === HotkeyScope.GLOBAL;
@@ -30,10 +30,21 @@ export const HotkeyRegistryProvider = ({ children, initialScope = HotkeyScope.GL
30
30
  hotkey.shortcut.toLowerCase() === definition.shortcut.toLowerCase() &&
31
31
  scopesOverlap(hotkey.scope, definition.scope));
32
32
  if (conflictingHotkeys.length > 0) {
33
+ /*
34
+ * KEPT after precedence became declarative (#441), deliberately. A resolved collision is
35
+ * still usually a mistake — two shortcuts quietly becoming one — and arbitrating silently is
36
+ * how that goes unnoticed. What changed is the remedy the message can offer: the outcome is
37
+ * now something the author can DECLARE rather than something mount order decides.
38
+ */
33
39
  console.warn(`[HotkeyRegistry] Duplicate shortcut "${definition.shortcut}" detected. ` +
34
- `Resolution is registration-order-dependent; first registered match wins.`, {
40
+ `Precedence: priority, then scope specificity (component > page > global), then registration order. ` +
41
+ `Declare \`priority\` on the one that should win, or give one of them a different chord.`, {
35
42
  incomingId: definition.id,
36
- existingIds: conflictingHotkeys.map((hotkey) => hotkey.id),
43
+ incomingPriority: definition.priority ?? HOTKEY_DEFAULT_PRIORITY,
44
+ existing: conflictingHotkeys.map((hotkey) => ({
45
+ id: hotkey.id,
46
+ priority: hotkey.priority ?? HOTKEY_DEFAULT_PRIORITY,
47
+ })),
37
48
  });
38
49
  }
39
50
  const registered = {
@@ -110,7 +121,21 @@ export const HotkeyRegistryProvider = ({ children, initialScope = HotkeyScope.GL
110
121
  if (isInputElement && target.closest('[data-hotkey-passthrough]')) {
111
122
  isInputElement = false;
112
123
  }
113
- // Find matching hotkeys
124
+ /*
125
+ * Pick the BEST match, not the first one this iteration happens to reach (#441).
126
+ *
127
+ * `hotkeysRef` is a Map, so iterating it is REGISTRATION ORDER — which means, before this,
128
+ * which of two conflicting shortcuts fired depended on mount order rather than on anything
129
+ * anyone declared. Two components mounting in a different order swapped the behaviour, and
130
+ * nothing about the shortcuts said which was supposed to win.
131
+ *
132
+ * The order is declarative and total: PRIORITY (explicit, highest wins), then SCOPE
133
+ * SPECIFICITY (a COMPONENT claim on a chord is narrower than a GLOBAL one), then registration
134
+ * order as the last resort — which is where two genuinely indistinguishable registrations
135
+ * land, and is exactly the case the collision warning at registration is for.
136
+ */
137
+ let best;
138
+ let bestRank;
114
139
  for (const hotkey of hotkeysRef.current.values()) {
115
140
  // Skip disabled hotkeys
116
141
  if (!hotkey.enabled)
@@ -123,8 +148,21 @@ export const HotkeyRegistryProvider = ({ children, initialScope = HotkeyScope.GL
123
148
  // Skip non-global hotkeys when in input
124
149
  if (isInputElement && hotkey.scope !== HotkeyScope.GLOBAL)
125
150
  continue;
126
- // Check if shortcut matches
127
- if (matchesShortcut(event, hotkey.parsed)) {
151
+ if (!matchesShortcut(event, hotkey.parsed))
152
+ continue;
153
+ const rank = [
154
+ hotkey.priority ?? HOTKEY_DEFAULT_PRIORITY,
155
+ HOTKEY_SCOPE_SPECIFICITY[hotkey.scope],
156
+ ];
157
+ // STRICTLY greater, so an equal rank keeps the earlier registration — the last-resort rule.
158
+ if (bestRank === undefined || rank[0] > bestRank[0] || (rank[0] === bestRank[0] && rank[1] > bestRank[1])) {
159
+ best = hotkey;
160
+ bestRank = rank;
161
+ }
162
+ }
163
+ {
164
+ const hotkey = best;
165
+ if (hotkey) {
128
166
  // Execute handler
129
167
  try {
130
168
  hotkey.handler();
@@ -140,8 +178,6 @@ export const HotkeyRegistryProvider = ({ children, initialScope = HotkeyScope.GL
140
178
  if (hotkey.stopPropagation) {
141
179
  event.stopPropagation();
142
180
  }
143
- // Only trigger one hotkey per keystroke
144
- break;
145
181
  }
146
182
  }
147
183
  };
@@ -1 +1 @@
1
- {"version":3,"file":"HotkeyRegistryContext.js","sourceRoot":"","sources":["../../../../../src/core/hotkey/HotkeyRegistryContext.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Hotkey Registry Context\n * \n * Provides centralized keyboard shortcut management.\n * Based on Specs §7 - HOTKEY Specification (Infrastructure)\n */\n\nimport React, { createContext, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { HotkeyScope } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport {\n HotkeyDefinition,\n HotkeyRegistryContextType,\n RegisteredHotkey,\n HotkeyConflict,\n parseShortcut,\n matchesShortcut,\n} from './hotkey-registry.frontend.schemas';\n\nconst HotkeyRegistryContext = createContext<HotkeyRegistryContextType | null>(null);\n\nfunction scopesOverlap(a: HotkeyScope, b: HotkeyScope): boolean {\n return a === b || a === HotkeyScope.GLOBAL || b === HotkeyScope.GLOBAL;\n}\n\nexport interface HotkeyRegistryProviderProps {\n children: React.ReactNode;\n /** Initial active scope */\n initialScope?: HotkeyScope;\n}\n\nexport const HotkeyRegistryProvider: React.FC<HotkeyRegistryProviderProps> = ({\n children,\n initialScope = HotkeyScope.GLOBAL,\n}) => {\n // ===================================================================\n // State\n // ===================================================================\n \n const [activeScope, setActiveScope] = useState<HotkeyScope>(initialScope);\n const [isPaused, setIsPaused] = useState(false);\n \n // Use ref for hotkeys to avoid re-renders on registration\n const hotkeysRef = useRef<Map<string, RegisteredHotkey>>(new Map());\n const [hotkeyVersion, setHotkeyVersion] = useState(0);\n \n // ===================================================================\n // Registration Functions\n // ===================================================================\n \n const register = useCallback((definition: HotkeyDefinition): (() => void) => {\n const parsed = parseShortcut(definition.shortcut);\n const conflictingHotkeys = Array.from(hotkeysRef.current.values()).filter(\n (hotkey: RegisteredHotkey) =>\n hotkey.id !== definition.id &&\n hotkey.shortcut.toLowerCase() === definition.shortcut.toLowerCase() &&\n scopesOverlap(hotkey.scope, definition.scope),\n );\n\n if (conflictingHotkeys.length > 0) {\n console.warn(\n `[HotkeyRegistry] Duplicate shortcut \"${definition.shortcut}\" detected. ` +\n `Resolution is registration-order-dependent; first registered match wins.`,\n {\n incomingId: definition.id,\n existingIds: conflictingHotkeys.map((hotkey: RegisteredHotkey) => hotkey.id),\n },\n );\n }\n\n const registered: RegisteredHotkey = {\n ...definition,\n enabled: definition.enabled !== false,\n /** Defaults to true — application hotkeys should prevent browser defaults (e.g. Cmd+K). */\n preventDefault: definition.preventDefault ?? true,\n stopPropagation: definition.stopPropagation ?? false,\n parsed,\n };\n \n hotkeysRef.current.set(definition.id, registered);\n setHotkeyVersion(v => v + 1);\n \n // Return unregister function\n return () => {\n hotkeysRef.current.delete(definition.id);\n setHotkeyVersion(v => v + 1);\n };\n }, []);\n \n const unregister = useCallback((id: string) => {\n hotkeysRef.current.delete(id);\n setHotkeyVersion(v => v + 1);\n }, []);\n \n const setEnabled = useCallback((id: string, enabled: boolean) => {\n const hotkey = hotkeysRef.current.get(id);\n if (hotkey) {\n hotkey.enabled = enabled;\n setHotkeyVersion(v => v + 1);\n }\n }, []);\n \n // ===================================================================\n // Scope and Pause Functions\n // ===================================================================\n \n const pause = useCallback(() => setIsPaused(true), []);\n const resume = useCallback(() => setIsPaused(false), []);\n \n // ===================================================================\n // Query Functions\n // ===================================================================\n \n const getHotkeys = useCallback((): RegisteredHotkey[] => {\n return Array.from(hotkeysRef.current.values());\n }, []);\n \n const getHotkeysByGroup = useCallback((group: string): RegisteredHotkey[] => {\n return Array.from(hotkeysRef.current.values()).filter((h: RegisteredHotkey) => h.group === group);\n }, []);\n \n const getConflicts = useCallback((): HotkeyConflict[] => {\n const byShortcut = new Map<string, RegisteredHotkey[]>();\n\n for (const hotkey of hotkeysRef.current.values()) {\n const key = hotkey.shortcut.toLowerCase();\n const existing = byShortcut.get(key) ?? [];\n existing.push(hotkey);\n byShortcut.set(key, existing);\n }\n\n const conflicts: HotkeyConflict[] = [];\n for (const [shortcut, hotkeys] of byShortcut.entries()) {\n const conflictingIds = hotkeys.filter((candidate: RegisteredHotkey) =>\n hotkeys.some((other: RegisteredHotkey) =>\n other.id !== candidate.id && scopesOverlap(other.scope, candidate.scope),\n ),\n ).map((hotkey: RegisteredHotkey) => hotkey.id);\n\n if (conflictingIds.length > 1) {\n conflicts.push({ shortcut, hotkeyIds: conflictingIds });\n }\n }\n\n return conflicts;\n }, []);\n \n // ===================================================================\n // Keyboard Event Handler\n // ===================================================================\n \n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n // Skip if paused\n if (isPaused) return;\n \n // Skip if target is an input element (unless it's a global shortcut)\n const target = event.target as HTMLElement;\n let isInputElement = target.tagName === 'INPUT' || \n target.tagName === 'TEXTAREA' || \n target.isContentEditable;\n if (isInputElement && target.closest('[data-hotkey-passthrough]')) {\n isInputElement = false;\n }\n \n // Find matching hotkeys\n for (const hotkey of hotkeysRef.current.values()) {\n // Skip disabled hotkeys\n if (!hotkey.enabled) continue;\n \n // Check scope\n if (hotkey.scope === HotkeyScope.PAGE && activeScope !== HotkeyScope.PAGE) continue;\n if (hotkey.scope === HotkeyScope.COMPONENT && activeScope !== HotkeyScope.COMPONENT) continue;\n \n // Skip non-global hotkeys when in input\n if (isInputElement && hotkey.scope !== HotkeyScope.GLOBAL) continue;\n \n // Check if shortcut matches\n if (matchesShortcut(event, hotkey.parsed)) {\n // Execute handler\n try {\n hotkey.handler();\n } catch (error) {\n console.error(`Hotkey handler error for ${hotkey.id}:`, error);\n }\n \n // Prevent default if configured\n if (hotkey.preventDefault) {\n event.preventDefault();\n }\n \n // Stop propagation if configured\n if (hotkey.stopPropagation) {\n event.stopPropagation();\n }\n \n // Only trigger one hotkey per keystroke\n break;\n }\n }\n };\n \n document.addEventListener('keydown', handleKeyDown);\n return () => document.removeEventListener('keydown', handleKeyDown);\n }, [activeScope, isPaused]);\n \n // ===================================================================\n // Context Value\n // ===================================================================\n \n const contextValue = useMemo((): HotkeyRegistryContextType => ({\n register,\n unregister,\n setEnabled,\n setActiveScope,\n pause,\n resume,\n getHotkeys,\n getHotkeysByGroup,\n getConflicts,\n activeScope,\n isPaused,\n }), [\n register,\n unregister,\n setEnabled,\n pause,\n resume,\n getHotkeys,\n getHotkeysByGroup,\n getConflicts,\n activeScope,\n isPaused,\n ]);\n \n return (\n <HotkeyRegistryContext.Provider value={contextValue}>\n {children}\n </HotkeyRegistryContext.Provider>\n );\n};\n\nexport { HotkeyRegistryContext };\n"]}
1
+ {"version":3,"file":"HotkeyRegistryContext.js","sourceRoot":"","sources":["../../../../src/core/hotkey/HotkeyRegistryContext.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Hotkey Registry Context\n * \n * Provides centralized keyboard shortcut management.\n * Based on Specs §7 - HOTKEY Specification (Infrastructure)\n */\n\nimport React, { createContext, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { HotkeyScope } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport {\n HotkeyDefinition,\n HotkeyRegistryContextType,\n RegisteredHotkey,\n HotkeyConflict,\n parseShortcut,\n matchesShortcut,\n HOTKEY_DEFAULT_PRIORITY,\n HOTKEY_SCOPE_SPECIFICITY,\n} from './hotkey-registry.frontend.schemas';\n\nconst HotkeyRegistryContext = createContext<HotkeyRegistryContextType | null>(null);\n\nfunction scopesOverlap(a: HotkeyScope, b: HotkeyScope): boolean {\n return a === b || a === HotkeyScope.GLOBAL || b === HotkeyScope.GLOBAL;\n}\n\nexport interface HotkeyRegistryProviderProps {\n children: React.ReactNode;\n /** Initial active scope */\n initialScope?: HotkeyScope;\n}\n\nexport const HotkeyRegistryProvider: React.FC<HotkeyRegistryProviderProps> = ({\n children,\n initialScope = HotkeyScope.GLOBAL,\n}) => {\n // ===================================================================\n // State\n // ===================================================================\n \n const [activeScope, setActiveScope] = useState<HotkeyScope>(initialScope);\n const [isPaused, setIsPaused] = useState(false);\n \n // Use ref for hotkeys to avoid re-renders on registration\n const hotkeysRef = useRef<Map<string, RegisteredHotkey>>(new Map());\n const [hotkeyVersion, setHotkeyVersion] = useState(0);\n \n // ===================================================================\n // Registration Functions\n // ===================================================================\n \n const register = useCallback((definition: HotkeyDefinition): (() => void) => {\n const parsed = parseShortcut(definition.shortcut);\n const conflictingHotkeys = Array.from(hotkeysRef.current.values()).filter(\n (hotkey: RegisteredHotkey) =>\n hotkey.id !== definition.id &&\n hotkey.shortcut.toLowerCase() === definition.shortcut.toLowerCase() &&\n scopesOverlap(hotkey.scope, definition.scope),\n );\n\n if (conflictingHotkeys.length > 0) {\n /*\n * KEPT after precedence became declarative (#441), deliberately. A resolved collision is\n * still usually a mistake — two shortcuts quietly becoming one — and arbitrating silently is\n * how that goes unnoticed. What changed is the remedy the message can offer: the outcome is\n * now something the author can DECLARE rather than something mount order decides.\n */\n console.warn(\n `[HotkeyRegistry] Duplicate shortcut \"${definition.shortcut}\" detected. ` +\n `Precedence: priority, then scope specificity (component > page > global), then registration order. ` +\n `Declare \\`priority\\` on the one that should win, or give one of them a different chord.`,\n {\n incomingId: definition.id,\n incomingPriority: definition.priority ?? HOTKEY_DEFAULT_PRIORITY,\n existing: conflictingHotkeys.map((hotkey: RegisteredHotkey) => ({\n id: hotkey.id,\n priority: hotkey.priority ?? HOTKEY_DEFAULT_PRIORITY,\n })),\n },\n );\n }\n\n const registered: RegisteredHotkey = {\n ...definition,\n enabled: definition.enabled !== false,\n /** Defaults to true — application hotkeys should prevent browser defaults (e.g. Cmd+K). */\n preventDefault: definition.preventDefault ?? true,\n stopPropagation: definition.stopPropagation ?? false,\n parsed,\n };\n \n hotkeysRef.current.set(definition.id, registered);\n setHotkeyVersion(v => v + 1);\n \n // Return unregister function\n return () => {\n hotkeysRef.current.delete(definition.id);\n setHotkeyVersion(v => v + 1);\n };\n }, []);\n \n const unregister = useCallback((id: string) => {\n hotkeysRef.current.delete(id);\n setHotkeyVersion(v => v + 1);\n }, []);\n \n const setEnabled = useCallback((id: string, enabled: boolean) => {\n const hotkey = hotkeysRef.current.get(id);\n if (hotkey) {\n hotkey.enabled = enabled;\n setHotkeyVersion(v => v + 1);\n }\n }, []);\n \n // ===================================================================\n // Scope and Pause Functions\n // ===================================================================\n \n const pause = useCallback(() => setIsPaused(true), []);\n const resume = useCallback(() => setIsPaused(false), []);\n \n // ===================================================================\n // Query Functions\n // ===================================================================\n \n const getHotkeys = useCallback((): RegisteredHotkey[] => {\n return Array.from(hotkeysRef.current.values());\n }, []);\n \n const getHotkeysByGroup = useCallback((group: string): RegisteredHotkey[] => {\n return Array.from(hotkeysRef.current.values()).filter((h: RegisteredHotkey) => h.group === group);\n }, []);\n \n const getConflicts = useCallback((): HotkeyConflict[] => {\n const byShortcut = new Map<string, RegisteredHotkey[]>();\n\n for (const hotkey of hotkeysRef.current.values()) {\n const key = hotkey.shortcut.toLowerCase();\n const existing = byShortcut.get(key) ?? [];\n existing.push(hotkey);\n byShortcut.set(key, existing);\n }\n\n const conflicts: HotkeyConflict[] = [];\n for (const [shortcut, hotkeys] of byShortcut.entries()) {\n const conflictingIds = hotkeys.filter((candidate: RegisteredHotkey) =>\n hotkeys.some((other: RegisteredHotkey) =>\n other.id !== candidate.id && scopesOverlap(other.scope, candidate.scope),\n ),\n ).map((hotkey: RegisteredHotkey) => hotkey.id);\n\n if (conflictingIds.length > 1) {\n conflicts.push({ shortcut, hotkeyIds: conflictingIds });\n }\n }\n\n return conflicts;\n }, []);\n \n // ===================================================================\n // Keyboard Event Handler\n // ===================================================================\n \n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n // Skip if paused\n if (isPaused) return;\n \n // Skip if target is an input element (unless it's a global shortcut)\n const target = event.target as HTMLElement;\n let isInputElement = target.tagName === 'INPUT' || \n target.tagName === 'TEXTAREA' || \n target.isContentEditable;\n if (isInputElement && target.closest('[data-hotkey-passthrough]')) {\n isInputElement = false;\n }\n \n /*\n * Pick the BEST match, not the first one this iteration happens to reach (#441).\n *\n * `hotkeysRef` is a Map, so iterating it is REGISTRATION ORDER — which means, before this,\n * which of two conflicting shortcuts fired depended on mount order rather than on anything\n * anyone declared. Two components mounting in a different order swapped the behaviour, and\n * nothing about the shortcuts said which was supposed to win.\n *\n * The order is declarative and total: PRIORITY (explicit, highest wins), then SCOPE\n * SPECIFICITY (a COMPONENT claim on a chord is narrower than a GLOBAL one), then registration\n * order as the last resort — which is where two genuinely indistinguishable registrations\n * land, and is exactly the case the collision warning at registration is for.\n */\n let best: RegisteredHotkey | undefined;\n let bestRank: readonly [number, number] | undefined;\n\n for (const hotkey of hotkeysRef.current.values()) {\n // Skip disabled hotkeys\n if (!hotkey.enabled) continue;\n \n // Check scope\n if (hotkey.scope === HotkeyScope.PAGE && activeScope !== HotkeyScope.PAGE) continue;\n if (hotkey.scope === HotkeyScope.COMPONENT && activeScope !== HotkeyScope.COMPONENT) continue;\n \n // Skip non-global hotkeys when in input\n if (isInputElement && hotkey.scope !== HotkeyScope.GLOBAL) continue;\n \n if (!matchesShortcut(event, hotkey.parsed)) continue;\n\n const rank = [\n hotkey.priority ?? HOTKEY_DEFAULT_PRIORITY,\n HOTKEY_SCOPE_SPECIFICITY[hotkey.scope],\n ] as const;\n // STRICTLY greater, so an equal rank keeps the earlier registration — the last-resort rule.\n if (bestRank === undefined || rank[0] > bestRank[0] || (rank[0] === bestRank[0] && rank[1] > bestRank[1])) {\n best = hotkey;\n bestRank = rank;\n }\n }\n\n {\n const hotkey = best;\n if (hotkey) {\n // Execute handler\n try {\n hotkey.handler();\n } catch (error) {\n console.error(`Hotkey handler error for ${hotkey.id}:`, error);\n }\n \n // Prevent default if configured\n if (hotkey.preventDefault) {\n event.preventDefault();\n }\n \n // Stop propagation if configured\n if (hotkey.stopPropagation) {\n event.stopPropagation();\n }\n \n }\n }\n };\n \n document.addEventListener('keydown', handleKeyDown);\n return () => document.removeEventListener('keydown', handleKeyDown);\n }, [activeScope, isPaused]);\n \n // ===================================================================\n // Context Value\n // ===================================================================\n \n const contextValue = useMemo((): HotkeyRegistryContextType => ({\n register,\n unregister,\n setEnabled,\n setActiveScope,\n pause,\n resume,\n getHotkeys,\n getHotkeysByGroup,\n getConflicts,\n activeScope,\n isPaused,\n }), [\n register,\n unregister,\n setEnabled,\n pause,\n resume,\n getHotkeys,\n getHotkeysByGroup,\n getConflicts,\n activeScope,\n isPaused,\n ]);\n \n return (\n <HotkeyRegistryContext.Provider value={contextValue}>\n {children}\n </HotkeyRegistryContext.Provider>\n );\n};\n\nexport { HotkeyRegistryContext };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"HotkeyShortcutsHelpDialog.d.ts","sourceRoot":"","sources":["../../../../../src/core/hotkey/HotkeyShortcutsHelpDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AA8DjC,wBAAgB,yBAAyB,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CA8H9D"}
1
+ {"version":3,"file":"HotkeyShortcutsHelpDialog.d.ts","sourceRoot":"","sources":["../../../../src/core/hotkey/HotkeyShortcutsHelpDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AA8DjC,wBAAgB,yBAAyB,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CA8H9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"HotkeyShortcutsHelpDialog.js","sourceRoot":"","sources":["../../../../../src/core/hotkey/HotkeyShortcutsHelpDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useMemo, useState } from 'react';\nimport type { JSX } from 'react';\n\nimport { FrontendComponentType } from '@wildo-ai/presets-components-models';\nimport {\n HotkeyGroup,\n HotkeyScope,\n} from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { FrontendEvents } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { useHotkeyRegistry } from '~wildo-frontend-lib/core/hotkey/useHotkey';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport {\n resolveComponentLabel,\n resolveTranslationKey,\n} from '~wildo-frontend-lib/core/i18n/component-label-resolution.utils';\nimport { Dialog, DialogContent, DialogHeader, DialogTitle } from '~wildo-frontend-lib/components/overlays/containers/dialog';\nimport { ScrollArea } from '~wildo-frontend-lib/components/layout/scroll-area';\n\nimport type {\n HotkeyConflict,\n RegisteredHotkey,\n} from '~wildo-frontend-lib/core/hotkey/hotkey-registry.frontend.schemas';\n\nconst HOTKEY_GROUP_ORDER: readonly string[] = [\n HotkeyGroup.NAVIGATION,\n HotkeyGroup.ACTIONS,\n HotkeyGroup.HELP,\n 'other',\n];\n\nfunction groupLabel(\n group: string,\n tc: (key: string, params?: Record<string, string | number>) => string,\n): string {\n switch (group) {\n case HotkeyGroup.NAVIGATION:\n return tc('navigation');\n case HotkeyGroup.ACTIONS:\n return tc('actions');\n case HotkeyGroup.HELP:\n return tc('help');\n default:\n return tc('other');\n }\n}\n\nfunction scopeLabel(\n scope: HotkeyScope,\n tc: (key: string, params?: Record<string, string | number>) => string,\n): string {\n switch (scope) {\n case HotkeyScope.GLOBAL:\n return tc('shortcutsHelpScopeGlobal');\n case HotkeyScope.PAGE:\n return tc('shortcutsHelpScopePage');\n case HotkeyScope.COMPONENT:\n return tc('shortcutsHelpScopeComponent');\n default:\n return tc('shortcutsHelpScopeUnknown');\n }\n}\n\nexport function HotkeyShortcutsHelpDialog(): JSX.Element | null {\n const [isOpen, setIsOpen] = useState(false);\n const { on } = useEventBus();\n const { getHotkeys, getConflicts, activeScope, isPaused } = useHotkeyRegistry();\n const { t, tComponent, isReady } = useI18n({\n component: FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU,\n });\n\n useEffect(() => {\n return on(FrontendEvents.HOTKEY_SHORTCUTS_HELP, () => {\n setIsOpen(prev => !prev);\n });\n }, [on]);\n\n const tc = (key: string, params?: Record<string, string | number>) =>\n resolveComponentLabel({\n tComponent,\n componentType: FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU,\n key,\n params,\n });\n\n const hotkeys = useMemo((): RegisteredHotkey[] => {\n if (!isOpen) return [];\n\n return getHotkeys()\n .slice()\n .sort((a, b) => {\n const groupA = HOTKEY_GROUP_ORDER.indexOf(a.group ?? 'other');\n const groupB = HOTKEY_GROUP_ORDER.indexOf(b.group ?? 'other');\n if (groupA !== groupB) return groupA - groupB;\n return a.description.localeCompare(b.description);\n });\n }, [getHotkeys, isOpen]);\n\n const groupedHotkeys = useMemo(() => {\n const groups = new Map<string, RegisteredHotkey[]>();\n\n for (const hotkey of hotkeys) {\n const group = hotkey.group ?? 'other';\n const existing = groups.get(group) ?? [];\n existing.push(hotkey);\n groups.set(group, existing);\n }\n\n return HOTKEY_GROUP_ORDER\n .map(group => ({\n group,\n label: groupLabel(group, tc),\n hotkeys: groups.get(group) ?? [],\n }))\n .filter(entry => entry.hotkeys.length > 0);\n }, [hotkeys, tc]);\n\n const conflicts = useMemo((): HotkeyConflict[] => {\n if (!isOpen) return [];\n return getConflicts();\n }, [getConflicts, isOpen]);\n\n if (!isReady) return null;\n\n const title = resolveTranslationKey({\n t,\n key: 'engine.hotkeys.shortcutsHelp',\n });\n\n return (\n <Dialog open={isOpen} onOpenChange={setIsOpen}>\n <DialogContent className=\"max-w-3xl pt-10\">\n <DialogHeader>\n <DialogTitle>{title}</DialogTitle>\n </DialogHeader>\n\n <div className=\"space-y-card-sm\">\n <div className=\"flex flex-wrap items-center gap-item-sm text-xs text-muted-foreground\">\n <span>{tc('shortcutsHelpActiveScope')}: {scopeLabel(activeScope, tc)}</span>\n <span>{tc('shortcutsHelpRegistry')}: {isPaused ? tc('shortcutsHelpRegistryPaused') : tc('shortcutsHelpRegistryListening')}</span>\n <span>{tc('shortcutsHelpCount', { count: hotkeys.length })}</span>\n </div>\n\n {conflicts.length > 0 && (\n <div className=\"rounded-md border border-warning/40 bg-warning/10 p-card-sm text-sm text-warning-foreground\">\n <div className=\"font-medium\">{tc('shortcutsHelpConflictsDetected')}</div>\n <ul className=\"mt-item-xs space-y-item-xs\">\n {conflicts.map(conflict => (\n <li key={conflict.shortcut}>\n <code>{conflict.shortcut}</code> {tc('shortcutsHelpConflictUsedBy')} {conflict.hotkeyIds.join(', ')}\n </li>\n ))}\n </ul>\n </div>\n )}\n\n <ScrollArea className=\"max-h-[60vh] pe-item-sm\">\n <div className=\"space-y-card\">\n {groupedHotkeys.map(({ group, label, hotkeys: groupHotkeys }) => (\n <section key={group} className=\"space-y-item-sm\">\n <h3 className=\"text-sm font-semibold text-foreground\">{label}</h3>\n <div className=\"space-y-item-xs\">\n {groupHotkeys.map(hotkey => (\n <div\n key={hotkey.id}\n className=\"flex items-start justify-between gap-field rounded-md border border-border/70 px-card-sm py-item-sm\"\n >\n <div className=\"min-w-0 space-y-[2px]\">\n <div className=\"text-sm font-medium text-foreground\">{hotkey.description}</div>\n <div className=\"flex flex-wrap items-center gap-item-sm text-xs text-muted-foreground\">\n <span>{scopeLabel(hotkey.scope, tc)}</span>\n {hotkey.launcher && <span>{hotkey.launcher}</span>}\n <span>{hotkey.id}</span>\n </div>\n </div>\n <kbd className=\"shrink-0 rounded border border-border bg-muted px-item-sm py-[2px] text-xs font-medium text-foreground\">\n {hotkey.parsed.display}\n </kbd>\n </div>\n ))}\n </div>\n </section>\n ))}\n </div>\n </ScrollArea>\n </div>\n </DialogContent>\n </Dialog>\n );\n}\n"]}
1
+ {"version":3,"file":"HotkeyShortcutsHelpDialog.js","sourceRoot":"","sources":["../../../../src/core/hotkey/HotkeyShortcutsHelpDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useMemo, useState } from 'react';\nimport type { JSX } from 'react';\n\nimport { FrontendComponentType } from '@wildo-ai/presets-components-models';\nimport {\n HotkeyGroup,\n HotkeyScope,\n} from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { FrontendEvents } from '~wildo-frontend-lib/core/events/events.frontend.schemas';\nimport { useEventBus } from '~wildo-frontend-lib/core/events/useEventBus';\nimport { useHotkeyRegistry } from '~wildo-frontend-lib/core/hotkey/useHotkey';\nimport { useI18n } from '~wildo-frontend-lib/core/i18n/useI18n';\nimport {\n resolveComponentLabel,\n resolveTranslationKey,\n} from '~wildo-frontend-lib/core/i18n/component-label-resolution.utils';\nimport { Dialog, DialogContent, DialogHeader, DialogTitle } from '~wildo-frontend-lib/components/overlays/containers/dialog';\nimport { ScrollArea } from '~wildo-frontend-lib/components/layout/scroll-area';\n\nimport type {\n HotkeyConflict,\n RegisteredHotkey,\n} from '~wildo-frontend-lib/core/hotkey/hotkey-registry.frontend.schemas';\n\nconst HOTKEY_GROUP_ORDER: readonly string[] = [\n HotkeyGroup.NAVIGATION,\n HotkeyGroup.ACTIONS,\n HotkeyGroup.HELP,\n 'other',\n];\n\nfunction groupLabel(\n group: string,\n tc: (key: string, params?: Record<string, string | number>) => string,\n): string {\n switch (group) {\n case HotkeyGroup.NAVIGATION:\n return tc('navigation');\n case HotkeyGroup.ACTIONS:\n return tc('actions');\n case HotkeyGroup.HELP:\n return tc('help');\n default:\n return tc('other');\n }\n}\n\nfunction scopeLabel(\n scope: HotkeyScope,\n tc: (key: string, params?: Record<string, string | number>) => string,\n): string {\n switch (scope) {\n case HotkeyScope.GLOBAL:\n return tc('shortcutsHelpScopeGlobal');\n case HotkeyScope.PAGE:\n return tc('shortcutsHelpScopePage');\n case HotkeyScope.COMPONENT:\n return tc('shortcutsHelpScopeComponent');\n default:\n return tc('shortcutsHelpScopeUnknown');\n }\n}\n\nexport function HotkeyShortcutsHelpDialog(): JSX.Element | null {\n const [isOpen, setIsOpen] = useState(false);\n const { on } = useEventBus();\n const { getHotkeys, getConflicts, activeScope, isPaused } = useHotkeyRegistry();\n const { t, tComponent, isReady } = useI18n({\n component: FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU,\n });\n\n useEffect(() => {\n return on(FrontendEvents.HOTKEY_SHORTCUTS_HELP, () => {\n setIsOpen(prev => !prev);\n });\n }, [on]);\n\n const tc = (key: string, params?: Record<string, string | number>) =>\n resolveComponentLabel({\n tComponent,\n componentType: FrontendComponentType.APPLICATION_LEVEL_COMMAND_MENU,\n key,\n params,\n });\n\n const hotkeys = useMemo((): RegisteredHotkey[] => {\n if (!isOpen) return [];\n\n return getHotkeys()\n .slice()\n .sort((a, b) => {\n const groupA = HOTKEY_GROUP_ORDER.indexOf(a.group ?? 'other');\n const groupB = HOTKEY_GROUP_ORDER.indexOf(b.group ?? 'other');\n if (groupA !== groupB) return groupA - groupB;\n return a.description.localeCompare(b.description);\n });\n }, [getHotkeys, isOpen]);\n\n const groupedHotkeys = useMemo(() => {\n const groups = new Map<string, RegisteredHotkey[]>();\n\n for (const hotkey of hotkeys) {\n const group = hotkey.group ?? 'other';\n const existing = groups.get(group) ?? [];\n existing.push(hotkey);\n groups.set(group, existing);\n }\n\n return HOTKEY_GROUP_ORDER\n .map(group => ({\n group,\n label: groupLabel(group, tc),\n hotkeys: groups.get(group) ?? [],\n }))\n .filter(entry => entry.hotkeys.length > 0);\n }, [hotkeys, tc]);\n\n const conflicts = useMemo((): HotkeyConflict[] => {\n if (!isOpen) return [];\n return getConflicts();\n }, [getConflicts, isOpen]);\n\n if (!isReady) return null;\n\n const title = resolveTranslationKey({\n t,\n key: 'engine.hotkeys.shortcutsHelp',\n });\n\n return (\n <Dialog open={isOpen} onOpenChange={setIsOpen}>\n <DialogContent className=\"max-w-3xl pt-10\">\n <DialogHeader>\n <DialogTitle>{title}</DialogTitle>\n </DialogHeader>\n\n <div className=\"space-y-card-sm\">\n <div className=\"flex flex-wrap items-center gap-item-sm text-xs text-muted-foreground\">\n <span>{tc('shortcutsHelpActiveScope')}: {scopeLabel(activeScope, tc)}</span>\n <span>{tc('shortcutsHelpRegistry')}: {isPaused ? tc('shortcutsHelpRegistryPaused') : tc('shortcutsHelpRegistryListening')}</span>\n <span>{tc('shortcutsHelpCount', { count: hotkeys.length })}</span>\n </div>\n\n {conflicts.length > 0 && (\n <div className=\"rounded-md border border-warning/40 bg-warning/10 p-card-sm text-sm text-warning-foreground\">\n <div className=\"font-medium\">{tc('shortcutsHelpConflictsDetected')}</div>\n <ul className=\"mt-item-xs space-y-item-xs\">\n {conflicts.map(conflict => (\n <li key={conflict.shortcut}>\n <code>{conflict.shortcut}</code> {tc('shortcutsHelpConflictUsedBy')} {conflict.hotkeyIds.join(', ')}\n </li>\n ))}\n </ul>\n </div>\n )}\n\n <ScrollArea className=\"max-h-[60vh] pe-item-sm\">\n <div className=\"space-y-card\">\n {groupedHotkeys.map(({ group, label, hotkeys: groupHotkeys }) => (\n <section key={group} className=\"space-y-item-sm\">\n <h3 className=\"text-sm font-semibold text-foreground\">{label}</h3>\n <div className=\"space-y-item-xs\">\n {groupHotkeys.map(hotkey => (\n <div\n key={hotkey.id}\n className=\"flex items-start justify-between gap-field rounded-md border border-border/70 px-card-sm py-item-sm\"\n >\n <div className=\"min-w-0 space-y-[2px]\">\n <div className=\"text-sm font-medium text-foreground\">{hotkey.description}</div>\n <div className=\"flex flex-wrap items-center gap-item-sm text-xs text-muted-foreground\">\n <span>{scopeLabel(hotkey.scope, tc)}</span>\n {hotkey.launcher && <span>{hotkey.launcher}</span>}\n <span>{hotkey.id}</span>\n </div>\n </div>\n <kbd className=\"shrink-0 rounded border border-border bg-muted px-item-sm py-[2px] text-xs font-medium text-foreground\">\n {hotkey.parsed.display}\n </kbd>\n </div>\n ))}\n </div>\n </section>\n ))}\n </div>\n </ScrollArea>\n </div>\n </DialogContent>\n </Dialog>\n );\n}\n"]}
@@ -8,7 +8,31 @@ import { ApplicationLevelComponentType, HotkeyScope } from '../../core/config/ap
8
8
  /**
9
9
  * Modifier keys that can be combined with shortcuts
10
10
  */
11
- export type ModifierKey = 'ctrl' | 'alt' | 'shift' | 'meta';
11
+ /**
12
+ * `mod` is the CROSS-PLATFORM modifier: ⌘ on macOS, Ctrl everywhere else.
13
+ *
14
+ * It exists because matching is strict — `hasMeta !== needsMeta` fails — so a chord written `Cmd+K`
15
+ * is DEAD on Windows and `Ctrl+K` is not the Mac convention. That is tolerable while every shortcut
16
+ * is one application's own choice; it is not tolerable for a shortcut the FRAMEWORK ships to every
17
+ * application (#441), which is why this landed with the default binding set rather than after it.
18
+ *
19
+ * Prefer `mod` in new shortcuts. `ctrl` and `meta` stay available for the rare chord that genuinely
20
+ * means one physical key on both platforms.
21
+ */
22
+ export declare enum ModifierKey {
23
+ /** The physical Control key, on every platform. */
24
+ CTRL = "ctrl",
25
+ /** Alt on Windows and Linux, Option on macOS. */
26
+ ALT = "alt",
27
+ SHIFT = "shift",
28
+ /** The physical Command key on macOS, the Windows key elsewhere. */
29
+ META = "meta",
30
+ /**
31
+ * The CROSS-PLATFORM modifier — ⌘ on macOS, Ctrl everywhere else. Prefer it; see above for why a
32
+ * framework-shipped chord written with `ctrl` or `meta` is dead on one of the two platforms.
33
+ */
34
+ MOD = "mod"
35
+ }
12
36
  /**
13
37
  * Parsed shortcut definition
14
38
  */
@@ -44,7 +68,35 @@ export interface HotkeyDefinition {
44
68
  preventDefault?: boolean;
45
69
  /** Optional: Stop event propagation */
46
70
  stopPropagation?: boolean;
71
+ /**
72
+ * Explicit precedence when two hotkeys claim the same chord in overlapping scopes. Higher wins.
73
+ *
74
+ * Defaults to {@link HOTKEY_DEFAULT_PRIORITY}. The framework's own default bindings register
75
+ * BELOW it ({@link HOTKEY_FRAMEWORK_DEFAULT_PRIORITY}) so anything an application registers
76
+ * outranks them without having to say so.
77
+ *
78
+ * Ties fall to SCOPE SPECIFICITY (COMPONENT beats PAGE beats GLOBAL), and only then to
79
+ * registration order. Before #441 registration order was the WHOLE rule, so which of two
80
+ * conflicting shortcuts fired depended on mount order — on nothing anyone declared.
81
+ */
82
+ priority?: number;
47
83
  }
84
+ /** Precedence for an ordinary registration — the implicit default. */
85
+ export declare const HOTKEY_DEFAULT_PRIORITY = 0;
86
+ /**
87
+ * Precedence for the framework's own shipped bindings: BELOW an application's.
88
+ *
89
+ * A framework default colliding with an application's own chord is not a conflict to arbitrate on
90
+ * the fly — the application meant its binding, and the default is what the framework offered when
91
+ * nothing was said. Making that a number rather than a special case keeps one comparison in
92
+ * dispatch.
93
+ */
94
+ export declare const HOTKEY_FRAMEWORK_DEFAULT_PRIORITY = -100;
95
+ /**
96
+ * How specific a scope is, for tie-breaking. A COMPONENT hotkey is a narrower claim on a chord than
97
+ * a GLOBAL one, so it wins when both are live and neither declared a priority.
98
+ */
99
+ export declare const HOTKEY_SCOPE_SPECIFICITY: Record<HotkeyScope, number>;
48
100
  /**
49
101
  * Registered hotkey with parsed shortcut
50
102
  */
@@ -1 +1 @@
1
- {"version":3,"file":"hotkey-registry.frontend.schemas.d.ts","sourceRoot":"","sources":["../../../../../src/core/hotkey/hotkey-registry.frontend.schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,6BAA6B,EAAE,WAAW,EAAE,MAAM,uEAAuE,CAAC;AAEnI;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IAEX,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IAEjB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IAEpB,0BAA0B;IAC1B,KAAK,EAAE,WAAW,CAAC;IAEnB,iDAAiD;IACjD,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,6BAA6B,CAAC;IAEzC,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,uCAAuC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,6CAA6C;IAC7C,MAAM,EAAE,cAAc,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAEvC,6BAA6B;IAC7B,WAAW,EAAE,WAAW,CAAC;IAEzB,gEAAgE;IAChE,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,4BAA4B;IAC5B,QAAQ,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,MAAM,IAAI,CAAC;IAEvD,gCAAgC;IAChC,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjC,8BAA8B;IAC9B,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAEnD,2BAA2B;IAC3B,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAE7C,gCAAgC;IAChC,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB,iCAAiC;IACjC,UAAU,EAAE,MAAM,gBAAgB,EAAE,CAAC;IAErC,uCAAuC;IACvC,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,gBAAgB,EAAE,CAAC;IAEzD,0BAA0B;IAC1B,YAAY,EAAE,MAAM,cAAc,EAAE,CAAC;IAErC,2BAA2B;IAC3B,WAAW,EAAE,WAAW,CAAC;IAEzB,iCAAiC;IACjC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CA8C9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAoBrF"}
1
+ {"version":3,"file":"hotkey-registry.frontend.schemas.d.ts","sourceRoot":"","sources":["../../../../src/core/hotkey/hotkey-registry.frontend.schemas.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,60 @@
4
4
  * Defines the types and schemas for the hotkey system.
5
5
  * Based on Specs §7 - HOTKEY Specification (Infrastructure)
6
6
  */
7
+ import { HotkeyScope } from '../../core/config/app-level-components.frontend.schemas.js';
8
+ /**
9
+ * Modifier keys that can be combined with shortcuts
10
+ */
11
+ /**
12
+ * `mod` is the CROSS-PLATFORM modifier: ⌘ on macOS, Ctrl everywhere else.
13
+ *
14
+ * It exists because matching is strict — `hasMeta !== needsMeta` fails — so a chord written `Cmd+K`
15
+ * is DEAD on Windows and `Ctrl+K` is not the Mac convention. That is tolerable while every shortcut
16
+ * is one application's own choice; it is not tolerable for a shortcut the FRAMEWORK ships to every
17
+ * application (#441), which is why this landed with the default binding set rather than after it.
18
+ *
19
+ * Prefer `mod` in new shortcuts. `ctrl` and `meta` stay available for the rare chord that genuinely
20
+ * means one physical key on both platforms.
21
+ */
22
+ export var ModifierKey;
23
+ (function (ModifierKey) {
24
+ /** The physical Control key, on every platform. */
25
+ ModifierKey["CTRL"] = "ctrl";
26
+ /** Alt on Windows and Linux, Option on macOS. */
27
+ ModifierKey["ALT"] = "alt";
28
+ ModifierKey["SHIFT"] = "shift";
29
+ /** The physical Command key on macOS, the Windows key elsewhere. */
30
+ ModifierKey["META"] = "meta";
31
+ /**
32
+ * The CROSS-PLATFORM modifier — ⌘ on macOS, Ctrl everywhere else. Prefer it; see above for why a
33
+ * framework-shipped chord written with `ctrl` or `meta` is dead on one of the two platforms.
34
+ */
35
+ ModifierKey["MOD"] = "mod";
36
+ })(ModifierKey || (ModifierKey = {}));
37
+ /** True when the runtime is macOS, where `mod` means ⌘ rather than Ctrl. */
38
+ function isMacPlatform() {
39
+ return typeof navigator !== 'undefined' && navigator.platform.toLowerCase().includes('mac');
40
+ }
41
+ /** Precedence for an ordinary registration — the implicit default. */
42
+ export const HOTKEY_DEFAULT_PRIORITY = 0;
43
+ /**
44
+ * Precedence for the framework's own shipped bindings: BELOW an application's.
45
+ *
46
+ * A framework default colliding with an application's own chord is not a conflict to arbitrate on
47
+ * the fly — the application meant its binding, and the default is what the framework offered when
48
+ * nothing was said. Making that a number rather than a special case keeps one comparison in
49
+ * dispatch.
50
+ */
51
+ export const HOTKEY_FRAMEWORK_DEFAULT_PRIORITY = -100;
52
+ /**
53
+ * How specific a scope is, for tie-breaking. A COMPONENT hotkey is a narrower claim on a chord than
54
+ * a GLOBAL one, so it wins when both are live and neither declared a priority.
55
+ */
56
+ export const HOTKEY_SCOPE_SPECIFICITY = {
57
+ [HotkeyScope.COMPONENT]: 2,
58
+ [HotkeyScope.PAGE]: 1,
59
+ [HotkeyScope.GLOBAL]: 0,
60
+ };
7
61
  /**
8
62
  * Parse a shortcut string into modifiers and key
9
63
  *
@@ -21,21 +75,24 @@ export function parseShortcut(shortcut) {
21
75
  switch (part) {
22
76
  case 'ctrl':
23
77
  case 'control':
24
- modifiers.push('ctrl');
78
+ modifiers.push(ModifierKey.CTRL);
25
79
  break;
26
80
  case 'alt':
27
81
  case 'option':
28
- modifiers.push('alt');
82
+ modifiers.push(ModifierKey.ALT);
29
83
  break;
30
84
  case 'shift':
31
- modifiers.push('shift');
85
+ modifiers.push(ModifierKey.SHIFT);
32
86
  break;
33
87
  case 'meta':
34
88
  case 'cmd':
35
89
  case 'command':
36
90
  case 'win':
37
91
  case 'windows':
38
- modifiers.push('meta');
92
+ modifiers.push(ModifierKey.META);
93
+ break;
94
+ case 'mod':
95
+ modifiers.push(ModifierKey.MOD);
39
96
  break;
40
97
  default:
41
98
  // This is the main key
@@ -43,15 +100,19 @@ export function parseShortcut(shortcut) {
43
100
  }
44
101
  }
45
102
  // Generate display string (platform-aware)
46
- const isMac = typeof navigator !== 'undefined' && navigator.platform.toLowerCase().includes('mac');
103
+ const isMac = isMacPlatform();
47
104
  const displayParts = [];
48
- if (modifiers.includes('ctrl'))
105
+ // `mod` renders as the key this platform actually presses, so the shortcuts dialog never shows a
106
+ // chord the reader cannot type.
107
+ if (modifiers.includes(ModifierKey.MOD))
108
+ displayParts.push(isMac ? '⌘' : 'Ctrl');
109
+ if (modifiers.includes(ModifierKey.CTRL))
49
110
  displayParts.push(isMac ? '⌃' : 'Ctrl');
50
- if (modifiers.includes('alt'))
111
+ if (modifiers.includes(ModifierKey.ALT))
51
112
  displayParts.push(isMac ? '⌥' : 'Alt');
52
- if (modifiers.includes('shift'))
113
+ if (modifiers.includes(ModifierKey.SHIFT))
53
114
  displayParts.push(isMac ? '⇧' : 'Shift');
54
- if (modifiers.includes('meta'))
115
+ if (modifiers.includes(ModifierKey.META))
55
116
  displayParts.push(isMac ? '⌘' : 'Win');
56
117
  displayParts.push(key.toUpperCase());
57
118
  return {
@@ -69,10 +130,14 @@ export function matchesShortcut(event, parsed) {
69
130
  const hasAlt = event.altKey;
70
131
  const hasShift = event.shiftKey;
71
132
  const hasMeta = event.metaKey;
72
- const needsCtrl = parsed.modifiers.includes('ctrl');
73
- const needsAlt = parsed.modifiers.includes('alt');
74
- const needsShift = parsed.modifiers.includes('shift');
75
- const needsMeta = parsed.modifiers.includes('meta');
133
+ // `mod` resolves to the platform's own command modifier before the strict comparison below, so a
134
+ // single authored chord matches ⌘ on macOS and Ctrl elsewhere.
135
+ const needsMod = parsed.modifiers.includes(ModifierKey.MOD);
136
+ const modIsMeta = isMacPlatform();
137
+ const needsCtrl = parsed.modifiers.includes(ModifierKey.CTRL) || (needsMod && !modIsMeta);
138
+ const needsAlt = parsed.modifiers.includes(ModifierKey.ALT);
139
+ const needsShift = parsed.modifiers.includes(ModifierKey.SHIFT);
140
+ const needsMeta = parsed.modifiers.includes(ModifierKey.META) || (needsMod && modIsMeta);
76
141
  if (hasCtrl !== needsCtrl)
77
142
  return false;
78
143
  if (hasAlt !== needsAlt)
@@ -1 +1 @@
1
- {"version":3,"file":"hotkey-registry.frontend.schemas.js","sourceRoot":"","sources":["../../../../../src/core/hotkey/hotkey-registry.frontend.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Hotkey Registry Schemas\n * \n * Defines the types and schemas for the hotkey system.\n * Based on Specs §7 - HOTKEY Specification (Infrastructure)\n */\n\nimport { ApplicationLevelComponentType, HotkeyScope } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\n\n/**\n * Modifier keys that can be combined with shortcuts\n */\nexport type ModifierKey = 'ctrl' | 'alt' | 'shift' | 'meta';\n\n/**\n * Parsed shortcut definition\n */\nexport interface ParsedShortcut {\n /** Modifier keys (ctrl, alt, shift, meta) */\n modifiers: ModifierKey[];\n /** The main key (single character or special key name) */\n key: string;\n /** Original shortcut string for display */\n display: string;\n}\n\n/**\n * Hotkey registration definition\n */\nexport interface HotkeyDefinition {\n /** Unique identifier for this hotkey */\n id: string;\n \n /** Keyboard shortcut (e.g., \"Ctrl+K\", \"Cmd+Shift+P\") */\n shortcut: string;\n \n /** Human-readable description */\n description: string;\n \n /** Scope of the hotkey */\n scope: HotkeyScope;\n \n /** Handler function to execute when triggered */\n handler: () => void;\n \n /** Whether this hotkey is currently enabled */\n enabled?: boolean;\n \n /** Optional: Group for organization (e.g., \"navigation\", \"editing\") */\n group?: string;\n \n /** Optional: Associated launcher for navigation hotkeys */\n launcher?: ApplicationLevelComponentType;\n \n /** Optional: Prevent default browser behavior */\n preventDefault?: boolean;\n \n /** Optional: Stop event propagation */\n stopPropagation?: boolean;\n}\n\n/**\n * Registered hotkey with parsed shortcut\n */\nexport interface RegisteredHotkey extends HotkeyDefinition {\n /** Parsed shortcut for efficient matching */\n parsed: ParsedShortcut;\n}\n\n/**\n * Hotkey conflict information\n */\nexport interface HotkeyConflict {\n /** The shortcut that has conflicts */\n shortcut: string;\n /** IDs of hotkeys using this shortcut */\n hotkeyIds: string[];\n}\n\n/**\n * Hotkey registry state\n */\nexport interface HotkeyRegistryState {\n /** All registered hotkeys */\n hotkeys: Map<string, RegisteredHotkey>;\n \n /** Currently active scope */\n activeScope: HotkeyScope;\n \n /** Whether the registry is paused (e.g., when modal is open) */\n isPaused: boolean;\n}\n\n/**\n * Context type for the hotkey registry\n */\nexport interface HotkeyRegistryContextType {\n /** Register a new hotkey */\n register: (definition: HotkeyDefinition) => () => void;\n \n /** Unregister a hotkey by ID */\n unregister: (id: string) => void;\n \n /** Enable/disable a hotkey */\n setEnabled: (id: string, enabled: boolean) => void;\n \n /** Set the active scope */\n setActiveScope: (scope: HotkeyScope) => void;\n \n /** Pause all hotkey handling */\n pause: () => void;\n \n /** Resume hotkey handling */\n resume: () => void;\n \n /** Get all registered hotkeys */\n getHotkeys: () => RegisteredHotkey[];\n \n /** Get hotkeys for a specific group */\n getHotkeysByGroup: (group: string) => RegisteredHotkey[];\n \n /** Check for conflicts */\n getConflicts: () => HotkeyConflict[];\n \n /** Current active scope */\n activeScope: HotkeyScope;\n \n /** Whether registry is paused */\n isPaused: boolean;\n}\n\n/**\n * Parse a shortcut string into modifiers and key\n * \n * Supports formats:\n * - \"Ctrl+K\", \"Cmd+K\" (Cmd maps to Meta on Mac, Ctrl on others)\n * - \"Ctrl+Shift+P\"\n * - \"Alt+Enter\"\n * - Single keys: \"Escape\", \"F1\"\n */\nexport function parseShortcut(shortcut: string): ParsedShortcut {\n const parts = shortcut.split('+').map(p => p.trim().toLowerCase());\n const modifiers: ModifierKey[] = [];\n let key = '';\n \n for (const part of parts) {\n switch (part) {\n case 'ctrl':\n case 'control':\n modifiers.push('ctrl');\n break;\n case 'alt':\n case 'option':\n modifiers.push('alt');\n break;\n case 'shift':\n modifiers.push('shift');\n break;\n case 'meta':\n case 'cmd':\n case 'command':\n case 'win':\n case 'windows':\n modifiers.push('meta');\n break;\n default:\n // This is the main key\n key = part;\n }\n }\n \n // Generate display string (platform-aware)\n const isMac = typeof navigator !== 'undefined' && navigator.platform.toLowerCase().includes('mac');\n const displayParts: string[] = [];\n \n if (modifiers.includes('ctrl')) displayParts.push(isMac ? '⌃' : 'Ctrl');\n if (modifiers.includes('alt')) displayParts.push(isMac ? '⌥' : 'Alt');\n if (modifiers.includes('shift')) displayParts.push(isMac ? '⇧' : 'Shift');\n if (modifiers.includes('meta')) displayParts.push(isMac ? '⌘' : 'Win');\n displayParts.push(key.toUpperCase());\n \n return {\n modifiers,\n key,\n display: displayParts.join(isMac ? '' : '+'),\n };\n}\n\n/**\n * Check if an event matches a parsed shortcut\n */\nexport function matchesShortcut(event: KeyboardEvent, parsed: ParsedShortcut): boolean {\n // Check modifiers\n const hasCtrl = event.ctrlKey;\n const hasAlt = event.altKey;\n const hasShift = event.shiftKey;\n const hasMeta = event.metaKey;\n \n const needsCtrl = parsed.modifiers.includes('ctrl');\n const needsAlt = parsed.modifiers.includes('alt');\n const needsShift = parsed.modifiers.includes('shift');\n const needsMeta = parsed.modifiers.includes('meta');\n \n if (hasCtrl !== needsCtrl) return false;\n if (hasAlt !== needsAlt) return false;\n if (hasShift !== needsShift) return false;\n if (hasMeta !== needsMeta) return false;\n \n // Check main key\n const eventKey = event.key.toLowerCase();\n return eventKey === parsed.key;\n}\n"]}
1
+ {"version":3,"file":"hotkey-registry.frontend.schemas.js","sourceRoot":"","sources":["../../../../src/core/hotkey/hotkey-registry.frontend.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Hotkey Registry Schemas\n * \n * Defines the types and schemas for the hotkey system.\n * Based on Specs §7 - HOTKEY Specification (Infrastructure)\n */\n\nimport { ApplicationLevelComponentType, HotkeyScope } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\n\n/**\n * Modifier keys that can be combined with shortcuts\n */\n/**\n * `mod` is the CROSS-PLATFORM modifier: ⌘ on macOS, Ctrl everywhere else.\n *\n * It exists because matching is strict — `hasMeta !== needsMeta` fails — so a chord written `Cmd+K`\n * is DEAD on Windows and `Ctrl+K` is not the Mac convention. That is tolerable while every shortcut\n * is one application's own choice; it is not tolerable for a shortcut the FRAMEWORK ships to every\n * application (#441), which is why this landed with the default binding set rather than after it.\n *\n * Prefer `mod` in new shortcuts. `ctrl` and `meta` stay available for the rare chord that genuinely\n * means one physical key on both platforms.\n */\nexport enum ModifierKey {\n /** The physical Control key, on every platform. */\n CTRL = 'ctrl',\n /** Alt on Windows and Linux, Option on macOS. */\n ALT = 'alt',\n SHIFT = 'shift',\n /** The physical Command key on macOS, the Windows key elsewhere. */\n META = 'meta',\n /**\n * The CROSS-PLATFORM modifier — ⌘ on macOS, Ctrl everywhere else. Prefer it; see above for why a\n * framework-shipped chord written with `ctrl` or `meta` is dead on one of the two platforms.\n */\n MOD = 'mod',\n}\n\n/** True when the runtime is macOS, where `mod` means ⌘ rather than Ctrl. */\nfunction isMacPlatform(): boolean {\n return typeof navigator !== 'undefined' && navigator.platform.toLowerCase().includes('mac');\n}\n\n/**\n * Parsed shortcut definition\n */\nexport interface ParsedShortcut {\n /** Modifier keys (ctrl, alt, shift, meta) */\n modifiers: ModifierKey[];\n /** The main key (single character or special key name) */\n key: string;\n /** Original shortcut string for display */\n display: string;\n}\n\n/**\n * Hotkey registration definition\n */\nexport interface HotkeyDefinition {\n /** Unique identifier for this hotkey */\n id: string;\n \n /** Keyboard shortcut (e.g., \"Ctrl+K\", \"Cmd+Shift+P\") */\n shortcut: string;\n \n /** Human-readable description */\n description: string;\n \n /** Scope of the hotkey */\n scope: HotkeyScope;\n \n /** Handler function to execute when triggered */\n handler: () => void;\n \n /** Whether this hotkey is currently enabled */\n enabled?: boolean;\n \n /** Optional: Group for organization (e.g., \"navigation\", \"editing\") */\n group?: string;\n \n /** Optional: Associated launcher for navigation hotkeys */\n launcher?: ApplicationLevelComponentType;\n \n /** Optional: Prevent default browser behavior */\n preventDefault?: boolean;\n \n /** Optional: Stop event propagation */\n stopPropagation?: boolean;\n\n /**\n * Explicit precedence when two hotkeys claim the same chord in overlapping scopes. Higher wins.\n *\n * Defaults to {@link HOTKEY_DEFAULT_PRIORITY}. The framework's own default bindings register\n * BELOW it ({@link HOTKEY_FRAMEWORK_DEFAULT_PRIORITY}) so anything an application registers\n * outranks them without having to say so.\n *\n * Ties fall to SCOPE SPECIFICITY (COMPONENT beats PAGE beats GLOBAL), and only then to\n * registration order. Before #441 registration order was the WHOLE rule, so which of two\n * conflicting shortcuts fired depended on mount order — on nothing anyone declared.\n */\n priority?: number;\n}\n\n/** Precedence for an ordinary registration — the implicit default. */\nexport const HOTKEY_DEFAULT_PRIORITY = 0;\n\n/**\n * Precedence for the framework's own shipped bindings: BELOW an application's.\n *\n * A framework default colliding with an application's own chord is not a conflict to arbitrate on\n * the fly — the application meant its binding, and the default is what the framework offered when\n * nothing was said. Making that a number rather than a special case keeps one comparison in\n * dispatch.\n */\nexport const HOTKEY_FRAMEWORK_DEFAULT_PRIORITY = -100;\n\n/**\n * How specific a scope is, for tie-breaking. A COMPONENT hotkey is a narrower claim on a chord than\n * a GLOBAL one, so it wins when both are live and neither declared a priority.\n */\nexport const HOTKEY_SCOPE_SPECIFICITY: Record<HotkeyScope, number> = {\n [HotkeyScope.COMPONENT]: 2,\n [HotkeyScope.PAGE]: 1,\n [HotkeyScope.GLOBAL]: 0,\n};\n\n/**\n * Registered hotkey with parsed shortcut\n */\nexport interface RegisteredHotkey extends HotkeyDefinition {\n /** Parsed shortcut for efficient matching */\n parsed: ParsedShortcut;\n}\n\n/**\n * Hotkey conflict information\n */\nexport interface HotkeyConflict {\n /** The shortcut that has conflicts */\n shortcut: string;\n /** IDs of hotkeys using this shortcut */\n hotkeyIds: string[];\n}\n\n/**\n * Hotkey registry state\n */\nexport interface HotkeyRegistryState {\n /** All registered hotkeys */\n hotkeys: Map<string, RegisteredHotkey>;\n \n /** Currently active scope */\n activeScope: HotkeyScope;\n \n /** Whether the registry is paused (e.g., when modal is open) */\n isPaused: boolean;\n}\n\n/**\n * Context type for the hotkey registry\n */\nexport interface HotkeyRegistryContextType {\n /** Register a new hotkey */\n register: (definition: HotkeyDefinition) => () => void;\n \n /** Unregister a hotkey by ID */\n unregister: (id: string) => void;\n \n /** Enable/disable a hotkey */\n setEnabled: (id: string, enabled: boolean) => void;\n \n /** Set the active scope */\n setActiveScope: (scope: HotkeyScope) => void;\n \n /** Pause all hotkey handling */\n pause: () => void;\n \n /** Resume hotkey handling */\n resume: () => void;\n \n /** Get all registered hotkeys */\n getHotkeys: () => RegisteredHotkey[];\n \n /** Get hotkeys for a specific group */\n getHotkeysByGroup: (group: string) => RegisteredHotkey[];\n \n /** Check for conflicts */\n getConflicts: () => HotkeyConflict[];\n \n /** Current active scope */\n activeScope: HotkeyScope;\n \n /** Whether registry is paused */\n isPaused: boolean;\n}\n\n/**\n * Parse a shortcut string into modifiers and key\n * \n * Supports formats:\n * - \"Ctrl+K\", \"Cmd+K\" (Cmd maps to Meta on Mac, Ctrl on others)\n * - \"Ctrl+Shift+P\"\n * - \"Alt+Enter\"\n * - Single keys: \"Escape\", \"F1\"\n */\nexport function parseShortcut(shortcut: string): ParsedShortcut {\n const parts = shortcut.split('+').map(p => p.trim().toLowerCase());\n const modifiers: ModifierKey[] = [];\n let key = '';\n \n for (const part of parts) {\n switch (part) {\n case 'ctrl':\n case 'control':\n modifiers.push(ModifierKey.CTRL);\n break;\n case 'alt':\n case 'option':\n modifiers.push(ModifierKey.ALT);\n break;\n case 'shift':\n modifiers.push(ModifierKey.SHIFT);\n break;\n case 'meta':\n case 'cmd':\n case 'command':\n case 'win':\n case 'windows':\n modifiers.push(ModifierKey.META);\n break;\n case 'mod':\n modifiers.push(ModifierKey.MOD);\n break;\n default:\n // This is the main key\n key = part;\n }\n }\n \n // Generate display string (platform-aware)\n const isMac = isMacPlatform();\n const displayParts: string[] = [];\n \n // `mod` renders as the key this platform actually presses, so the shortcuts dialog never shows a\n // chord the reader cannot type.\n if (modifiers.includes(ModifierKey.MOD)) displayParts.push(isMac ? '⌘' : 'Ctrl');\n if (modifiers.includes(ModifierKey.CTRL)) displayParts.push(isMac ? '⌃' : 'Ctrl');\n if (modifiers.includes(ModifierKey.ALT)) displayParts.push(isMac ? '⌥' : 'Alt');\n if (modifiers.includes(ModifierKey.SHIFT)) displayParts.push(isMac ? '⇧' : 'Shift');\n if (modifiers.includes(ModifierKey.META)) displayParts.push(isMac ? '⌘' : 'Win');\n displayParts.push(key.toUpperCase());\n \n return {\n modifiers,\n key,\n display: displayParts.join(isMac ? '' : '+'),\n };\n}\n\n/**\n * Check if an event matches a parsed shortcut\n */\nexport function matchesShortcut(event: KeyboardEvent, parsed: ParsedShortcut): boolean {\n // Check modifiers\n const hasCtrl = event.ctrlKey;\n const hasAlt = event.altKey;\n const hasShift = event.shiftKey;\n const hasMeta = event.metaKey;\n \n // `mod` resolves to the platform's own command modifier before the strict comparison below, so a\n // single authored chord matches ⌘ on macOS and Ctrl elsewhere.\n const needsMod = parsed.modifiers.includes(ModifierKey.MOD);\n const modIsMeta = isMacPlatform();\n const needsCtrl = parsed.modifiers.includes(ModifierKey.CTRL) || (needsMod && !modIsMeta);\n const needsAlt = parsed.modifiers.includes(ModifierKey.ALT);\n const needsShift = parsed.modifiers.includes(ModifierKey.SHIFT);\n const needsMeta = parsed.modifiers.includes(ModifierKey.META) || (needsMod && modIsMeta);\n \n if (hasCtrl !== needsCtrl) return false;\n if (hasAlt !== needsAlt) return false;\n if (hasShift !== needsShift) return false;\n if (hasMeta !== needsMeta) return false;\n \n // Check main key\n const eventKey = event.key.toLowerCase();\n return eventKey === parsed.key;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"merge-hotkey-emit-shortcuts.d.ts","sourceRoot":"","sources":["../../../../../src/core/hotkey/merge-hotkey-emit-shortcuts.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,uEAAuE,CAAC;AAE/E;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,EACvC,SAAS,CAAC,EAAE,SAAS,kBAAkB,EAAE,GAAG,IAAI,GAC/C,kBAAkB,EAAE,CAiBtB"}
1
+ {"version":3,"file":"merge-hotkey-emit-shortcuts.d.ts","sourceRoot":"","sources":["../../../../src/core/hotkey/merge-hotkey-emit-shortcuts.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,uEAAuE,CAAC;AAE/E;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,EACvC,SAAS,CAAC,EAAE,SAAS,kBAAkB,EAAE,GAAG,IAAI,GAC/C,kBAAkB,EAAE,CAiBtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"merge-hotkey-emit-shortcuts.js","sourceRoot":"","sources":["../../../../../src/core/hotkey/merge-hotkey-emit-shortcuts.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAuC,EACvC,SAAgD;IAEhD,MAAM,GAAG,GAAG,IAAI,GAAG,EAA+C,CAAC;IACnE,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAyB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAE,CAAC,CAAC;IAC3E,KAAK,MAAM,GAAG,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import {\n HotkeyDispatchableEvent,\n type HotkeyEmitShortcut,\n} from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\n\n/**\n * Merge preset/app `emitShortcuts` over a baseline list by `event`.\n * Used by `DefaultHotkeyHandler` with baseline `[]` when config already carries the\n * full list from presets, or with a baseline slice for partial overrides.\n */\nexport function mergeHotkeyEmitShortcuts(\n defaults: readonly HotkeyEmitShortcut[],\n overrides?: readonly HotkeyEmitShortcut[] | null,\n): HotkeyEmitShortcut[] {\n const map = new Map<HotkeyDispatchableEvent, HotkeyEmitShortcut>();\n for (const row of defaults) {\n map.set(row.event, row);\n }\n if (overrides) {\n for (const row of overrides) {\n map.set(row.event, row);\n }\n }\n const ordered: HotkeyEmitShortcut[] = defaults.map(d => map.get(d.event)!);\n for (const row of overrides ?? []) {\n if (!defaults.some(d => d.event === row.event)) {\n ordered.push(map.get(row.event)!);\n }\n }\n return ordered;\n}\n"]}
1
+ {"version":3,"file":"merge-hotkey-emit-shortcuts.js","sourceRoot":"","sources":["../../../../src/core/hotkey/merge-hotkey-emit-shortcuts.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAuC,EACvC,SAAgD;IAEhD,MAAM,GAAG,GAAG,IAAI,GAAG,EAA+C,CAAC;IACnE,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAyB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAE,CAAC,CAAC;IAC3E,KAAK,MAAM,GAAG,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["import {\n HotkeyDispatchableEvent,\n type HotkeyEmitShortcut,\n} from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\n\n/**\n * Merge preset/app `emitShortcuts` over a baseline list by `event`.\n * Used by `DefaultHotkeyHandler` with baseline `[]` when config already carries the\n * full list from presets, or with a baseline slice for partial overrides.\n */\nexport function mergeHotkeyEmitShortcuts(\n defaults: readonly HotkeyEmitShortcut[],\n overrides?: readonly HotkeyEmitShortcut[] | null,\n): HotkeyEmitShortcut[] {\n const map = new Map<HotkeyDispatchableEvent, HotkeyEmitShortcut>();\n for (const row of defaults) {\n map.set(row.event, row);\n }\n if (overrides) {\n for (const row of overrides) {\n map.set(row.event, row);\n }\n }\n const ordered: HotkeyEmitShortcut[] = defaults.map(d => map.get(d.event)!);\n for (const row of overrides ?? []) {\n if (!defaults.some(d => d.event === row.event)) {\n ordered.push(map.get(row.event)!);\n }\n }\n return ordered;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useHotkey.d.ts","sourceRoot":"","sources":["../../../../../src/core/hotkey/useHotkey.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,uEAAuE,CAAC;AAIpG;;GAEG;AACH,wBAAgB,iBAAiB,2EAMhC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yDAAyD;IACzD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,sBAAsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,IAAI,EACnB,OAAO,GAAE,gBAAqB,+DAwB/B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,QA4BH;AAED;;;GAGG;AACH,wBAAgB,cAAc;;;;EAG7B;AAED;;;GAGG;AACH,wBAAgB,cAAc;;;EAG7B"}
1
+ {"version":3,"file":"useHotkey.d.ts","sourceRoot":"","sources":["../../../../src/core/hotkey/useHotkey.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,uEAAuE,CAAC;AAIpG;;GAEG;AACH,wBAAgB,iBAAiB,2EAMhC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yDAAyD;IACzD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,sBAAsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,IAAI,EACnB,OAAO,GAAE,gBAAqB,+DAwB/B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,QA4BH;AAED;;;GAGG;AACH,wBAAgB,cAAc;;;;EAG7B;AAED;;;GAGG;AACH,wBAAgB,cAAc;;;EAG7B"}