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

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 (2521) 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 +30 -0
  12. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  13. package/dist/esm/components/actions/action-bar.js.map +1 -1
  14. package/dist/esm/components/actions/action-button.d.ts +5 -0
  15. package/dist/esm/components/actions/action-button.d.ts.map +1 -1
  16. package/dist/esm/components/actions/action-button.js.map +1 -1
  17. package/dist/esm/components/actions/button-group.d.ts.map +1 -1
  18. package/dist/esm/components/actions/button-group.js.map +1 -1
  19. package/dist/esm/components/actions/button.d.ts +15 -0
  20. package/dist/esm/components/actions/button.d.ts.map +1 -1
  21. package/dist/esm/components/actions/button.js +14 -0
  22. package/dist/esm/components/actions/button.js.map +1 -1
  23. package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.d.ts.map +1 -1
  24. package/dist/esm/components/ai-elements/artifacts/artifact-browser.types.js.map +1 -1
  25. package/dist/esm/components/ai-elements/artifacts/artifact-list.d.ts.map +1 -1
  26. package/dist/esm/components/ai-elements/artifacts/artifact-list.js.map +1 -1
  27. package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
  28. package/dist/esm/components/ai-elements/artifacts/artifact.js.map +1 -1
  29. package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
  30. package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
  31. package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts +38 -0
  32. package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts.map +1 -0
  33. package/dist/esm/components/ai-elements/artifacts/diff-block.js +9 -0
  34. package/dist/esm/components/ai-elements/artifacts/diff-block.js.map +1 -0
  35. package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
  36. package/dist/esm/components/ai-elements/artifacts/image.js.map +1 -1
  37. package/dist/esm/components/ai-elements/artifacts/unified-diff.utils.d.ts +68 -0
  38. package/dist/esm/components/ai-elements/artifacts/unified-diff.utils.d.ts.map +1 -0
  39. package/dist/esm/components/ai-elements/artifacts/unified-diff.utils.js +162 -0
  40. package/dist/esm/components/ai-elements/artifacts/unified-diff.utils.js.map +1 -0
  41. package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
  42. package/dist/esm/components/ai-elements/artifacts/web-preview.js.map +1 -1
  43. package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
  44. package/dist/esm/components/ai-elements/chat/conversation.js.map +1 -1
  45. package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
  46. package/dist/esm/components/ai-elements/chat/message.js.map +1 -1
  47. package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
  48. package/dist/esm/components/ai-elements/chat/prompt-input.js.map +1 -1
  49. package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
  50. package/dist/esm/components/ai-elements/chat/sources.js.map +1 -1
  51. package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
  52. package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
  53. package/dist/esm/components/ai-elements/decision/approval.d.ts +30 -1
  54. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  55. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  56. package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
  57. package/dist/esm/components/ai-elements/execution/confirmation.js.map +1 -1
  58. package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
  59. package/dist/esm/components/ai-elements/execution/queue.js.map +1 -1
  60. package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
  61. package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
  62. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  63. package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
  64. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  65. package/dist/esm/components/ai-elements/graph/canvas.js.map +1 -1
  66. package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
  67. package/dist/esm/components/ai-elements/graph/connection.js.map +1 -1
  68. package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
  69. package/dist/esm/components/ai-elements/graph/controls.js.map +1 -1
  70. package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
  71. package/dist/esm/components/ai-elements/graph/edge.js.map +1 -1
  72. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  73. package/dist/esm/components/ai-elements/graph/node.js.map +1 -1
  74. package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
  75. package/dist/esm/components/ai-elements/graph/panel.js.map +1 -1
  76. package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
  77. package/dist/esm/components/ai-elements/graph/toolbar.js.map +1 -1
  78. package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts +0 -1
  79. package/dist/esm/components/ai-elements/meta/agent-wrappers.d.ts.map +1 -1
  80. package/dist/esm/components/ai-elements/meta/agent-wrappers.js.map +1 -1
  81. package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
  82. package/dist/esm/components/ai-elements/meta/context.js.map +1 -1
  83. package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
  84. package/dist/esm/components/ai-elements/meta/model-selector.js.map +1 -1
  85. package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
  86. package/dist/esm/components/ai-elements/meta/open-in-chat.js.map +1 -1
  87. package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
  88. package/dist/esm/components/ai-elements/shared/loader.js.map +1 -1
  89. package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
  90. package/dist/esm/components/ai-elements/shared/shimmer.js.map +1 -1
  91. package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
  92. package/dist/esm/components/ai-elements/stream/execution-stream.js.map +1 -1
  93. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts +22 -0
  94. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
  95. package/dist/esm/components/ai-elements/trace/chain-of-thought.js +29 -3
  96. package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
  97. package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
  98. package/dist/esm/components/ai-elements/trace/checkpoint.js.map +1 -1
  99. package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
  100. package/dist/esm/components/ai-elements/trace/inline-citation.js.map +1 -1
  101. package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
  102. package/dist/esm/components/ai-elements/trace/plan.js.map +1 -1
  103. package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
  104. package/dist/esm/components/ai-elements/trace/reasoning.js.map +1 -1
  105. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts +6 -0
  106. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.d.ts.map +1 -1
  107. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js +84 -9
  108. package/dist/esm/components/app/AppLayout_AuthenticatedRoute.js.map +1 -1
  109. package/dist/esm/components/app/AppLayout_ConsentGate.d.ts +40 -0
  110. package/dist/esm/components/app/AppLayout_ConsentGate.d.ts.map +1 -0
  111. package/dist/esm/components/app/AppLayout_ConsentGate.js +17 -0
  112. package/dist/esm/components/app/AppLayout_ConsentGate.js.map +1 -0
  113. package/dist/esm/components/app/AppLayout_ConsentGate.labels.d.ts +3 -0
  114. package/dist/esm/components/app/AppLayout_ConsentGate.labels.d.ts.map +1 -0
  115. package/dist/esm/components/app/AppLayout_ConsentGate.labels.js +75 -0
  116. package/dist/esm/components/app/AppLayout_ConsentGate.labels.js.map +1 -0
  117. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.d.ts +32 -0
  118. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.d.ts.map +1 -0
  119. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.js +13 -0
  120. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.js.map +1 -0
  121. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.labels.d.ts +3 -0
  122. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.labels.d.ts.map +1 -0
  123. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.labels.js +46 -0
  124. package/dist/esm/components/app/AppLayout_DocumentAcceptanceGate.labels.js.map +1 -0
  125. package/dist/esm/components/app/AppLayout_ErrorBoundary.d.ts.map +1 -1
  126. package/dist/esm/components/app/AppLayout_ErrorBoundary.js.map +1 -1
  127. package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.d.ts.map +1 -1
  128. package/dist/esm/components/app/AppLayout_ErrorBoundary.labels.js.map +1 -1
  129. package/dist/esm/components/app/AppLayout_Home.d.ts.map +1 -1
  130. package/dist/esm/components/app/AppLayout_Home.js.map +1 -1
  131. package/dist/esm/components/app/AppLayout_Home.labels.d.ts.map +1 -1
  132. package/dist/esm/components/app/AppLayout_Home.labels.js.map +1 -1
  133. package/dist/esm/components/app/AppLayout_MainContainer.d.ts.map +1 -1
  134. package/dist/esm/components/app/AppLayout_MainContainer.js.map +1 -1
  135. package/dist/esm/components/app/AppLayout_NotificationCenter.d.ts.map +1 -1
  136. package/dist/esm/components/app/AppLayout_NotificationCenter.js.map +1 -1
  137. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.d.ts.map +1 -1
  138. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.js +27 -25
  139. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.js.map +1 -1
  140. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.d.ts.map +1 -1
  141. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.js +4 -6
  142. package/dist/esm/components/app/AppLayout_RouterErrorBoundary.labels.js.map +1 -1
  143. package/dist/esm/components/app/AppPage_Home.d.ts.map +1 -1
  144. package/dist/esm/components/app/AppPage_Home.js.map +1 -1
  145. package/dist/esm/components/app/PublicLayout_MainContainer.d.ts +3 -0
  146. package/dist/esm/components/app/PublicLayout_MainContainer.d.ts.map +1 -1
  147. package/dist/esm/components/app/PublicLayout_MainContainer.js +24 -0
  148. package/dist/esm/components/app/PublicLayout_MainContainer.js.map +1 -1
  149. package/dist/esm/components/app/PublicLayout_StaticContentContainer.d.ts.map +1 -1
  150. package/dist/esm/components/app/PublicLayout_StaticContentContainer.js.map +1 -1
  151. package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.d.ts.map +1 -1
  152. package/dist/esm/components/app/PublicLayout_StaticContentContainer.labels.js.map +1 -1
  153. package/dist/esm/components/app/PublicLayout_Terms.d.ts +59 -0
  154. package/dist/esm/components/app/PublicLayout_Terms.d.ts.map +1 -0
  155. package/dist/esm/components/app/PublicLayout_Terms.js +8 -0
  156. package/dist/esm/components/app/PublicLayout_Terms.js.map +1 -0
  157. package/dist/esm/components/app/PublicLayout_Terms.labels.d.ts.map +1 -1
  158. package/dist/esm/components/app/PublicLayout_Terms.labels.js +16 -6
  159. package/dist/esm/components/app/PublicLayout_Terms.labels.js.map +1 -1
  160. package/dist/esm/components/auth/Auth_AuthCallback.d.ts +3 -1
  161. package/dist/esm/components/auth/Auth_AuthCallback.d.ts.map +1 -1
  162. package/dist/esm/components/auth/Auth_AuthCallback.js +21 -7
  163. package/dist/esm/components/auth/Auth_AuthCallback.js.map +1 -1
  164. package/dist/esm/components/auth/Auth_AuthCallback.labels.d.ts.map +1 -1
  165. package/dist/esm/components/auth/Auth_AuthCallback.labels.js +2 -0
  166. package/dist/esm/components/auth/Auth_AuthCallback.labels.js.map +1 -1
  167. package/dist/esm/components/auth/Auth_ConfirmEmail.d.ts.map +1 -1
  168. package/dist/esm/components/auth/Auth_ConfirmEmail.js +35 -17
  169. package/dist/esm/components/auth/Auth_ConfirmEmail.js.map +1 -1
  170. package/dist/esm/components/auth/Auth_ConfirmEmail.labels.d.ts.map +1 -1
  171. package/dist/esm/components/auth/Auth_ConfirmEmail.labels.js.map +1 -1
  172. package/dist/esm/components/auth/Auth_EnrollmentRequired.d.ts.map +1 -1
  173. package/dist/esm/components/auth/Auth_EnrollmentRequired.js +121 -11
  174. package/dist/esm/components/auth/Auth_EnrollmentRequired.js.map +1 -1
  175. package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.d.ts.map +1 -1
  176. package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.js +1 -0
  177. package/dist/esm/components/auth/Auth_EnrollmentRequired.labels.js.map +1 -1
  178. package/dist/esm/components/auth/Auth_Invitation.d.ts.map +1 -1
  179. package/dist/esm/components/auth/Auth_Invitation.js +91 -59
  180. package/dist/esm/components/auth/Auth_Invitation.js.map +1 -1
  181. package/dist/esm/components/auth/Auth_Invitation.labels.d.ts.map +1 -1
  182. package/dist/esm/components/auth/Auth_Invitation.labels.js +7 -0
  183. package/dist/esm/components/auth/Auth_Invitation.labels.js.map +1 -1
  184. package/dist/esm/components/auth/Auth_MagicLinkVerify.d.ts +8 -3
  185. package/dist/esm/components/auth/Auth_MagicLinkVerify.d.ts.map +1 -1
  186. package/dist/esm/components/auth/Auth_MagicLinkVerify.js +38 -21
  187. package/dist/esm/components/auth/Auth_MagicLinkVerify.js.map +1 -1
  188. package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.d.ts.map +1 -1
  189. package/dist/esm/components/auth/Auth_MagicLinkVerify.labels.js.map +1 -1
  190. package/dist/esm/components/auth/Auth_Main.d.ts.map +1 -1
  191. package/dist/esm/components/auth/Auth_Main.js +224 -41
  192. package/dist/esm/components/auth/Auth_Main.js.map +1 -1
  193. package/dist/esm/components/auth/Auth_Main.labels.d.ts.map +1 -1
  194. package/dist/esm/components/auth/Auth_Main.labels.js +4 -0
  195. package/dist/esm/components/auth/Auth_Main.labels.js.map +1 -1
  196. package/dist/esm/components/auth/Auth_MfaChallenge.d.ts +3 -0
  197. package/dist/esm/components/auth/Auth_MfaChallenge.d.ts.map +1 -1
  198. package/dist/esm/components/auth/Auth_MfaChallenge.js +76 -19
  199. package/dist/esm/components/auth/Auth_MfaChallenge.js.map +1 -1
  200. package/dist/esm/components/auth/Auth_MfaChallenge.labels.d.ts.map +1 -1
  201. package/dist/esm/components/auth/Auth_MfaChallenge.labels.js.map +1 -1
  202. package/dist/esm/components/auth/Auth_OAuthConsent.d.ts.map +1 -1
  203. package/dist/esm/components/auth/Auth_OAuthConsent.js +2 -1
  204. package/dist/esm/components/auth/Auth_OAuthConsent.js.map +1 -1
  205. package/dist/esm/components/auth/Auth_OAuthConsent.labels.d.ts.map +1 -1
  206. package/dist/esm/components/auth/Auth_OAuthConsent.labels.js.map +1 -1
  207. package/dist/esm/components/auth/Auth_OAuthLoggedOut.d.ts.map +1 -1
  208. package/dist/esm/components/auth/Auth_OAuthLoggedOut.js.map +1 -1
  209. package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.d.ts.map +1 -1
  210. package/dist/esm/components/auth/Auth_OAuthLoggedOut.labels.js.map +1 -1
  211. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.d.ts.map +1 -1
  212. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.js.map +1 -1
  213. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.d.ts.map +1 -1
  214. package/dist/esm/components/auth/Auth_OAuthLogoutConfirm.labels.js.map +1 -1
  215. package/dist/esm/components/auth/Auth_OneOffSession.d.ts.map +1 -1
  216. package/dist/esm/components/auth/Auth_OneOffSession.js +5 -3
  217. package/dist/esm/components/auth/Auth_OneOffSession.js.map +1 -1
  218. package/dist/esm/components/auth/Auth_OneOffSession.labels.d.ts.map +1 -1
  219. package/dist/esm/components/auth/Auth_OneOffSession.labels.js.map +1 -1
  220. package/dist/esm/components/auth/Auth_OrganizationOnboarding.d.ts +34 -0
  221. package/dist/esm/components/auth/Auth_OrganizationOnboarding.d.ts.map +1 -0
  222. package/dist/esm/components/auth/Auth_OrganizationOnboarding.js +158 -0
  223. package/dist/esm/components/auth/Auth_OrganizationOnboarding.js.map +1 -0
  224. package/dist/esm/components/auth/Auth_OrganizationOnboarding.labels.d.ts +3 -0
  225. package/dist/esm/components/auth/Auth_OrganizationOnboarding.labels.d.ts.map +1 -0
  226. package/dist/esm/components/auth/Auth_OrganizationOnboarding.labels.js +22 -0
  227. package/dist/esm/components/auth/Auth_OrganizationOnboarding.labels.js.map +1 -0
  228. package/dist/esm/components/auth/Auth_PasswordLost.d.ts.map +1 -1
  229. package/dist/esm/components/auth/Auth_PasswordLost.js +9 -7
  230. package/dist/esm/components/auth/Auth_PasswordLost.js.map +1 -1
  231. package/dist/esm/components/auth/Auth_PasswordLost.labels.d.ts.map +1 -1
  232. package/dist/esm/components/auth/Auth_PasswordLost.labels.js +5 -0
  233. package/dist/esm/components/auth/Auth_PasswordLost.labels.js.map +1 -1
  234. package/dist/esm/components/auth/Auth_Register.d.ts.map +1 -1
  235. package/dist/esm/components/auth/Auth_Register.js +403 -55
  236. package/dist/esm/components/auth/Auth_Register.js.map +1 -1
  237. package/dist/esm/components/auth/Auth_Register.labels.d.ts.map +1 -1
  238. package/dist/esm/components/auth/Auth_Register.labels.js +71 -2
  239. package/dist/esm/components/auth/Auth_Register.labels.js.map +1 -1
  240. package/dist/esm/components/auth/StepUpAuthDialog.d.ts +67 -2
  241. package/dist/esm/components/auth/StepUpAuthDialog.d.ts.map +1 -1
  242. package/dist/esm/components/auth/StepUpAuthDialog.js +131 -15
  243. package/dist/esm/components/auth/StepUpAuthDialog.js.map +1 -1
  244. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.d.ts.map +1 -1
  245. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js +40 -58
  246. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.js.map +1 -1
  247. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.d.ts.map +1 -1
  248. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js +23 -1
  249. package/dist/esm/components/auth/admin-config/AppPage_SecuritySettings.labels.js.map +1 -1
  250. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.d.ts.map +1 -1
  251. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js +6 -5
  252. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Create_SamlWizard.js.map +1 -1
  253. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.d.ts.map +1 -1
  254. package/dist/esm/components/auth/admin-config/ResourceLayoutPreset_Read_SsoSaml.js.map +1 -1
  255. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.d.ts.map +1 -1
  256. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js +5 -4
  257. package/dist/esm/components/auth/admin-config/SsoConnectionSamlReadSection.js.map +1 -1
  258. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.d.ts.map +1 -1
  259. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js +6 -4
  260. package/dist/esm/components/auth/enrollment/PasskeyEnrollmentMethod.js.map +1 -1
  261. package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.d.ts.map +1 -1
  262. package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.js +7 -4
  263. package/dist/esm/components/auth/enrollment/PhoneEnrollmentMethod.js.map +1 -1
  264. package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.d.ts.map +1 -1
  265. package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.js +7 -4
  266. package/dist/esm/components/auth/enrollment/TotpEnrollmentMethod.js.map +1 -1
  267. package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts +10 -2
  268. package/dist/esm/components/auth/enrollment/enrollment-method-components.d.ts.map +1 -1
  269. package/dist/esm/components/auth/enrollment/enrollment-method-components.js.map +1 -1
  270. package/dist/esm/components/auth/methods/EmailOtpAuthMethod.d.ts.map +1 -1
  271. package/dist/esm/components/auth/methods/EmailOtpAuthMethod.js +10 -7
  272. package/dist/esm/components/auth/methods/EmailOtpAuthMethod.js.map +1 -1
  273. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.d.ts.map +1 -1
  274. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js +5 -3
  275. package/dist/esm/components/auth/methods/ExternalOAuth2AuthMethod.js.map +1 -1
  276. package/dist/esm/components/auth/methods/MagicLinkAuthMethod.d.ts.map +1 -1
  277. package/dist/esm/components/auth/methods/MagicLinkAuthMethod.js +8 -5
  278. package/dist/esm/components/auth/methods/MagicLinkAuthMethod.js.map +1 -1
  279. package/dist/esm/components/auth/methods/OrgOidcAuthMethod.d.ts.map +1 -1
  280. package/dist/esm/components/auth/methods/OrgOidcAuthMethod.js +11 -8
  281. package/dist/esm/components/auth/methods/OrgOidcAuthMethod.js.map +1 -1
  282. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.d.ts.map +1 -1
  283. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js +7 -6
  284. package/dist/esm/components/auth/methods/OrgSamlAuthMethod.js.map +1 -1
  285. package/dist/esm/components/auth/methods/PasskeyAuthMethod.d.ts.map +1 -1
  286. package/dist/esm/components/auth/methods/PasskeyAuthMethod.js +15 -17
  287. package/dist/esm/components/auth/methods/PasskeyAuthMethod.js.map +1 -1
  288. package/dist/esm/components/auth/methods/PasswordAuthMethod.d.ts.map +1 -1
  289. package/dist/esm/components/auth/methods/PasswordAuthMethod.js +4 -18
  290. package/dist/esm/components/auth/methods/PasswordAuthMethod.js.map +1 -1
  291. package/dist/esm/components/auth/methods/SmsOtpAuthMethod.d.ts.map +1 -1
  292. package/dist/esm/components/auth/methods/SmsOtpAuthMethod.js +10 -7
  293. package/dist/esm/components/auth/methods/SmsOtpAuthMethod.js.map +1 -1
  294. package/dist/esm/components/auth/methods/TotpAuthMethod.d.ts.map +1 -1
  295. package/dist/esm/components/auth/methods/TotpAuthMethod.js +5 -3
  296. package/dist/esm/components/auth/methods/TotpAuthMethod.js.map +1 -1
  297. package/dist/esm/components/auth/methods/auth-method-components.d.ts +15 -18
  298. package/dist/esm/components/auth/methods/auth-method-components.d.ts.map +1 -1
  299. package/dist/esm/components/auth/methods/auth-method-components.js +9 -26
  300. package/dist/esm/components/auth/methods/auth-method-components.js.map +1 -1
  301. package/dist/esm/components/auth/methods/auth-method-presentation.d.ts +105 -0
  302. package/dist/esm/components/auth/methods/auth-method-presentation.d.ts.map +1 -0
  303. package/dist/esm/components/auth/methods/auth-method-presentation.js +103 -0
  304. package/dist/esm/components/auth/methods/auth-method-presentation.js.map +1 -0
  305. package/dist/esm/components/auth/pages/AuthPage_AuthCallback.d.ts.map +1 -1
  306. package/dist/esm/components/auth/pages/AuthPage_AuthCallback.js.map +1 -1
  307. package/dist/esm/components/auth/pages/AuthPage_AuthExchange.d.ts.map +1 -1
  308. package/dist/esm/components/auth/pages/AuthPage_AuthExchange.js.map +1 -1
  309. package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.d.ts.map +1 -1
  310. package/dist/esm/components/auth/pages/AuthPage_ConfirmEmail.js.map +1 -1
  311. package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.d.ts.map +1 -1
  312. package/dist/esm/components/auth/pages/AuthPage_EnrollmentRequired.js.map +1 -1
  313. package/dist/esm/components/auth/pages/AuthPage_Invitation.d.ts.map +1 -1
  314. package/dist/esm/components/auth/pages/AuthPage_Invitation.js.map +1 -1
  315. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts +2 -1
  316. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.d.ts.map +1 -1
  317. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.js +4 -2
  318. package/dist/esm/components/auth/pages/AuthPage_MagicLinkVerify.js.map +1 -1
  319. package/dist/esm/components/auth/pages/AuthPage_Main.d.ts.map +1 -1
  320. package/dist/esm/components/auth/pages/AuthPage_Main.js +3 -1
  321. package/dist/esm/components/auth/pages/AuthPage_Main.js.map +1 -1
  322. package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.d.ts.map +1 -1
  323. package/dist/esm/components/auth/pages/AuthPage_MfaChallenge.js.map +1 -1
  324. package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.d.ts.map +1 -1
  325. package/dist/esm/components/auth/pages/AuthPage_OAuthConsent.js.map +1 -1
  326. package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.d.ts.map +1 -1
  327. package/dist/esm/components/auth/pages/AuthPage_OAuthLoggedOut.js.map +1 -1
  328. package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.d.ts.map +1 -1
  329. package/dist/esm/components/auth/pages/AuthPage_OAuthLogoutConfirm.js.map +1 -1
  330. package/dist/esm/components/auth/pages/AuthPage_OneOffSession.d.ts.map +1 -1
  331. package/dist/esm/components/auth/pages/AuthPage_OneOffSession.js.map +1 -1
  332. package/dist/esm/components/auth/pages/AuthPage_OrganizationOnboarding.d.ts +11 -0
  333. package/dist/esm/components/auth/pages/AuthPage_OrganizationOnboarding.d.ts.map +1 -0
  334. package/dist/esm/components/auth/pages/AuthPage_OrganizationOnboarding.js +15 -0
  335. package/dist/esm/components/auth/pages/AuthPage_OrganizationOnboarding.js.map +1 -0
  336. package/dist/esm/components/auth/pages/AuthPage_PasswordLost.d.ts.map +1 -1
  337. package/dist/esm/components/auth/pages/AuthPage_PasswordLost.js.map +1 -1
  338. package/dist/esm/components/auth/pages/AuthPage_ReAuthenticationCallback.d.ts +3 -0
  339. package/dist/esm/components/auth/pages/AuthPage_ReAuthenticationCallback.d.ts.map +1 -0
  340. package/dist/esm/components/auth/pages/AuthPage_ReAuthenticationCallback.js +51 -0
  341. package/dist/esm/components/auth/pages/AuthPage_ReAuthenticationCallback.js.map +1 -0
  342. package/dist/esm/components/auth/pages/AuthPage_Register.d.ts.map +1 -1
  343. package/dist/esm/components/auth/pages/AuthPage_Register.js.map +1 -1
  344. package/dist/esm/components/auth/utils/AuthMethodChoiceList.d.ts +54 -0
  345. package/dist/esm/components/auth/utils/AuthMethodChoiceList.d.ts.map +1 -0
  346. package/dist/esm/components/auth/utils/AuthMethodChoiceList.js +53 -0
  347. package/dist/esm/components/auth/utils/AuthMethodChoiceList.js.map +1 -0
  348. package/dist/esm/components/auth/utils/AuthMethodIcon.d.ts +15 -0
  349. package/dist/esm/components/auth/utils/AuthMethodIcon.d.ts.map +1 -0
  350. package/dist/esm/components/auth/utils/AuthMethodIcon.js +16 -0
  351. package/dist/esm/components/auth/utils/AuthMethodIcon.js.map +1 -0
  352. package/dist/esm/components/auth/utils/AuthSecondaryLink.d.ts +24 -0
  353. package/dist/esm/components/auth/utils/AuthSecondaryLink.d.ts.map +1 -0
  354. package/dist/esm/components/auth/utils/AuthSecondaryLink.js +20 -0
  355. package/dist/esm/components/auth/utils/AuthSecondaryLink.js.map +1 -0
  356. package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.d.ts.map +1 -1
  357. package/dist/esm/components/auth/utils/AuthSingleFieldFormLayout.js.map +1 -1
  358. package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.d.ts.map +1 -1
  359. package/dist/esm/components/auth/utils/CredentialUsernameAutofillField.js.map +1 -1
  360. package/dist/esm/components/auth/utils/LabeledDivider.d.ts.map +1 -1
  361. package/dist/esm/components/auth/utils/LabeledDivider.js.map +1 -1
  362. package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts +11 -1
  363. package/dist/esm/components/auth/utils/OAuthProvidersSection.d.ts.map +1 -1
  364. package/dist/esm/components/auth/utils/OAuthProvidersSection.js +5 -3
  365. package/dist/esm/components/auth/utils/OAuthProvidersSection.js.map +1 -1
  366. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts +8 -1
  367. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.d.ts.map +1 -1
  368. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js +15 -6
  369. package/dist/esm/components/auth/utils/PasswordStrengthIndicator.js.map +1 -1
  370. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.d.ts.map +1 -1
  371. package/dist/esm/components/auth/utils/oauth-provider-display-label.frontend.utils.js.map +1 -1
  372. package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.d.ts.map +1 -1
  373. package/dist/esm/components/auth/utils/resolvePasswordViolationsToLabels.js.map +1 -1
  374. package/dist/esm/components/auth/utils/useMfaContinuationNavigation.d.ts +32 -0
  375. package/dist/esm/components/auth/utils/useMfaContinuationNavigation.d.ts.map +1 -0
  376. package/dist/esm/components/auth/utils/useMfaContinuationNavigation.js +44 -0
  377. package/dist/esm/components/auth/utils/useMfaContinuationNavigation.js.map +1 -0
  378. package/dist/esm/components/billing/billing-invoice-history.d.ts +1 -0
  379. package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
  380. package/dist/esm/components/billing/billing-invoice-history.js +7 -3
  381. package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
  382. package/dist/esm/components/billing/billing-plan-change-preview.d.ts +17 -0
  383. package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +1 -0
  384. package/dist/esm/components/billing/billing-plan-change-preview.js +8 -0
  385. package/dist/esm/components/billing/billing-plan-change-preview.js.map +1 -0
  386. package/dist/esm/components/billing/billing-portal-link.d.ts +1 -0
  387. package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
  388. package/dist/esm/components/billing/billing-portal-link.js +6 -2
  389. package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
  390. package/dist/esm/components/billing/billing-pricing-table.d.ts +4 -1
  391. package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
  392. package/dist/esm/components/billing/billing-pricing-table.js +30 -8
  393. package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
  394. package/dist/esm/components/billing/billing-subscription-status.d.ts +1 -0
  395. package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
  396. package/dist/esm/components/billing/billing-subscription-status.js +8 -4
  397. package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
  398. package/dist/esm/components/billing/billing-usage-dashboard.d.ts +2 -0
  399. package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
  400. package/dist/esm/components/billing/billing-usage-dashboard.js +9 -4
  401. package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
  402. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.d.ts +74 -0
  403. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.d.ts.map +1 -0
  404. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js +197 -0
  405. package/dist/esm/components/compliance/GovernedDocumentAcceptanceControl.js.map +1 -0
  406. package/dist/esm/components/data-display/AutomaticDisplayer.d.ts +28 -2
  407. package/dist/esm/components/data-display/AutomaticDisplayer.d.ts.map +1 -1
  408. package/dist/esm/components/data-display/AutomaticDisplayer.js +18 -9
  409. package/dist/esm/components/data-display/AutomaticDisplayer.js.map +1 -1
  410. package/dist/esm/components/data-display/DisplayContextKindContext.d.ts +43 -0
  411. package/dist/esm/components/data-display/DisplayContextKindContext.d.ts.map +1 -1
  412. package/dist/esm/components/data-display/DisplayContextKindContext.js +45 -0
  413. package/dist/esm/components/data-display/DisplayContextKindContext.js.map +1 -1
  414. package/dist/esm/components/data-display/DisplayField.d.ts.map +1 -1
  415. package/dist/esm/components/data-display/DisplayField.js +92 -9
  416. package/dist/esm/components/data-display/DisplayField.js.map +1 -1
  417. package/dist/esm/components/data-display/DisplayFieldArray.d.ts.map +1 -1
  418. package/dist/esm/components/data-display/DisplayFieldArray.js.map +1 -1
  419. package/dist/esm/components/data-display/DisplayFieldEditable.d.ts.map +1 -1
  420. package/dist/esm/components/data-display/DisplayFieldEditable.js +8 -3
  421. package/dist/esm/components/data-display/DisplayFieldEditable.js.map +1 -1
  422. package/dist/esm/components/data-display/DisplayFieldEditableArray.d.ts.map +1 -1
  423. package/dist/esm/components/data-display/DisplayFieldEditableArray.js +7 -5
  424. package/dist/esm/components/data-display/DisplayFieldEditableArray.js.map +1 -1
  425. package/dist/esm/components/data-display/DisplayFieldReadOnly.d.ts.map +1 -1
  426. package/dist/esm/components/data-display/DisplayFieldReadOnly.js.map +1 -1
  427. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.d.ts.map +1 -1
  428. package/dist/esm/components/data-display/DisplayFieldReadOnlyArraySection.js.map +1 -1
  429. package/dist/esm/components/data-display/DisplayTemplateContext.d.ts +11 -0
  430. package/dist/esm/components/data-display/DisplayTemplateContext.d.ts.map +1 -1
  431. package/dist/esm/components/data-display/DisplayTemplateContext.js.map +1 -1
  432. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts +2 -2
  433. package/dist/esm/components/data-display/DisplayValueDispatcher.d.ts.map +1 -1
  434. package/dist/esm/components/data-display/DisplayValueDispatcher.js +162 -15
  435. package/dist/esm/components/data-display/DisplayValueDispatcher.js.map +1 -1
  436. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts +4 -0
  437. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.d.ts.map +1 -1
  438. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js +97 -14
  439. package/dist/esm/components/data-display/ResourceAutomaticDisplayer.js.map +1 -1
  440. package/dist/esm/components/data-display/ResourceSummaryDisplayer.d.ts.map +1 -1
  441. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js +6 -1
  442. package/dist/esm/components/data-display/ResourceSummaryDisplayer.js.map +1 -1
  443. package/dist/esm/components/data-display/SummaryContext.d.ts.map +1 -1
  444. package/dist/esm/components/data-display/SummaryContext.js.map +1 -1
  445. package/dist/esm/components/data-display/automatic-displayer.utils.d.ts +19 -0
  446. package/dist/esm/components/data-display/automatic-displayer.utils.d.ts.map +1 -1
  447. package/dist/esm/components/data-display/automatic-displayer.utils.js.map +1 -1
  448. package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
  449. package/dist/esm/components/data-display/avatar.js.map +1 -1
  450. package/dist/esm/components/data-display/badge-tone.d.ts +37 -0
  451. package/dist/esm/components/data-display/badge-tone.d.ts.map +1 -0
  452. package/dist/esm/components/data-display/badge-tone.js +54 -0
  453. package/dist/esm/components/data-display/badge-tone.js.map +1 -0
  454. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  455. package/dist/esm/components/data-display/badge.js.map +1 -1
  456. package/dist/esm/components/data-display/chart-echarts.d.ts.map +1 -1
  457. package/dist/esm/components/data-display/chart-echarts.js.map +1 -1
  458. package/dist/esm/components/data-display/chromes/DisplayChromeContext.d.ts.map +1 -1
  459. package/dist/esm/components/data-display/chromes/DisplayChromeContext.js.map +1 -1
  460. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts +23 -6
  461. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.d.ts.map +1 -1
  462. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js +17 -12
  463. package/dist/esm/components/data-display/chromes/DisplayFieldChrome.js.map +1 -1
  464. package/dist/esm/components/data-display/description-list.d.ts +5 -1
  465. package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
  466. package/dist/esm/components/data-display/description-list.js.map +1 -1
  467. package/dist/esm/components/data-display/display-field-resolution.utils.d.ts +14 -7
  468. package/dist/esm/components/data-display/display-field-resolution.utils.d.ts.map +1 -1
  469. package/dist/esm/components/data-display/display-field-resolution.utils.js +17 -36
  470. package/dist/esm/components/data-display/display-field-resolution.utils.js.map +1 -1
  471. package/dist/esm/components/data-display/display-field-resolved-props.d.ts.map +1 -1
  472. package/dist/esm/components/data-display/display-field-resolved-props.js.map +1 -1
  473. package/dist/esm/components/data-display/display-resource-link-trail.d.ts.map +1 -1
  474. package/dist/esm/components/data-display/display-resource-link-trail.js.map +1 -1
  475. package/dist/esm/components/data-display/duration.d.ts +46 -0
  476. package/dist/esm/components/data-display/duration.d.ts.map +1 -0
  477. package/dist/esm/components/data-display/duration.js +9 -0
  478. package/dist/esm/components/data-display/duration.js.map +1 -0
  479. package/dist/esm/components/data-display/formatters/display-field-address.d.ts +22 -0
  480. package/dist/esm/components/data-display/formatters/display-field-address.d.ts.map +1 -0
  481. package/dist/esm/components/data-display/formatters/display-field-address.js +8 -0
  482. package/dist/esm/components/data-display/formatters/display-field-address.js.map +1 -0
  483. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
  484. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
  485. package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
  486. package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
  487. package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
  488. package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
  489. package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
  490. package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
  491. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
  492. package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
  493. package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
  494. package/dist/esm/components/data-display/formatters/display-field-duration.js.map +1 -1
  495. package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
  496. package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
  497. package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
  498. package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
  499. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
  500. package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
  501. package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
  502. package/dist/esm/components/data-display/formatters/display-field-file-gallery.js.map +1 -1
  503. package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
  504. package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
  505. package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
  506. package/dist/esm/components/data-display/formatters/display-field-file-video.js.map +1 -1
  507. package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
  508. package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
  509. package/dist/esm/components/data-display/formatters/display-field-json.d.ts.map +1 -1
  510. package/dist/esm/components/data-display/formatters/display-field-json.js.map +1 -1
  511. package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
  512. package/dist/esm/components/data-display/formatters/display-field-money.js.map +1 -1
  513. package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
  514. package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
  515. package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
  516. package/dist/esm/components/data-display/formatters/display-field-phone.js.map +1 -1
  517. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
  518. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.js.map +1 -1
  519. package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
  520. package/dist/esm/components/data-display/formatters/display-field-range-date.js.map +1 -1
  521. package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
  522. package/dist/esm/components/data-display/formatters/display-field-range-datetime.js.map +1 -1
  523. package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
  524. package/dist/esm/components/data-display/formatters/display-field-range-money.js.map +1 -1
  525. package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
  526. package/dist/esm/components/data-display/formatters/display-field-range-number.js.map +1 -1
  527. package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
  528. package/dist/esm/components/data-display/formatters/display-field-range-time.js.map +1 -1
  529. package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
  530. package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
  531. package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
  532. package/dist/esm/components/data-display/formatters/display-field-time.js.map +1 -1
  533. package/dist/esm/components/data-display/identifier.d.ts +54 -0
  534. package/dist/esm/components/data-display/identifier.d.ts.map +1 -0
  535. package/dist/esm/components/data-display/identifier.js +9 -0
  536. package/dist/esm/components/data-display/identifier.js.map +1 -0
  537. package/dist/esm/components/data-display/kbd.d.ts +32 -0
  538. package/dist/esm/components/data-display/kbd.d.ts.map +1 -0
  539. package/dist/esm/components/data-display/kbd.js +9 -0
  540. package/dist/esm/components/data-display/kbd.js.map +1 -0
  541. package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
  542. package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
  543. package/dist/esm/components/data-display/timeline.d.ts +89 -0
  544. package/dist/esm/components/data-display/timeline.d.ts.map +1 -0
  545. package/dist/esm/components/data-display/timeline.js +31 -0
  546. package/dist/esm/components/data-display/timeline.js.map +1 -0
  547. package/dist/esm/components/data-display/useFileActivation.d.ts.map +1 -1
  548. package/dist/esm/components/data-display/useFileActivation.js.map +1 -1
  549. package/dist/esm/components/feedback/celebration-overlay.d.ts +20 -1
  550. package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
  551. package/dist/esm/components/feedback/celebration-overlay.js +35 -15
  552. package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
  553. package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
  554. package/dist/esm/components/feedback/danger-zone.js.map +1 -1
  555. package/dist/esm/components/feedback/empty-display-policy.utils.d.ts.map +1 -1
  556. package/dist/esm/components/feedback/empty-display-policy.utils.js.map +1 -1
  557. package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
  558. package/dist/esm/components/feedback/empty-state.js.map +1 -1
  559. package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
  560. package/dist/esm/components/feedback/error-display.js.map +1 -1
  561. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  562. package/dist/esm/components/feedback/features/feature-limit-indicator.js.map +1 -1
  563. package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
  564. package/dist/esm/components/feedback/features/feature-lock-badge.js.map +1 -1
  565. package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
  566. package/dist/esm/components/feedback/features/feature-unavailable-dialog.js.map +1 -1
  567. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
  568. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
  569. package/dist/esm/components/feedback/lazy-door-error-boundary.d.ts +57 -0
  570. package/dist/esm/components/feedback/lazy-door-error-boundary.d.ts.map +1 -0
  571. package/dist/esm/components/feedback/lazy-door-error-boundary.js +66 -0
  572. package/dist/esm/components/feedback/lazy-door-error-boundary.js.map +1 -0
  573. package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
  574. package/dist/esm/components/feedback/loading-overlay.js.map +1 -1
  575. package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
  576. package/dist/esm/components/feedback/loading-spinner.js.map +1 -1
  577. package/dist/esm/components/feedback/notification-center.d.ts +8 -8
  578. package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
  579. package/dist/esm/components/feedback/notification-center.js +7 -6
  580. package/dist/esm/components/feedback/notification-center.js.map +1 -1
  581. package/dist/esm/components/feedback/operations-confirm-critical.d.ts +13 -0
  582. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  583. package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
  584. package/dist/esm/components/feedback/progress.d.ts.map +1 -1
  585. package/dist/esm/components/feedback/progress.js.map +1 -1
  586. package/dist/esm/components/feedback/resource-empty-state.d.ts.map +1 -1
  587. package/dist/esm/components/feedback/resource-empty-state.js.map +1 -1
  588. package/dist/esm/components/feedback/skeleton-text.d.ts.map +1 -1
  589. package/dist/esm/components/feedback/skeleton-text.js.map +1 -1
  590. package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
  591. package/dist/esm/components/feedback/skeleton.js.map +1 -1
  592. package/dist/esm/components/feedback/toast.d.ts.map +1 -1
  593. package/dist/esm/components/feedback/toast.js.map +1 -1
  594. package/dist/esm/components/files/Files_UploadGrantDrop.d.ts.map +1 -1
  595. package/dist/esm/components/files/Files_UploadGrantDrop.js +13 -11
  596. package/dist/esm/components/files/Files_UploadGrantDrop.js.map +1 -1
  597. package/dist/esm/components/files/Files_UploadGrantDrop.labels.d.ts.map +1 -1
  598. package/dist/esm/components/files/Files_UploadGrantDrop.labels.js.map +1 -1
  599. package/dist/esm/components/files/pages/FilesPage_UploadGrant.d.ts.map +1 -1
  600. package/dist/esm/components/files/pages/FilesPage_UploadGrant.js.map +1 -1
  601. package/dist/esm/components/flows-actors/actor.d.ts.map +1 -1
  602. package/dist/esm/components/flows-actors/actor.js +6 -2
  603. package/dist/esm/components/flows-actors/actor.js.map +1 -1
  604. package/dist/esm/components/flows-actors/actor.labels.d.ts.map +1 -1
  605. package/dist/esm/components/flows-actors/actor.labels.js.map +1 -1
  606. package/dist/esm/components/flows-actors/agent-config.d.ts.map +1 -1
  607. package/dist/esm/components/flows-actors/agent-config.js +0 -1
  608. package/dist/esm/components/flows-actors/agent-config.js.map +1 -1
  609. package/dist/esm/components/flows-actors/agent-config.labels.d.ts.map +1 -1
  610. package/dist/esm/components/flows-actors/agent-config.labels.js +5 -4
  611. package/dist/esm/components/flows-actors/agent-config.labels.js.map +1 -1
  612. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.d.ts +14 -0
  613. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.d.ts.map +1 -0
  614. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js +30 -0
  615. package/dist/esm/components/flows-actors/approval-modification-refusal.utils.js.map +1 -0
  616. package/dist/esm/components/flows-actors/approval.d.ts.map +1 -1
  617. package/dist/esm/components/flows-actors/approval.js +74 -13
  618. package/dist/esm/components/flows-actors/approval.js.map +1 -1
  619. package/dist/esm/components/flows-actors/approval.labels.d.ts.map +1 -1
  620. package/dist/esm/components/flows-actors/approval.labels.js +15 -0
  621. package/dist/esm/components/flows-actors/approval.labels.js.map +1 -1
  622. package/dist/esm/components/flows-actors/artifact-browser.d.ts.map +1 -1
  623. package/dist/esm/components/flows-actors/artifact-browser.js.map +1 -1
  624. package/dist/esm/components/flows-actors/artifact-browser.labels.d.ts.map +1 -1
  625. package/dist/esm/components/flows-actors/artifact-browser.labels.js.map +1 -1
  626. package/dist/esm/components/flows-actors/execution-plan.d.ts.map +1 -1
  627. package/dist/esm/components/flows-actors/execution-plan.js +1 -1
  628. package/dist/esm/components/flows-actors/execution-plan.js.map +1 -1
  629. package/dist/esm/components/flows-actors/execution-plan.labels.d.ts.map +1 -1
  630. package/dist/esm/components/flows-actors/execution-plan.labels.js.map +1 -1
  631. package/dist/esm/components/flows-actors/flow-execution.d.ts.map +1 -1
  632. package/dist/esm/components/flows-actors/flow-execution.js +8 -10
  633. package/dist/esm/components/flows-actors/flow-execution.js.map +1 -1
  634. package/dist/esm/components/flows-actors/flow-execution.labels.d.ts.map +1 -1
  635. package/dist/esm/components/flows-actors/flow-execution.labels.js.map +1 -1
  636. package/dist/esm/components/flows-actors/flow-node-badges.d.ts +3 -0
  637. package/dist/esm/components/flows-actors/flow-node-badges.d.ts.map +1 -1
  638. package/dist/esm/components/flows-actors/flow-node-badges.js +37 -10
  639. package/dist/esm/components/flows-actors/flow-node-badges.js.map +1 -1
  640. package/dist/esm/components/flows-actors/flow-node.d.ts.map +1 -1
  641. package/dist/esm/components/flows-actors/flow-node.js.map +1 -1
  642. package/dist/esm/components/flows-actors/flow-node.labels.d.ts.map +1 -1
  643. package/dist/esm/components/flows-actors/flow-node.labels.js.map +1 -1
  644. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.d.ts.map +1 -1
  645. package/dist/esm/components/flows-actors/flows-actors-graph-runtime.js.map +1 -1
  646. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.d.ts.map +1 -1
  647. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js +13 -12
  648. package/dist/esm/components/flows-actors/flows-actors-graph.lazy.js.map +1 -1
  649. package/dist/esm/components/flows-actors/flows-actors-ui.utils.d.ts.map +1 -1
  650. package/dist/esm/components/flows-actors/flows-actors-ui.utils.js.map +1 -1
  651. package/dist/esm/components/flows-actors/system-catalog.d.ts.map +1 -1
  652. package/dist/esm/components/flows-actors/system-catalog.js +3 -3
  653. package/dist/esm/components/flows-actors/system-catalog.js.map +1 -1
  654. package/dist/esm/components/flows-actors/system-catalog.labels.d.ts.map +1 -1
  655. package/dist/esm/components/flows-actors/system-catalog.labels.js +0 -1
  656. package/dist/esm/components/flows-actors/system-catalog.labels.js.map +1 -1
  657. package/dist/esm/components/flows-actors/task-detail.d.ts.map +1 -1
  658. package/dist/esm/components/flows-actors/task-detail.js +4 -2
  659. package/dist/esm/components/flows-actors/task-detail.js.map +1 -1
  660. package/dist/esm/components/flows-actors/task-detail.labels.d.ts.map +1 -1
  661. package/dist/esm/components/flows-actors/task-detail.labels.js.map +1 -1
  662. package/dist/esm/components/flows-actors/task-memory.d.ts.map +1 -1
  663. package/dist/esm/components/flows-actors/task-memory.js +1 -1
  664. package/dist/esm/components/flows-actors/task-memory.js.map +1 -1
  665. package/dist/esm/components/flows-actors/task-memory.labels.d.ts.map +1 -1
  666. package/dist/esm/components/flows-actors/task-memory.labels.js.map +1 -1
  667. package/dist/esm/components/form/Form.d.ts +5 -4
  668. package/dist/esm/components/form/Form.d.ts.map +1 -1
  669. package/dist/esm/components/form/Form.js +12 -9
  670. package/dist/esm/components/form/Form.js.map +1 -1
  671. package/dist/esm/components/form/automated/AutomatedArrayField.d.ts.map +1 -1
  672. package/dist/esm/components/form/automated/AutomatedArrayField.js +44 -34
  673. package/dist/esm/components/form/automated/AutomatedArrayField.js.map +1 -1
  674. package/dist/esm/components/form/automated/AutomatedForm.d.ts.map +1 -1
  675. package/dist/esm/components/form/automated/AutomatedForm.js.map +1 -1
  676. package/dist/esm/components/form/automated/AutosaveContext.d.ts.map +1 -1
  677. package/dist/esm/components/form/automated/AutosaveContext.js +4 -2
  678. package/dist/esm/components/form/automated/AutosaveContext.js.map +1 -1
  679. package/dist/esm/components/form/automated/FormField.d.ts +12 -1
  680. package/dist/esm/components/form/automated/FormField.d.ts.map +1 -1
  681. package/dist/esm/components/form/automated/FormField.js +126 -30
  682. package/dist/esm/components/form/automated/FormField.js.map +1 -1
  683. package/dist/esm/components/form/automated/FormFieldArray.d.ts.map +1 -1
  684. package/dist/esm/components/form/automated/FormFieldArray.js.map +1 -1
  685. package/dist/esm/components/form/automated/FormFieldComposite.d.ts.map +1 -1
  686. package/dist/esm/components/form/automated/FormFieldComposite.js.map +1 -1
  687. package/dist/esm/components/form/automated/FormFieldRecord.d.ts.map +1 -1
  688. package/dist/esm/components/form/automated/FormFieldRecord.js.map +1 -1
  689. package/dist/esm/components/form/automated/FormTemplateContext.d.ts.map +1 -1
  690. package/dist/esm/components/form/automated/FormTemplateContext.js.map +1 -1
  691. package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.d.ts.map +1 -1
  692. package/dist/esm/components/form/automated/GeneratedAssociationRelationshipField.js.map +1 -1
  693. package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.d.ts.map +1 -1
  694. package/dist/esm/components/form/automated/GeneratedReferenceRelationshipField.js.map +1 -1
  695. package/dist/esm/components/form/automated/ResourceAutomatedForm.d.ts.map +1 -1
  696. package/dist/esm/components/form/automated/ResourceAutomatedForm.js +140 -40
  697. package/dist/esm/components/form/automated/ResourceAutomatedForm.js.map +1 -1
  698. package/dist/esm/components/form/automated/ResourceFormActionsContext.d.ts.map +1 -1
  699. package/dist/esm/components/form/automated/ResourceFormActionsContext.js.map +1 -1
  700. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts +20 -0
  701. package/dist/esm/components/form/automated/automated-form-submit.utils.d.ts.map +1 -1
  702. package/dist/esm/components/form/automated/automated-form-submit.utils.js +46 -0
  703. package/dist/esm/components/form/automated/automated-form-submit.utils.js.map +1 -1
  704. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.d.ts.map +1 -1
  705. package/dist/esm/components/form/automated/autosave-derivation.frontend.utils.js.map +1 -1
  706. package/dist/esm/components/form/automated/autosave-indicator.d.ts.map +1 -1
  707. package/dist/esm/components/form/automated/autosave-indicator.js.map +1 -1
  708. package/dist/esm/components/form/automated/autosave-indicator.utils.d.ts.map +1 -1
  709. package/dist/esm/components/form/automated/autosave-indicator.utils.js.map +1 -1
  710. package/dist/esm/components/form/automated/create-form-default-values.utils.d.ts.map +1 -1
  711. package/dist/esm/components/form/automated/create-form-default-values.utils.js.map +1 -1
  712. package/dist/esm/components/form/automated/field-clearing-rule.frontend.utils.d.ts +42 -0
  713. package/dist/esm/components/form/automated/field-clearing-rule.frontend.utils.d.ts.map +1 -0
  714. package/dist/esm/components/form/automated/field-clearing-rule.frontend.utils.js +47 -0
  715. package/dist/esm/components/form/automated/field-clearing-rule.frontend.utils.js.map +1 -0
  716. package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.d.ts.map +1 -1
  717. package/dist/esm/components/form/automated/form-field-autocomplete.frontend.utils.js.map +1 -1
  718. package/dist/esm/components/form/automated/generated-relationship-field.helpers.d.ts.map +1 -1
  719. package/dist/esm/components/form/automated/generated-relationship-field.helpers.js.map +1 -1
  720. package/dist/esm/components/form/automated/generated-relationship-field.hooks.d.ts.map +1 -1
  721. package/dist/esm/components/form/automated/generated-relationship-field.hooks.js.map +1 -1
  722. package/dist/esm/components/form/automated/generated-relationship-field.shared.d.ts.map +1 -1
  723. package/dist/esm/components/form/automated/generated-relationship-field.shared.js.map +1 -1
  724. package/dist/esm/components/form/automated/generated-relationship-field.utils.d.ts.map +1 -1
  725. package/dist/esm/components/form/automated/generated-relationship-field.utils.js.map +1 -1
  726. package/dist/esm/components/form/automated/useArrayItemAutosaveField.d.ts.map +1 -1
  727. package/dist/esm/components/form/automated/useArrayItemAutosaveField.js.map +1 -1
  728. package/dist/esm/components/form/chromes/FormChromeContext.d.ts.map +1 -1
  729. package/dist/esm/components/form/chromes/FormChromeContext.js.map +1 -1
  730. package/dist/esm/components/form/chromes/FormFieldChrome.d.ts.map +1 -1
  731. package/dist/esm/components/form/chromes/FormFieldChrome.js +32 -20
  732. package/dist/esm/components/form/chromes/FormFieldChrome.js.map +1 -1
  733. package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
  734. package/dist/esm/components/form/chromes/field.js.map +1 -1
  735. package/dist/esm/components/form/chromes/form-primitives.d.ts.map +1 -1
  736. package/dist/esm/components/form/chromes/form-primitives.js.map +1 -1
  737. package/dist/esm/components/form/combobox.d.ts.map +1 -1
  738. package/dist/esm/components/form/combobox.js.map +1 -1
  739. package/dist/esm/components/form/controls/boolean/checkbox.d.ts +10 -0
  740. package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
  741. package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
  742. package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
  743. package/dist/esm/components/form/controls/boolean/switch.js.map +1 -1
  744. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
  745. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.js.map +1 -1
  746. package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
  747. package/dist/esm/components/form/controls/boolean/toggle.js.map +1 -1
  748. package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
  749. package/dist/esm/components/form/controls/date-time/calendar.js.map +1 -1
  750. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  751. package/dist/esm/components/form/controls/date-time/date-range-picker.js.map +1 -1
  752. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  753. package/dist/esm/components/form/controls/date-time/datepicker.js.map +1 -1
  754. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  755. package/dist/esm/components/form/controls/date-time/datetime-picker.js.map +1 -1
  756. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  757. package/dist/esm/components/form/controls/date-time/datetime-range-picker.js.map +1 -1
  758. package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
  759. package/dist/esm/components/form/controls/date-time/time-picker.js.map +1 -1
  760. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  761. package/dist/esm/components/form/controls/date-time/time-range-picker.js.map +1 -1
  762. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  763. package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
  764. package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
  765. package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
  766. package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
  767. package/dist/esm/components/form/controls/enum/select.js.map +1 -1
  768. package/dist/esm/components/form/controls/enum/toggle-group.d.ts +23 -0
  769. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  770. package/dist/esm/components/form/controls/enum/toggle-group.js +20 -0
  771. package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
  772. package/dist/esm/components/form/controls/file/file-readiness.frontend.utils.d.ts +19 -0
  773. package/dist/esm/components/form/controls/file/file-readiness.frontend.utils.d.ts.map +1 -0
  774. package/dist/esm/components/form/controls/file/file-readiness.frontend.utils.js +50 -0
  775. package/dist/esm/components/form/controls/file/file-readiness.frontend.utils.js.map +1 -0
  776. package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
  777. package/dist/esm/components/form/controls/file/file-upload.js.map +1 -1
  778. package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
  779. package/dist/esm/components/form/controls/file/image-crop.frontend.utils.d.ts.map +1 -1
  780. package/dist/esm/components/form/controls/file/image-crop.frontend.utils.js.map +1 -1
  781. package/dist/esm/components/form/controls/file/image-crop.js.map +1 -1
  782. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
  783. package/dist/esm/components/form/controls/form-field-checkbox-group.js +33 -32
  784. package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +1 -1
  785. package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
  786. package/dist/esm/components/form/controls/input-group.js.map +1 -1
  787. package/dist/esm/components/form/controls/input.d.ts.map +1 -1
  788. package/dist/esm/components/form/controls/input.js.map +1 -1
  789. package/dist/esm/components/form/controls/number/slider.d.ts +1 -1
  790. package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
  791. package/dist/esm/components/form/controls/number/slider.js.map +1 -1
  792. package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
  793. package/dist/esm/components/form/controls/string/color-input.js.map +1 -1
  794. package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
  795. package/dist/esm/components/form/controls/string/inline-edit-text.js.map +1 -1
  796. package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
  797. package/dist/esm/components/form/controls/string/input-otp.js.map +1 -1
  798. package/dist/esm/components/form/controls/string/markdown-editor.d.ts.map +1 -1
  799. package/dist/esm/components/form/controls/string/markdown-editor.js.map +1 -1
  800. package/dist/esm/components/form/controls/string/markdown-editor.labels.d.ts.map +1 -1
  801. package/dist/esm/components/form/controls/string/markdown-editor.labels.js.map +1 -1
  802. package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
  803. package/dist/esm/components/form/controls/string/password-input.js.map +1 -1
  804. package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
  805. package/dist/esm/components/form/controls/string/textarea.js.map +1 -1
  806. package/dist/esm/components/form/feedback/RemoteChangeNotification.d.ts.map +1 -1
  807. package/dist/esm/components/form/feedback/RemoteChangeNotification.js.map +1 -1
  808. package/dist/esm/components/form/fields/accepted-file-kinds-description.frontend.utils.d.ts +15 -0
  809. package/dist/esm/components/form/fields/accepted-file-kinds-description.frontend.utils.d.ts.map +1 -0
  810. package/dist/esm/components/form/fields/accepted-file-kinds-description.frontend.utils.js +53 -0
  811. package/dist/esm/components/form/fields/accepted-file-kinds-description.frontend.utils.js.map +1 -0
  812. package/dist/esm/components/form/fields/form-field-address.d.ts +56 -0
  813. package/dist/esm/components/form/fields/form-field-address.d.ts.map +1 -0
  814. package/dist/esm/components/form/fields/form-field-address.js +178 -0
  815. package/dist/esm/components/form/fields/form-field-address.js.map +1 -0
  816. package/dist/esm/components/form/fields/form-field-address.labels.d.ts +3 -0
  817. package/dist/esm/components/form/fields/form-field-address.labels.d.ts.map +1 -0
  818. package/dist/esm/components/form/fields/form-field-address.labels.js +53 -0
  819. package/dist/esm/components/form/fields/form-field-address.labels.js.map +1 -0
  820. package/dist/esm/components/form/fields/form-field-bigdecimal.d.ts.map +1 -1
  821. package/dist/esm/components/form/fields/form-field-bigdecimal.js.map +1 -1
  822. package/dist/esm/components/form/fields/form-field-bigdecimal.labels.d.ts.map +1 -1
  823. package/dist/esm/components/form/fields/form-field-bigdecimal.labels.js.map +1 -1
  824. package/dist/esm/components/form/fields/form-field-boolean.d.ts.map +1 -1
  825. package/dist/esm/components/form/fields/form-field-boolean.js.map +1 -1
  826. package/dist/esm/components/form/fields/form-field-boolean.labels.d.ts.map +1 -1
  827. package/dist/esm/components/form/fields/form-field-boolean.labels.js.map +1 -1
  828. package/dist/esm/components/form/fields/form-field-code.d.ts.map +1 -1
  829. package/dist/esm/components/form/fields/form-field-code.js.map +1 -1
  830. package/dist/esm/components/form/fields/form-field-code.labels.d.ts.map +1 -1
  831. package/dist/esm/components/form/fields/form-field-code.labels.js.map +1 -1
  832. package/dist/esm/components/form/fields/form-field-date.d.ts.map +1 -1
  833. package/dist/esm/components/form/fields/form-field-date.js.map +1 -1
  834. package/dist/esm/components/form/fields/form-field-date.labels.d.ts.map +1 -1
  835. package/dist/esm/components/form/fields/form-field-date.labels.js.map +1 -1
  836. package/dist/esm/components/form/fields/form-field-datetime.d.ts.map +1 -1
  837. package/dist/esm/components/form/fields/form-field-datetime.js.map +1 -1
  838. package/dist/esm/components/form/fields/form-field-datetime.labels.d.ts.map +1 -1
  839. package/dist/esm/components/form/fields/form-field-datetime.labels.js.map +1 -1
  840. package/dist/esm/components/form/fields/form-field-duration.d.ts.map +1 -1
  841. package/dist/esm/components/form/fields/form-field-duration.js +5 -7
  842. package/dist/esm/components/form/fields/form-field-duration.js.map +1 -1
  843. package/dist/esm/components/form/fields/form-field-duration.labels.d.ts.map +1 -1
  844. package/dist/esm/components/form/fields/form-field-duration.labels.js.map +1 -1
  845. package/dist/esm/components/form/fields/form-field-enum.d.ts +14 -1
  846. package/dist/esm/components/form/fields/form-field-enum.d.ts.map +1 -1
  847. package/dist/esm/components/form/fields/form-field-enum.js +310 -32
  848. package/dist/esm/components/form/fields/form-field-enum.js.map +1 -1
  849. package/dist/esm/components/form/fields/form-field-enum.labels.d.ts.map +1 -1
  850. package/dist/esm/components/form/fields/form-field-enum.labels.js.map +1 -1
  851. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts +18 -27
  852. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.d.ts.map +1 -1
  853. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js +19 -46
  854. package/dist/esm/components/form/fields/form-field-file-provider-constraints.frontend.utils.js.map +1 -1
  855. package/dist/esm/components/form/fields/form-field-file.d.ts.map +1 -1
  856. package/dist/esm/components/form/fields/form-field-file.js +267 -114
  857. package/dist/esm/components/form/fields/form-field-file.js.map +1 -1
  858. package/dist/esm/components/form/fields/form-field-file.labels.d.ts.map +1 -1
  859. package/dist/esm/components/form/fields/form-field-file.labels.js +18 -2
  860. package/dist/esm/components/form/fields/form-field-file.labels.js.map +1 -1
  861. package/dist/esm/components/form/fields/form-field-money.d.ts.map +1 -1
  862. package/dist/esm/components/form/fields/form-field-money.js +8 -34
  863. package/dist/esm/components/form/fields/form-field-money.js.map +1 -1
  864. package/dist/esm/components/form/fields/form-field-money.labels.d.ts.map +1 -1
  865. package/dist/esm/components/form/fields/form-field-money.labels.js.map +1 -1
  866. package/dist/esm/components/form/fields/form-field-number.d.ts.map +1 -1
  867. package/dist/esm/components/form/fields/form-field-number.js.map +1 -1
  868. package/dist/esm/components/form/fields/form-field-number.labels.d.ts.map +1 -1
  869. package/dist/esm/components/form/fields/form-field-number.labels.js.map +1 -1
  870. package/dist/esm/components/form/fields/form-field-phone.d.ts.map +1 -1
  871. package/dist/esm/components/form/fields/form-field-phone.js.map +1 -1
  872. package/dist/esm/components/form/fields/form-field-phone.labels.d.ts.map +1 -1
  873. package/dist/esm/components/form/fields/form-field-phone.labels.js.map +1 -1
  874. package/dist/esm/components/form/fields/form-field-range-bigdecimal.d.ts.map +1 -1
  875. package/dist/esm/components/form/fields/form-field-range-bigdecimal.js.map +1 -1
  876. package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.d.ts.map +1 -1
  877. package/dist/esm/components/form/fields/form-field-range-bigdecimal.labels.js.map +1 -1
  878. package/dist/esm/components/form/fields/form-field-range-date.d.ts.map +1 -1
  879. package/dist/esm/components/form/fields/form-field-range-date.js.map +1 -1
  880. package/dist/esm/components/form/fields/form-field-range-date.labels.d.ts.map +1 -1
  881. package/dist/esm/components/form/fields/form-field-range-date.labels.js.map +1 -1
  882. package/dist/esm/components/form/fields/form-field-range-datetime.d.ts.map +1 -1
  883. package/dist/esm/components/form/fields/form-field-range-datetime.js.map +1 -1
  884. package/dist/esm/components/form/fields/form-field-range-datetime.labels.d.ts.map +1 -1
  885. package/dist/esm/components/form/fields/form-field-range-datetime.labels.js.map +1 -1
  886. package/dist/esm/components/form/fields/form-field-range-money.d.ts.map +1 -1
  887. package/dist/esm/components/form/fields/form-field-range-money.js.map +1 -1
  888. package/dist/esm/components/form/fields/form-field-range-money.labels.d.ts.map +1 -1
  889. package/dist/esm/components/form/fields/form-field-range-money.labels.js.map +1 -1
  890. package/dist/esm/components/form/fields/form-field-range-number.d.ts.map +1 -1
  891. package/dist/esm/components/form/fields/form-field-range-number.js.map +1 -1
  892. package/dist/esm/components/form/fields/form-field-range-number.labels.d.ts.map +1 -1
  893. package/dist/esm/components/form/fields/form-field-range-number.labels.js.map +1 -1
  894. package/dist/esm/components/form/fields/form-field-range-time.d.ts.map +1 -1
  895. package/dist/esm/components/form/fields/form-field-range-time.js.map +1 -1
  896. package/dist/esm/components/form/fields/form-field-range-time.labels.d.ts.map +1 -1
  897. package/dist/esm/components/form/fields/form-field-range-time.labels.js.map +1 -1
  898. package/dist/esm/components/form/fields/form-field-string.d.ts.map +1 -1
  899. package/dist/esm/components/form/fields/form-field-string.js.map +1 -1
  900. package/dist/esm/components/form/fields/form-field-string.labels.d.ts.map +1 -1
  901. package/dist/esm/components/form/fields/form-field-string.labels.js.map +1 -1
  902. package/dist/esm/components/form/fields/form-field-time.d.ts.map +1 -1
  903. package/dist/esm/components/form/fields/form-field-time.js.map +1 -1
  904. package/dist/esm/components/form/fields/form-field-time.labels.d.ts.map +1 -1
  905. package/dist/esm/components/form/fields/form-field-time.labels.js.map +1 -1
  906. package/dist/esm/components/form/fields/useFormField.d.ts.map +1 -1
  907. package/dist/esm/components/form/fields/useFormField.js.map +1 -1
  908. package/dist/esm/components/form/form-context.d.ts.map +1 -1
  909. package/dist/esm/components/form/form-context.js.map +1 -1
  910. package/dist/esm/components/form/form-context.utils.d.ts.map +1 -1
  911. package/dist/esm/components/form/form-context.utils.js.map +1 -1
  912. package/dist/esm/components/form/form-external-validation.d.ts +11 -0
  913. package/dist/esm/components/form/form-external-validation.d.ts.map +1 -0
  914. package/dist/esm/components/form/form-external-validation.js +17 -0
  915. package/dist/esm/components/form/form-external-validation.js.map +1 -0
  916. package/dist/esm/components/form/form-field-types.d.ts +20 -0
  917. package/dist/esm/components/form/form-field-types.d.ts.map +1 -1
  918. package/dist/esm/components/form/form-field-types.js.map +1 -1
  919. package/dist/esm/components/form/useFormSchemaContext.d.ts.map +1 -1
  920. package/dist/esm/components/form/useFormSchemaContext.js.map +1 -1
  921. package/dist/esm/components/form/validation-errors/FormErrorSummary.d.ts.map +1 -1
  922. package/dist/esm/components/form/validation-errors/FormErrorSummary.js.map +1 -1
  923. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts +13 -12
  924. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.d.ts.map +1 -1
  925. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.js +15 -17
  926. package/dist/esm/components/form/validation-errors/form-error-extraction.utils.js.map +1 -1
  927. package/dist/esm/components/form/validation-errors/form-validation.d.ts.map +1 -1
  928. package/dist/esm/components/form/validation-errors/form-validation.js.map +1 -1
  929. package/dist/esm/components/form/validation-errors/getFieldError.d.ts +6 -0
  930. package/dist/esm/components/form/validation-errors/getFieldError.d.ts.map +1 -1
  931. package/dist/esm/components/form/validation-errors/getFieldError.js +12 -1
  932. package/dist/esm/components/form/validation-errors/getFieldError.js.map +1 -1
  933. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.d.ts +23 -0
  934. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.d.ts.map +1 -0
  935. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.js +10 -0
  936. package/dist/esm/components/form/validation-errors/resource-error-notification-context.utils.js.map +1 -0
  937. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.d.ts.map +1 -1
  938. package/dist/esm/components/form/validation-errors/scroll-to-first-error.utils.js.map +1 -1
  939. package/dist/esm/components/form/validation-errors/unstarted-field-visit.d.ts +60 -0
  940. package/dist/esm/components/form/validation-errors/unstarted-field-visit.d.ts.map +1 -0
  941. package/dist/esm/components/form/validation-errors/unstarted-field-visit.js +79 -0
  942. package/dist/esm/components/form/validation-errors/unstarted-field-visit.js.map +1 -0
  943. package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.d.ts.map +1 -1
  944. package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.js +5 -2
  945. package/dist/esm/components/form/validation-errors/useFieldUniquenessValidation.js.map +1 -1
  946. package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts +6 -1
  947. package/dist/esm/components/form/validation-errors/useServerErrorInjection.d.ts.map +1 -1
  948. package/dist/esm/components/form/validation-errors/useServerErrorInjection.js +10 -2
  949. package/dist/esm/components/form/validation-errors/useServerErrorInjection.js.map +1 -1
  950. package/dist/esm/components/form/validation-errors/validate-field-url.frontend.d.ts +32 -0
  951. package/dist/esm/components/form/validation-errors/validate-field-url.frontend.d.ts.map +1 -0
  952. package/dist/esm/components/form/validation-errors/validate-field-url.frontend.js +35 -0
  953. package/dist/esm/components/form/validation-errors/validate-field-url.frontend.js.map +1 -0
  954. package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts +17 -0
  955. package/dist/esm/components/form/validation-errors/zod-issue-resolver.d.ts.map +1 -0
  956. package/dist/esm/components/form/validation-errors/zod-issue-resolver.js +73 -0
  957. package/dist/esm/components/form/validation-errors/zod-issue-resolver.js.map +1 -0
  958. package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
  959. package/dist/esm/components/layout/aspect-ratio.js.map +1 -1
  960. package/dist/esm/components/layout/carousel.d.ts.map +1 -1
  961. package/dist/esm/components/layout/carousel.js.map +1 -1
  962. package/dist/esm/components/layout/divider.d.ts.map +1 -1
  963. package/dist/esm/components/layout/divider.js.map +1 -1
  964. package/dist/esm/components/layout/resizable.d.ts.map +1 -1
  965. package/dist/esm/components/layout/resizable.js.map +1 -1
  966. package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
  967. package/dist/esm/components/layout/scroll-area.js.map +1 -1
  968. package/dist/esm/components/layout/separator.d.ts.map +1 -1
  969. package/dist/esm/components/layout/separator.js.map +1 -1
  970. package/dist/esm/components/navigation/NavigationItemBadge.d.ts +7 -1
  971. package/dist/esm/components/navigation/NavigationItemBadge.d.ts.map +1 -1
  972. package/dist/esm/components/navigation/NavigationItemBadge.js +29 -1
  973. package/dist/esm/components/navigation/NavigationItemBadge.js.map +1 -1
  974. package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.d.ts.map +1 -1
  975. package/dist/esm/components/navigation/app-level/ApplicationLevel_ActivityBar.js.map +1 -1
  976. package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.d.ts.map +1 -1
  977. package/dist/esm/components/navigation/app-level/ApplicationLevel_CommandMenu.js.map +1 -1
  978. package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.d.ts.map +1 -1
  979. package/dist/esm/components/navigation/app-level/ApplicationLevel_ControlPanel.js.map +1 -1
  980. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.d.ts.map +1 -1
  981. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuBar.js.map +1 -1
  982. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.d.ts.map +1 -1
  983. package/dist/esm/components/navigation/app-level/ApplicationLevel_MenuUserOrg.js.map +1 -1
  984. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.d.ts.map +1 -1
  985. package/dist/esm/components/navigation/app-level/ApplicationLevel_NavigationBack.js.map +1 -1
  986. package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.d.ts.map +1 -1
  987. package/dist/esm/components/navigation/app-level/ApplicationLevel_NotificationCenter.js.map +1 -1
  988. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.d.ts.map +1 -1
  989. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickActionButton.js.map +1 -1
  990. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.d.ts.map +1 -1
  991. package/dist/esm/components/navigation/app-level/ApplicationLevel_QuickSwitcher.js.map +1 -1
  992. package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.d.ts.map +1 -1
  993. package/dist/esm/components/navigation/app-level/ApplicationLevel_Sidebar.js.map +1 -1
  994. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.d.ts.map +1 -1
  995. package/dist/esm/components/navigation/app-level/ApplicationLevel_StatusBar.js.map +1 -1
  996. package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.d.ts.map +1 -1
  997. package/dist/esm/components/navigation/app-level/ApplicationLevel_Toolbar.js.map +1 -1
  998. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.d.ts.map +1 -1
  999. package/dist/esm/components/navigation/app-level/ApplicationLevel_UtilityPanel.js.map +1 -1
  1000. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.d.ts.map +1 -1
  1001. package/dist/esm/components/navigation/app-level/HostedComponentInteractionsProvider.js.map +1 -1
  1002. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.d.ts.map +1 -1
  1003. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js +26 -10
  1004. package/dist/esm/components/navigation/app-level/SidebarResourceBrowser.js.map +1 -1
  1005. package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.d.ts.map +1 -1
  1006. package/dist/esm/components/navigation/app-level/component-props.application-level.frontend.schemas.js.map +1 -1
  1007. package/dist/esm/components/navigation/app-level/sidebar-resource-browser-empty-label.d.ts +14 -0
  1008. package/dist/esm/components/navigation/app-level/sidebar-resource-browser-empty-label.d.ts.map +1 -0
  1009. package/dist/esm/components/navigation/app-level/sidebar-resource-browser-empty-label.js +13 -0
  1010. package/dist/esm/components/navigation/app-level/sidebar-resource-browser-empty-label.js.map +1 -0
  1011. package/dist/esm/components/navigation/app-level/useActivityBarBehavior.d.ts.map +1 -1
  1012. package/dist/esm/components/navigation/app-level/useActivityBarBehavior.js.map +1 -1
  1013. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.d.ts.map +1 -1
  1014. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js +16 -12
  1015. package/dist/esm/components/navigation/app-level/useCommandMenuBehavior.js.map +1 -1
  1016. package/dist/esm/components/navigation/app-level/useControlPanelBehavior.d.ts.map +1 -1
  1017. package/dist/esm/components/navigation/app-level/useControlPanelBehavior.js +12 -9
  1018. package/dist/esm/components/navigation/app-level/useControlPanelBehavior.js.map +1 -1
  1019. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts +9 -0
  1020. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.d.ts.map +1 -1
  1021. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js +38 -2
  1022. package/dist/esm/components/navigation/app-level/useMenuBarBehavior.js.map +1 -1
  1023. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.d.ts.map +1 -1
  1024. package/dist/esm/components/navigation/app-level/useMenuUserOrgBehavior.js.map +1 -1
  1025. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.d.ts.map +1 -1
  1026. package/dist/esm/components/navigation/app-level/useNavigationBehaviors.js.map +1 -1
  1027. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.d.ts.map +1 -1
  1028. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js +34 -15
  1029. package/dist/esm/components/navigation/app-level/useNotificationCenterBehavior.js.map +1 -1
  1030. package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.d.ts.map +1 -1
  1031. package/dist/esm/components/navigation/app-level/useQuickActionButtonBehavior.js.map +1 -1
  1032. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.d.ts.map +1 -1
  1033. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js +3 -1
  1034. package/dist/esm/components/navigation/app-level/useQuickSwitcherBehavior.js.map +1 -1
  1035. package/dist/esm/components/navigation/app-level/useSidebarBehavior.d.ts.map +1 -1
  1036. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js +26 -3
  1037. package/dist/esm/components/navigation/app-level/useSidebarBehavior.js.map +1 -1
  1038. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.d.ts.map +1 -1
  1039. package/dist/esm/components/navigation/app-level/useStatusBarBehavior.js.map +1 -1
  1040. package/dist/esm/components/navigation/app-level/useToolbarBehavior.d.ts.map +1 -1
  1041. package/dist/esm/components/navigation/app-level/useToolbarBehavior.js.map +1 -1
  1042. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts +16 -1
  1043. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.d.ts.map +1 -1
  1044. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js +20 -25
  1045. package/dist/esm/components/navigation/app-level/useUtilityPanelBehavior.js.map +1 -1
  1046. package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
  1047. package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
  1048. package/dist/esm/components/navigation/command.d.ts.map +1 -1
  1049. package/dist/esm/components/navigation/command.js.map +1 -1
  1050. package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
  1051. package/dist/esm/components/navigation/menu-bar.js.map +1 -1
  1052. package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
  1053. package/dist/esm/components/navigation/navbar.js.map +1 -1
  1054. package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
  1055. package/dist/esm/components/navigation/sidebar.js.map +1 -1
  1056. package/dist/esm/components/overlays/containers/OverlayContainer.d.ts.map +1 -1
  1057. package/dist/esm/components/overlays/containers/OverlayContainer.js +44 -14
  1058. package/dist/esm/components/overlays/containers/OverlayContainer.js.map +1 -1
  1059. package/dist/esm/components/overlays/containers/OverlayContainer.labels.d.ts.map +1 -1
  1060. package/dist/esm/components/overlays/containers/OverlayContainer.labels.js.map +1 -1
  1061. package/dist/esm/components/overlays/containers/alert-dialog.d.ts +16 -12
  1062. package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
  1063. package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
  1064. package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
  1065. package/dist/esm/components/overlays/containers/alert.js.map +1 -1
  1066. package/dist/esm/components/overlays/containers/dialog.d.ts +3 -1
  1067. package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
  1068. package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
  1069. package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts +25 -7
  1070. package/dist/esm/components/overlays/containers/dialog.shared-types.d.ts.map +1 -1
  1071. package/dist/esm/components/overlays/containers/dialog.shared-types.js.map +1 -1
  1072. package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
  1073. package/dist/esm/components/overlays/containers/drawer.js.map +1 -1
  1074. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts +21 -1
  1075. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.d.ts.map +1 -1
  1076. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.js +34 -1
  1077. package/dist/esm/components/overlays/containers/navigation-overlay-container.utils.js.map +1 -1
  1078. package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.d.ts.map +1 -1
  1079. package/dist/esm/components/overlays/containers/overlay-container-mode-resolution.utils.js.map +1 -1
  1080. package/dist/esm/components/overlays/containers/sheet.d.ts +6 -4
  1081. package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
  1082. package/dist/esm/components/overlays/containers/sheet.js.map +1 -1
  1083. package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
  1084. package/dist/esm/components/overlays/floating/context-menu.js.map +1 -1
  1085. package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
  1086. package/dist/esm/components/overlays/floating/dropdown-menu.js.map +1 -1
  1087. package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
  1088. package/dist/esm/components/overlays/floating/hover-card.js.map +1 -1
  1089. package/dist/esm/components/overlays/floating/menu.shared-types.d.ts.map +1 -1
  1090. package/dist/esm/components/overlays/floating/menu.shared-types.js.map +1 -1
  1091. package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
  1092. package/dist/esm/components/overlays/floating/popover.js.map +1 -1
  1093. package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
  1094. package/dist/esm/components/overlays/floating/tooltip.js.map +1 -1
  1095. package/dist/esm/components/progression/ProgressionAchievementBadge.d.ts.map +1 -1
  1096. package/dist/esm/components/progression/ProgressionAchievementBadge.js.map +1 -1
  1097. package/dist/esm/components/progression/ProgressionAchievementBadge.labels.d.ts.map +1 -1
  1098. package/dist/esm/components/progression/ProgressionAchievementBadge.labels.js.map +1 -1
  1099. package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts +55 -4
  1100. package/dist/esm/components/progression/ProgressionMilestoneTracker.d.ts.map +1 -1
  1101. package/dist/esm/components/progression/ProgressionMilestoneTracker.js +265 -32
  1102. package/dist/esm/components/progression/ProgressionMilestoneTracker.js.map +1 -1
  1103. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.d.ts.map +1 -1
  1104. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js +42 -4
  1105. package/dist/esm/components/progression/ProgressionMilestoneTracker.labels.js.map +1 -1
  1106. package/dist/esm/components/resources/CollectionSelectionControls.d.ts +34 -15
  1107. package/dist/esm/components/resources/CollectionSelectionControls.d.ts.map +1 -1
  1108. package/dist/esm/components/resources/CollectionSelectionControls.js +4 -3
  1109. package/dist/esm/components/resources/CollectionSelectionControls.js.map +1 -1
  1110. package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts +30 -0
  1111. package/dist/esm/components/resources/CollectionSelectionHeaderRail.d.ts.map +1 -0
  1112. package/dist/esm/components/resources/CollectionSelectionHeaderRail.js +17 -0
  1113. package/dist/esm/components/resources/CollectionSelectionHeaderRail.js.map +1 -0
  1114. package/dist/esm/components/resources/EphemeralFieldsRevealDialog.d.ts.map +1 -1
  1115. package/dist/esm/components/resources/EphemeralFieldsRevealDialog.js.map +1 -1
  1116. package/dist/esm/components/resources/InlineSearchInput.d.ts.map +1 -1
  1117. package/dist/esm/components/resources/InlineSearchInput.js.map +1 -1
  1118. package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts +10 -1
  1119. package/dist/esm/components/resources/ResourceCollectionBody_Table.d.ts.map +1 -1
  1120. package/dist/esm/components/resources/ResourceCollectionBody_Table.js +9 -5
  1121. package/dist/esm/components/resources/ResourceCollectionBody_Table.js.map +1 -1
  1122. package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts +45 -0
  1123. package/dist/esm/components/resources/ResourceCollectionFilterPresets.d.ts.map +1 -0
  1124. package/dist/esm/components/resources/ResourceCollectionFilterPresets.js +81 -0
  1125. package/dist/esm/components/resources/ResourceCollectionFilterPresets.js.map +1 -0
  1126. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts +22 -4
  1127. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.d.ts.map +1 -1
  1128. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js +31 -6
  1129. package/dist/esm/components/resources/ResourceCollectionQuickFilterTabs.js.map +1 -1
  1130. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts +25 -9
  1131. package/dist/esm/components/resources/ResourceCollectionToolbar.d.ts.map +1 -1
  1132. package/dist/esm/components/resources/ResourceCollectionToolbar.js +3 -2
  1133. package/dist/esm/components/resources/ResourceCollectionToolbar.js.map +1 -1
  1134. package/dist/esm/components/resources/ResourceInPlaceOperationRow.d.ts.map +1 -1
  1135. package/dist/esm/components/resources/ResourceInPlaceOperationRow.js +2 -2
  1136. package/dist/esm/components/resources/ResourceInPlaceOperationRow.js.map +1 -1
  1137. package/dist/esm/components/resources/ResourceLayout_Action.d.ts.map +1 -1
  1138. package/dist/esm/components/resources/ResourceLayout_Action.js.map +1 -1
  1139. package/dist/esm/components/resources/ResourceLayout_Action.labels.d.ts.map +1 -1
  1140. package/dist/esm/components/resources/ResourceLayout_Action.labels.js.map +1 -1
  1141. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.d.ts.map +1 -1
  1142. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js +2 -1
  1143. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.js.map +1 -1
  1144. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.d.ts.map +1 -1
  1145. package/dist/esm/components/resources/ResourceLayout_Breadcrumb.labels.js.map +1 -1
  1146. package/dist/esm/components/resources/ResourceLayout_CollectionActions.d.ts.map +1 -1
  1147. package/dist/esm/components/resources/ResourceLayout_CollectionActions.js +2 -2
  1148. package/dist/esm/components/resources/ResourceLayout_CollectionActions.js.map +1 -1
  1149. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.d.ts.map +1 -1
  1150. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.js.map +1 -1
  1151. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.d.ts.map +1 -1
  1152. package/dist/esm/components/resources/ResourceLayout_ContainerDialogs.labels.js.map +1 -1
  1153. package/dist/esm/components/resources/ResourceLayout_ContainerNested.d.ts.map +1 -1
  1154. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js +3 -3
  1155. package/dist/esm/components/resources/ResourceLayout_ContainerNested.js.map +1 -1
  1156. package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.d.ts.map +1 -1
  1157. package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.js +4 -4
  1158. package/dist/esm/components/resources/ResourceLayout_ContainerNested.labels.js.map +1 -1
  1159. package/dist/esm/components/resources/ResourceLayout_Create.d.ts.map +1 -1
  1160. package/dist/esm/components/resources/ResourceLayout_Create.js.map +1 -1
  1161. package/dist/esm/components/resources/ResourceLayout_Create.labels.d.ts.map +1 -1
  1162. package/dist/esm/components/resources/ResourceLayout_Create.labels.js +1 -0
  1163. package/dist/esm/components/resources/ResourceLayout_Create.labels.js.map +1 -1
  1164. package/dist/esm/components/resources/ResourceLayout_DangerZone.d.ts.map +1 -1
  1165. package/dist/esm/components/resources/ResourceLayout_DangerZone.js +13 -18
  1166. package/dist/esm/components/resources/ResourceLayout_DangerZone.js.map +1 -1
  1167. package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.d.ts.map +1 -1
  1168. package/dist/esm/components/resources/ResourceLayout_DangerZone.labels.js.map +1 -1
  1169. package/dist/esm/components/resources/ResourceLayout_FilterChips.d.ts.map +1 -1
  1170. package/dist/esm/components/resources/ResourceLayout_FilterChips.js +13 -2
  1171. package/dist/esm/components/resources/ResourceLayout_FilterChips.js.map +1 -1
  1172. package/dist/esm/components/resources/ResourceLayout_Filters.d.ts.map +1 -1
  1173. package/dist/esm/components/resources/ResourceLayout_Filters.js.map +1 -1
  1174. package/dist/esm/components/resources/ResourceLayout_Filters.labels.d.ts.map +1 -1
  1175. package/dist/esm/components/resources/ResourceLayout_Filters.labels.js +2 -0
  1176. package/dist/esm/components/resources/ResourceLayout_Filters.labels.js.map +1 -1
  1177. package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts +7 -1
  1178. package/dist/esm/components/resources/ResourceLayout_FiltersControl.d.ts.map +1 -1
  1179. package/dist/esm/components/resources/ResourceLayout_FiltersControl.js +66 -11
  1180. package/dist/esm/components/resources/ResourceLayout_FiltersControl.js.map +1 -1
  1181. package/dist/esm/components/resources/ResourceLayout_Header.d.ts.map +1 -1
  1182. package/dist/esm/components/resources/ResourceLayout_Header.js +85 -42
  1183. package/dist/esm/components/resources/ResourceLayout_Header.js.map +1 -1
  1184. package/dist/esm/components/resources/ResourceLayout_Header.labels.d.ts.map +1 -1
  1185. package/dist/esm/components/resources/ResourceLayout_Header.labels.js.map +1 -1
  1186. package/dist/esm/components/resources/ResourceLayout_InsertedViews.d.ts.map +1 -1
  1187. package/dist/esm/components/resources/ResourceLayout_InsertedViews.js.map +1 -1
  1188. package/dist/esm/components/resources/ResourceLayout_List.d.ts.map +1 -1
  1189. package/dist/esm/components/resources/ResourceLayout_List.js +130 -46
  1190. package/dist/esm/components/resources/ResourceLayout_List.js.map +1 -1
  1191. package/dist/esm/components/resources/ResourceLayout_List.labels.d.ts.map +1 -1
  1192. package/dist/esm/components/resources/ResourceLayout_List.labels.js +12 -0
  1193. package/dist/esm/components/resources/ResourceLayout_List.labels.js.map +1 -1
  1194. package/dist/esm/components/resources/ResourceLayout_List_Table.d.ts.map +1 -1
  1195. package/dist/esm/components/resources/ResourceLayout_List_Table.js.map +1 -1
  1196. package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts +23 -1
  1197. package/dist/esm/components/resources/ResourceLayout_OperationBulk.d.ts.map +1 -1
  1198. package/dist/esm/components/resources/ResourceLayout_OperationBulk.js +52 -16
  1199. package/dist/esm/components/resources/ResourceLayout_OperationBulk.js.map +1 -1
  1200. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.d.ts.map +1 -1
  1201. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js +44 -0
  1202. package/dist/esm/components/resources/ResourceLayout_OperationBulk.labels.js.map +1 -1
  1203. package/dist/esm/components/resources/ResourceLayout_OperationsItems.d.ts.map +1 -1
  1204. package/dist/esm/components/resources/ResourceLayout_OperationsItems.js +2 -2
  1205. package/dist/esm/components/resources/ResourceLayout_OperationsItems.js.map +1 -1
  1206. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.d.ts.map +1 -1
  1207. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js +78 -0
  1208. package/dist/esm/components/resources/ResourceLayout_OperationsItems.labels.js.map +1 -1
  1209. package/dist/esm/components/resources/ResourceLayout_Pagination.d.ts.map +1 -1
  1210. package/dist/esm/components/resources/ResourceLayout_Pagination.js.map +1 -1
  1211. package/dist/esm/components/resources/ResourceLayout_Pagination.labels.d.ts.map +1 -1
  1212. package/dist/esm/components/resources/ResourceLayout_Pagination.labels.js.map +1 -1
  1213. package/dist/esm/components/resources/ResourceLayout_Read.d.ts.map +1 -1
  1214. package/dist/esm/components/resources/ResourceLayout_Read.js.map +1 -1
  1215. package/dist/esm/components/resources/ResourceLayout_Read.labels.d.ts.map +1 -1
  1216. package/dist/esm/components/resources/ResourceLayout_Read.labels.js.map +1 -1
  1217. package/dist/esm/components/resources/ResourceLayout_ReadSummary.d.ts.map +1 -1
  1218. package/dist/esm/components/resources/ResourceLayout_ReadSummary.js.map +1 -1
  1219. package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.d.ts.map +1 -1
  1220. package/dist/esm/components/resources/ResourceLayout_ReadSummary.labels.js.map +1 -1
  1221. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.d.ts.map +1 -1
  1222. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js +2 -2
  1223. package/dist/esm/components/resources/ResourceLayout_ReadSummary_TableRow.js.map +1 -1
  1224. package/dist/esm/components/resources/ResourceLayout_Read_Expandable.d.ts.map +1 -1
  1225. package/dist/esm/components/resources/ResourceLayout_Read_Expandable.js.map +1 -1
  1226. package/dist/esm/components/resources/ResourceLayout_Search.d.ts.map +1 -1
  1227. package/dist/esm/components/resources/ResourceLayout_Search.js +48 -25
  1228. package/dist/esm/components/resources/ResourceLayout_Search.js.map +1 -1
  1229. package/dist/esm/components/resources/ResourceLayout_Search.labels.d.ts.map +1 -1
  1230. package/dist/esm/components/resources/ResourceLayout_Search.labels.js.map +1 -1
  1231. package/dist/esm/components/resources/ResourceLayout_Search_Table.d.ts.map +1 -1
  1232. package/dist/esm/components/resources/ResourceLayout_Search_Table.js.map +1 -1
  1233. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.d.ts.map +1 -1
  1234. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js +60 -44
  1235. package/dist/esm/components/resources/ResourceLayout_SemanticOperationFallback.js.map +1 -1
  1236. package/dist/esm/components/resources/ResourceLayout_SortControl.d.ts.map +1 -1
  1237. package/dist/esm/components/resources/ResourceLayout_SortControl.js.map +1 -1
  1238. package/dist/esm/components/resources/ResourceLayout_Update.d.ts.map +1 -1
  1239. package/dist/esm/components/resources/ResourceLayout_Update.js +18 -65
  1240. package/dist/esm/components/resources/ResourceLayout_Update.js.map +1 -1
  1241. package/dist/esm/components/resources/ResourceLayout_Update.labels.d.ts.map +1 -1
  1242. package/dist/esm/components/resources/ResourceLayout_Update.labels.js.map +1 -1
  1243. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts +26 -6
  1244. package/dist/esm/components/resources/ResourceListItemRenderer.d.ts.map +1 -1
  1245. package/dist/esm/components/resources/ResourceListItemRenderer.js +29 -11
  1246. package/dist/esm/components/resources/ResourceListItemRenderer.js.map +1 -1
  1247. package/dist/esm/components/resources/ResourceOperationActionPopover.d.ts.map +1 -1
  1248. package/dist/esm/components/resources/ResourceOperationActionPopover.js +2 -2
  1249. package/dist/esm/components/resources/ResourceOperationActionPopover.js.map +1 -1
  1250. package/dist/esm/components/resources/ResourceOperationDetachedHost.d.ts +43 -0
  1251. package/dist/esm/components/resources/ResourceOperationDetachedHost.d.ts.map +1 -0
  1252. package/dist/esm/components/resources/ResourceOperationDetachedHost.js +94 -0
  1253. package/dist/esm/components/resources/ResourceOperationDetachedHost.js.map +1 -0
  1254. package/dist/esm/components/resources/ResourceOperationSurface.d.ts.map +1 -1
  1255. package/dist/esm/components/resources/ResourceOperationSurface.js.map +1 -1
  1256. package/dist/esm/components/resources/ResourceOwnedViewEmbeds.d.ts.map +1 -1
  1257. package/dist/esm/components/resources/ResourceOwnedViewEmbeds.js.map +1 -1
  1258. package/dist/esm/components/resources/ResourceViewModeToggle.d.ts.map +1 -1
  1259. package/dist/esm/components/resources/ResourceViewModeToggle.js.map +1 -1
  1260. package/dist/esm/components/resources/card-action-placement.utils.d.ts.map +1 -1
  1261. package/dist/esm/components/resources/card-action-placement.utils.js.map +1 -1
  1262. package/dist/esm/components/resources/collection-card-layout.utils.d.ts +37 -0
  1263. package/dist/esm/components/resources/collection-card-layout.utils.d.ts.map +1 -1
  1264. package/dist/esm/components/resources/collection-card-layout.utils.js +37 -0
  1265. package/dist/esm/components/resources/collection-card-layout.utils.js.map +1 -1
  1266. package/dist/esm/components/resources/collection-view-mode.frontend.d.ts.map +1 -1
  1267. package/dist/esm/components/resources/collection-view-mode.frontend.js.map +1 -1
  1268. package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.d.ts.map +1 -1
  1269. package/dist/esm/components/resources/component-props.resources-layout.frontend.schemas.js.map +1 -1
  1270. package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.d.ts.map +1 -1
  1271. package/dist/esm/components/resources/embeds/ComposedChildrenRegistry.js.map +1 -1
  1272. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.d.ts.map +1 -1
  1273. package/dist/esm/components/resources/embeds/EmbeddedResourceDescent.js.map +1 -1
  1274. package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.d.ts.map +1 -1
  1275. package/dist/esm/components/resources/embeds/EmbeddedResourceHostContext.js.map +1 -1
  1276. package/dist/esm/components/resources/embeds/RelatedResourcePreview.d.ts.map +1 -1
  1277. package/dist/esm/components/resources/embeds/RelatedResourcePreview.js +5 -5
  1278. package/dist/esm/components/resources/embeds/RelatedResourcePreview.js.map +1 -1
  1279. package/dist/esm/components/resources/embeds/RelatedResourceSections.d.ts.map +1 -1
  1280. package/dist/esm/components/resources/embeds/RelatedResourceSections.js.map +1 -1
  1281. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts +9 -0
  1282. package/dist/esm/components/resources/embeds/ResourceEmbeds.d.ts.map +1 -1
  1283. package/dist/esm/components/resources/embeds/ResourceEmbeds.js +1 -0
  1284. package/dist/esm/components/resources/embeds/ResourceEmbeds.js.map +1 -1
  1285. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.d.ts.map +1 -1
  1286. package/dist/esm/components/resources/embeds/child-operation-addressability.utils.js.map +1 -1
  1287. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.d.ts.map +1 -1
  1288. package/dist/esm/components/resources/embeds/useEmbeddedResourceContext.js.map +1 -1
  1289. package/dist/esm/components/resources/inserted-resource-view.frontend.utils.d.ts.map +1 -1
  1290. package/dist/esm/components/resources/inserted-resource-view.frontend.utils.js.map +1 -1
  1291. package/dist/esm/components/resources/resource-operation-custom-view.contracts.d.ts.map +1 -1
  1292. package/dist/esm/components/resources/resource-operation-custom-view.contracts.js.map +1 -1
  1293. package/dist/esm/components/resources/resourceLayout.utils.d.ts +10 -0
  1294. package/dist/esm/components/resources/resourceLayout.utils.d.ts.map +1 -1
  1295. package/dist/esm/components/resources/resourceLayout.utils.js +20 -43
  1296. package/dist/esm/components/resources/resourceLayout.utils.js.map +1 -1
  1297. package/dist/esm/components/resources/skeleton/ArrayField.d.ts.map +1 -1
  1298. package/dist/esm/components/resources/skeleton/ArrayField.js.map +1 -1
  1299. package/dist/esm/components/resources/skeleton/ArrayItemTemplate.d.ts.map +1 -1
  1300. package/dist/esm/components/resources/skeleton/ArrayItemTemplate.js.map +1 -1
  1301. package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.d.ts.map +1 -1
  1302. package/dist/esm/components/resources/skeleton/DiscriminatorSwitch.js.map +1 -1
  1303. package/dist/esm/components/resources/skeleton/DisplayDiscriminatorSwitch.d.ts +42 -0
  1304. package/dist/esm/components/resources/skeleton/DisplayDiscriminatorSwitch.d.ts.map +1 -0
  1305. package/dist/esm/components/resources/skeleton/DisplayDiscriminatorSwitch.js +44 -0
  1306. package/dist/esm/components/resources/skeleton/DisplayDiscriminatorSwitch.js.map +1 -0
  1307. package/dist/esm/components/resources/skeleton/DisplayLayout.d.ts.map +1 -1
  1308. package/dist/esm/components/resources/skeleton/DisplayLayout.js +1 -1
  1309. package/dist/esm/components/resources/skeleton/DisplayLayout.js.map +1 -1
  1310. package/dist/esm/components/resources/skeleton/Divider.d.ts.map +1 -1
  1311. package/dist/esm/components/resources/skeleton/Divider.js.map +1 -1
  1312. package/dist/esm/components/resources/skeleton/FieldScopeContext.d.ts.map +1 -1
  1313. package/dist/esm/components/resources/skeleton/FieldScopeContext.js.map +1 -1
  1314. package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.d.ts.map +1 -1
  1315. package/dist/esm/components/resources/skeleton/FormErrorSummarySlot.js.map +1 -1
  1316. package/dist/esm/components/resources/skeleton/FormLayout.d.ts.map +1 -1
  1317. package/dist/esm/components/resources/skeleton/FormLayout.js.map +1 -1
  1318. package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.d.ts.map +1 -1
  1319. package/dist/esm/components/resources/skeleton/FormLayoutSlotContext.js.map +1 -1
  1320. package/dist/esm/components/resources/skeleton/Group.d.ts.map +1 -1
  1321. package/dist/esm/components/resources/skeleton/Group.js +1 -1
  1322. package/dist/esm/components/resources/skeleton/Group.js.map +1 -1
  1323. package/dist/esm/components/resources/skeleton/ObjectScope.d.ts.map +1 -1
  1324. package/dist/esm/components/resources/skeleton/ObjectScope.js.map +1 -1
  1325. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts +32 -0
  1326. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.d.ts.map +1 -1
  1327. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js +21 -3
  1328. package/dist/esm/components/resources/skeleton/ResourceHeaderTitle.js.map +1 -1
  1329. package/dist/esm/components/resources/skeleton/Section.d.ts.map +1 -1
  1330. package/dist/esm/components/resources/skeleton/Section.js.map +1 -1
  1331. package/dist/esm/components/resources/skeleton/Section.shared.d.ts.map +1 -1
  1332. package/dist/esm/components/resources/skeleton/Section.shared.js.map +1 -1
  1333. package/dist/esm/components/resources/skeleton/SectionFieldsContext.d.ts.map +1 -1
  1334. package/dist/esm/components/resources/skeleton/SectionFieldsContext.js.map +1 -1
  1335. package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.d.ts.map +1 -1
  1336. package/dist/esm/components/resources/skeleton/SectionHostHeadingContext.js.map +1 -1
  1337. package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts +8 -0
  1338. package/dist/esm/components/resources/skeleton/SectionPresentationContext.d.ts.map +1 -1
  1339. package/dist/esm/components/resources/skeleton/SectionPresentationContext.js.map +1 -1
  1340. package/dist/esm/components/resources/skeleton/SubmitButton.d.ts +12 -1
  1341. package/dist/esm/components/resources/skeleton/SubmitButton.d.ts.map +1 -1
  1342. package/dist/esm/components/resources/skeleton/SubmitButton.js +2 -2
  1343. package/dist/esm/components/resources/skeleton/SubmitButton.js.map +1 -1
  1344. package/dist/esm/components/resources/skeleton/SummaryHeader.d.ts.map +1 -1
  1345. package/dist/esm/components/resources/skeleton/SummaryHeader.js.map +1 -1
  1346. package/dist/esm/components/resources/skeleton/SummaryLayout.d.ts.map +1 -1
  1347. package/dist/esm/components/resources/skeleton/SummaryLayout.js +53 -1
  1348. package/dist/esm/components/resources/skeleton/SummaryLayout.js.map +1 -1
  1349. package/dist/esm/components/resources/skeleton/SummaryMeta.d.ts.map +1 -1
  1350. package/dist/esm/components/resources/skeleton/SummaryMeta.js.map +1 -1
  1351. package/dist/esm/components/resources/skeleton/SummaryTitle.d.ts.map +1 -1
  1352. package/dist/esm/components/resources/skeleton/SummaryTitle.js.map +1 -1
  1353. package/dist/esm/components/resources/skeleton/WizardLayout.d.ts.map +1 -1
  1354. package/dist/esm/components/resources/skeleton/WizardLayout.js +7 -0
  1355. package/dist/esm/components/resources/skeleton/WizardLayout.js.map +1 -1
  1356. package/dist/esm/components/resources/skeleton/WizardLayoutContext.d.ts.map +1 -1
  1357. package/dist/esm/components/resources/skeleton/WizardLayoutContext.js.map +1 -1
  1358. package/dist/esm/components/resources/skeleton/WizardStep.d.ts.map +1 -1
  1359. package/dist/esm/components/resources/skeleton/WizardStep.js.map +1 -1
  1360. package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.d.ts.map +1 -1
  1361. package/dist/esm/components/resources/skeleton/WizardStepFieldsContext.js.map +1 -1
  1362. package/dist/esm/components/resources/skeleton/section-consolidation.shared.d.ts.map +1 -1
  1363. package/dist/esm/components/resources/skeleton/section-consolidation.shared.js.map +1 -1
  1364. package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts +2 -2
  1365. package/dist/esm/components/resources/skeleton/section-consolidation.utils.d.ts.map +1 -1
  1366. package/dist/esm/components/resources/skeleton/section-consolidation.utils.js +2 -2
  1367. package/dist/esm/components/resources/skeleton/section-consolidation.utils.js.map +1 -1
  1368. package/dist/esm/components/resources/useInlineSearch.d.ts.map +1 -1
  1369. package/dist/esm/components/resources/useInlineSearch.js.map +1 -1
  1370. package/dist/esm/components/resources/useLongPress.d.ts.map +1 -1
  1371. package/dist/esm/components/resources/useLongPress.js.map +1 -1
  1372. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts +1 -1
  1373. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.d.ts.map +1 -1
  1374. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js +30 -7
  1375. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldDisplayPreset_ResourceReference_Default.js.map +1 -1
  1376. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.d.ts.map +1 -1
  1377. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.js.map +1 -1
  1378. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.d.ts.map +1 -1
  1379. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Default.labels.js.map +1 -1
  1380. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.d.ts.map +1 -1
  1381. package/dist/esm/components/resources-fields/_presets/resource-reference/ResourceFieldEditPreset_ResourceReference_Search.js.map +1 -1
  1382. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts +7 -0
  1383. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.d.ts.map +1 -1
  1384. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldDisplay_ResourceReference.js.map +1 -1
  1385. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.d.ts.map +1 -1
  1386. package/dist/esm/components/resources-fields/resource-reference/ResourceFieldEdit_ResourceReference.js.map +1 -1
  1387. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.d.ts.map +1 -1
  1388. package/dist/esm/components/resources-fields/resource-reference/resource-reference.shared.utils.js.map +1 -1
  1389. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts +3 -3
  1390. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.d.ts.map +1 -1
  1391. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js +12 -13
  1392. package/dist/esm/components/resources-fields/resource-reference/useResourceSearch.js.map +1 -1
  1393. package/dist/esm/components/sections/ContentSectionContainer.d.ts +4 -0
  1394. package/dist/esm/components/sections/ContentSectionContainer.d.ts.map +1 -1
  1395. package/dist/esm/components/sections/ContentSectionContainer.js +12 -5
  1396. package/dist/esm/components/sections/ContentSectionContainer.js.map +1 -1
  1397. package/dist/esm/components/sections/ContentSectionContainer.labels.d.ts.map +1 -1
  1398. package/dist/esm/components/sections/ContentSectionContainer.labels.js.map +1 -1
  1399. package/dist/esm/components/sections/accordion.d.ts.map +1 -1
  1400. package/dist/esm/components/sections/accordion.js.map +1 -1
  1401. package/dist/esm/components/sections/card.d.ts +50 -0
  1402. package/dist/esm/components/sections/card.d.ts.map +1 -1
  1403. package/dist/esm/components/sections/card.js +34 -1
  1404. package/dist/esm/components/sections/card.js.map +1 -1
  1405. package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
  1406. package/dist/esm/components/sections/collapsible.js.map +1 -1
  1407. package/dist/esm/components/sections/content-section.d.ts.map +1 -1
  1408. package/dist/esm/components/sections/content-section.js.map +1 -1
  1409. package/dist/esm/components/sections/pagination.d.ts.map +1 -1
  1410. package/dist/esm/components/sections/pagination.js.map +1 -1
  1411. package/dist/esm/components/sections/section-grouping.shared.d.ts +10 -1
  1412. package/dist/esm/components/sections/section-grouping.shared.d.ts.map +1 -1
  1413. package/dist/esm/components/sections/section-grouping.shared.js +11 -2
  1414. package/dist/esm/components/sections/section-grouping.shared.js.map +1 -1
  1415. package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
  1416. package/dist/esm/components/sections/stacked-layout.js.map +1 -1
  1417. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  1418. package/dist/esm/components/sections/stepper.js.map +1 -1
  1419. package/dist/esm/components/sections/surface.d.ts +4 -2
  1420. package/dist/esm/components/sections/surface.d.ts.map +1 -1
  1421. package/dist/esm/components/sections/surface.js +36 -1
  1422. package/dist/esm/components/sections/surface.js.map +1 -1
  1423. package/dist/esm/components/sections/table.d.ts.map +1 -1
  1424. package/dist/esm/components/sections/table.js.map +1 -1
  1425. package/dist/esm/components/sections/tabs.d.ts +44 -0
  1426. package/dist/esm/components/sections/tabs.d.ts.map +1 -1
  1427. package/dist/esm/components/sections/tabs.js +32 -0
  1428. package/dist/esm/components/sections/tabs.js.map +1 -1
  1429. package/dist/esm/components/settings/AppPage_AppearanceSettings.d.ts.map +1 -1
  1430. package/dist/esm/components/settings/AppPage_AppearanceSettings.js.map +1 -1
  1431. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.d.ts.map +1 -1
  1432. package/dist/esm/components/settings/AppPage_AppearanceSettings.labels.js.map +1 -1
  1433. package/dist/esm/components/settings/AppPage_BillingSettings.d.ts.map +1 -1
  1434. package/dist/esm/components/settings/AppPage_BillingSettings.js.map +1 -1
  1435. package/dist/esm/components/settings/AppPage_BillingSettings.labels.d.ts.map +1 -1
  1436. package/dist/esm/components/settings/AppPage_BillingSettings.labels.js.map +1 -1
  1437. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts +116 -49
  1438. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.d.ts.map +1 -1
  1439. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js +392 -109
  1440. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.js.map +1 -1
  1441. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.d.ts.map +1 -1
  1442. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js +39 -3
  1443. package/dist/esm/components/settings/AppPage_ConnectedAccountsSettings.labels.js.map +1 -1
  1444. package/dist/esm/components/settings/AppPage_InvitationsSettings.d.ts.map +1 -1
  1445. package/dist/esm/components/settings/AppPage_InvitationsSettings.js.map +1 -1
  1446. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.d.ts.map +1 -1
  1447. package/dist/esm/components/settings/AppPage_InvitationsSettings.labels.js.map +1 -1
  1448. package/dist/esm/components/settings/SettingsHub.d.ts +16 -8
  1449. package/dist/esm/components/settings/SettingsHub.d.ts.map +1 -1
  1450. package/dist/esm/components/settings/SettingsHub.js +218 -47
  1451. package/dist/esm/components/settings/SettingsHub.js.map +1 -1
  1452. package/dist/esm/components/settings/SettingsHub.labels.d.ts.map +1 -1
  1453. package/dist/esm/components/settings/SettingsHub.labels.js +3 -0
  1454. package/dist/esm/components/settings/SettingsHub.labels.js.map +1 -1
  1455. package/dist/esm/components/settings/SettingsResourceOperationPanel.d.ts.map +1 -1
  1456. package/dist/esm/components/settings/SettingsResourceOperationPanel.js +26 -3
  1457. package/dist/esm/components/settings/SettingsResourceOperationPanel.js.map +1 -1
  1458. package/dist/esm/components/settings/SettingsSectionNavigationHost.d.ts.map +1 -1
  1459. package/dist/esm/components/settings/SettingsSectionNavigationHost.js +7 -0
  1460. package/dist/esm/components/settings/SettingsSectionNavigationHost.js.map +1 -1
  1461. package/dist/esm/components/typography/heading.d.ts.map +1 -1
  1462. package/dist/esm/components/typography/heading.js.map +1 -1
  1463. package/dist/esm/components/typography/label.d.ts.map +1 -1
  1464. package/dist/esm/components/typography/label.js.map +1 -1
  1465. package/dist/esm/components/typography/link.d.ts +1 -0
  1466. package/dist/esm/components/typography/link.d.ts.map +1 -1
  1467. package/dist/esm/components/typography/link.js.map +1 -1
  1468. package/dist/esm/components/typography/text.d.ts +7 -1
  1469. package/dist/esm/components/typography/text.d.ts.map +1 -1
  1470. package/dist/esm/components/typography/text.js.map +1 -1
  1471. package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
  1472. package/dist/esm/components/typography/truncated-text.js.map +1 -1
  1473. package/dist/esm/components/views/ViewLayout_Header.d.ts +4 -3
  1474. package/dist/esm/components/views/ViewLayout_Header.d.ts.map +1 -1
  1475. package/dist/esm/components/views/ViewLayout_Header.js +10 -7
  1476. package/dist/esm/components/views/ViewLayout_Header.js.map +1 -1
  1477. package/dist/esm/components/views/ViewNotFound.d.ts.map +1 -1
  1478. package/dist/esm/components/views/ViewNotFound.js.map +1 -1
  1479. package/dist/esm/components/views/ViewNotFound.labels.d.ts +16 -0
  1480. package/dist/esm/components/views/ViewNotFound.labels.d.ts.map +1 -1
  1481. package/dist/esm/components/views/ViewNotFound.labels.js +33 -9
  1482. package/dist/esm/components/views/ViewNotFound.labels.js.map +1 -1
  1483. package/dist/esm/components/views/chart-view/ChartEmptyState.d.ts.map +1 -1
  1484. package/dist/esm/components/views/chart-view/ChartEmptyState.js +5 -5
  1485. package/dist/esm/components/views/chart-view/ChartEmptyState.js.map +1 -1
  1486. package/dist/esm/components/views/chart-view/ChartErrorState.d.ts.map +1 -1
  1487. package/dist/esm/components/views/chart-view/ChartErrorState.js +4 -6
  1488. package/dist/esm/components/views/chart-view/ChartErrorState.js.map +1 -1
  1489. package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.d.ts.map +1 -1
  1490. package/dist/esm/components/views/chart-view/ChartLoadingSkeleton.js.map +1 -1
  1491. package/dist/esm/components/views/chart-view/ChartView.d.ts.map +1 -1
  1492. package/dist/esm/components/views/chart-view/ChartView.js +10 -3
  1493. package/dist/esm/components/views/chart-view/ChartView.js.map +1 -1
  1494. package/dist/esm/components/views/chart-view/ChartView.labels.d.ts.map +1 -1
  1495. package/dist/esm/components/views/chart-view/ChartView.labels.js.map +1 -1
  1496. package/dist/esm/components/views/chart-view/ChartView.lazy.d.ts +3 -1
  1497. package/dist/esm/components/views/chart-view/ChartView.lazy.d.ts.map +1 -1
  1498. package/dist/esm/components/views/chart-view/ChartView.lazy.js +22 -2
  1499. package/dist/esm/components/views/chart-view/ChartView.lazy.js.map +1 -1
  1500. package/dist/esm/components/views/chart-view/ChartWidget.d.ts.map +1 -1
  1501. package/dist/esm/components/views/chart-view/ChartWidget.js.map +1 -1
  1502. package/dist/esm/components/views/chart-view/ChartWidget.labels.d.ts.map +1 -1
  1503. package/dist/esm/components/views/chart-view/ChartWidget.labels.js.map +1 -1
  1504. package/dist/esm/components/views/chart-view/WildoEChart.d.ts.map +1 -1
  1505. package/dist/esm/components/views/chart-view/WildoEChart.js.map +1 -1
  1506. package/dist/esm/components/views/chart-view/chart-export.utils.d.ts.map +1 -1
  1507. package/dist/esm/components/views/chart-view/chart-export.utils.js.map +1 -1
  1508. package/dist/esm/components/views/chart-view/chart-runtime.utils.d.ts.map +1 -1
  1509. package/dist/esm/components/views/chart-view/chart-runtime.utils.js.map +1 -1
  1510. package/dist/esm/components/views/chart-view/chart-theme-bridge.d.ts.map +1 -1
  1511. package/dist/esm/components/views/chart-view/chart-theme-bridge.js.map +1 -1
  1512. package/dist/esm/components/views/chart-view/chart-view.utils.d.ts.map +1 -1
  1513. package/dist/esm/components/views/chart-view/chart-view.utils.js.map +1 -1
  1514. package/dist/esm/components/views/chart-view/dev/ChartView.example.d.ts.map +1 -1
  1515. package/dist/esm/components/views/chart-view/dev/ChartView.example.js.map +1 -1
  1516. package/dist/esm/components/views/chart-view/echarts-setup.d.ts.map +1 -1
  1517. package/dist/esm/components/views/chart-view/echarts-setup.js.map +1 -1
  1518. package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts +16 -13
  1519. package/dist/esm/components/views/chart-view/enum-color-bridge.d.ts.map +1 -1
  1520. package/dist/esm/components/views/chart-view/enum-color-bridge.js +33 -30
  1521. package/dist/esm/components/views/chart-view/enum-color-bridge.js.map +1 -1
  1522. package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts +11 -4
  1523. package/dist/esm/components/views/chart-view/option-builder/builder-utils.d.ts.map +1 -1
  1524. package/dist/esm/components/views/chart-view/option-builder/builder-utils.js +16 -6
  1525. package/dist/esm/components/views/chart-view/option-builder/builder-utils.js.map +1 -1
  1526. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.d.ts.map +1 -1
  1527. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js +3 -3
  1528. package/dist/esm/components/views/chart-view/option-builder/builders/bar-family.builder.js.map +1 -1
  1529. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.d.ts.map +1 -1
  1530. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js +1 -1
  1531. package/dist/esm/components/views/chart-view/option-builder/builders/composed.builder.js.map +1 -1
  1532. package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.d.ts.map +1 -1
  1533. package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.js +1 -1
  1534. package/dist/esm/components/views/chart-view/option-builder/builders/funnel.builder.js.map +1 -1
  1535. package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.d.ts.map +1 -1
  1536. package/dist/esm/components/views/chart-view/option-builder/builders/gauge.builder.js.map +1 -1
  1537. package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.d.ts.map +1 -1
  1538. package/dist/esm/components/views/chart-view/option-builder/builders/heatmap.builder.js.map +1 -1
  1539. package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.d.ts.map +1 -1
  1540. package/dist/esm/components/views/chart-view/option-builder/builders/hierarchical-family.builder.js.map +1 -1
  1541. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.d.ts.map +1 -1
  1542. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js +2 -2
  1543. package/dist/esm/components/views/chart-view/option-builder/builders/line-family.builder.js.map +1 -1
  1544. package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.d.ts.map +1 -1
  1545. package/dist/esm/components/views/chart-view/option-builder/builders/parallel.builder.js.map +1 -1
  1546. package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.d.ts.map +1 -1
  1547. package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.js +1 -1
  1548. package/dist/esm/components/views/chart-view/option-builder/builders/pie-family.builder.js.map +1 -1
  1549. package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.d.ts.map +1 -1
  1550. package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.js +1 -1
  1551. package/dist/esm/components/views/chart-view/option-builder/builders/radar.builder.js.map +1 -1
  1552. package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.d.ts.map +1 -1
  1553. package/dist/esm/components/views/chart-view/option-builder/builders/sankey.builder.js.map +1 -1
  1554. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.d.ts.map +1 -1
  1555. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js +1 -1
  1556. package/dist/esm/components/views/chart-view/option-builder/builders/scatter-family.builder.js.map +1 -1
  1557. package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.d.ts.map +1 -1
  1558. package/dist/esm/components/views/chart-view/option-builder/builders/statistical-family.builder.js.map +1 -1
  1559. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts +5 -0
  1560. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.d.ts.map +1 -1
  1561. package/dist/esm/components/views/chart-view/option-builder/chart-type-builder.interface.js.map +1 -1
  1562. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.d.ts.map +1 -1
  1563. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js +2 -1
  1564. package/dist/esm/components/views/chart-view/option-builder/echarts-option-builder.js.map +1 -1
  1565. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts +4 -0
  1566. package/dist/esm/components/views/composite-view/CompositeLayout.d.ts.map +1 -1
  1567. package/dist/esm/components/views/composite-view/CompositeLayout.js +14 -2
  1568. package/dist/esm/components/views/composite-view/CompositeLayout.js.map +1 -1
  1569. package/dist/esm/components/views/composite-view/CompositeView.d.ts.map +1 -1
  1570. package/dist/esm/components/views/composite-view/CompositeView.js.map +1 -1
  1571. package/dist/esm/components/views/composite-view/CompositeViewContext.d.ts.map +1 -1
  1572. package/dist/esm/components/views/composite-view/CompositeViewContext.js.map +1 -1
  1573. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.d.ts.map +1 -1
  1574. package/dist/esm/components/views/composite-view/useCompositeResourceOperationContextBuilder.js.map +1 -1
  1575. package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.d.ts.map +1 -1
  1576. package/dist/esm/components/views/composite-view/useHostRecordDerivedParentContext.js.map +1 -1
  1577. package/dist/esm/components/views/execution-view/ExecutionView.d.ts.map +1 -1
  1578. package/dist/esm/components/views/execution-view/ExecutionView.js.map +1 -1
  1579. package/dist/esm/components/views/execution-view/ExecutionView.labels.d.ts.map +1 -1
  1580. package/dist/esm/components/views/execution-view/ExecutionView.labels.js.map +1 -1
  1581. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.d.ts.map +1 -1
  1582. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js +77 -34
  1583. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.js.map +1 -1
  1584. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.d.ts.map +1 -1
  1585. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js +24 -0
  1586. package/dist/esm/components/views/flows-actors-view/FlowsActorsView.labels.js.map +1 -1
  1587. package/dist/esm/components/views/full-custom-view/FullCustomView.d.ts.map +1 -1
  1588. package/dist/esm/components/views/full-custom-view/FullCustomView.js.map +1 -1
  1589. package/dist/esm/components/views/onboarding-view/OnboardingView.d.ts.map +1 -1
  1590. package/dist/esm/components/views/onboarding-view/OnboardingView.js +42 -41
  1591. package/dist/esm/components/views/onboarding-view/OnboardingView.js.map +1 -1
  1592. package/dist/esm/components/views/onboarding-view/OnboardingView.labels.d.ts.map +1 -1
  1593. package/dist/esm/components/views/onboarding-view/OnboardingView.labels.js.map +1 -1
  1594. package/dist/esm/components/views/onboarding-view/onboarding-view.utils.d.ts.map +1 -1
  1595. package/dist/esm/components/views/onboarding-view/onboarding-view.utils.js.map +1 -1
  1596. package/dist/esm/core/app-shell/PortalContainerContext.d.ts.map +1 -1
  1597. package/dist/esm/core/app-shell/PortalContainerContext.js.map +1 -1
  1598. package/dist/esm/core/app-shell/app-shell.schemas.d.ts +31 -4
  1599. package/dist/esm/core/app-shell/app-shell.schemas.d.ts.map +1 -1
  1600. package/dist/esm/core/app-shell/app-shell.schemas.js.map +1 -1
  1601. package/dist/esm/core/app-shell/app-shell.utils.d.ts.map +1 -1
  1602. package/dist/esm/core/app-shell/app-shell.utils.js.map +1 -1
  1603. package/dist/esm/core/app-shell/hosted-components.utils.d.ts.map +1 -1
  1604. package/dist/esm/core/app-shell/hosted-components.utils.js.map +1 -1
  1605. package/dist/esm/core/app-shell/useAppShellLayout.d.ts.map +1 -1
  1606. package/dist/esm/core/app-shell/useAppShellLayout.js.map +1 -1
  1607. package/dist/esm/core/app-shell/usePublicShellLayout.d.ts +2 -1
  1608. package/dist/esm/core/app-shell/usePublicShellLayout.d.ts.map +1 -1
  1609. package/dist/esm/core/app-shell/usePublicShellLayout.js +15 -2
  1610. package/dist/esm/core/app-shell/usePublicShellLayout.js.map +1 -1
  1611. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts +16 -0
  1612. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.d.ts.map +1 -1
  1613. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js +17 -0
  1614. package/dist/esm/core/automated-layout/automated-layout.frontend.schemas.js.map +1 -1
  1615. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts +16 -9
  1616. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.d.ts.map +1 -1
  1617. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js +106 -13
  1618. package/dist/esm/core/automated-layout/automated-layout.frontend.utils.js.map +1 -1
  1619. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.d.ts +39 -0
  1620. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.d.ts.map +1 -0
  1621. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js +100 -0
  1622. package/dist/esm/core/automated-layout/composite-value-defaults.frontend.utils.js.map +1 -0
  1623. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts +21 -7
  1624. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.d.ts.map +1 -1
  1625. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js +160 -122
  1626. package/dist/esm/core/automated-layout/default-layout-generator.frontend.utils.js.map +1 -1
  1627. package/dist/esm/core/billing/BillingContext.d.ts +15 -3
  1628. package/dist/esm/core/billing/BillingContext.d.ts.map +1 -1
  1629. package/dist/esm/core/billing/BillingContext.js +91 -28
  1630. package/dist/esm/core/billing/BillingContext.js.map +1 -1
  1631. package/dist/esm/core/billing/BillingErrorNotifier.d.ts.map +1 -1
  1632. package/dist/esm/core/billing/BillingErrorNotifier.js +9 -5
  1633. package/dist/esm/core/billing/BillingErrorNotifier.js.map +1 -1
  1634. package/dist/esm/core/billing/billing-launcher.d.ts.map +1 -1
  1635. package/dist/esm/core/billing/billing-launcher.js +1 -1
  1636. package/dist/esm/core/billing/billing-launcher.js.map +1 -1
  1637. package/dist/esm/core/billing/billing-provider-display.frontend.utils.d.ts.map +1 -1
  1638. package/dist/esm/core/billing/billing-provider-display.frontend.utils.js.map +1 -1
  1639. package/dist/esm/core/billing/useBilling.d.ts.map +1 -1
  1640. package/dist/esm/core/billing/useBilling.js.map +1 -1
  1641. package/dist/esm/core/billing/useBillingAction.d.ts.map +1 -1
  1642. package/dist/esm/core/billing/useBillingAction.js +6 -5
  1643. package/dist/esm/core/billing/useBillingAction.js.map +1 -1
  1644. package/dist/esm/core/billing/useBillingPlanChange.d.ts +37 -0
  1645. package/dist/esm/core/billing/useBillingPlanChange.d.ts.map +1 -0
  1646. package/dist/esm/core/billing/useBillingPlanChange.js +113 -0
  1647. package/dist/esm/core/billing/useBillingPlanChange.js.map +1 -0
  1648. package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts +3 -0
  1649. package/dist/esm/core/billing/useSafeBillingActionExecutor.d.ts.map +1 -1
  1650. package/dist/esm/core/billing/useSafeBillingActionExecutor.js +7 -5
  1651. package/dist/esm/core/billing/useSafeBillingActionExecutor.js.map +1 -1
  1652. package/dist/esm/core/branding/useBrandIdentity.d.ts.map +1 -1
  1653. package/dist/esm/core/branding/useBrandIdentity.js.map +1 -1
  1654. package/dist/esm/core/branding/useBrandPresentation.d.ts.map +1 -1
  1655. package/dist/esm/core/branding/useBrandPresentation.js.map +1 -1
  1656. package/dist/esm/core/commons/devices.frontend.schemas.d.ts.map +1 -1
  1657. package/dist/esm/core/commons/devices.frontend.schemas.js.map +1 -1
  1658. package/dist/esm/core/commons/local-storage.frontend.schemas.d.ts +15 -0
  1659. package/dist/esm/core/commons/local-storage.frontend.schemas.d.ts.map +1 -1
  1660. package/dist/esm/core/commons/local-storage.frontend.schemas.js +16 -0
  1661. package/dist/esm/core/commons/local-storage.frontend.schemas.js.map +1 -1
  1662. package/dist/esm/core/commons/window-event.frontend.schemas.d.ts.map +1 -1
  1663. package/dist/esm/core/commons/window-event.frontend.schemas.js.map +1 -1
  1664. package/dist/esm/core/companion/companion-exports.frontend.definitions.d.ts.map +1 -1
  1665. package/dist/esm/core/companion/companion-exports.frontend.definitions.js.map +1 -1
  1666. package/dist/esm/core/components-registry/ComponentNotInjected.d.ts.map +1 -1
  1667. package/dist/esm/core/components-registry/ComponentNotInjected.js.map +1 -1
  1668. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.d.ts.map +1 -1
  1669. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js +23 -3
  1670. package/dist/esm/core/components-registry/assert-registry-completeness.frontend.helper.js.map +1 -1
  1671. package/dist/esm/core/components-registry/component-registry-loader.frontend.service.d.ts.map +1 -1
  1672. package/dist/esm/core/components-registry/component-registry-loader.frontend.service.js.map +1 -1
  1673. package/dist/esm/core/components-registry/component-registry.frontend.schemas.d.ts +24 -2
  1674. package/dist/esm/core/components-registry/component-registry.frontend.schemas.d.ts.map +1 -1
  1675. package/dist/esm/core/components-registry/component-registry.frontend.schemas.js.map +1 -1
  1676. package/dist/esm/core/components-registry/component-registry.frontend.service.d.ts +12 -12
  1677. package/dist/esm/core/components-registry/component-registry.frontend.service.d.ts.map +1 -1
  1678. package/dist/esm/core/components-registry/component-registry.frontend.service.js.map +1 -1
  1679. package/dist/esm/core/components-registry/component-resolver.frontend.helper.d.ts.map +1 -1
  1680. package/dist/esm/core/components-registry/component-resolver.frontend.helper.js.map +1 -1
  1681. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts +133 -18
  1682. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.d.ts.map +1 -1
  1683. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js +181 -21
  1684. package/dist/esm/core/components-registry/provider-component-registry.frontend.service.js.map +1 -1
  1685. package/dist/esm/core/components-registry/register-framework-layouts.d.ts.map +1 -1
  1686. package/dist/esm/core/components-registry/register-framework-layouts.js +4 -0
  1687. package/dist/esm/core/components-registry/register-framework-layouts.js.map +1 -1
  1688. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts +20 -5
  1689. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.d.ts.map +1 -1
  1690. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js +13 -5
  1691. package/dist/esm/core/components-registry/useProviderComponent.frontend.hooks.js.map +1 -1
  1692. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts +31 -31
  1693. package/dist/esm/core/config/app-configuration-frontend.schemas.d.ts.map +1 -1
  1694. package/dist/esm/core/config/app-configuration-frontend.schemas.js +10 -0
  1695. package/dist/esm/core/config/app-configuration-frontend.schemas.js.map +1 -1
  1696. package/dist/esm/core/config/app-level-components.frontend.schemas.d.ts.map +1 -1
  1697. package/dist/esm/core/config/app-level-components.frontend.schemas.js.map +1 -1
  1698. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts +8 -8
  1699. package/dist/esm/core/config/chart-view.frontend.schemas.d.ts.map +1 -1
  1700. package/dist/esm/core/config/chart-view.frontend.schemas.js.map +1 -1
  1701. package/dist/esm/core/config/composite-view.schemas.d.ts +26 -4
  1702. package/dist/esm/core/config/composite-view.schemas.d.ts.map +1 -1
  1703. package/dist/esm/core/config/composite-view.schemas.js +10 -0
  1704. package/dist/esm/core/config/composite-view.schemas.js.map +1 -1
  1705. package/dist/esm/core/config/config-merge-utilities.d.ts.map +1 -1
  1706. package/dist/esm/core/config/config-merge-utilities.js.map +1 -1
  1707. package/dist/esm/core/config/engine-settings-destinations.d.ts +0 -69
  1708. package/dist/esm/core/config/engine-settings-destinations.d.ts.map +1 -1
  1709. package/dist/esm/core/config/engine-settings-destinations.js +430 -90
  1710. package/dist/esm/core/config/engine-settings-destinations.js.map +1 -1
  1711. package/dist/esm/core/config/execution-view.schemas.d.ts +3 -3
  1712. package/dist/esm/core/config/execution-view.schemas.d.ts.map +1 -1
  1713. package/dist/esm/core/config/execution-view.schemas.js +1 -1
  1714. package/dist/esm/core/config/execution-view.schemas.js.map +1 -1
  1715. package/dist/esm/core/config/flows-actors-view.schemas.d.ts +3 -2
  1716. package/dist/esm/core/config/flows-actors-view.schemas.d.ts.map +1 -1
  1717. package/dist/esm/core/config/flows-actors-view.schemas.js +1 -1
  1718. package/dist/esm/core/config/flows-actors-view.schemas.js.map +1 -1
  1719. package/dist/esm/core/config/full-custom-view.schemas.d.ts +9 -0
  1720. package/dist/esm/core/config/full-custom-view.schemas.d.ts.map +1 -1
  1721. package/dist/esm/core/config/full-custom-view.schemas.js +16 -0
  1722. package/dist/esm/core/config/full-custom-view.schemas.js.map +1 -1
  1723. package/dist/esm/core/config/inserted-view-launcher.schemas.d.ts.map +1 -1
  1724. package/dist/esm/core/config/inserted-view-launcher.schemas.js.map +1 -1
  1725. package/dist/esm/core/config/inserted-view.frontend.schemas.d.ts.map +1 -1
  1726. package/dist/esm/core/config/inserted-view.frontend.schemas.js.map +1 -1
  1727. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts +19 -5
  1728. package/dist/esm/core/config/launcher-items.frontend.schemas.d.ts.map +1 -1
  1729. package/dist/esm/core/config/launcher-items.frontend.schemas.js.map +1 -1
  1730. package/dist/esm/core/config/onboarding-view.frontend.schemas.d.ts +18 -10
  1731. package/dist/esm/core/config/onboarding-view.frontend.schemas.d.ts.map +1 -1
  1732. package/dist/esm/core/config/onboarding-view.frontend.schemas.js +17 -21
  1733. package/dist/esm/core/config/onboarding-view.frontend.schemas.js.map +1 -1
  1734. package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.d.ts.map +1 -1
  1735. package/dist/esm/core/config/resource-owned-view-resolution.frontend.utils.js.map +1 -1
  1736. package/dist/esm/core/config/settings-hub-gating.frontend.utils.d.ts.map +1 -1
  1737. package/dist/esm/core/config/settings-hub-gating.frontend.utils.js.map +1 -1
  1738. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts +22 -0
  1739. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.d.ts.map +1 -0
  1740. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js +91 -0
  1741. package/dist/esm/core/config/settings-hub-presentation.frontend.utils.js.map +1 -0
  1742. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts +39 -11
  1743. package/dist/esm/core/config/settings-hub.frontend.schemas.d.ts.map +1 -1
  1744. package/dist/esm/core/config/settings-hub.frontend.schemas.js +14 -2
  1745. package/dist/esm/core/config/settings-hub.frontend.schemas.js.map +1 -1
  1746. package/dist/esm/core/config/useSettingsHubConfig.d.ts +24 -3
  1747. package/dist/esm/core/config/useSettingsHubConfig.d.ts.map +1 -1
  1748. package/dist/esm/core/config/useSettingsHubConfig.js +38 -10
  1749. package/dist/esm/core/config/useSettingsHubConfig.js.map +1 -1
  1750. package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts +28 -1
  1751. package/dist/esm/core/config/useVisibleSettingsHubConfig.d.ts.map +1 -1
  1752. package/dist/esm/core/config/useVisibleSettingsHubConfig.js +36 -4
  1753. package/dist/esm/core/config/useVisibleSettingsHubConfig.js.map +1 -1
  1754. package/dist/esm/core/config/verify-feature-references.frontend.d.ts.map +1 -1
  1755. package/dist/esm/core/config/verify-feature-references.frontend.js.map +1 -1
  1756. package/dist/esm/core/config/verify-launcher-content.d.ts.map +1 -1
  1757. package/dist/esm/core/config/verify-launcher-content.js.map +1 -1
  1758. package/dist/esm/core/config/verify-settings-hub-content.d.ts +13 -2
  1759. package/dist/esm/core/config/verify-settings-hub-content.d.ts.map +1 -1
  1760. package/dist/esm/core/config/verify-settings-hub-content.js +33 -2
  1761. package/dist/esm/core/config/verify-settings-hub-content.js.map +1 -1
  1762. package/dist/esm/core/config/view-label-declaration.schemas.d.ts +22 -0
  1763. package/dist/esm/core/config/view-label-declaration.schemas.d.ts.map +1 -0
  1764. package/dist/esm/core/config/view-label-declaration.schemas.js +1 -0
  1765. package/dist/esm/core/config/view-label-declaration.schemas.js.map +1 -0
  1766. package/dist/esm/core/config/views-frontend.schemas.d.ts.map +1 -1
  1767. package/dist/esm/core/config/views-frontend.schemas.js.map +1 -1
  1768. package/dist/esm/core/enums/common-enum-registry.d.ts +28 -5
  1769. package/dist/esm/core/enums/common-enum-registry.d.ts.map +1 -1
  1770. package/dist/esm/core/enums/common-enum-registry.js +41 -7
  1771. package/dist/esm/core/enums/common-enum-registry.js.map +1 -1
  1772. package/dist/esm/core/errors/ErrorBoundary.d.ts.map +1 -1
  1773. package/dist/esm/core/errors/ErrorBoundary.js.map +1 -1
  1774. package/dist/esm/core/errors/ErrorContext.d.ts.map +1 -1
  1775. package/dist/esm/core/errors/ErrorContext.js +12 -29
  1776. package/dist/esm/core/errors/ErrorContext.js.map +1 -1
  1777. package/dist/esm/core/errors/ErrorModalContent.d.ts +18 -0
  1778. package/dist/esm/core/errors/ErrorModalContent.d.ts.map +1 -0
  1779. package/dist/esm/core/errors/ErrorModalContent.js +18 -0
  1780. package/dist/esm/core/errors/ErrorModalContent.js.map +1 -0
  1781. package/dist/esm/core/errors/GlobalErrorHandler.d.ts.map +1 -1
  1782. package/dist/esm/core/errors/GlobalErrorHandler.js +12 -41
  1783. package/dist/esm/core/errors/GlobalErrorHandler.js.map +1 -1
  1784. package/dist/esm/core/errors/RouterErrorBoundary.d.ts.map +1 -1
  1785. package/dist/esm/core/errors/RouterErrorBoundary.js.map +1 -1
  1786. package/dist/esm/core/errors/error-management.frontend.service.d.ts.map +1 -1
  1787. package/dist/esm/core/errors/error-management.frontend.service.js +4 -4
  1788. package/dist/esm/core/errors/error-management.frontend.service.js.map +1 -1
  1789. package/dist/esm/core/errors/errors-builder.frontend.services.d.ts.map +1 -1
  1790. package/dist/esm/core/errors/errors-builder.frontend.services.js +3 -3
  1791. package/dist/esm/core/errors/errors-builder.frontend.services.js.map +1 -1
  1792. package/dist/esm/core/errors/errors.frontend.schemas.d.ts +24 -11
  1793. package/dist/esm/core/errors/errors.frontend.schemas.d.ts.map +1 -1
  1794. package/dist/esm/core/errors/errors.frontend.schemas.js +8 -11
  1795. package/dist/esm/core/errors/errors.frontend.schemas.js.map +1 -1
  1796. package/dist/esm/core/errors/http-error-behavior.frontend.schemas.d.ts.map +1 -1
  1797. package/dist/esm/core/errors/http-error-behavior.frontend.schemas.js.map +1 -1
  1798. package/dist/esm/core/errors/useError.d.ts.map +1 -1
  1799. package/dist/esm/core/errors/useError.js.map +1 -1
  1800. package/dist/esm/core/errors/useUserFacingErrorMessage.d.ts +40 -0
  1801. package/dist/esm/core/errors/useUserFacingErrorMessage.d.ts.map +1 -0
  1802. package/dist/esm/core/errors/useUserFacingErrorMessage.js +48 -0
  1803. package/dist/esm/core/errors/useUserFacingErrorMessage.js.map +1 -0
  1804. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts +141 -0
  1805. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.d.ts.map +1 -0
  1806. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js +256 -0
  1807. package/dist/esm/core/errors/user-facing-error-message.frontend.utils.js.map +1 -0
  1808. package/dist/esm/core/errors/withErrorBoundary.d.ts.map +1 -1
  1809. package/dist/esm/core/errors/withErrorBoundary.js.map +1 -1
  1810. package/dist/esm/core/events/EventBusContext.d.ts.map +1 -1
  1811. package/dist/esm/core/events/EventBusContext.js.map +1 -1
  1812. package/dist/esm/core/events/NotificationContext.d.ts +22 -0
  1813. package/dist/esm/core/events/NotificationContext.d.ts.map +1 -1
  1814. package/dist/esm/core/events/NotificationContext.js +239 -70
  1815. package/dist/esm/core/events/NotificationContext.js.map +1 -1
  1816. package/dist/esm/core/events/event-bus.frontend.service.d.ts.map +1 -1
  1817. package/dist/esm/core/events/event-bus.frontend.service.js.map +1 -1
  1818. package/dist/esm/core/events/events.frontend.schemas.d.ts +121 -46
  1819. package/dist/esm/core/events/events.frontend.schemas.d.ts.map +1 -1
  1820. package/dist/esm/core/events/events.frontend.schemas.js +68 -7
  1821. package/dist/esm/core/events/events.frontend.schemas.js.map +1 -1
  1822. package/dist/esm/core/events/notification-display-policy.frontend.schemas.d.ts +0 -13
  1823. package/dist/esm/core/events/notification-display-policy.frontend.schemas.d.ts.map +1 -1
  1824. package/dist/esm/core/events/notification-display-policy.frontend.schemas.js +0 -23
  1825. package/dist/esm/core/events/notification-display-policy.frontend.schemas.js.map +1 -1
  1826. package/dist/esm/core/events/toast.d.ts.map +1 -1
  1827. package/dist/esm/core/events/toast.js.map +1 -1
  1828. package/dist/esm/core/events/useEventBus.d.ts.map +1 -1
  1829. package/dist/esm/core/events/useEventBus.js.map +1 -1
  1830. package/dist/esm/core/events/useNotification.d.ts.map +1 -1
  1831. package/dist/esm/core/events/useNotification.js.map +1 -1
  1832. package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.d.ts.map +1 -1
  1833. package/dist/esm/core/execution/ExecutionDirtyMarkerScopeContext.js.map +1 -1
  1834. package/dist/esm/core/execution/ExecutionRuntimeContext.d.ts.map +1 -1
  1835. package/dist/esm/core/execution/ExecutionRuntimeContext.js.map +1 -1
  1836. package/dist/esm/core/execution/execution-anchor.utils.d.ts.map +1 -1
  1837. package/dist/esm/core/execution/execution-anchor.utils.js.map +1 -1
  1838. package/dist/esm/core/execution/execution-dirty-markers.utils.d.ts.map +1 -1
  1839. package/dist/esm/core/execution/execution-dirty-markers.utils.js.map +1 -1
  1840. package/dist/esm/core/execution/execution-failure-handling.utils.d.ts.map +1 -1
  1841. package/dist/esm/core/execution/execution-failure-handling.utils.js.map +1 -1
  1842. package/dist/esm/core/execution/execution-outcome-emission.utils.d.ts.map +1 -1
  1843. package/dist/esm/core/execution/execution-outcome-emission.utils.js +3 -4
  1844. package/dist/esm/core/execution/execution-outcome-emission.utils.js.map +1 -1
  1845. package/dist/esm/core/execution/execution-participation.utils.d.ts.map +1 -1
  1846. package/dist/esm/core/execution/execution-participation.utils.js.map +1 -1
  1847. package/dist/esm/core/execution/useExecution.d.ts +7 -1
  1848. package/dist/esm/core/execution/useExecution.d.ts.map +1 -1
  1849. package/dist/esm/core/execution/useExecution.js.map +1 -1
  1850. package/dist/esm/core/execution/useExecutionDirtyBridge.d.ts.map +1 -1
  1851. package/dist/esm/core/execution/useExecutionDirtyBridge.js.map +1 -1
  1852. package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.d.ts.map +1 -1
  1853. package/dist/esm/core/execution/useExecutionParticipationDataPrefetch.js.map +1 -1
  1854. package/dist/esm/core/execution/useExecutionParticipationPrefetch.d.ts.map +1 -1
  1855. package/dist/esm/core/execution/useExecutionParticipationPrefetch.js.map +1 -1
  1856. package/dist/esm/core/execution/useExecutionParticipationRMM.d.ts.map +1 -1
  1857. package/dist/esm/core/execution/useExecutionParticipationRMM.js.map +1 -1
  1858. package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.d.ts.map +1 -1
  1859. package/dist/esm/core/execution/useExecutionResourceOperationContextBuilder.js.map +1 -1
  1860. package/dist/esm/core/execution/useExecutionResourceOperationSurface.d.ts.map +1 -1
  1861. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js +8 -1
  1862. package/dist/esm/core/execution/useExecutionResourceOperationSurface.js.map +1 -1
  1863. package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts +24 -1
  1864. package/dist/esm/core/external-providers/ProviderFilePickerHost.d.ts.map +1 -1
  1865. package/dist/esm/core/external-providers/ProviderFilePickerHost.js +47 -4
  1866. package/dist/esm/core/external-providers/ProviderFilePickerHost.js.map +1 -1
  1867. package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.d.ts.map +1 -1
  1868. package/dist/esm/core/external-providers/frontend-provider-display-label.frontend.utils.js.map +1 -1
  1869. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts +1 -2
  1870. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.d.ts.map +1 -1
  1871. package/dist/esm/core/external-providers/frontend-provider-registry.frontend.service.js.map +1 -1
  1872. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts +1 -2
  1873. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.d.ts.map +1 -1
  1874. package/dist/esm/core/external-providers/provider-file-selection.frontend.utils.js.map +1 -1
  1875. package/dist/esm/core/features/FeatureGate.d.ts.map +1 -1
  1876. package/dist/esm/core/features/FeatureGate.js.map +1 -1
  1877. package/dist/esm/core/features/FeatureRouteGuard.d.ts.map +1 -1
  1878. package/dist/esm/core/features/FeatureRouteGuard.js.map +1 -1
  1879. package/dist/esm/core/features/FeaturesContext.d.ts.map +1 -1
  1880. package/dist/esm/core/features/FeaturesContext.js +30 -3
  1881. package/dist/esm/core/features/FeaturesContext.js.map +1 -1
  1882. package/dist/esm/core/features/feature-gate-surface.example.d.ts +44 -0
  1883. package/dist/esm/core/features/feature-gate-surface.example.d.ts.map +1 -0
  1884. package/dist/esm/core/features/feature-gate-surface.example.js +38 -0
  1885. package/dist/esm/core/features/feature-gate-surface.example.js.map +1 -0
  1886. package/dist/esm/core/features/feature-unavailability.frontend.utils.d.ts.map +1 -1
  1887. package/dist/esm/core/features/feature-unavailability.frontend.utils.js.map +1 -1
  1888. package/dist/esm/core/features/useFeatureAvailability.d.ts.map +1 -1
  1889. package/dist/esm/core/features/useFeatureAvailability.js.map +1 -1
  1890. package/dist/esm/core/features/useFeatureGate.d.ts.map +1 -1
  1891. package/dist/esm/core/features/useFeatureGate.js.map +1 -1
  1892. package/dist/esm/core/features/useFeatures.d.ts.map +1 -1
  1893. package/dist/esm/core/features/useFeatures.js.map +1 -1
  1894. package/dist/esm/core/features/useOperationFeatureAvailability.d.ts.map +1 -1
  1895. package/dist/esm/core/features/useOperationFeatureAvailability.js.map +1 -1
  1896. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts +48 -4
  1897. package/dist/esm/core/flows-actors/FlowsActorsContext.d.ts.map +1 -1
  1898. package/dist/esm/core/flows-actors/FlowsActorsContext.js +144 -20
  1899. package/dist/esm/core/flows-actors/FlowsActorsContext.js.map +1 -1
  1900. package/dist/esm/core/flows-actors/useFlowsActors.d.ts.map +1 -1
  1901. package/dist/esm/core/flows-actors/useFlowsActors.js.map +1 -1
  1902. package/dist/esm/core/guidance/GuidanceContext.d.ts +34 -1
  1903. package/dist/esm/core/guidance/GuidanceContext.d.ts.map +1 -1
  1904. package/dist/esm/core/guidance/GuidanceContext.js +1004 -117
  1905. package/dist/esm/core/guidance/GuidanceContext.js.map +1 -1
  1906. package/dist/esm/core/guidance/GuidanceRenderer.d.ts +54 -1
  1907. package/dist/esm/core/guidance/GuidanceRenderer.d.ts.map +1 -1
  1908. package/dist/esm/core/guidance/GuidanceRenderer.js +355 -13
  1909. package/dist/esm/core/guidance/GuidanceRenderer.js.map +1 -1
  1910. package/dist/esm/core/guidance/guidance-audience.frontend.utils.d.ts +22 -2
  1911. package/dist/esm/core/guidance/guidance-audience.frontend.utils.d.ts.map +1 -1
  1912. package/dist/esm/core/guidance/guidance-audience.frontend.utils.js +59 -1
  1913. package/dist/esm/core/guidance/guidance-audience.frontend.utils.js.map +1 -1
  1914. package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.d.ts.map +1 -1
  1915. package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.js +51 -1
  1916. package/dist/esm/core/guidance/guidance-resource-compiler.shared.utils.js.map +1 -1
  1917. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.d.ts.map +1 -1
  1918. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.js.map +1 -1
  1919. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.d.ts.map +1 -1
  1920. package/dist/esm/core/guidance/renderers/GuidanceAnnouncement.labels.js.map +1 -1
  1921. package/dist/esm/core/guidance/renderers/GuidanceBadge.d.ts.map +1 -1
  1922. package/dist/esm/core/guidance/renderers/GuidanceBadge.js +17 -8
  1923. package/dist/esm/core/guidance/renderers/GuidanceBadge.js.map +1 -1
  1924. package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.d.ts.map +1 -1
  1925. package/dist/esm/core/guidance/renderers/GuidanceBadge.labels.js.map +1 -1
  1926. package/dist/esm/core/guidance/renderers/GuidanceBanner.d.ts.map +1 -1
  1927. package/dist/esm/core/guidance/renderers/GuidanceBanner.js +11 -1
  1928. package/dist/esm/core/guidance/renderers/GuidanceBanner.js.map +1 -1
  1929. package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.d.ts.map +1 -1
  1930. package/dist/esm/core/guidance/renderers/GuidanceBanner.labels.js.map +1 -1
  1931. package/dist/esm/core/guidance/renderers/GuidanceCard.d.ts.map +1 -1
  1932. package/dist/esm/core/guidance/renderers/GuidanceCard.js.map +1 -1
  1933. package/dist/esm/core/guidance/renderers/GuidanceCard.labels.d.ts.map +1 -1
  1934. package/dist/esm/core/guidance/renderers/GuidanceCard.labels.js.map +1 -1
  1935. package/dist/esm/core/guidance/renderers/GuidanceChecklist.d.ts.map +1 -1
  1936. package/dist/esm/core/guidance/renderers/GuidanceChecklist.js +4 -1
  1937. package/dist/esm/core/guidance/renderers/GuidanceChecklist.js.map +1 -1
  1938. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.d.ts.map +1 -1
  1939. package/dist/esm/core/guidance/renderers/GuidanceChecklist.labels.js.map +1 -1
  1940. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.d.ts.map +1 -1
  1941. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.js.map +1 -1
  1942. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.d.ts.map +1 -1
  1943. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.js +4 -0
  1944. package/dist/esm/core/guidance/renderers/GuidanceChecklistItem.labels.js.map +1 -1
  1945. package/dist/esm/core/guidance/renderers/GuidanceModal.d.ts.map +1 -1
  1946. package/dist/esm/core/guidance/renderers/GuidanceModal.js.map +1 -1
  1947. package/dist/esm/core/guidance/renderers/GuidanceModal.labels.d.ts.map +1 -1
  1948. package/dist/esm/core/guidance/renderers/GuidanceModal.labels.js.map +1 -1
  1949. package/dist/esm/core/guidance/renderers/GuidanceSurvey.d.ts.map +1 -1
  1950. package/dist/esm/core/guidance/renderers/GuidanceSurvey.js +28 -5
  1951. package/dist/esm/core/guidance/renderers/GuidanceSurvey.js.map +1 -1
  1952. package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.d.ts.map +1 -1
  1953. package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.js +8 -0
  1954. package/dist/esm/core/guidance/renderers/GuidanceSurvey.labels.js.map +1 -1
  1955. package/dist/esm/core/guidance/renderers/GuidanceTooltip.d.ts.map +1 -1
  1956. package/dist/esm/core/guidance/renderers/GuidanceTooltip.js +14 -1
  1957. package/dist/esm/core/guidance/renderers/GuidanceTooltip.js.map +1 -1
  1958. package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.d.ts.map +1 -1
  1959. package/dist/esm/core/guidance/renderers/GuidanceTooltip.labels.js.map +1 -1
  1960. package/dist/esm/core/guidance/renderers/GuidanceTour.d.ts.map +1 -1
  1961. package/dist/esm/core/guidance/renderers/GuidanceTour.js +26 -3
  1962. package/dist/esm/core/guidance/renderers/GuidanceTour.js.map +1 -1
  1963. package/dist/esm/core/guidance/renderers/GuidanceTour.labels.d.ts.map +1 -1
  1964. package/dist/esm/core/guidance/renderers/GuidanceTour.labels.js.map +1 -1
  1965. package/dist/esm/core/guidance/useGuidance.d.ts.map +1 -1
  1966. package/dist/esm/core/guidance/useGuidance.js.map +1 -1
  1967. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts +8 -4
  1968. package/dist/esm/core/hotkey/DefaultHotkeyHandler.d.ts.map +1 -1
  1969. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js +9 -5
  1970. package/dist/esm/core/hotkey/DefaultHotkeyHandler.js.map +1 -1
  1971. package/dist/esm/core/hotkey/HotkeyRegistryContext.d.ts.map +1 -1
  1972. package/dist/esm/core/hotkey/HotkeyRegistryContext.js +3 -2
  1973. package/dist/esm/core/hotkey/HotkeyRegistryContext.js.map +1 -1
  1974. package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.d.ts.map +1 -1
  1975. package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.js +2 -1
  1976. package/dist/esm/core/hotkey/HotkeyShortcutsHelpDialog.js.map +1 -1
  1977. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts +25 -1
  1978. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.d.ts.map +1 -1
  1979. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js +28 -2
  1980. package/dist/esm/core/hotkey/hotkey-registry.frontend.schemas.js.map +1 -1
  1981. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.d.ts.map +1 -1
  1982. package/dist/esm/core/hotkey/merge-hotkey-emit-shortcuts.js.map +1 -1
  1983. package/dist/esm/core/hotkey/useHotkey.d.ts.map +1 -1
  1984. package/dist/esm/core/hotkey/useHotkey.js.map +1 -1
  1985. package/dist/esm/core/i18n/I18nContext.d.ts +59 -6
  1986. package/dist/esm/core/i18n/I18nContext.d.ts.map +1 -1
  1987. package/dist/esm/core/i18n/I18nContext.js +125 -28
  1988. package/dist/esm/core/i18n/I18nContext.js.map +1 -1
  1989. package/dist/esm/core/i18n/component-label-resolution.utils.d.ts +41 -30
  1990. package/dist/esm/core/i18n/component-label-resolution.utils.d.ts.map +1 -1
  1991. package/dist/esm/core/i18n/component-label-resolution.utils.js +69 -34
  1992. package/dist/esm/core/i18n/component-label-resolution.utils.js.map +1 -1
  1993. package/dist/esm/core/i18n/operation-title-resolution.utils.d.ts +23 -0
  1994. package/dist/esm/core/i18n/operation-title-resolution.utils.d.ts.map +1 -0
  1995. package/dist/esm/core/i18n/operation-title-resolution.utils.js +25 -0
  1996. package/dist/esm/core/i18n/operation-title-resolution.utils.js.map +1 -0
  1997. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.d.ts.map +1 -1
  1998. package/dist/esm/core/i18n/regional-preference-resolution.frontend.utils.js.map +1 -1
  1999. package/dist/esm/core/i18n/useI18n.d.ts.map +1 -1
  2000. package/dist/esm/core/i18n/useI18n.js.map +1 -1
  2001. package/dist/esm/core/icons/IconRegistryBridge.d.ts.map +1 -1
  2002. package/dist/esm/core/icons/IconRegistryBridge.js.map +1 -1
  2003. package/dist/esm/core/icons/IconRegistryContext.d.ts.map +1 -1
  2004. package/dist/esm/core/icons/IconRegistryContext.js +10 -0
  2005. package/dist/esm/core/icons/IconRegistryContext.js.map +1 -1
  2006. package/dist/esm/core/icons/icon-registry.frontend.definitions.d.ts.map +1 -1
  2007. package/dist/esm/core/icons/icon-registry.frontend.definitions.js.map +1 -1
  2008. package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts +8 -0
  2009. package/dist/esm/core/icons/icon-registry.frontend.schemas.d.ts.map +1 -1
  2010. package/dist/esm/core/icons/icon-registry.frontend.schemas.js +8 -0
  2011. package/dist/esm/core/icons/icon-registry.frontend.schemas.js.map +1 -1
  2012. package/dist/esm/core/icons/useIconRegistry.d.ts.map +1 -1
  2013. package/dist/esm/core/icons/useIconRegistry.js.map +1 -1
  2014. package/dist/esm/core/loading/AppLoadingGate.d.ts.map +1 -1
  2015. package/dist/esm/core/loading/AppLoadingGate.js.map +1 -1
  2016. package/dist/esm/core/loading/LoadingBarrier.d.ts.map +1 -1
  2017. package/dist/esm/core/loading/LoadingBarrier.js.map +1 -1
  2018. package/dist/esm/core/loading/LoadingContext.d.ts.map +1 -1
  2019. package/dist/esm/core/loading/LoadingContext.js.map +1 -1
  2020. package/dist/esm/core/loading/LoadingGate.d.ts.map +1 -1
  2021. package/dist/esm/core/loading/LoadingGate.js +41 -7
  2022. package/dist/esm/core/loading/LoadingGate.js.map +1 -1
  2023. package/dist/esm/core/loading/loading-policy.frontend.schemas.d.ts.map +1 -1
  2024. package/dist/esm/core/loading/loading-policy.frontend.schemas.js.map +1 -1
  2025. package/dist/esm/core/loading/loading-scope.frontend.utils.d.ts.map +1 -1
  2026. package/dist/esm/core/loading/loading-scope.frontend.utils.js.map +1 -1
  2027. package/dist/esm/core/loading/loading-types.frontend.schemas.d.ts.map +1 -1
  2028. package/dist/esm/core/loading/loading-types.frontend.schemas.js.map +1 -1
  2029. package/dist/esm/core/loading/resolveLoadingPolicy.d.ts.map +1 -1
  2030. package/dist/esm/core/loading/resolveLoadingPolicy.js.map +1 -1
  2031. package/dist/esm/core/loading/useAppLoading.d.ts.map +1 -1
  2032. package/dist/esm/core/loading/useAppLoading.js.map +1 -1
  2033. package/dist/esm/core/loading/useComponentLoading.d.ts.map +1 -1
  2034. package/dist/esm/core/loading/useComponentLoading.js.map +1 -1
  2035. package/dist/esm/core/loading/useEmitLoadingScope.d.ts.map +1 -1
  2036. package/dist/esm/core/loading/useEmitLoadingScope.js.map +1 -1
  2037. package/dist/esm/core/loading/useLoading.d.ts.map +1 -1
  2038. package/dist/esm/core/loading/useLoading.js.map +1 -1
  2039. package/dist/esm/core/mode/AppModeContext.d.ts.map +1 -1
  2040. package/dist/esm/core/mode/AppModeContext.js.map +1 -1
  2041. package/dist/esm/core/mode/section-visibility.d.ts.map +1 -1
  2042. package/dist/esm/core/mode/section-visibility.js.map +1 -1
  2043. package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts +9 -1
  2044. package/dist/esm/core/monitoring/analytics/AnalyticsContext.d.ts.map +1 -1
  2045. package/dist/esm/core/monitoring/analytics/AnalyticsContext.js +131 -59
  2046. package/dist/esm/core/monitoring/analytics/AnalyticsContext.js.map +1 -1
  2047. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts +9 -0
  2048. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.d.ts.map +1 -1
  2049. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js +80 -73
  2050. package/dist/esm/core/monitoring/analytics/AnalyticsEventBridge.js.map +1 -1
  2051. package/dist/esm/core/monitoring/analytics/AnalyticsScopeBridge.d.ts +5 -0
  2052. package/dist/esm/core/monitoring/analytics/AnalyticsScopeBridge.d.ts.map +1 -0
  2053. package/dist/esm/core/monitoring/analytics/AnalyticsScopeBridge.js +16 -0
  2054. package/dist/esm/core/monitoring/analytics/AnalyticsScopeBridge.js.map +1 -0
  2055. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.d.ts.map +1 -1
  2056. package/dist/esm/core/monitoring/analytics/analytics-provider-registry.frontend.service.js.map +1 -1
  2057. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.d.ts.map +1 -1
  2058. package/dist/esm/core/monitoring/analytics/analytics-provider.frontend.interface.js.map +1 -1
  2059. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.d.ts.map +1 -1
  2060. package/dist/esm/core/monitoring/analytics/providers/backend-proxy-analytics.provider.js.map +1 -1
  2061. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.d.ts.map +1 -1
  2062. package/dist/esm/core/monitoring/analytics/providers/console-analytics.provider.js.map +1 -1
  2063. package/dist/esm/core/monitoring/analytics/useAnalytics.d.ts.map +1 -1
  2064. package/dist/esm/core/monitoring/analytics/useAnalytics.js +1 -1
  2065. package/dist/esm/core/monitoring/analytics/useAnalytics.js.map +1 -1
  2066. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.d.ts.map +1 -1
  2067. package/dist/esm/core/monitoring/error-monitoring-bridge.frontend.service.js.map +1 -1
  2068. package/dist/esm/core/monitoring/logger.frontend.service.d.ts.map +1 -1
  2069. package/dist/esm/core/monitoring/logger.frontend.service.js.map +1 -1
  2070. package/dist/esm/core/navigation/NavigationContentAreas.d.ts +66 -2
  2071. package/dist/esm/core/navigation/NavigationContentAreas.d.ts.map +1 -1
  2072. package/dist/esm/core/navigation/NavigationContentAreas.js +482 -73
  2073. package/dist/esm/core/navigation/NavigationContentAreas.js.map +1 -1
  2074. package/dist/esm/core/navigation/NavigationContext.d.ts +42 -0
  2075. package/dist/esm/core/navigation/NavigationContext.d.ts.map +1 -1
  2076. package/dist/esm/core/navigation/NavigationContext.js +8 -0
  2077. package/dist/esm/core/navigation/NavigationContext.js.map +1 -1
  2078. package/dist/esm/core/navigation/NavigationRequestBridge.d.ts.map +1 -1
  2079. package/dist/esm/core/navigation/NavigationRequestBridge.js.map +1 -1
  2080. package/dist/esm/core/navigation/hosted-pane.constants.d.ts.map +1 -1
  2081. package/dist/esm/core/navigation/hosted-pane.constants.js.map +1 -1
  2082. package/dist/esm/core/navigation/launcher-resolution.d.ts.map +1 -1
  2083. package/dist/esm/core/navigation/launcher-resolution.js.map +1 -1
  2084. package/dist/esm/core/navigation/launcher-runtime-availability.d.ts.map +1 -1
  2085. package/dist/esm/core/navigation/launcher-runtime-availability.js.map +1 -1
  2086. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts +22 -0
  2087. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.d.ts.map +1 -1
  2088. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js +24 -0
  2089. package/dist/esm/core/navigation/navigation-clean-break.frontend.utils.js.map +1 -1
  2090. package/dist/esm/core/navigation/navigation-policy-resolver.service.d.ts.map +1 -1
  2091. package/dist/esm/core/navigation/navigation-policy-resolver.service.js +79 -17
  2092. package/dist/esm/core/navigation/navigation-policy-resolver.service.js.map +1 -1
  2093. package/dist/esm/core/navigation/navigation.schemas.d.ts +38 -14
  2094. package/dist/esm/core/navigation/navigation.schemas.d.ts.map +1 -1
  2095. package/dist/esm/core/navigation/navigation.schemas.js +10 -4
  2096. package/dist/esm/core/navigation/navigation.schemas.js.map +1 -1
  2097. package/dist/esm/core/navigation/navigation.utils.d.ts +60 -2
  2098. package/dist/esm/core/navigation/navigation.utils.d.ts.map +1 -1
  2099. package/dist/esm/core/navigation/navigation.utils.js +123 -17
  2100. package/dist/esm/core/navigation/navigation.utils.js.map +1 -1
  2101. package/dist/esm/core/navigation/primary-destination-layout.d.ts +58 -0
  2102. package/dist/esm/core/navigation/primary-destination-layout.d.ts.map +1 -1
  2103. package/dist/esm/core/navigation/primary-destination-layout.js +58 -0
  2104. package/dist/esm/core/navigation/primary-destination-layout.js.map +1 -1
  2105. package/dist/esm/core/navigation/split-fit.d.ts +56 -0
  2106. package/dist/esm/core/navigation/split-fit.d.ts.map +1 -0
  2107. package/dist/esm/core/navigation/split-fit.js +61 -0
  2108. package/dist/esm/core/navigation/split-fit.js.map +1 -0
  2109. package/dist/esm/core/navigation/useIsStackEntryActive.d.ts.map +1 -1
  2110. package/dist/esm/core/navigation/useIsStackEntryActive.js.map +1 -1
  2111. package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts +4 -2
  2112. package/dist/esm/core/navigation/useLauncherResolutionContext.d.ts.map +1 -1
  2113. package/dist/esm/core/navigation/useLauncherResolutionContext.js +26 -4
  2114. package/dist/esm/core/navigation/useLauncherResolutionContext.js.map +1 -1
  2115. package/dist/esm/core/navigation/useNavigationController.d.ts +6 -3
  2116. package/dist/esm/core/navigation/useNavigationController.d.ts.map +1 -1
  2117. package/dist/esm/core/navigation/useNavigationController.js +167 -22
  2118. package/dist/esm/core/navigation/useNavigationController.js.map +1 -1
  2119. package/dist/esm/core/navigation/useNavigationState.d.ts.map +1 -1
  2120. package/dist/esm/core/navigation/useNavigationState.js.map +1 -1
  2121. package/dist/esm/core/navigation/useOverlayTitle.d.ts.map +1 -1
  2122. package/dist/esm/core/navigation/useOverlayTitle.js +2 -5
  2123. package/dist/esm/core/navigation/useOverlayTitle.js.map +1 -1
  2124. package/dist/esm/core/navigation/useSynchronousBrowserLocation.d.ts +58 -0
  2125. package/dist/esm/core/navigation/useSynchronousBrowserLocation.d.ts.map +1 -0
  2126. package/dist/esm/core/navigation/useSynchronousBrowserLocation.js +68 -0
  2127. package/dist/esm/core/navigation/useSynchronousBrowserLocation.js.map +1 -0
  2128. package/dist/esm/core/navigation/useTransactionAwareSyncRetry.d.ts.map +1 -1
  2129. package/dist/esm/core/navigation/useTransactionAwareSyncRetry.js.map +1 -1
  2130. package/dist/esm/core/navigation/view-title-resolution.d.ts +18 -0
  2131. package/dist/esm/core/navigation/view-title-resolution.d.ts.map +1 -1
  2132. package/dist/esm/core/navigation/view-title-resolution.js +20 -2
  2133. package/dist/esm/core/navigation/view-title-resolution.js.map +1 -1
  2134. package/dist/esm/core/navigation/zone-content-geometry.d.ts.map +1 -1
  2135. package/dist/esm/core/navigation/zone-content-geometry.js.map +1 -1
  2136. package/dist/esm/core/navigation/zone-emphasis.d.ts +42 -0
  2137. package/dist/esm/core/navigation/zone-emphasis.d.ts.map +1 -0
  2138. package/dist/esm/core/navigation/zone-emphasis.js +50 -0
  2139. package/dist/esm/core/navigation/zone-emphasis.js.map +1 -0
  2140. package/dist/esm/core/navigation/zone-empty-behavior.d.ts +22 -0
  2141. package/dist/esm/core/navigation/zone-empty-behavior.d.ts.map +1 -1
  2142. package/dist/esm/core/navigation/zone-empty-behavior.js +21 -0
  2143. package/dist/esm/core/navigation/zone-empty-behavior.js.map +1 -1
  2144. package/dist/esm/core/navigation/zone-visible-entry.d.ts.map +1 -1
  2145. package/dist/esm/core/navigation/zone-visible-entry.js.map +1 -1
  2146. package/dist/esm/core/requests/api-readiness-checker.frontend.service.d.ts.map +1 -1
  2147. package/dist/esm/core/requests/api-readiness-checker.frontend.service.js.map +1 -1
  2148. package/dist/esm/core/requests/auth-refresh-resilience.frontend.d.ts.map +1 -1
  2149. package/dist/esm/core/requests/auth-refresh-resilience.frontend.js.map +1 -1
  2150. package/dist/esm/core/requests/client-instance-id.frontend.service.d.ts.map +1 -1
  2151. package/dist/esm/core/requests/client-instance-id.frontend.service.js.map +1 -1
  2152. package/dist/esm/core/requests/network-backoff.frontend.utils.d.ts.map +1 -1
  2153. package/dist/esm/core/requests/network-backoff.frontend.utils.js.map +1 -1
  2154. package/dist/esm/core/requests/offline-replay-policy.frontend.d.ts.map +1 -1
  2155. package/dist/esm/core/requests/offline-replay-policy.frontend.js.map +1 -1
  2156. package/dist/esm/core/requests/request-cancellation.frontend.utils.d.ts.map +1 -1
  2157. package/dist/esm/core/requests/request-cancellation.frontend.utils.js.map +1 -1
  2158. package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.d.ts.map +1 -1
  2159. package/dist/esm/core/requests/websockets/ConnectionStatusNotifier.js.map +1 -1
  2160. package/dist/esm/core/requests/websockets/WebSocketContext.d.ts.map +1 -1
  2161. package/dist/esm/core/requests/websockets/WebSocketContext.js.map +1 -1
  2162. package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts +1 -0
  2163. package/dist/esm/core/requests/websockets/WebSocketEventBridge.d.ts.map +1 -1
  2164. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js +22 -0
  2165. package/dist/esm/core/requests/websockets/WebSocketEventBridge.js.map +1 -1
  2166. package/dist/esm/core/requests/websockets/useNotificationBadges.d.ts.map +1 -1
  2167. package/dist/esm/core/requests/websockets/useNotificationBadges.js.map +1 -1
  2168. package/dist/esm/core/requests/websockets/useResourceRoom.d.ts.map +1 -1
  2169. package/dist/esm/core/requests/websockets/useResourceRoom.js.map +1 -1
  2170. package/dist/esm/core/requests/websockets/useWebSocket.d.ts.map +1 -1
  2171. package/dist/esm/core/requests/websockets/useWebSocket.js.map +1 -1
  2172. package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.d.ts.map +1 -1
  2173. package/dist/esm/core/requests/websockets/websocket-resource-validation.frontend.service.js.map +1 -1
  2174. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts +417 -30
  2175. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.d.ts.map +1 -1
  2176. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js +232 -17
  2177. package/dist/esm/core/requests/wildo-http-client-manual-calls.frontend.service.js.map +1 -1
  2178. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts +19 -2
  2179. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.d.ts.map +1 -1
  2180. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js +129 -13
  2181. package/dist/esm/core/requests/wildo-http-client-resources.frontend.service.js.map +1 -1
  2182. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts +22 -4
  2183. package/dist/esm/core/requests/wildo-http-client.frontend.service.d.ts.map +1 -1
  2184. package/dist/esm/core/requests/wildo-http-client.frontend.service.js +24 -4
  2185. package/dist/esm/core/requests/wildo-http-client.frontend.service.js.map +1 -1
  2186. package/dist/esm/core/resources/ResourceOperationViewContext.d.ts.map +1 -1
  2187. package/dist/esm/core/resources/ResourceOperationViewContext.js.map +1 -1
  2188. package/dist/esm/core/resources/ResourceOperationViewProvider.d.ts.map +1 -1
  2189. package/dist/esm/core/resources/ResourceOperationViewProvider.js.map +1 -1
  2190. package/dist/esm/core/resources/ResourceReadCacheBridge.d.ts.map +1 -1
  2191. package/dist/esm/core/resources/ResourceReadCacheBridge.js +148 -51
  2192. package/dist/esm/core/resources/ResourceReadCacheBridge.js.map +1 -1
  2193. package/dist/esm/core/resources/ResourceRegistryContext.d.ts.map +1 -1
  2194. package/dist/esm/core/resources/ResourceRegistryContext.js.map +1 -1
  2195. package/dist/esm/core/resources/ScopedResourceRegistryProvider.d.ts.map +1 -1
  2196. package/dist/esm/core/resources/ScopedResourceRegistryProvider.js.map +1 -1
  2197. package/dist/esm/core/resources/bulk-failure-grouping.frontend.utils.d.ts +26 -0
  2198. package/dist/esm/core/resources/bulk-failure-grouping.frontend.utils.d.ts.map +1 -0
  2199. package/dist/esm/core/resources/bulk-failure-grouping.frontend.utils.js +23 -0
  2200. package/dist/esm/core/resources/bulk-failure-grouping.frontend.utils.js.map +1 -0
  2201. package/dist/esm/core/resources/collection-export-url.frontend.utils.d.ts.map +1 -1
  2202. package/dist/esm/core/resources/collection-export-url.frontend.utils.js.map +1 -1
  2203. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts +41 -0
  2204. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.d.ts.map +1 -0
  2205. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js +143 -0
  2206. package/dist/esm/core/resources/collection-filter-presets.frontend.utils.js.map +1 -0
  2207. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.d.ts +7 -0
  2208. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.d.ts.map +1 -1
  2209. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js +7 -1
  2210. package/dist/esm/core/resources/context-resource-identifiers.frontend.utils.js.map +1 -1
  2211. package/dist/esm/core/resources/ephemeral-fields.utils.d.ts.map +1 -1
  2212. package/dist/esm/core/resources/ephemeral-fields.utils.js.map +1 -1
  2213. package/dist/esm/core/resources/file-serve-url.frontend.utils.d.ts.map +1 -1
  2214. package/dist/esm/core/resources/file-serve-url.frontend.utils.js.map +1 -1
  2215. package/dist/esm/core/resources/frontend-resource.utils.d.ts +74 -2
  2216. package/dist/esm/core/resources/frontend-resource.utils.d.ts.map +1 -1
  2217. package/dist/esm/core/resources/frontend-resource.utils.js +152 -19
  2218. package/dist/esm/core/resources/frontend-resource.utils.js.map +1 -1
  2219. package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts +18 -0
  2220. package/dist/esm/core/resources/hooks/useOperationEnabled.d.ts.map +1 -1
  2221. package/dist/esm/core/resources/hooks/useOperationEnabled.js +18 -4
  2222. package/dist/esm/core/resources/hooks/useOperationEnabled.js.map +1 -1
  2223. package/dist/esm/core/resources/in-place/InPlaceOperationContext.d.ts.map +1 -1
  2224. package/dist/esm/core/resources/in-place/InPlaceOperationContext.js.map +1 -1
  2225. package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.d.ts.map +1 -1
  2226. package/dist/esm/core/resources/operation-initiator-satisfaction.frontend.utils.js.map +1 -1
  2227. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts +137 -7
  2228. package/dist/esm/core/resources/operation-semantics.frontend.utils.d.ts.map +1 -1
  2229. package/dist/esm/core/resources/operation-semantics.frontend.utils.js +209 -16
  2230. package/dist/esm/core/resources/operation-semantics.frontend.utils.js.map +1 -1
  2231. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.d.ts.map +1 -1
  2232. package/dist/esm/core/resources/relationship-quick-create.frontend.utils.js.map +1 -1
  2233. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.d.ts.map +1 -1
  2234. package/dist/esm/core/resources/relationship-surface-runtime.frontend.utils.js.map +1 -1
  2235. package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts +42 -0
  2236. package/dist/esm/core/resources/resource-addressability.frontend.utils.d.ts.map +1 -1
  2237. package/dist/esm/core/resources/resource-addressability.frontend.utils.js +36 -1
  2238. package/dist/esm/core/resources/resource-addressability.frontend.utils.js.map +1 -1
  2239. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.d.ts +59 -0
  2240. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.d.ts.map +1 -0
  2241. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.js +151 -0
  2242. package/dist/esm/core/resources/resource-label-field-paths.frontend.utils.js.map +1 -0
  2243. package/dist/esm/core/resources/resource-operation-view.frontend.utils.d.ts.map +1 -1
  2244. package/dist/esm/core/resources/resource-operation-view.frontend.utils.js.map +1 -1
  2245. package/dist/esm/core/resources/resource-path.frontend.schemas.d.ts.map +1 -1
  2246. package/dist/esm/core/resources/resource-path.frontend.schemas.js.map +1 -1
  2247. package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts +26 -0
  2248. package/dist/esm/core/resources/resource-read-cache.frontend.service.d.ts.map +1 -1
  2249. package/dist/esm/core/resources/resource-read-cache.frontend.service.js +30 -0
  2250. package/dist/esm/core/resources/resource-read-cache.frontend.service.js.map +1 -1
  2251. package/dist/esm/core/resources/resources-repository.frontend.service.d.ts.map +1 -1
  2252. package/dist/esm/core/resources/resources-repository.frontend.service.js +2 -2
  2253. package/dist/esm/core/resources/resources-repository.frontend.service.js.map +1 -1
  2254. package/dist/esm/core/resources/resources.frontend.schemas.d.ts +231 -14
  2255. package/dist/esm/core/resources/resources.frontend.schemas.d.ts.map +1 -1
  2256. package/dist/esm/core/resources/resources.frontend.schemas.js +182 -8
  2257. package/dist/esm/core/resources/resources.frontend.schemas.js.map +1 -1
  2258. package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts +6 -0
  2259. package/dist/esm/core/resources/rmm/HttpTransportAdapter.d.ts.map +1 -1
  2260. package/dist/esm/core/resources/rmm/HttpTransportAdapter.js +14 -2
  2261. package/dist/esm/core/resources/rmm/HttpTransportAdapter.js.map +1 -1
  2262. package/dist/esm/core/resources/rmm/RMMRegistry.d.ts.map +1 -1
  2263. package/dist/esm/core/resources/rmm/RMMRegistry.js.map +1 -1
  2264. package/dist/esm/core/resources/rmm/RMMRegistryContext.d.ts.map +1 -1
  2265. package/dist/esm/core/resources/rmm/RMMRegistryContext.js.map +1 -1
  2266. package/dist/esm/core/resources/rmm/RMMWebSocketBridge.d.ts.map +1 -1
  2267. package/dist/esm/core/resources/rmm/RMMWebSocketBridge.js +3 -3
  2268. package/dist/esm/core/resources/rmm/RMMWebSocketBridge.js.map +1 -1
  2269. package/dist/esm/core/resources/rmm/ResourceMutationManager.d.ts.map +1 -1
  2270. package/dist/esm/core/resources/rmm/ResourceMutationManager.js +77 -8
  2271. package/dist/esm/core/resources/rmm/ResourceMutationManager.js.map +1 -1
  2272. package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.d.ts.map +1 -1
  2273. package/dist/esm/core/resources/rmm/canonical-read.frontend.utils.js.map +1 -1
  2274. package/dist/esm/core/resources/rmm/field-path.utils.d.ts.map +1 -1
  2275. package/dist/esm/core/resources/rmm/field-path.utils.js.map +1 -1
  2276. package/dist/esm/core/resources/rmm/mutation-error-report.utils.d.ts +18 -0
  2277. package/dist/esm/core/resources/rmm/mutation-error-report.utils.d.ts.map +1 -0
  2278. package/dist/esm/core/resources/rmm/mutation-error-report.utils.js +21 -0
  2279. package/dist/esm/core/resources/rmm/mutation-error-report.utils.js.map +1 -0
  2280. package/dist/esm/core/resources/rmm/rmm-constants.d.ts.map +1 -1
  2281. package/dist/esm/core/resources/rmm/rmm-constants.js.map +1 -1
  2282. package/dist/esm/core/resources/rmm/rmm-noop-snapshot.d.ts.map +1 -1
  2283. package/dist/esm/core/resources/rmm/rmm-noop-snapshot.js.map +1 -1
  2284. package/dist/esm/core/resources/rmm/types.d.ts +14 -0
  2285. package/dist/esm/core/resources/rmm/types.d.ts.map +1 -1
  2286. package/dist/esm/core/resources/rmm/types.js.map +1 -1
  2287. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.d.ts.map +1 -1
  2288. package/dist/esm/core/resources/rmm/update-like-mutation-fallback.frontend.js.map +1 -1
  2289. package/dist/esm/core/resources/rmm/useListInvalidation.d.ts.map +1 -1
  2290. package/dist/esm/core/resources/rmm/useListInvalidation.js.map +1 -1
  2291. package/dist/esm/core/resources/rmm/useRMMEventHandler.d.ts.map +1 -1
  2292. package/dist/esm/core/resources/rmm/useRMMEventHandler.js.map +1 -1
  2293. package/dist/esm/core/resources/rmm/useRMMSnapshot.d.ts.map +1 -1
  2294. package/dist/esm/core/resources/rmm/useRMMSnapshot.js.map +1 -1
  2295. package/dist/esm/core/resources/rmm/useResourceMutationManager.d.ts.map +1 -1
  2296. package/dist/esm/core/resources/rmm/useResourceMutationManager.js.map +1 -1
  2297. package/dist/esm/core/resources/rmm/useResourceRMM.d.ts.map +1 -1
  2298. package/dist/esm/core/resources/rmm/useResourceRMM.js +2 -3
  2299. package/dist/esm/core/resources/rmm/useResourceRMM.js.map +1 -1
  2300. package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.d.ts.map +1 -1
  2301. package/dist/esm/core/resources/useAuthedFileObjectUrl.frontend.hook.js.map +1 -1
  2302. package/dist/esm/core/resources/useBulkJobProgress.d.ts +22 -0
  2303. package/dist/esm/core/resources/useBulkJobProgress.d.ts.map +1 -0
  2304. package/dist/esm/core/resources/useBulkJobProgress.js +51 -0
  2305. package/dist/esm/core/resources/useBulkJobProgress.js.map +1 -0
  2306. package/dist/esm/core/resources/useHostlessResourceNavigation.d.ts.map +1 -1
  2307. package/dist/esm/core/resources/useHostlessResourceNavigation.js.map +1 -1
  2308. package/dist/esm/core/resources/useOperationEnabled.d.ts.map +1 -1
  2309. package/dist/esm/core/resources/useOperationEnabled.js.map +1 -1
  2310. package/dist/esm/core/resources/useResourceLabels.d.ts +27 -9
  2311. package/dist/esm/core/resources/useResourceLabels.d.ts.map +1 -1
  2312. package/dist/esm/core/resources/useResourceLabels.js +45 -138
  2313. package/dist/esm/core/resources/useResourceLabels.js.map +1 -1
  2314. package/dist/esm/core/resources/useResourceOperationActions.d.ts +33 -0
  2315. package/dist/esm/core/resources/useResourceOperationActions.d.ts.map +1 -1
  2316. package/dist/esm/core/resources/useResourceOperationActions.js +393 -87
  2317. package/dist/esm/core/resources/useResourceOperationActions.js.map +1 -1
  2318. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts +23 -0
  2319. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.d.ts.map +1 -0
  2320. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js +85 -0
  2321. package/dist/esm/core/resources/useResourceOperationOutcomeEmitter.js.map +1 -0
  2322. package/dist/esm/core/resources/useResourceOperationSurface.d.ts +5 -0
  2323. package/dist/esm/core/resources/useResourceOperationSurface.d.ts.map +1 -1
  2324. package/dist/esm/core/resources/useResourceOperationSurface.js.map +1 -1
  2325. package/dist/esm/core/resources/useResourceRegistry.d.ts +18 -0
  2326. package/dist/esm/core/resources/useResourceRegistry.d.ts.map +1 -1
  2327. package/dist/esm/core/resources/useResourceRegistry.js +23 -0
  2328. package/dist/esm/core/resources/useResourceRegistry.js.map +1 -1
  2329. package/dist/esm/core/resources/useResourceSelection.d.ts +36 -1
  2330. package/dist/esm/core/resources/useResourceSelection.d.ts.map +1 -1
  2331. package/dist/esm/core/resources/useResourceSelection.js +32 -1
  2332. package/dist/esm/core/resources/useResourceSelection.js.map +1 -1
  2333. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.d.ts.map +1 -1
  2334. package/dist/esm/core/resources/utils/operation-enabled-condition.frontend.utils.js.map +1 -1
  2335. package/dist/esm/core/runtime/AppRouter.d.ts.map +1 -1
  2336. package/dist/esm/core/runtime/AppRouter.js +25 -4
  2337. package/dist/esm/core/runtime/AppRouter.js.map +1 -1
  2338. package/dist/esm/core/runtime/ApplicationContext.shared.d.ts.map +1 -1
  2339. package/dist/esm/core/runtime/ApplicationContext.shared.js.map +1 -1
  2340. package/dist/esm/core/runtime/ApplicationMainContext.d.ts +3 -0
  2341. package/dist/esm/core/runtime/ApplicationMainContext.d.ts.map +1 -1
  2342. package/dist/esm/core/runtime/ApplicationMainContext.js +30 -2
  2343. package/dist/esm/core/runtime/ApplicationMainContext.js.map +1 -1
  2344. package/dist/esm/core/runtime/StartupFailureScreen.d.ts +24 -0
  2345. package/dist/esm/core/runtime/StartupFailureScreen.d.ts.map +1 -0
  2346. package/dist/esm/core/runtime/StartupFailureScreen.js +25 -0
  2347. package/dist/esm/core/runtime/StartupFailureScreen.js.map +1 -0
  2348. package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.d.ts.map +1 -1
  2349. package/dist/esm/core/runtime/app-config-overrides.frontend.definitions.js.map +1 -1
  2350. package/dist/esm/core/runtime/domain-module.frontend.definitions.d.ts.map +1 -1
  2351. package/dist/esm/core/runtime/domain-module.frontend.definitions.js.map +1 -1
  2352. package/dist/esm/core/runtime/env-variable-loader.frontend.service.d.ts +16 -0
  2353. package/dist/esm/core/runtime/env-variable-loader.frontend.service.d.ts.map +1 -1
  2354. package/dist/esm/core/runtime/env-variable-loader.frontend.service.js +22 -0
  2355. package/dist/esm/core/runtime/env-variable-loader.frontend.service.js.map +1 -1
  2356. package/dist/esm/core/runtime/frontend-companion-resource-inputs.d.ts.map +1 -1
  2357. package/dist/esm/core/runtime/frontend-companion-resource-inputs.js.map +1 -1
  2358. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts +28 -4
  2359. package/dist/esm/core/runtime/routes.frontend.definitions.d.ts.map +1 -1
  2360. package/dist/esm/core/runtime/routes.frontend.definitions.js +29 -5
  2361. package/dist/esm/core/runtime/routes.frontend.definitions.js.map +1 -1
  2362. package/dist/esm/core/runtime/runtime.frontend.schemas.d.ts.map +1 -1
  2363. package/dist/esm/core/runtime/runtime.frontend.schemas.js.map +1 -1
  2364. package/dist/esm/core/runtime/start-application.frontend.service.d.ts +2 -2
  2365. package/dist/esm/core/runtime/start-application.frontend.service.d.ts.map +1 -1
  2366. package/dist/esm/core/runtime/start-application.frontend.service.js +54 -15
  2367. package/dist/esm/core/runtime/start-application.frontend.service.js.map +1 -1
  2368. package/dist/esm/core/runtime/startup-failure-copy.frontend.d.ts +48 -0
  2369. package/dist/esm/core/runtime/startup-failure-copy.frontend.d.ts.map +1 -0
  2370. package/dist/esm/core/runtime/startup-failure-copy.frontend.js +95 -0
  2371. package/dist/esm/core/runtime/startup-failure-copy.frontend.js.map +1 -0
  2372. package/dist/esm/core/runtime/useApplication.d.ts.map +1 -1
  2373. package/dist/esm/core/runtime/useApplication.js.map +1 -1
  2374. package/dist/esm/core/scope/AppScopeContext.d.ts.map +1 -1
  2375. package/dist/esm/core/scope/AppScopeContext.js.map +1 -1
  2376. package/dist/esm/core/scope/scope.frontend.schemas.d.ts.map +1 -1
  2377. package/dist/esm/core/scope/scope.frontend.schemas.js.map +1 -1
  2378. package/dist/esm/core/scope/scope.utils.frontend.service.d.ts.map +1 -1
  2379. package/dist/esm/core/scope/scope.utils.frontend.service.js.map +1 -1
  2380. package/dist/esm/core/scope/useAppScope.d.ts.map +1 -1
  2381. package/dist/esm/core/scope/useAppScope.js.map +1 -1
  2382. package/dist/esm/core/security/AnonymousSessionContext.d.ts.map +1 -1
  2383. package/dist/esm/core/security/AnonymousSessionContext.js.map +1 -1
  2384. package/dist/esm/core/security/AuthSessionContext.d.ts +88 -3
  2385. package/dist/esm/core/security/AuthSessionContext.d.ts.map +1 -1
  2386. package/dist/esm/core/security/AuthSessionContext.js +607 -116
  2387. package/dist/esm/core/security/AuthSessionContext.js.map +1 -1
  2388. package/dist/esm/core/security/StepUpAuthContext.d.ts +12 -0
  2389. package/dist/esm/core/security/StepUpAuthContext.d.ts.map +1 -1
  2390. package/dist/esm/core/security/StepUpAuthContext.js +58 -12
  2391. package/dist/esm/core/security/StepUpAuthContext.js.map +1 -1
  2392. package/dist/esm/core/security/UserOrgsContext.d.ts +15 -1
  2393. package/dist/esm/core/security/UserOrgsContext.d.ts.map +1 -1
  2394. package/dist/esm/core/security/UserOrgsContext.js +110 -16
  2395. package/dist/esm/core/security/UserOrgsContext.js.map +1 -1
  2396. package/dist/esm/core/security/auth-redirect.frontend.utils.d.ts.map +1 -1
  2397. package/dist/esm/core/security/auth-redirect.frontend.utils.js.map +1 -1
  2398. package/dist/esm/core/security/auth-session.utils.d.ts.map +1 -1
  2399. package/dist/esm/core/security/auth-session.utils.js +21 -4
  2400. package/dist/esm/core/security/auth-session.utils.js.map +1 -1
  2401. package/dist/esm/core/security/consent-gate.frontend.utils.d.ts +102 -0
  2402. package/dist/esm/core/security/consent-gate.frontend.utils.d.ts.map +1 -0
  2403. package/dist/esm/core/security/consent-gate.frontend.utils.js +112 -0
  2404. package/dist/esm/core/security/consent-gate.frontend.utils.js.map +1 -0
  2405. package/dist/esm/core/security/cross-frontend-handoff.frontend.service.d.ts.map +1 -1
  2406. package/dist/esm/core/security/cross-frontend-handoff.frontend.service.js.map +1 -1
  2407. package/dist/esm/core/security/federated-reauthentication.frontend.d.ts +74 -0
  2408. package/dist/esm/core/security/federated-reauthentication.frontend.d.ts.map +1 -0
  2409. package/dist/esm/core/security/federated-reauthentication.frontend.js +135 -0
  2410. package/dist/esm/core/security/federated-reauthentication.frontend.js.map +1 -0
  2411. package/dist/esm/core/security/jwt.frontend.utils.d.ts.map +1 -1
  2412. package/dist/esm/core/security/jwt.frontend.utils.js.map +1 -1
  2413. package/dist/esm/core/security/organization-onboarding.frontend.utils.d.ts +50 -0
  2414. package/dist/esm/core/security/organization-onboarding.frontend.utils.d.ts.map +1 -0
  2415. package/dist/esm/core/security/organization-onboarding.frontend.utils.js +55 -0
  2416. package/dist/esm/core/security/organization-onboarding.frontend.utils.js.map +1 -0
  2417. package/dist/esm/core/security/pending-mfa-session-storage.frontend.utils.d.ts +58 -0
  2418. package/dist/esm/core/security/pending-mfa-session-storage.frontend.utils.d.ts.map +1 -0
  2419. package/dist/esm/core/security/pending-mfa-session-storage.frontend.utils.js +88 -0
  2420. package/dist/esm/core/security/pending-mfa-session-storage.frontend.utils.js.map +1 -0
  2421. package/dist/esm/core/security/registration-outcome.frontend.utils.d.ts +78 -0
  2422. package/dist/esm/core/security/registration-outcome.frontend.utils.d.ts.map +1 -0
  2423. package/dist/esm/core/security/registration-outcome.frontend.utils.js +114 -0
  2424. package/dist/esm/core/security/registration-outcome.frontend.utils.js.map +1 -0
  2425. package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts +75 -0
  2426. package/dist/esm/core/security/route-organization-access.frontend.utils.d.ts.map +1 -0
  2427. package/dist/esm/core/security/route-organization-access.frontend.utils.js +78 -0
  2428. package/dist/esm/core/security/route-organization-access.frontend.utils.js.map +1 -0
  2429. package/dist/esm/core/security/security.frontend.schemas.d.ts +70 -1
  2430. package/dist/esm/core/security/security.frontend.schemas.d.ts.map +1 -1
  2431. package/dist/esm/core/security/security.frontend.schemas.js +68 -0
  2432. package/dist/esm/core/security/security.frontend.schemas.js.map +1 -1
  2433. package/dist/esm/core/security/session-token-storage.frontend.service.d.ts.map +1 -1
  2434. package/dist/esm/core/security/session-token-storage.frontend.service.js.map +1 -1
  2435. package/dist/esm/core/security/useAuthSession.d.ts.map +1 -1
  2436. package/dist/esm/core/security/useAuthSession.js.map +1 -1
  2437. package/dist/esm/core/security/useConsentGateBehavior.d.ts +36 -0
  2438. package/dist/esm/core/security/useConsentGateBehavior.d.ts.map +1 -0
  2439. package/dist/esm/core/security/useConsentGateBehavior.js +59 -0
  2440. package/dist/esm/core/security/useConsentGateBehavior.js.map +1 -0
  2441. package/dist/esm/core/security/useDocumentAcceptanceGateBehavior.d.ts +76 -0
  2442. package/dist/esm/core/security/useDocumentAcceptanceGateBehavior.d.ts.map +1 -0
  2443. package/dist/esm/core/security/useDocumentAcceptanceGateBehavior.js +168 -0
  2444. package/dist/esm/core/security/useDocumentAcceptanceGateBehavior.js.map +1 -0
  2445. package/dist/esm/core/security/useResolvedAuthConfig.d.ts +21 -2
  2446. package/dist/esm/core/security/useResolvedAuthConfig.d.ts.map +1 -1
  2447. package/dist/esm/core/security/useResolvedAuthConfig.js +9 -5
  2448. package/dist/esm/core/security/useResolvedAuthConfig.js.map +1 -1
  2449. package/dist/esm/core/security/useRouteOrganizationAccess.d.ts +13 -0
  2450. package/dist/esm/core/security/useRouteOrganizationAccess.d.ts.map +1 -0
  2451. package/dist/esm/core/security/useRouteOrganizationAccess.js +101 -0
  2452. package/dist/esm/core/security/useRouteOrganizationAccess.js.map +1 -0
  2453. package/dist/esm/core/security/useStepUpAuth.d.ts.map +1 -1
  2454. package/dist/esm/core/security/useStepUpAuth.js.map +1 -1
  2455. package/dist/esm/core/security/useUserOrgs.d.ts.map +1 -1
  2456. package/dist/esm/core/security/useUserOrgs.js.map +1 -1
  2457. package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts +3 -0
  2458. package/dist/esm/core/ui/SurfaceErrorBoundary.d.ts.map +1 -1
  2459. package/dist/esm/core/ui/SurfaceErrorBoundary.js +46 -14
  2460. package/dist/esm/core/ui/SurfaceErrorBoundary.js.map +1 -1
  2461. package/dist/esm/core/ui/SurfaceErrorBoundary.labels.d.ts +3 -0
  2462. package/dist/esm/core/ui/SurfaceErrorBoundary.labels.d.ts.map +1 -0
  2463. package/dist/esm/core/ui/SurfaceErrorBoundary.labels.js +14 -0
  2464. package/dist/esm/core/ui/SurfaceErrorBoundary.labels.js.map +1 -0
  2465. package/dist/esm/core/ui/SurfacePolicyContext.d.ts.map +1 -1
  2466. package/dist/esm/core/ui/SurfacePolicyContext.js.map +1 -1
  2467. package/dist/esm/core/ui/TypographyScopeContext.d.ts.map +1 -1
  2468. package/dist/esm/core/ui/TypographyScopeContext.js.map +1 -1
  2469. package/dist/esm/core/ui/UIContext.d.ts.map +1 -1
  2470. package/dist/esm/core/ui/UIContext.js +22 -5
  2471. package/dist/esm/core/ui/UIContext.js.map +1 -1
  2472. package/dist/esm/core/ui/chart-style-defaults.d.ts.map +1 -1
  2473. package/dist/esm/core/ui/chart-style-defaults.js.map +1 -1
  2474. package/dist/esm/core/ui/cn.d.ts.map +1 -1
  2475. package/dist/esm/core/ui/cn.js.map +1 -1
  2476. package/dist/esm/core/ui/color-conversion.utils.d.ts.map +1 -1
  2477. package/dist/esm/core/ui/color-conversion.utils.js.map +1 -1
  2478. package/dist/esm/core/ui/design-token-class-groups.d.ts.map +1 -1
  2479. package/dist/esm/core/ui/design-token-class-groups.js.map +1 -1
  2480. package/dist/esm/core/ui/design-token-config.utils.d.ts.map +1 -1
  2481. package/dist/esm/core/ui/design-token-config.utils.js.map +1 -1
  2482. package/dist/esm/core/ui/design-token.utils.d.ts.map +1 -1
  2483. package/dist/esm/core/ui/design-token.utils.js +3 -3
  2484. package/dist/esm/core/ui/design-token.utils.js.map +1 -1
  2485. package/dist/esm/core/ui/material-runtime.d.ts.map +1 -1
  2486. package/dist/esm/core/ui/material-runtime.js.map +1 -1
  2487. package/dist/esm/core/ui/surface-a11y.utils.d.ts.map +1 -1
  2488. package/dist/esm/core/ui/surface-a11y.utils.js.map +1 -1
  2489. package/dist/esm/core/ui/theme-preference-storage.shared.d.ts.map +1 -1
  2490. package/dist/esm/core/ui/theme-preference-storage.shared.js.map +1 -1
  2491. package/dist/esm/core/ui/themes/default.theme.d.ts.map +1 -1
  2492. package/dist/esm/core/ui/themes/default.theme.js +109 -13
  2493. package/dist/esm/core/ui/themes/default.theme.js.map +1 -1
  2494. package/dist/esm/core/ui/ui.frontend.schemas.d.ts +2 -5
  2495. package/dist/esm/core/ui/ui.frontend.schemas.d.ts.map +1 -1
  2496. package/dist/esm/core/ui/ui.frontend.schemas.js.map +1 -1
  2497. package/dist/esm/core/ui/useThemePreferenceControl.d.ts.map +1 -1
  2498. package/dist/esm/core/ui/useThemePreferenceControl.js.map +1 -1
  2499. package/dist/esm/core/ui/useUI.d.ts.map +1 -1
  2500. package/dist/esm/core/ui/useUI.js.map +1 -1
  2501. package/dist/esm/index.d.ts +29 -0
  2502. package/dist/esm/index.d.ts.map +1 -1
  2503. package/dist/esm/index.js +41 -0
  2504. package/dist/esm/index.js.map +1 -1
  2505. package/dist/esm/tailwind/index.d.ts.map +1 -1
  2506. package/dist/esm/tailwind/index.js +95 -2
  2507. package/dist/esm/tailwind/index.js.map +1 -1
  2508. package/dist/esm/testing/mock-builders.d.ts.map +1 -1
  2509. package/dist/esm/testing/mock-builders.js +35 -1
  2510. package/dist/esm/testing/mock-builders.js.map +1 -1
  2511. package/dist/esm/testing/mock-factory.d.ts.map +1 -1
  2512. package/dist/esm/testing/mock-factory.js.map +1 -1
  2513. package/dist/esm/testing/rmm-helpers.d.ts +2 -0
  2514. package/dist/esm/testing/rmm-helpers.d.ts.map +1 -1
  2515. package/dist/esm/testing/rmm-helpers.js.map +1 -1
  2516. package/dist/esm/testing/test-providers.d.ts.map +1 -1
  2517. package/dist/esm/testing/test-providers.js.map +1 -1
  2518. package/dist/esm/testing.d.ts.map +1 -1
  2519. package/dist/esm/testing.js.map +1 -1
  2520. package/dist/tsconfig.build.tsbuildinfo +1 -1
  2521. package/package.json +22 -33
@@ -1 +1 @@
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
+ {"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 * - `?` — the universal \"show shortcuts\" chord (GitHub, Slack, Gmail, Linear).\n *\n * `?` is spelled WITHOUT a Shift modifier, and this replaces a `Shift+?` that shipped from\n * 2026-09-08 to 2026-09-15. That spelling reasoned from a US keyboard — typing `?` there raises\n * `shiftKey`, and the matcher compared it strictly — and rendered `⇧?` in the shortcuts dialog. But\n * whether Shift is part of typing `?` is a property of the LAYOUT, not of the chord, so Shift is\n * not a modifier axis for a glyph key at all: `parseShortcut` normalizes it away and\n * `matchesShortcut` ignores `shiftKey` for one (see `isGlyphKey`). The chord is `?` on every\n * keyboard, and the dialog shows exactly the key the reader types.\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: '?',\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,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"}
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,CAwPxE,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -27,7 +27,7 @@ export const HotkeyRegistryProvider = ({ children, initialScope = HotkeyScope.GL
27
27
  const register = useCallback((definition) => {
28
28
  const parsed = parseShortcut(definition.shortcut);
29
29
  const conflictingHotkeys = Array.from(hotkeysRef.current.values()).filter((hotkey) => hotkey.id !== definition.id &&
30
- hotkey.shortcut.toLowerCase() === definition.shortcut.toLowerCase() &&
30
+ hotkey.parsed.chord === parsed.chord &&
31
31
  scopesOverlap(hotkey.scope, definition.scope));
32
32
  if (conflictingHotkeys.length > 0) {
33
33
  /*
@@ -91,7 +91,8 @@ export const HotkeyRegistryProvider = ({ children, initialScope = HotkeyScope.GL
91
91
  const getConflicts = useCallback(() => {
92
92
  const byShortcut = new Map();
93
93
  for (const hotkey of hotkeysRef.current.values()) {
94
- const key = hotkey.shortcut.toLowerCase();
94
+ // Keyed by chord IDENTITY, not by the authored string: `?` and `Shift+?` are one chord.
95
+ const key = hotkey.parsed.chord;
95
96
  const existing = byShortcut.get(key) ?? [];
96
97
  existing.push(hotkey);
97
98
  byShortcut.set(key, existing);
@@ -1 +1 @@
1
- {"version":3,"file":"HotkeyRegistryContext.js","sourceRoot":"","sources":["../../../../src/core/hotkey/HotkeyRegistryContext.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAc,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,uEAAuE,CAAC;AACpG,OAAO,EAKL,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,qBAAqB,GAAG,aAAa,CAAmC,IAAI,CAAC,CAAC;AAEpF,SAAS,aAAa,CAAC,CAAc,EAAE,CAAc;IACnD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,MAAM,IAAI,CAAC,KAAK,WAAW,CAAC,MAAM,CAAC;AACzE,CAAC;AAQD,MAAM,CAAC,MAAM,sBAAsB,GAA0C,CAAC,EAC5E,QAAQ,EACR,YAAY,GAAG,WAAW,CAAC,MAAM,GAClC,EAAE,EAAE;IACH,sEAAsE;IACtE,QAAQ;IACR,sEAAsE;IAEtE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAc,YAAY,CAAC,CAAC;IAC1E,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,0DAA0D;IAC1D,MAAM,UAAU,GAAG,MAAM,CAAgC,IAAI,GAAG,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtD,sEAAsE;IACtE,yBAAyB;IACzB,sEAAsE;IAEtE,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,UAA4B,EAAgB,EAAE;QAC1E,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACvE,CAAC,MAAwB,EAAE,EAAE,CAC3B,MAAM,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE;YAC3B,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE;YACnE,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAChD,CAAC;QAEF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC;;;;;eAKG;YACH,OAAO,CAAC,IAAI,CACV,wCAAwC,UAAU,CAAC,QAAQ,cAAc;gBACzE,qGAAqG;gBACrG,yFAAyF,EACzF;gBACE,UAAU,EAAE,UAAU,CAAC,EAAE;gBACzB,gBAAgB,EAAE,UAAU,CAAC,QAAQ,IAAI,uBAAuB;gBAChE,QAAQ,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,MAAwB,EAAE,EAAE,CAAC,CAAC;oBAC9D,EAAE,EAAE,MAAM,CAAC,EAAE;oBACb,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,uBAAuB;iBACrD,CAAC,CAAC;aACJ,CACF,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAqB;YACnC,GAAG,UAAU;YACb,OAAO,EAAE,UAAU,CAAC,OAAO,KAAK,KAAK;YACrC,2FAA2F;YAC3F,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,IAAI;YACjD,eAAe,EAAE,UAAU,CAAC,eAAe,IAAI,KAAK;YACpD,MAAM;SACP,CAAC;QAEF,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAClD,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE7B,6BAA6B;QAC7B,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACzC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,EAAE;QAC5C,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9B,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,OAAgB,EAAE,EAAE;QAC9D,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;YACzB,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,sEAAsE;IACtE,4BAA4B;IAC5B,sEAAsE;IAEtE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzD,sEAAsE;IACtE,kBAAkB;IAClB,sEAAsE;IAEtE,MAAM,UAAU,GAAG,WAAW,CAAC,GAAuB,EAAE;QACtD,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,KAAa,EAAsB,EAAE;QAC1E,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACpG,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,WAAW,CAAC,GAAqB,EAAE;QACtD,MAAM,UAAU,GAAG,IAAI,GAAG,EAA8B,CAAC;QAEzD,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACjD,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,SAAS,GAAqB,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACvD,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,SAA2B,EAAE,EAAE,CACpE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAuB,EAAE,EAAE,CACvC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CACzE,CACF,CAAC,GAAG,CAAC,CAAC,MAAwB,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAE/C,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,sEAAsE;IACtE,yBAAyB;IACzB,sEAAsE;IAEtE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC7C,iBAAiB;YACjB,IAAI,QAAQ;gBAAE,OAAO;YAErB,qEAAqE;YACrE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;YAC3C,IAAI,cAAc,GAAG,MAAM,CAAC,OAAO,KAAK,OAAO;gBAC1B,MAAM,CAAC,OAAO,KAAK,UAAU;gBAC7B,MAAM,CAAC,iBAAiB,CAAC;YAC9C,IAAI,cAAc,IAAI,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,EAAE,CAAC;gBAClE,cAAc,GAAG,KAAK,CAAC;YACzB,CAAC;YAED;;;;;;;;;;;;eAYG;YACH,IAAI,IAAkC,CAAC;YACvC,IAAI,QAA+C,CAAC;YAEpD,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBACjD,wBAAwB;gBACxB,IAAI,CAAC,MAAM,CAAC,OAAO;oBAAE,SAAS;gBAE9B,cAAc;gBACd,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,CAAC,IAAI,IAAI,WAAW,KAAK,WAAW,CAAC,IAAI;oBAAE,SAAS;gBACpF,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,CAAC,SAAS,IAAI,WAAW,KAAK,WAAW,CAAC,SAAS;oBAAE,SAAS;gBAE9F,wCAAwC;gBACxC,IAAI,cAAc,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,CAAC,MAAM;oBAAE,SAAS;gBAEpE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;oBAAE,SAAS;gBAErD,MAAM,IAAI,GAAG;oBACX,MAAM,CAAC,QAAQ,IAAI,uBAAuB;oBAC1C,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9B,CAAC;gBACX,4FAA4F;gBAC5F,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1G,IAAI,GAAG,MAAM,CAAC;oBACd,QAAQ,GAAG,IAAI,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,CAAC;gBACC,MAAM,MAAM,GAAG,IAAI,CAAC;gBACpB,IAAI,MAAM,EAAE,CAAC;oBACX,kBAAkB;oBAClB,IAAI,CAAC;wBACH,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;oBACjE,CAAC;oBAED,gCAAgC;oBAChC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;wBAC1B,KAAK,CAAC,cAAc,EAAE,CAAC;oBACzB,CAAC;oBAED,iCAAiC;oBACjC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;wBAC3B,KAAK,CAAC,eAAe,EAAE,CAAC;oBAC1B,CAAC;gBAEH,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACpD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE5B,sEAAsE;IACtE,gBAAgB;IAChB,sEAAsE;IAEtE,MAAM,YAAY,GAAG,OAAO,CAAC,GAA8B,EAAE,CAAC,CAAC;QAC7D,QAAQ;QACR,UAAU;QACV,UAAU;QACV,cAAc;QACd,KAAK;QACL,MAAM;QACN,UAAU;QACV,iBAAiB;QACjB,YAAY;QACZ,WAAW;QACX,QAAQ;KACT,CAAC,EAAE;QACF,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,MAAM;QACN,UAAU;QACV,iBAAiB;QACjB,YAAY;QACZ,WAAW;QACX,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO,CACL,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAChD,QAAQ,GACsB,CAClC,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC","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
+ {"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.parsed.chord === parsed.chord &&\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 // Keyed by chord IDENTITY, not by the authored string: `?` and `Shift+?` are one chord.\n const key = hotkey.parsed.chord;\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;AA+DjC,wBAAgB,yBAAyB,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CA4H9D"}
@@ -9,6 +9,7 @@ import { useI18n } from '../../core/i18n/useI18n.js';
9
9
  import { resolveComponentLabel, resolveTranslationKey, } from '../../core/i18n/component-label-resolution.utils.js';
10
10
  import { Dialog, DialogContent, DialogHeader, DialogTitle } from '../../components/overlays/containers/dialog.js';
11
11
  import { ScrollArea } from '../../components/layout/scroll-area.js';
12
+ import { Kbd } from '../../components/data-display/kbd.js';
12
13
  const HOTKEY_GROUP_ORDER = [
13
14
  HotkeyGroup.NAVIGATION,
14
15
  HotkeyGroup.ACTIONS,
@@ -97,6 +98,6 @@ export function HotkeyShortcutsHelpDialog() {
97
98
  t,
98
99
  key: 'engine.hotkeys.shortcutsHelp',
99
100
  });
100
- return (_jsx(Dialog, { open: isOpen, onOpenChange: setIsOpen, children: _jsxs(DialogContent, { className: "max-w-3xl pt-10", children: [_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: title }) }), _jsxs("div", { className: "space-y-card-sm", children: [_jsxs("div", { className: "flex flex-wrap items-center gap-item-sm text-xs text-muted-foreground", children: [_jsxs("span", { children: [tc('shortcutsHelpActiveScope'), ": ", scopeLabel(activeScope, tc)] }), _jsxs("span", { children: [tc('shortcutsHelpRegistry'), ": ", isPaused ? tc('shortcutsHelpRegistryPaused') : tc('shortcutsHelpRegistryListening')] }), _jsx("span", { children: tc('shortcutsHelpCount', { count: hotkeys.length }) })] }), conflicts.length > 0 && (_jsxs("div", { className: "rounded-md border border-warning/40 bg-warning/10 p-card-sm text-sm text-warning-foreground", children: [_jsx("div", { className: "font-medium", children: tc('shortcutsHelpConflictsDetected') }), _jsx("ul", { className: "mt-item-xs space-y-item-xs", children: conflicts.map(conflict => (_jsxs("li", { children: [_jsx("code", { children: conflict.shortcut }), " ", tc('shortcutsHelpConflictUsedBy'), " ", conflict.hotkeyIds.join(', ')] }, conflict.shortcut))) })] })), _jsx(ScrollArea, { className: "max-h-[60vh] pe-item-sm", children: _jsx("div", { className: "space-y-card", children: groupedHotkeys.map(({ group, label, hotkeys: groupHotkeys }) => (_jsxs("section", { className: "space-y-item-sm", children: [_jsx("h3", { className: "text-sm font-semibold text-foreground", children: label }), _jsx("div", { className: "space-y-item-xs", children: groupHotkeys.map(hotkey => (_jsxs("div", { className: "flex items-start justify-between gap-field rounded-md border border-border/70 px-card-sm py-item-sm", children: [_jsxs("div", { className: "min-w-0 space-y-[2px]", children: [_jsx("div", { className: "text-sm font-medium text-foreground", children: hotkey.description }), _jsxs("div", { className: "flex flex-wrap items-center gap-item-sm text-xs text-muted-foreground", children: [_jsx("span", { children: scopeLabel(hotkey.scope, tc) }), hotkey.launcher && _jsx("span", { children: hotkey.launcher }), _jsx("span", { children: hotkey.id })] })] }), _jsx("kbd", { className: "shrink-0 rounded border border-border bg-muted px-item-sm py-[2px] text-xs font-medium text-foreground", children: hotkey.parsed.display })] }, hotkey.id))) })] }, group))) }) })] })] }) }));
101
+ return (_jsx(Dialog, { open: isOpen, onOpenChange: setIsOpen, children: _jsxs(DialogContent, { className: "max-w-3xl pt-10", children: [_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: title }) }), _jsxs("div", { className: "space-y-card-sm", children: [_jsxs("div", { className: "flex flex-wrap items-center gap-item-sm text-xs text-muted-foreground", children: [_jsxs("span", { children: [tc('shortcutsHelpActiveScope'), ": ", scopeLabel(activeScope, tc)] }), _jsxs("span", { children: [tc('shortcutsHelpRegistry'), ": ", isPaused ? tc('shortcutsHelpRegistryPaused') : tc('shortcutsHelpRegistryListening')] }), _jsx("span", { children: tc('shortcutsHelpCount', { count: hotkeys.length }) })] }), conflicts.length > 0 && (_jsxs("div", { className: "rounded-md border border-warning/40 bg-warning/10 p-card-sm text-sm text-warning-foreground", children: [_jsx("div", { className: "font-medium", children: tc('shortcutsHelpConflictsDetected') }), _jsx("ul", { className: "mt-item-xs space-y-item-xs", children: conflicts.map(conflict => (_jsxs("li", { children: [_jsx("code", { children: conflict.shortcut }), " ", tc('shortcutsHelpConflictUsedBy'), " ", conflict.hotkeyIds.join(', ')] }, conflict.shortcut))) })] })), _jsx(ScrollArea, { className: "max-h-[60vh] pe-item-sm", children: _jsx("div", { className: "space-y-card", children: groupedHotkeys.map(({ group, label, hotkeys: groupHotkeys }) => (_jsxs("section", { className: "space-y-item-sm", children: [_jsx("h3", { className: "text-sm font-semibold text-foreground", children: label }), _jsx("div", { className: "space-y-item-xs", children: groupHotkeys.map(hotkey => (_jsxs("div", { className: "flex items-start justify-between gap-field rounded-md border border-border/70 px-card-sm py-item-sm", children: [_jsxs("div", { className: "min-w-0 space-y-[2px]", children: [_jsx("div", { className: "text-sm font-medium text-foreground", children: hotkey.description }), _jsxs("div", { className: "flex flex-wrap items-center gap-item-sm text-xs text-muted-foreground", children: [_jsx("span", { children: scopeLabel(hotkey.scope, tc) }), hotkey.launcher && _jsx("span", { children: hotkey.launcher }), _jsx("span", { children: hotkey.id })] })] }), _jsx(Kbd, { children: hotkey.parsed.display })] }, hotkey.id))) })] }, group))) }) })] })] }) }));
101
102
  }
102
103
  //# sourceMappingURL=HotkeyShortcutsHelpDialog.js.map
@@ -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';\nimport { Kbd } from '~wildo-frontend-lib/components/data-display/kbd';\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>{hotkey.parsed.display}</Kbd>\n </div>\n ))}\n </div>\n </section>\n ))}\n </div>\n </ScrollArea>\n </div>\n </DialogContent>\n </Dialog>\n );\n}\n"]}
@@ -41,7 +41,14 @@ export interface ParsedShortcut {
41
41
  modifiers: ModifierKey[];
42
42
  /** The main key (single character or special key name) */
43
43
  key: string;
44
- /** Original shortcut string for display */
44
+ /**
45
+ * The chord's IDENTITY, spelling-independent: sorted modifiers then the key, after normalization
46
+ * (`Shift+?` and `?` share one, `Control+K` and `Ctrl+K` share one). Conflict detection keys on
47
+ * this rather than on the authored string, so two registrations of the same physical chord are
48
+ * reported as a collision however each author spelled it.
49
+ */
50
+ chord: string;
51
+ /** Platform-aware rendering for the shortcuts dialog (`⌘B` on macOS, `Ctrl+B` elsewhere) */
45
52
  display: string;
46
53
  }
47
54
  /**
@@ -151,6 +158,19 @@ export interface HotkeyRegistryContextType {
151
158
  /** Whether registry is paused */
152
159
  isPaused: boolean;
153
160
  }
161
+ /**
162
+ * Whether a main key is a GLYPH — a single printable character that is neither a letter nor a
163
+ * digit (`?`, `/`, `.`, `,`, `[`, `=`, …).
164
+ *
165
+ * For a glyph, Shift is not a modifier axis. `KeyboardEvent.key` carries the character the
166
+ * keyboard PRODUCED, and whether producing it involved Shift is a property of the layout, not of
167
+ * the chord: `?` is Shift+`/` on a US keyboard, Shift+`,` on a French one, and unshifted on some
168
+ * others. So a chord authored `?` is one physical intent everywhere, and `Shift+?` names nothing a
169
+ * finger can add — the glyph already says it. Letters keep the axis (Shift+P is a real, distinct
170
+ * chord: the event key is `P`, lowercased to match), and digits keep it because a shifted digit
171
+ * arrives as a DIFFERENT glyph (`!`), which an author who wants it should spell as that glyph.
172
+ */
173
+ export declare function isGlyphKey(key: string): boolean;
154
174
  /**
155
175
  * Parse a shortcut string into modifiers and key
156
176
  *
@@ -159,6 +179,10 @@ export interface HotkeyRegistryContextType {
159
179
  * - "Ctrl+Shift+P"
160
180
  * - "Alt+Enter"
161
181
  * - Single keys: "Escape", "F1"
182
+ * - Glyph keys: "?", "/", "." — Shift is IMPLIED by the glyph and never a modifier of it (see
183
+ * {@link isGlyphKey}). A chord spelled `Shift+?` is normalized to `?`: same physical intent, and
184
+ * without the normalization the shortcuts dialog would render `⇧?`, telling the reader to hold a
185
+ * key that on their layout may not be part of typing `?` at all.
162
186
  */
163
187
  export declare function parseShortcut(shortcut: string): ParsedShortcut;
164
188
  /**
@@ -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;;;;;;;;;;GAUG;AACH,oBAAY,WAAW;IACrB,mDAAmD;IACnD,IAAI,SAAS;IACb,iDAAiD;IACjD,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,oEAAoE;IACpE,IAAI,SAAS;IACb;;;OAGG;IACH,GAAG,QAAQ;CACZ;AAOD;;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;IAE1B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,sEAAsE;AACtE,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC;;;;;;;GAOG;AACH,eAAO,MAAM,iCAAiC,OAAO,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAIhE,CAAC;AAEF;;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,CAoD9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAwBrF"}
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;;;;;;;;;;GAUG;AACH,oBAAY,WAAW;IACrB,mDAAmD;IACnD,IAAI,SAAS;IACb,iDAAiD;IACjD,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,oEAAoE;IACpE,IAAI,SAAS;IACb;;;OAGG;IACH,GAAG,QAAQ;CACZ;AAOD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,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;IAE1B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,sEAAsE;AACtE,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC;;;;;;;GAOG;AACH,eAAO,MAAM,iCAAiC,OAAO,CAAC;AAEtD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAIhE,CAAC;AAEF;;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;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAyD9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CA2BrF"}
@@ -58,6 +58,21 @@ export const HOTKEY_SCOPE_SPECIFICITY = {
58
58
  [HotkeyScope.PAGE]: 1,
59
59
  [HotkeyScope.GLOBAL]: 0,
60
60
  };
61
+ /**
62
+ * Whether a main key is a GLYPH — a single printable character that is neither a letter nor a
63
+ * digit (`?`, `/`, `.`, `,`, `[`, `=`, …).
64
+ *
65
+ * For a glyph, Shift is not a modifier axis. `KeyboardEvent.key` carries the character the
66
+ * keyboard PRODUCED, and whether producing it involved Shift is a property of the layout, not of
67
+ * the chord: `?` is Shift+`/` on a US keyboard, Shift+`,` on a French one, and unshifted on some
68
+ * others. So a chord authored `?` is one physical intent everywhere, and `Shift+?` names nothing a
69
+ * finger can add — the glyph already says it. Letters keep the axis (Shift+P is a real, distinct
70
+ * chord: the event key is `P`, lowercased to match), and digits keep it because a shifted digit
71
+ * arrives as a DIFFERENT glyph (`!`), which an author who wants it should spell as that glyph.
72
+ */
73
+ export function isGlyphKey(key) {
74
+ return key.length === 1 && !/[a-z0-9]/i.test(key);
75
+ }
61
76
  /**
62
77
  * Parse a shortcut string into modifiers and key
63
78
  *
@@ -66,10 +81,14 @@ export const HOTKEY_SCOPE_SPECIFICITY = {
66
81
  * - "Ctrl+Shift+P"
67
82
  * - "Alt+Enter"
68
83
  * - Single keys: "Escape", "F1"
84
+ * - Glyph keys: "?", "/", "." — Shift is IMPLIED by the glyph and never a modifier of it (see
85
+ * {@link isGlyphKey}). A chord spelled `Shift+?` is normalized to `?`: same physical intent, and
86
+ * without the normalization the shortcuts dialog would render `⇧?`, telling the reader to hold a
87
+ * key that on their layout may not be part of typing `?` at all.
69
88
  */
70
89
  export function parseShortcut(shortcut) {
71
90
  const parts = shortcut.split('+').map(p => p.trim().toLowerCase());
72
- const modifiers = [];
91
+ let modifiers = [];
73
92
  let key = '';
74
93
  for (const part of parts) {
75
94
  switch (part) {
@@ -99,6 +118,9 @@ export function parseShortcut(shortcut) {
99
118
  key = part;
100
119
  }
101
120
  }
121
+ if (isGlyphKey(key)) {
122
+ modifiers = modifiers.filter(modifier => modifier !== ModifierKey.SHIFT);
123
+ }
102
124
  // Generate display string (platform-aware)
103
125
  const isMac = isMacPlatform();
104
126
  const displayParts = [];
@@ -118,6 +140,7 @@ export function parseShortcut(shortcut) {
118
140
  return {
119
141
  modifiers,
120
142
  key,
143
+ chord: [...[...modifiers].sort(), key].join('+'),
121
144
  display: displayParts.join(isMac ? '' : '+'),
122
145
  };
123
146
  }
@@ -142,7 +165,10 @@ export function matchesShortcut(event, parsed) {
142
165
  return false;
143
166
  if (hasAlt !== needsAlt)
144
167
  return false;
145
- if (hasShift !== needsShift)
168
+ // A glyph key carries its own shift state in `event.key` (see `isGlyphKey`), so the physical
169
+ // `shiftKey` flag says nothing about the chord and must not be compared — on a US layout `?`
170
+ // arrives with it raised, on others it does not, and both are the same shortcut.
171
+ if (!isGlyphKey(parsed.key) && hasShift !== needsShift)
146
172
  return false;
147
173
  if (hasMeta !== needsMeta)
148
174
  return false;
@@ -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 */\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
+ {"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 /**\n * The chord's IDENTITY, spelling-independent: sorted modifiers then the key, after normalization\n * (`Shift+?` and `?` share one, `Control+K` and `Ctrl+K` share one). Conflict detection keys on\n * this rather than on the authored string, so two registrations of the same physical chord are\n * reported as a collision however each author spelled it.\n */\n chord: string;\n /** Platform-aware rendering for the shortcuts dialog (`⌘B` on macOS, `Ctrl+B` elsewhere) */\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 * Whether a main key is a GLYPH — a single printable character that is neither a letter nor a\n * digit (`?`, `/`, `.`, `,`, `[`, `=`, …).\n *\n * For a glyph, Shift is not a modifier axis. `KeyboardEvent.key` carries the character the\n * keyboard PRODUCED, and whether producing it involved Shift is a property of the layout, not of\n * the chord: `?` is Shift+`/` on a US keyboard, Shift+`,` on a French one, and unshifted on some\n * others. So a chord authored `?` is one physical intent everywhere, and `Shift+?` names nothing a\n * finger can add — the glyph already says it. Letters keep the axis (Shift+P is a real, distinct\n * chord: the event key is `P`, lowercased to match), and digits keep it because a shifted digit\n * arrives as a DIFFERENT glyph (`!`), which an author who wants it should spell as that glyph.\n */\nexport function isGlyphKey(key: string): boolean {\n return key.length === 1 && !/[a-z0-9]/i.test(key);\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 * - Glyph keys: \"?\", \"/\", \".\" — Shift is IMPLIED by the glyph and never a modifier of it (see\n * {@link isGlyphKey}). A chord spelled `Shift+?` is normalized to `?`: same physical intent, and\n * without the normalization the shortcuts dialog would render `⇧?`, telling the reader to hold a\n * key that on their layout may not be part of typing `?` at all.\n */\nexport function parseShortcut(shortcut: string): ParsedShortcut {\n const parts = shortcut.split('+').map(p => p.trim().toLowerCase());\n let 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 if (isGlyphKey(key)) {\n modifiers = modifiers.filter(modifier => modifier !== ModifierKey.SHIFT);\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 chord: [...[...modifiers].sort(), key].join('+'),\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 // A glyph key carries its own shift state in `event.key` (see `isGlyphKey`), so the physical\n // `shiftKey` flag says nothing about the chord and must not be compared — on a US layout `?`\n // arrives with it raised, on others it does not, and both are the same shortcut.\n if (!isGlyphKey(parsed.key) && 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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useHotkey.js","sourceRoot":"","sources":["../../../../src/core/hotkey/useHotkey.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * useHotkey Hook\n * \n * Hook for registering and managing keyboard shortcuts.\n * Based on Specs §7 - HOTKEY Specification (Infrastructure)\n */\n\nimport { useContext, useEffect, useMemo } from 'react';\nimport { HotkeyScope } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { HotkeyRegistryContext } from './HotkeyRegistryContext';\nimport { HotkeyDefinition, parseShortcut } from './hotkey-registry.frontend.schemas';\n\n/**\n * Hook to access the hotkey registry\n */\nexport function useHotkeyRegistry() {\n const context = useContext(HotkeyRegistryContext);\n if (!context) {\n throw new Error('useHotkeyRegistry must be used within a HotkeyRegistryProvider');\n }\n return context;\n}\n\n/**\n * Options for the useHotkey hook\n */\nexport interface UseHotkeyOptions {\n /** Unique identifier (auto-generated if not provided) */\n id?: string;\n /** Scope of the hotkey */\n scope?: HotkeyScope;\n /** Whether enabled */\n enabled?: boolean;\n /** Group for organization */\n group?: string;\n /** Description for help dialogs */\n description?: string;\n /** Prevent default browser behavior */\n preventDefault?: boolean;\n}\n\nlet hotkeyCounter = 0;\n\n/**\n * Hook to register a single hotkey\n * \n * @param shortcut - Keyboard shortcut (e.g., \"Ctrl+K\", \"Cmd+Shift+P\")\n * @param handler - Function to execute when triggered\n * @param options - Additional options\n * \n * @example\n * ```tsx\n * useHotkey('Ctrl+S', () => saveDocument(), {\n * description: 'Save document',\n * preventDefault: true,\n * });\n * ```\n */\nexport function useHotkey(\n shortcut: string,\n handler: () => void,\n options: UseHotkeyOptions = {}\n) {\n const { register } = useHotkeyRegistry();\n \n const id = useMemo(() => options.id ?? `hotkey-${++hotkeyCounter}`, [options.id]);\n \n useEffect(() => {\n const definition: HotkeyDefinition = {\n id,\n shortcut,\n handler,\n description: options.description ?? shortcut,\n scope: options.scope ?? HotkeyScope.GLOBAL,\n enabled: options.enabled !== false,\n group: options.group,\n preventDefault: options.preventDefault,\n };\n \n const unregister = register(definition);\n return unregister;\n }, [id, shortcut, handler, options.description, options.scope, options.enabled, options.group, options.preventDefault, register]);\n \n // Return the parsed shortcut for display purposes\n return useMemo(() => parseShortcut(shortcut), [shortcut]);\n}\n\n/**\n * Hook to register multiple hotkeys at once\n * \n * @param hotkeys - Array of hotkey definitions\n * \n * @example\n * ```tsx\n * useHotkeys([\n * { shortcut: 'Ctrl+S', handler: save, description: 'Save' },\n * { shortcut: 'Ctrl+Z', handler: undo, description: 'Undo' },\n * ]);\n * ```\n */\nexport function useHotkeys(\n hotkeys: Array<{\n shortcut: string;\n handler: () => void;\n id?: string;\n description?: string;\n scope?: HotkeyScope;\n enabled?: boolean;\n group?: string;\n }>\n) {\n const { register } = useHotkeyRegistry();\n \n useEffect(() => {\n const unregisters: Array<() => void> = [];\n \n for (const hotkey of hotkeys) {\n const id = hotkey.id ?? `hotkey-batch-${++hotkeyCounter}`;\n const definition: HotkeyDefinition = {\n id,\n shortcut: hotkey.shortcut,\n handler: hotkey.handler,\n description: hotkey.description ?? hotkey.shortcut,\n scope: hotkey.scope ?? HotkeyScope.GLOBAL,\n enabled: hotkey.enabled !== false,\n group: hotkey.group,\n };\n \n unregisters.push(register(definition));\n }\n \n return () => {\n for (const unregister of unregisters) {\n unregister();\n }\n };\n }, [hotkeys, register]);\n}\n\n/**\n * Hook to pause/resume hotkey handling\n * Useful when a modal or dialog is open\n */\nexport function useHotkeyPause() {\n const { pause, resume, isPaused } = useHotkeyRegistry();\n return { pause, resume, isPaused };\n}\n\n/**\n * Hook to change the active scope\n * Useful for component-level hotkey contexts\n */\nexport function useHotkeyScope() {\n const { activeScope, setActiveScope } = useHotkeyRegistry();\n return { activeScope, setActiveScope };\n}\n"]}
1
+ {"version":3,"file":"useHotkey.js","sourceRoot":"","sources":["../../../../../src/core/hotkey/useHotkey.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * useHotkey Hook\n * \n * Hook for registering and managing keyboard shortcuts.\n * Based on Specs §7 - HOTKEY Specification (Infrastructure)\n */\n\nimport { useContext, useEffect, useMemo } from 'react';\nimport { HotkeyScope } from '~wildo-frontend-lib/core/config/app-level-components.frontend.schemas';\nimport { HotkeyRegistryContext } from './HotkeyRegistryContext';\nimport { HotkeyDefinition, parseShortcut } from './hotkey-registry.frontend.schemas';\n\n/**\n * Hook to access the hotkey registry\n */\nexport function useHotkeyRegistry() {\n const context = useContext(HotkeyRegistryContext);\n if (!context) {\n throw new Error('useHotkeyRegistry must be used within a HotkeyRegistryProvider');\n }\n return context;\n}\n\n/**\n * Options for the useHotkey hook\n */\nexport interface UseHotkeyOptions {\n /** Unique identifier (auto-generated if not provided) */\n id?: string;\n /** Scope of the hotkey */\n scope?: HotkeyScope;\n /** Whether enabled */\n enabled?: boolean;\n /** Group for organization */\n group?: string;\n /** Description for help dialogs */\n description?: string;\n /** Prevent default browser behavior */\n preventDefault?: boolean;\n}\n\nlet hotkeyCounter = 0;\n\n/**\n * Hook to register a single hotkey\n * \n * @param shortcut - Keyboard shortcut (e.g., \"Ctrl+K\", \"Cmd+Shift+P\")\n * @param handler - Function to execute when triggered\n * @param options - Additional options\n * \n * @example\n * ```tsx\n * useHotkey('Ctrl+S', () => saveDocument(), {\n * description: 'Save document',\n * preventDefault: true,\n * });\n * ```\n */\nexport function useHotkey(\n shortcut: string,\n handler: () => void,\n options: UseHotkeyOptions = {}\n) {\n const { register } = useHotkeyRegistry();\n \n const id = useMemo(() => options.id ?? `hotkey-${++hotkeyCounter}`, [options.id]);\n \n useEffect(() => {\n const definition: HotkeyDefinition = {\n id,\n shortcut,\n handler,\n description: options.description ?? shortcut,\n scope: options.scope ?? HotkeyScope.GLOBAL,\n enabled: options.enabled !== false,\n group: options.group,\n preventDefault: options.preventDefault,\n };\n \n const unregister = register(definition);\n return unregister;\n }, [id, shortcut, handler, options.description, options.scope, options.enabled, options.group, options.preventDefault, register]);\n \n // Return the parsed shortcut for display purposes\n return useMemo(() => parseShortcut(shortcut), [shortcut]);\n}\n\n/**\n * Hook to register multiple hotkeys at once\n * \n * @param hotkeys - Array of hotkey definitions\n * \n * @example\n * ```tsx\n * useHotkeys([\n * { shortcut: 'Ctrl+S', handler: save, description: 'Save' },\n * { shortcut: 'Ctrl+Z', handler: undo, description: 'Undo' },\n * ]);\n * ```\n */\nexport function useHotkeys(\n hotkeys: Array<{\n shortcut: string;\n handler: () => void;\n id?: string;\n description?: string;\n scope?: HotkeyScope;\n enabled?: boolean;\n group?: string;\n }>\n) {\n const { register } = useHotkeyRegistry();\n \n useEffect(() => {\n const unregisters: Array<() => void> = [];\n \n for (const hotkey of hotkeys) {\n const id = hotkey.id ?? `hotkey-batch-${++hotkeyCounter}`;\n const definition: HotkeyDefinition = {\n id,\n shortcut: hotkey.shortcut,\n handler: hotkey.handler,\n description: hotkey.description ?? hotkey.shortcut,\n scope: hotkey.scope ?? HotkeyScope.GLOBAL,\n enabled: hotkey.enabled !== false,\n group: hotkey.group,\n };\n \n unregisters.push(register(definition));\n }\n \n return () => {\n for (const unregister of unregisters) {\n unregister();\n }\n };\n }, [hotkeys, register]);\n}\n\n/**\n * Hook to pause/resume hotkey handling\n * Useful when a modal or dialog is open\n */\nexport function useHotkeyPause() {\n const { pause, resume, isPaused } = useHotkeyRegistry();\n return { pause, resume, isPaused };\n}\n\n/**\n * Hook to change the active scope\n * Useful for component-level hotkey contexts\n */\nexport function useHotkeyScope() {\n const { activeScope, setActiveScope } = useHotkeyRegistry();\n return { activeScope, setActiveScope };\n}\n"]}