@vonage/vivid 5.23.1 → 5.24.0

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 (406) hide show
  1. package/accordion/index.cjs +1 -1
  2. package/accordion/index.js +1 -1
  3. package/accordion-item/index.cjs +1 -1
  4. package/accordion-item/index.js +1 -1
  5. package/audio-player/index.cjs +2 -2
  6. package/audio-player/index.js +3 -3
  7. package/badge/index.cjs +1 -1
  8. package/badge/index.js +1 -1
  9. package/bundled/definition15.cjs +8 -7
  10. package/bundled/definition15.js +26 -24
  11. package/bundled/definition17.cjs +2 -2
  12. package/bundled/definition17.js +2 -2
  13. package/bundled/definition18.cjs +12 -83
  14. package/bundled/definition18.js +35 -419
  15. package/bundled/definition19.cjs +87 -7
  16. package/bundled/definition19.js +432 -16
  17. package/bundled/definition20.cjs +7 -37
  18. package/bundled/definition20.js +17 -172
  19. package/bundled/definition21.cjs +35 -27
  20. package/bundled/definition21.js +154 -154
  21. package/bundled/definition22.cjs +29 -6
  22. package/bundled/definition22.js +172 -20
  23. package/bundled/definition23.cjs +6 -12
  24. package/bundled/definition23.js +17 -32
  25. package/bundled/definition24.cjs +12 -39
  26. package/bundled/definition24.js +32 -67
  27. package/bundled/definition25.cjs +44 -0
  28. package/bundled/definition25.js +77 -0
  29. package/bundled/extractOptions.cjs +1 -0
  30. package/bundled/extractOptions.js +11 -0
  31. package/bundled/listbox.cjs +1 -1
  32. package/bundled/listbox.js +24 -11
  33. package/bundled/render-in-light-dom.cjs +1 -1
  34. package/bundled/render-in-light-dom.js +16 -19
  35. package/bundled/vivid-element.cjs +1 -1
  36. package/bundled/vivid-element.js +9 -1
  37. package/combobox/definition.cjs +1 -1
  38. package/combobox/definition.js +1 -1
  39. package/combobox/index.cjs +7 -7
  40. package/combobox/index.js +29 -21
  41. package/country/definition.cjs +1 -1
  42. package/country/definition.js +1 -1
  43. package/country/index.cjs +1 -1
  44. package/country/index.js +1 -1
  45. package/country-group/definition.cjs +1 -1
  46. package/country-group/definition.js +1 -1
  47. package/country-group/index.cjs +1 -1
  48. package/country-group/index.js +2 -2
  49. package/custom-elements.json +3102 -2842
  50. package/data-grid/definition.cjs +1 -1
  51. package/data-grid/definition.js +1 -1
  52. package/data-grid/index.cjs +4 -4
  53. package/data-grid/index.js +5 -5
  54. package/date-picker/definition.cjs +1 -1
  55. package/date-picker/definition.js +1 -1
  56. package/date-picker/index.cjs +1 -1
  57. package/date-picker/index.js +1 -1
  58. package/date-range-picker/definition.cjs +1 -1
  59. package/date-range-picker/definition.js +1 -1
  60. package/date-range-picker/index.cjs +1 -1
  61. package/date-range-picker/index.js +1 -1
  62. package/date-time-picker/definition.cjs +1 -1
  63. package/date-time-picker/definition.js +1 -1
  64. package/date-time-picker/index.cjs +1 -1
  65. package/date-time-picker/index.js +1 -1
  66. package/dial-pad/definition.cjs +1 -1
  67. package/dial-pad/definition.js +1 -1
  68. package/dial-pad/index.cjs +24 -24
  69. package/dial-pad/index.js +120 -51
  70. package/dialog/definition.cjs +1 -1
  71. package/dialog/definition.js +1 -1
  72. package/divider/definition.cjs +1 -1
  73. package/divider/definition.js +1 -1
  74. package/divider/index.cjs +1 -1
  75. package/divider/index.js +1 -1
  76. package/empty-state/definition.cjs +1 -1
  77. package/empty-state/definition.js +1 -1
  78. package/fab/definition.cjs +1 -1
  79. package/fab/definition.js +1 -1
  80. package/file-picker/definition.cjs +1 -1
  81. package/file-picker/definition.js +1 -1
  82. package/flag/definition.cjs +1 -1
  83. package/flag/definition.js +1 -1
  84. package/header/definition.cjs +1 -1
  85. package/header/definition.js +1 -1
  86. package/header/index.cjs +3 -3
  87. package/header/index.js +3 -3
  88. package/index.cjs +200 -196
  89. package/index.js +53 -52
  90. package/kbd-key/definition.cjs +1 -1
  91. package/kbd-key/definition.js +1 -1
  92. package/kbd-shortcut/definition.cjs +1 -1
  93. package/kbd-shortcut/definition.js +1 -1
  94. package/layout/definition.cjs +1 -1
  95. package/layout/definition.js +1 -1
  96. package/lib/accordion-item/accordion-item.d.ts +2 -1
  97. package/lib/action-group/action-group.d.ts +1 -1
  98. package/lib/alert/alert.d.ts +2 -2
  99. package/lib/audio-player/audio-player.d.ts +1 -1
  100. package/lib/avatar/avatar.d.ts +1 -1
  101. package/lib/badge/badge.d.ts +1 -1
  102. package/lib/banner/banner.d.ts +3 -3
  103. package/lib/breadcrumb/breadcrumb.d.ts +1 -1
  104. package/lib/breadcrumb-item/breadcrumb-item.d.ts +1 -1
  105. package/lib/button/button.d.ts +3 -3
  106. package/lib/calendar-event/calendar-event.d.ts +1 -1
  107. package/lib/card/card.d.ts +1 -1
  108. package/lib/checkbox/checkbox.d.ts +6 -6
  109. package/lib/color-picker/color-picker.d.ts +7 -7
  110. package/lib/combobox/combobox.d.ts +7 -7
  111. package/lib/components.d.ts +1 -0
  112. package/lib/country-group/country-group.d.ts +2 -2
  113. package/lib/data-grid/data-grid-cell.d.ts +4 -3
  114. package/lib/data-grid/data-grid-row.d.ts +3 -2
  115. package/lib/data-grid/data-grid.options.d.ts +5 -0
  116. package/lib/date-picker/date-picker.d.ts +8 -8
  117. package/lib/date-range-picker/date-range-picker.d.ts +4 -4
  118. package/lib/date-time-picker/date-time-picker.d.ts +8 -8
  119. package/lib/dial-pad/dial-pad.d.ts +2 -1
  120. package/lib/dialog/dialog.d.ts +2 -2
  121. package/lib/divider/divider.d.ts +1 -1
  122. package/lib/fab/fab.d.ts +1 -1
  123. package/lib/file-picker/file-picker.d.ts +7 -7
  124. package/lib/header/header.d.ts +1 -1
  125. package/lib/menu/menu.d.ts +2 -2
  126. package/lib/menu-item/menu-item.d.ts +3 -3
  127. package/lib/nav/nav.d.ts +1 -1
  128. package/lib/nav-disclosure/nav-disclosure.d.ts +2 -2
  129. package/lib/nav-item/nav-item.d.ts +2 -2
  130. package/lib/note/note.d.ts +1 -1
  131. package/lib/number-field/number-field.d.ts +9 -9
  132. package/lib/optgroup/definition.d.ts +3 -0
  133. package/lib/optgroup/index.d.ts +1 -0
  134. package/lib/optgroup/optgroup.d.ts +430 -0
  135. package/lib/optgroup/optgroup.template.d.ts +2 -0
  136. package/lib/optgroup/variations.browser-spec.d.ts +1 -0
  137. package/lib/option/option.d.ts +2 -2
  138. package/lib/pagination/pagination.d.ts +1 -1
  139. package/lib/popover/popover.d.ts +2 -2
  140. package/lib/progress/progress.d.ts +1 -1
  141. package/lib/progress-ring/progress-ring.d.ts +1 -1
  142. package/lib/radio/radio.d.ts +3 -3
  143. package/lib/radio-group/radio-group.d.ts +1 -1
  144. package/lib/range-slider/range-slider.d.ts +3 -3
  145. package/lib/rich-text-editor/rich-text-editor.d.ts +1 -1
  146. package/lib/searchable-select/option-tag.d.ts +1 -1
  147. package/lib/searchable-select/searchable-select.d.ts +47 -47
  148. package/lib/select/select.d.ts +9 -9
  149. package/lib/selectable-box/selectable-box.d.ts +1 -1
  150. package/lib/simple-color-picker/simple-color-picker.d.ts +2 -2
  151. package/lib/slider/slider.d.ts +3 -3
  152. package/lib/split-button/split-button.d.ts +3 -3
  153. package/lib/status/status.d.ts +1 -1
  154. package/lib/switch/switch.d.ts +2 -2
  155. package/lib/tab/tab.d.ts +3 -3
  156. package/lib/tab-panel/tab-panel.d.ts +1 -1
  157. package/lib/table/table-cell.d.ts +1 -1
  158. package/lib/table/table-header-cell.d.ts +1 -1
  159. package/lib/table/table-row.d.ts +1 -1
  160. package/lib/table/table-sorting-button.d.ts +1 -1
  161. package/lib/tag/tag.d.ts +3 -3
  162. package/lib/tag-group/tag-group.d.ts +1 -1
  163. package/lib/tag-name-map.d.ts +2 -1
  164. package/lib/text-area/text-area.d.ts +8 -8
  165. package/lib/text-field/text-field.d.ts +9 -9
  166. package/lib/time-picker/time-picker.d.ts +4 -4
  167. package/lib/toggletip/toggletip.d.ts +2 -2
  168. package/lib/tooltip/tooltip.d.ts +2 -2
  169. package/lib/tree-item/tree-item.d.ts +2 -2
  170. package/lib/tree-view/tree-view.d.ts +1 -1
  171. package/lib/video-player/video-player.d.ts +1 -1
  172. package/menu/index.cjs +1 -1
  173. package/menu/index.js +1 -1
  174. package/menu-item/index.cjs +1 -1
  175. package/menu-item/index.js +1 -1
  176. package/nav/definition.cjs +1 -1
  177. package/nav/definition.js +1 -1
  178. package/nav-disclosure/definition.cjs +1 -1
  179. package/nav-disclosure/definition.js +1 -1
  180. package/nav-item/definition.cjs +1 -1
  181. package/nav-item/definition.js +1 -1
  182. package/note/definition.cjs +1 -1
  183. package/note/definition.js +1 -1
  184. package/number-field/definition.cjs +1 -1
  185. package/number-field/definition.js +1 -1
  186. package/number-field/index.cjs +1 -1
  187. package/number-field/index.js +1 -1
  188. package/optgroup/definition.cjs +5 -0
  189. package/optgroup/definition.js +2 -0
  190. package/optgroup/index.cjs +1 -0
  191. package/optgroup/index.js +4 -0
  192. package/package.json +6 -6
  193. package/pagination/definition.cjs +1 -1
  194. package/pagination/definition.js +1 -1
  195. package/platform-switch/definition.cjs +1 -1
  196. package/platform-switch/definition.js +1 -1
  197. package/popover/definition.cjs +1 -1
  198. package/popover/definition.js +1 -1
  199. package/progress/definition.cjs +1 -1
  200. package/progress/definition.js +1 -1
  201. package/radio/definition.cjs +1 -1
  202. package/radio/definition.js +1 -1
  203. package/radio-group/definition.cjs +1 -1
  204. package/radio-group/definition.js +1 -1
  205. package/range-slider/definition.cjs +1 -1
  206. package/range-slider/definition.js +1 -1
  207. package/rich-text-editor/definition.cjs +1 -1
  208. package/rich-text-editor/definition.js +1 -1
  209. package/rich-text-editor/index.cjs +1 -1
  210. package/rich-text-editor/index.js +4 -4
  211. package/rich-text-view/definition.cjs +1 -1
  212. package/rich-text-view/definition.js +1 -1
  213. package/searchable-select/definition.cjs +1 -1
  214. package/searchable-select/definition.js +1 -1
  215. package/searchable-select/index.cjs +19 -19
  216. package/searchable-select/index.js +60 -45
  217. package/select/definition.cjs +1 -1
  218. package/select/definition.js +1 -1
  219. package/select/index.cjs +1 -1
  220. package/select/index.js +1 -1
  221. package/selectable-box/definition.cjs +1 -1
  222. package/selectable-box/definition.js +1 -1
  223. package/shared/aria/delegates-aria.d.ts +1 -1
  224. package/shared/aria/host-semantics.d.ts +1 -1
  225. package/shared/color-picker/base-color-picker.d.ts +1 -1
  226. package/shared/feedback/feedback-message.d.ts +1 -1
  227. package/shared/feedback/mixins.d.ts +2 -2
  228. package/shared/foundation/button/button.d.ts +2 -2
  229. package/shared/foundation/form-associated/form-associated.d.ts +2 -2
  230. package/shared/foundation/listbox/extractOptions.d.ts +2 -0
  231. package/shared/foundation/listbox/listbox.d.ts +2 -0
  232. package/shared/patterns/affix.d.ts +2 -2
  233. package/shared/patterns/anchored.d.ts +2 -2
  234. package/shared/patterns/char-count/char-count.d.ts +1 -1
  235. package/shared/patterns/form-elements/form-element.d.ts +1 -1
  236. package/shared/patterns/form-elements/with-contextual-help.d.ts +1 -1
  237. package/shared/patterns/form-elements/with-error-text.d.ts +1 -1
  238. package/shared/patterns/form-elements/with-success-text.d.ts +1 -1
  239. package/shared/patterns/kbd-shortcut.d.ts +1 -1
  240. package/shared/patterns/linkable.d.ts +1 -1
  241. package/shared/patterns/localized.d.ts +2 -2
  242. package/shared/patterns/trapped-focus.d.ts +1 -1
  243. package/shared/picker-field/mixins/calendar-picker.d.ts +2 -2
  244. package/shared/picker-field/mixins/calendar-picker.template.d.ts +2 -2
  245. package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +1 -1
  246. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +2 -2
  247. package/shared/picker-field/mixins/single-date-picker.d.ts +2 -2
  248. package/shared/picker-field/mixins/single-value-picker.d.ts +2 -2
  249. package/shared/picker-field/mixins/time-selection-picker.d.ts +2 -2
  250. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +4 -4
  251. package/shared/picker-field/picker-field.d.ts +7 -7
  252. package/side-drawer/definition.cjs +1 -1
  253. package/side-drawer/definition.js +1 -1
  254. package/simple-color-picker/definition.cjs +1 -1
  255. package/simple-color-picker/definition.js +1 -1
  256. package/split-button/definition.cjs +1 -1
  257. package/split-button/definition.js +1 -1
  258. package/split-button/index.cjs +1 -0
  259. package/split-button/index.js +1 -0
  260. package/status/definition.cjs +1 -1
  261. package/status/definition.js +1 -1
  262. package/switch/definition.cjs +1 -1
  263. package/switch/definition.js +1 -1
  264. package/switch/index.cjs +6 -5
  265. package/switch/index.js +16 -14
  266. package/tab/definition.cjs +1 -1
  267. package/tab/definition.js +1 -1
  268. package/tab-panel/definition.cjs +1 -1
  269. package/tab-panel/definition.js +1 -1
  270. package/table/definition.cjs +1 -1
  271. package/table/definition.js +1 -1
  272. package/tabs/definition.cjs +1 -1
  273. package/tabs/definition.js +1 -1
  274. package/tag/definition.cjs +1 -1
  275. package/tag/definition.js +1 -1
  276. package/tag-group/definition.cjs +1 -1
  277. package/tag-group/definition.js +1 -1
  278. package/text-area/definition.cjs +1 -1
  279. package/text-area/definition.js +1 -1
  280. package/time-picker/definition.cjs +1 -1
  281. package/time-picker/definition.js +1 -1
  282. package/tree-item/definition.cjs +1 -1
  283. package/tree-item/definition.js +1 -1
  284. package/tree-view/definition.cjs +1 -1
  285. package/tree-view/definition.js +1 -1
  286. package/unbundled/definition13.cjs +1 -1
  287. package/unbundled/definition13.js +1 -1
  288. package/unbundled/definition2.cjs +9 -3
  289. package/unbundled/definition2.js +9 -3
  290. package/unbundled/definition23.cjs +1 -0
  291. package/unbundled/definition23.js +2 -1
  292. package/unbundled/definition29.cjs +2 -2
  293. package/unbundled/definition29.js +2 -2
  294. package/unbundled/definition30.cjs +65 -484
  295. package/unbundled/definition30.js +57 -482
  296. package/unbundled/definition31.cjs +501 -39
  297. package/unbundled/definition31.js +499 -37
  298. package/unbundled/definition32.cjs +38 -239
  299. package/unbundled/definition32.js +35 -236
  300. package/unbundled/definition33.cjs +236 -74
  301. package/unbundled/definition33.js +233 -71
  302. package/unbundled/definition34.cjs +74 -1968
  303. package/unbundled/definition34.js +70 -1940
  304. package/unbundled/definition35.cjs +1992 -26
  305. package/unbundled/definition35.js +1964 -27
  306. package/unbundled/definition36.cjs +26 -111
  307. package/unbundled/definition36.js +23 -103
  308. package/unbundled/definition37.cjs +53 -294
  309. package/unbundled/definition37.js +50 -291
  310. package/unbundled/definition38.cjs +282 -132
  311. package/unbundled/definition38.js +279 -129
  312. package/unbundled/definition39.cjs +165 -339
  313. package/unbundled/definition39.js +163 -337
  314. package/unbundled/definition40.cjs +394 -228
  315. package/unbundled/definition40.js +391 -225
  316. package/unbundled/definition41.cjs +263 -46
  317. package/unbundled/definition41.js +258 -41
  318. package/unbundled/definition42.cjs +47 -67
  319. package/unbundled/definition42.js +45 -65
  320. package/unbundled/definition43.cjs +56 -383
  321. package/unbundled/definition43.js +55 -382
  322. package/unbundled/definition44.cjs +386 -44
  323. package/unbundled/definition44.js +382 -40
  324. package/unbundled/definition45.cjs +53 -45
  325. package/unbundled/definition45.js +49 -41
  326. package/unbundled/definition46.cjs +40 -164
  327. package/unbundled/definition46.js +36 -160
  328. package/unbundled/definition47.cjs +171 -31
  329. package/unbundled/definition47.js +168 -22
  330. package/unbundled/definition48.cjs +30 -89
  331. package/unbundled/definition48.js +22 -87
  332. package/unbundled/definition49.cjs +70 -33
  333. package/unbundled/definition49.js +67 -30
  334. package/unbundled/definition50.cjs +54 -23
  335. package/unbundled/definition50.js +52 -18
  336. package/unbundled/definition51.cjs +23 -39
  337. package/unbundled/definition51.js +17 -36
  338. package/unbundled/definition52.cjs +29 -314
  339. package/unbundled/definition52.js +27 -312
  340. package/unbundled/definition53.cjs +301 -195
  341. package/unbundled/definition53.js +297 -191
  342. package/unbundled/definition54.cjs +210 -40
  343. package/unbundled/definition54.js +206 -36
  344. package/unbundled/definition55.cjs +42 -266
  345. package/unbundled/definition55.js +38 -262
  346. package/unbundled/definition56.cjs +266 -50
  347. package/unbundled/definition56.js +263 -46
  348. package/unbundled/definition57.cjs +48 -146
  349. package/unbundled/definition57.js +47 -143
  350. package/unbundled/definition58.cjs +127 -225
  351. package/unbundled/definition58.js +122 -223
  352. package/unbundled/definition59.cjs +199 -418
  353. package/unbundled/definition59.js +196 -415
  354. package/unbundled/definition60.cjs +441 -3738
  355. package/unbundled/definition60.js +431 -3565
  356. package/unbundled/definition61.cjs +3712 -728
  357. package/unbundled/definition61.js +3538 -717
  358. package/unbundled/definition62.cjs +769 -97
  359. package/unbundled/definition62.js +766 -94
  360. package/unbundled/definition63.cjs +100 -981
  361. package/unbundled/definition63.js +98 -976
  362. package/unbundled/definition64.cjs +988 -93
  363. package/unbundled/definition64.js +982 -90
  364. package/unbundled/definition65.cjs +109 -73
  365. package/unbundled/definition65.js +105 -63
  366. package/unbundled/definition66.cjs +69 -155
  367. package/unbundled/definition66.js +60 -152
  368. package/unbundled/definition67.cjs +154 -118
  369. package/unbundled/definition67.js +151 -115
  370. package/unbundled/definition68.cjs +124 -49
  371. package/unbundled/definition68.js +120 -45
  372. package/unbundled/definition69.cjs +51 -84
  373. package/unbundled/definition69.js +50 -80
  374. package/unbundled/definition70.cjs +91 -19
  375. package/unbundled/definition70.js +86 -14
  376. package/unbundled/definition71.cjs +20 -87
  377. package/unbundled/definition71.js +14 -84
  378. package/unbundled/definition72.cjs +76 -294
  379. package/unbundled/definition72.js +71 -217
  380. package/unbundled/definition73.cjs +288 -311
  381. package/unbundled/definition73.js +218 -306
  382. package/unbundled/definition74.cjs +326 -26
  383. package/unbundled/definition74.js +317 -23
  384. package/unbundled/definition75.cjs +27 -122
  385. package/unbundled/definition75.js +22 -118
  386. package/unbundled/definition76.cjs +103 -232
  387. package/unbundled/definition76.js +99 -228
  388. package/unbundled/definition77.cjs +259 -26
  389. package/unbundled/definition77.js +249 -23
  390. package/unbundled/definition78.cjs +29 -148
  391. package/unbundled/definition78.js +27 -133
  392. package/unbundled/definition79.cjs +117 -173
  393. package/unbundled/definition79.js +108 -169
  394. package/unbundled/definition80.cjs +181 -477
  395. package/unbundled/definition80.js +176 -471
  396. package/unbundled/definition81.cjs +517 -0
  397. package/unbundled/definition81.js +497 -0
  398. package/unbundled/extractOptions.cjs +21 -0
  399. package/unbundled/extractOptions.js +16 -0
  400. package/unbundled/listbox.cjs +23 -6
  401. package/unbundled/listbox.js +23 -6
  402. package/unbundled/vivid-element.cjs +10 -1
  403. package/unbundled/vivid-element.js +10 -1
  404. package/video-player/definition.cjs +1 -1
  405. package/video-player/definition.js +1 -1
  406. package/vivid.api.json +194 -0
@@ -1,57 +1,65 @@
1
1
  import { d as createRegisterFunction, t as VividElement, u as defineVividComponent } from "./vivid-element.js";
2
- import { html } from "@microsoft/fast-element";
3
- //#region src/lib/kbd-shortcut/kbd-shortcut.scss?inline
4
- var kbd_shortcut_default = ":host{display:inline-block}.base{white-space:nowrap;align-items:center;gap:.3em;display:inline-flex}";
2
+ import { t as __decorate } from "./decorate.js";
3
+ import { n as delegateAria, t as DelegatesAria } from "./delegates-aria.js";
4
+ import { r as Elevation, t as elevationDefinition } from "./definition7.js";
5
+ import { attr, html } from "@microsoft/fast-element";
6
+ import { classNames } from "@microsoft/fast-web-utilities";
7
+ //#region src/lib/header/header.scss?inline
8
+ var header_default = ".base{z-index:1;block-size:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) + calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16)));font:var(--vvd-typography-heading-4);inline-size:100%}.base .header-content{align-items:center;column-gap:4px;display:inline-flex}.container{box-sizing:border-box;background-color:var(--header-bg-color,var(--vvd-color-canvas));block-size:inherit;color:var(--vvd-color-canvas-text);justify-content:space-between;column-gap:12px;padding-block:8px;padding-inline:16px;display:flex}.container[part~=vvd-theme-alternate]{color-scheme:var(--vvd-color-scheme)}.app-content{--vvd-header-block-size:calc(calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2))) + calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density,0), 2) - 16)))}";
5
9
  //#endregion
6
- //#region src/lib/kbd-shortcut/kbd-shortcut.ts
7
- /** Modifier key names in aria-keyshortcuts. */
8
- var MODIFIER_NAMES = new Set([
9
- "Control",
10
- "Alt",
11
- "Shift",
12
- "Meta"
13
- ]);
10
+ //#region src/lib/header/header.ts
14
11
  /**
15
12
  * @public
16
- * @component kbd-shortcut
17
- * @slot - Default slot for Kbd elements.
13
+ * @component header
14
+ * @slot - Default slot.
15
+ * @slot action-items - Nodes assigned to action-items slot will be set at the end of the header.
16
+ * @slot app-content - Content vertically aligned with header.
18
17
  */
19
- var KbdShortcut = class extends VividElement {
20
- /**
21
- * Returns a valid aria-keyshortcuts value based on the slotted kbd-key elements.
22
- * Modifiers are sorted to be first as required by the spec.
23
- * Returns null if no keys are available.
24
- */
25
- getKeyshortcutsValue() {
26
- const keys = Array.from(this.children).filter((el) => typeof el._getKeyshortcutsKey === "function");
27
- if (keys.length === 0) return null;
28
- const names = [];
29
- for (const key of keys) {
30
- const name = key._getKeyshortcutsKey();
31
- if (name !== null) names.push(name);
32
- }
33
- if (names.length === 0) return null;
34
- const modifiers = names.filter((n) => MODIFIER_NAMES.has(n));
35
- const nonModifiers = names.filter((n) => !MODIFIER_NAMES.has(n));
36
- return [...modifiers, ...nonModifiers].join("+");
18
+ var Header = class extends DelegatesAria(VividElement) {
19
+ constructor(..._args) {
20
+ super(..._args);
21
+ this.elevationShadow = false;
22
+ this.alternate = false;
37
23
  }
38
24
  };
25
+ __decorate([attr({
26
+ attribute: "elevation-shadow",
27
+ mode: "boolean"
28
+ })], Header.prototype, "elevationShadow", void 0);
29
+ __decorate([attr({ mode: "boolean" })], Header.prototype, "alternate", void 0);
39
30
  //#endregion
40
- //#region src/lib/kbd-shortcut/kbd-shortcut.template.ts
41
- var KbdShortcutTemplate = () => {
42
- return html`<span class="base" role="group"
43
- ><slot></slot
44
- ></span>`;
31
+ //#region src/lib/header/header.template.ts
32
+ var headerTemplate = (context) => {
33
+ const elevationTag = context.tagFor(Elevation);
34
+ return html`
35
+ <${elevationTag} dp="4" ?no-shadow=${(x) => !x.elevationShadow}>
36
+ <header class="base" part="base" ${delegateAria()}>
37
+ <!-- a container is needed to distinguish the surface background color of the
38
+ element from its shadow when applying elevation with alternate -->
39
+ <div class="container" part="${(x) => classNames("container", ["vvd-theme-alternate", x.alternate])}">
40
+ <section class="header-content" part="main">
41
+ <slot></slot>
42
+ </section>
43
+ <section class="header-content" part="action-items">
44
+ <slot name="action-items"></slot>
45
+ </section>
46
+ </div>
47
+ </header>
48
+ </${elevationTag}>
49
+ <div class="app-content">
50
+ <slot name="app-content"></slot>
51
+ </div>
52
+ `;
45
53
  };
46
54
  //#endregion
47
- //#region src/lib/kbd-shortcut/definition.ts
55
+ //#region src/lib/header/definition.ts
48
56
  /** @internal */
49
- var kbdShortcutDefinition = defineVividComponent("kbd-shortcut", KbdShortcut, KbdShortcutTemplate, [], { styles: kbd_shortcut_default });
57
+ var headerDefinition = defineVividComponent("header", Header, headerTemplate, [elevationDefinition], { styles: header_default });
50
58
  /**
51
- * Registers the kbd-shortcut element with the design system.
59
+ * Registers the header elements with the design system.
52
60
  *
53
61
  * @param prefix - the prefix to use for the component name
54
62
  */
55
- var registerKbdShortcut = createRegisterFunction(kbdShortcutDefinition);
63
+ var registerHeader = createRegisterFunction(headerDefinition);
56
64
  //#endregion
57
- export { registerKbdShortcut as n, KbdShortcut as r, kbdShortcutDefinition as t };
65
+ export { registerHeader as n, Header as r, headerDefinition as t };
@@ -1,199 +1,75 @@
1
1
  require("./chunk.cjs");
2
2
  const require_vivid_element = require("./vivid-element.cjs");
3
- const require_decorate = require("./decorate.cjs");
4
- const require_platform = require("./platform.cjs");
5
3
  let _microsoft_fast_element = require("@microsoft/fast-element");
6
- let _microsoft_fast_web_utilities = require("@microsoft/fast-web-utilities");
7
- //#region src/lib/kbd-key/kbd-key.scss?inline
8
- var kbd_key_default = ":host{vertical-align:middle;display:inline-block}.base{--_connotation-color-primary:var(--vvd-kbd-key-accent-primary,var(--vvd-color-canvas-text));--_connotation-color-primary-text:var(--vvd-kbd-key-accent-primary-text,var(--vvd-color-canvas));--_connotation-color-soft:var(--vvd-kbd-key-accent-soft,var(--vvd-color-neutral-100));--_connotation-color-contrast:var(--vvd-kbd-key-accent-contrast,var(--vvd-color-neutral-800));--_connotation-color-firm:var(--vvd-kbd-key-accent-firm,var(--vvd-color-canvas-text));--_connotation-color-faint:var(--vvd-kbd-key-accent-faint,var(--vvd-color-neutral-50));--_connotation-color-dim:var(--vvd-kbd-key-accent-dim,var(--vvd-color-neutral-200));--_connotation-color-pale:var(--vvd-kbd-key-accent-pale,var(--vvd-color-neutral-300));--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--vvd-color-neutral-300)}.base.appearance-subtle{--_appearance-color-text:var(--_connotation-color-contrast);--_appearance-color-fill:var(--_connotation-color-soft);--_appearance-color-outline:transparent}.base{box-sizing:border-box;background-color:var(--_appearance-color-fill);block-size:var(--_kbd-key-size);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);font:var(--vvd-typography-base-condensed);font-size:calc(var(--_kbd-key-size) / 2);min-inline-size:var(--_kbd-key-size);padding-inline:calc(var(--_kbd-key-size) / 4);white-space:nowrap;border:0;justify-content:center;align-items:center;display:inline-flex}.base.appearance-dropshadow{--_kbd-key-shadow-size:calc(var(--_kbd-key-size) * .0415);background-color:var(--vvd-color-canvas);box-shadow:inset 0 0 0 1px var(--vvd-color-neutral-300), var(--_kbd-key-shadow-size) var(--_kbd-key-shadow-size) 0 0 var(--vvd-color-neutral-300);color:var(--vvd-color-canvas-text)}.base.size-super-condensed{--_kbd-key-size:16px;border-radius:3px;font-size:10px}.base.size-condensed{--_kbd-key-size:24px;border-radius:6px}.base:not(.size-super-condensed,.size-condensed,.size-expanded){--_kbd-key-size:32px;border-radius:6px}.base.size-expanded{--_kbd-key-size:40px;border-radius:8px}";
4
+ //#region src/lib/kbd-shortcut/kbd-shortcut.scss?inline
5
+ var kbd_shortcut_default = ":host{display:inline-block}.base{white-space:nowrap;align-items:center;gap:.3em;display:inline-flex}";
9
6
  //#endregion
10
- //#region src/lib/kbd-key/kbd-key.ts
11
- var SUPPORTED_KEY_NAMES_SET = new Set([
12
- "Alt",
7
+ //#region src/lib/kbd-shortcut/kbd-shortcut.ts
8
+ /** Modifier key names in aria-keyshortcuts. */
9
+ var MODIFIER_NAMES = new Set([
13
10
  "Control",
11
+ "Alt",
14
12
  "Shift",
15
- "Enter",
16
- "Tab",
17
- "Space",
18
- "Backspace",
19
- "Escape",
20
- "ArrowUp",
21
- "ArrowDown",
22
- "ArrowLeft",
23
- "ArrowRight",
24
- "End",
25
- "Home",
26
- "PageUp",
27
- "PageDown",
28
- "A",
29
- "B",
30
- "C",
31
- "D",
32
- "E",
33
- "F",
34
- "G",
35
- "H",
36
- "I",
37
- "J",
38
- "K",
39
- "L",
40
- "M",
41
- "N",
42
- "O",
43
- "P",
44
- "Q",
45
- "R",
46
- "S",
47
- "T",
48
- "U",
49
- "V",
50
- "W",
51
- "X",
52
- "Y",
53
- "Z",
54
- "0",
55
- "1",
56
- "2",
57
- "3",
58
- "4",
59
- "5",
60
- "6",
61
- "7",
62
- "8",
63
- "9",
64
- "Mod",
65
- "Custom"
13
+ "Meta"
66
14
  ]);
67
15
  /**
68
- * Maps key names to their display labels on standard (non-Apple) platforms.
69
- * Keys not listed here display as their key-name string.
70
- */
71
- var KEY_DISPLAY_MAP = {
72
- Enter: "↵",
73
- Tab: "⇥",
74
- Space: "␣",
75
- Backspace: "⌫",
76
- Escape: "Esc",
77
- Shift: "⇧",
78
- Control: "Ctrl",
79
- Alt: "Alt",
80
- ArrowUp: "↑",
81
- ArrowDown: "↓",
82
- ArrowLeft: "←",
83
- ArrowRight: "→",
84
- End: "End",
85
- Home: "Home",
86
- PageUp: "PgUp",
87
- PageDown: "PgDn"
88
- };
89
- var APPLE_DISPLAY_OVERRIDES = {
90
- Control: "⌃",
91
- Alt: "⌥"
92
- };
93
- /**
94
- * Aria labels for keys that display as symbols on standard platforms.
95
- * Keys displaying readable text (e.g. "Ctrl", "Esc") are omitted.
96
- */
97
- var KEY_ARIA_LABEL_MAP = {
98
- Enter: "Enter",
99
- Tab: "Tab",
100
- Space: "Space",
101
- Backspace: "Backspace",
102
- Shift: "Shift",
103
- ArrowUp: "Up Arrow",
104
- ArrowDown: "Down Arrow",
105
- ArrowLeft: "Left Arrow",
106
- ArrowRight: "Right Arrow"
107
- };
108
- var APPLE_ARIA_LABEL_OVERRIDES = {
109
- Control: "Control",
110
- Alt: "Option"
111
- };
112
- /**
113
16
  * @public
114
- * @component kbd-key
115
- * @slot - Default slot for custom content (used when name is "Custom").
17
+ * @component kbd-shortcut
18
+ * @slot - Default slot for Kbd elements.
116
19
  */
117
- var KbdKey = class extends require_vivid_element.VividElement {
118
- /** @internal */
119
- get _isApple() {
120
- if (this.keyboard === "apple") return true;
121
- if (this.keyboard === "standard") return false;
122
- return require_platform.isApplePlatform();
123
- }
124
- /** @internal */
125
- get _displayLabel() {
126
- /* v8 ignore if -- @preserve */
127
- if (!this.name || this.name === "Custom") return "";
128
- if (!SUPPORTED_KEY_NAMES_SET.has(this.name)) {
129
- console.warn(`[kbd-key] Unsupported key name: "${this.name}". Nothing will be displayed.`);
130
- return "";
131
- }
132
- if (this.name === "Mod") return this._isApple ? "⌘" : "Ctrl";
133
- if (this._isApple && this.name in APPLE_DISPLAY_OVERRIDES) return APPLE_DISPLAY_OVERRIDES[this.name];
134
- return KEY_DISPLAY_MAP[this.name] ?? this.name;
135
- }
136
- /** @internal */
137
- get _ariaKeyLabel() {
138
- if (!this.name || this.name === "Custom") return null;
139
- if (this.name === "Mod") return this._isApple ? "Command" : null;
140
- if (this._isApple && this.name in APPLE_ARIA_LABEL_OVERRIDES) return APPLE_ARIA_LABEL_OVERRIDES[this.name];
141
- return KEY_ARIA_LABEL_MAP[this.name] ?? null;
142
- }
20
+ var KbdShortcut = class extends require_vivid_element.VividElement {
143
21
  /**
144
- * Returns the aria-keyshortcuts key token for this element, or null if one
145
- * cannot be determined.
146
- *
147
- * @internal
22
+ * Returns a valid aria-keyshortcuts value based on the slotted kbd-key elements.
23
+ * Modifiers are sorted to be first as required by the spec.
24
+ * Returns null if no keys are available.
148
25
  */
149
- _getKeyshortcutsKey() {
150
- if (this.keyshortcutsKey !== void 0) return this.keyshortcutsKey || null;
151
- if (!this.name) return null;
152
- if (this.name === "Custom") return this.textContent.trim() || null;
153
- if (this.name === "Mod") return this._isApple ? "Meta" : "Control";
154
- return this.name;
26
+ getKeyshortcutsValue() {
27
+ const keys = Array.from(this.children).filter((el) => typeof el._getKeyshortcutsKey === "function");
28
+ if (keys.length === 0) return null;
29
+ const names = [];
30
+ for (const key of keys) {
31
+ const name = key._getKeyshortcutsKey();
32
+ if (name !== null) names.push(name);
33
+ }
34
+ if (names.length === 0) return null;
35
+ const modifiers = names.filter((n) => MODIFIER_NAMES.has(n));
36
+ const nonModifiers = names.filter((n) => !MODIFIER_NAMES.has(n));
37
+ return [...modifiers, ...nonModifiers].join("+");
155
38
  }
156
39
  };
157
- require_decorate.__decorate([_microsoft_fast_element.attr], KbdKey.prototype, "name", void 0);
158
- require_decorate.__decorate([_microsoft_fast_element.attr], KbdKey.prototype, "keyboard", void 0);
159
- require_decorate.__decorate([_microsoft_fast_element.attr], KbdKey.prototype, "appearance", void 0);
160
- require_decorate.__decorate([_microsoft_fast_element.attr], KbdKey.prototype, "size", void 0);
161
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "keyshortcuts-key" })], KbdKey.prototype, "keyshortcutsKey", void 0);
162
40
  //#endregion
163
- //#region src/lib/kbd-key/kbd-key.template.ts
164
- var KbdKeyTemplate = () => {
165
- return _microsoft_fast_element.html`<kbd
166
- class="${(x) => (0, _microsoft_fast_web_utilities.classNames)("base", [`appearance-${x.appearance}`, Boolean(x.appearance)], [`size-${x.size}`, Boolean(x.size)])}"
167
- aria-label="${(x) => x._ariaKeyLabel}"
168
- >${(0, _microsoft_fast_element.when)((x) => x.name === "Custom", _microsoft_fast_element.html`<slot></slot>`)}${(0, _microsoft_fast_element.when)((x) => Boolean(x.name && x.name !== "Custom" && x._displayLabel), _microsoft_fast_element.html`${(x) => x._displayLabel}`)}</kbd
169
- >`;
41
+ //#region src/lib/kbd-shortcut/kbd-shortcut.template.ts
42
+ var KbdShortcutTemplate = () => {
43
+ return _microsoft_fast_element.html`<span class="base" role="group"
44
+ ><slot></slot
45
+ ></span>`;
170
46
  };
171
47
  //#endregion
172
- //#region src/lib/kbd-key/definition.ts
48
+ //#region src/lib/kbd-shortcut/definition.ts
173
49
  /** @internal */
174
- var kbdKeyDefinition = require_vivid_element.defineVividComponent("kbd-key", KbdKey, KbdKeyTemplate, [], { styles: kbd_key_default });
50
+ var kbdShortcutDefinition = require_vivid_element.defineVividComponent("kbd-shortcut", KbdShortcut, KbdShortcutTemplate, [], { styles: kbd_shortcut_default });
175
51
  /**
176
- * Registers the kbd-key element with the design system.
52
+ * Registers the kbd-shortcut element with the design system.
177
53
  *
178
54
  * @param prefix - the prefix to use for the component name
179
55
  */
180
- var registerKbdKey = require_vivid_element.createRegisterFunction(kbdKeyDefinition);
56
+ var registerKbdShortcut = require_vivid_element.createRegisterFunction(kbdShortcutDefinition);
181
57
  //#endregion
182
- Object.defineProperty(exports, "KbdKey", {
58
+ Object.defineProperty(exports, "KbdShortcut", {
183
59
  enumerable: true,
184
60
  get: function() {
185
- return KbdKey;
61
+ return KbdShortcut;
186
62
  }
187
63
  });
188
- Object.defineProperty(exports, "kbdKeyDefinition", {
64
+ Object.defineProperty(exports, "kbdShortcutDefinition", {
189
65
  enumerable: true,
190
66
  get: function() {
191
- return kbdKeyDefinition;
67
+ return kbdShortcutDefinition;
192
68
  }
193
69
  });
194
- Object.defineProperty(exports, "registerKbdKey", {
70
+ Object.defineProperty(exports, "registerKbdShortcut", {
195
71
  enumerable: true,
196
72
  get: function() {
197
- return registerKbdKey;
73
+ return registerKbdShortcut;
198
74
  }
199
75
  });
@@ -1,181 +1,57 @@
1
1
  import { d as createRegisterFunction, t as VividElement, u as defineVividComponent } from "./vivid-element.js";
2
- import { t as __decorate } from "./decorate.js";
3
- import { t as isApplePlatform } from "./platform.js";
4
- import { attr, html, when } from "@microsoft/fast-element";
5
- import { classNames } from "@microsoft/fast-web-utilities";
6
- //#region src/lib/kbd-key/kbd-key.scss?inline
7
- var kbd_key_default = ":host{vertical-align:middle;display:inline-block}.base{--_connotation-color-primary:var(--vvd-kbd-key-accent-primary,var(--vvd-color-canvas-text));--_connotation-color-primary-text:var(--vvd-kbd-key-accent-primary-text,var(--vvd-color-canvas));--_connotation-color-soft:var(--vvd-kbd-key-accent-soft,var(--vvd-color-neutral-100));--_connotation-color-contrast:var(--vvd-kbd-key-accent-contrast,var(--vvd-color-neutral-800));--_connotation-color-firm:var(--vvd-kbd-key-accent-firm,var(--vvd-color-canvas-text));--_connotation-color-faint:var(--vvd-kbd-key-accent-faint,var(--vvd-color-neutral-50));--_connotation-color-dim:var(--vvd-kbd-key-accent-dim,var(--vvd-color-neutral-200));--_connotation-color-pale:var(--vvd-kbd-key-accent-pale,var(--vvd-color-neutral-300));--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:transparent;--_appearance-color-outline:var(--vvd-color-neutral-300)}.base.appearance-subtle{--_appearance-color-text:var(--_connotation-color-contrast);--_appearance-color-fill:var(--_connotation-color-soft);--_appearance-color-outline:transparent}.base{box-sizing:border-box;background-color:var(--_appearance-color-fill);block-size:var(--_kbd-key-size);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);font:var(--vvd-typography-base-condensed);font-size:calc(var(--_kbd-key-size) / 2);min-inline-size:var(--_kbd-key-size);padding-inline:calc(var(--_kbd-key-size) / 4);white-space:nowrap;border:0;justify-content:center;align-items:center;display:inline-flex}.base.appearance-dropshadow{--_kbd-key-shadow-size:calc(var(--_kbd-key-size) * .0415);background-color:var(--vvd-color-canvas);box-shadow:inset 0 0 0 1px var(--vvd-color-neutral-300), var(--_kbd-key-shadow-size) var(--_kbd-key-shadow-size) 0 0 var(--vvd-color-neutral-300);color:var(--vvd-color-canvas-text)}.base.size-super-condensed{--_kbd-key-size:16px;border-radius:3px;font-size:10px}.base.size-condensed{--_kbd-key-size:24px;border-radius:6px}.base:not(.size-super-condensed,.size-condensed,.size-expanded){--_kbd-key-size:32px;border-radius:6px}.base.size-expanded{--_kbd-key-size:40px;border-radius:8px}";
2
+ import { html } from "@microsoft/fast-element";
3
+ //#region src/lib/kbd-shortcut/kbd-shortcut.scss?inline
4
+ var kbd_shortcut_default = ":host{display:inline-block}.base{white-space:nowrap;align-items:center;gap:.3em;display:inline-flex}";
8
5
  //#endregion
9
- //#region src/lib/kbd-key/kbd-key.ts
10
- var SUPPORTED_KEY_NAMES_SET = new Set([
11
- "Alt",
6
+ //#region src/lib/kbd-shortcut/kbd-shortcut.ts
7
+ /** Modifier key names in aria-keyshortcuts. */
8
+ var MODIFIER_NAMES = new Set([
12
9
  "Control",
10
+ "Alt",
13
11
  "Shift",
14
- "Enter",
15
- "Tab",
16
- "Space",
17
- "Backspace",
18
- "Escape",
19
- "ArrowUp",
20
- "ArrowDown",
21
- "ArrowLeft",
22
- "ArrowRight",
23
- "End",
24
- "Home",
25
- "PageUp",
26
- "PageDown",
27
- "A",
28
- "B",
29
- "C",
30
- "D",
31
- "E",
32
- "F",
33
- "G",
34
- "H",
35
- "I",
36
- "J",
37
- "K",
38
- "L",
39
- "M",
40
- "N",
41
- "O",
42
- "P",
43
- "Q",
44
- "R",
45
- "S",
46
- "T",
47
- "U",
48
- "V",
49
- "W",
50
- "X",
51
- "Y",
52
- "Z",
53
- "0",
54
- "1",
55
- "2",
56
- "3",
57
- "4",
58
- "5",
59
- "6",
60
- "7",
61
- "8",
62
- "9",
63
- "Mod",
64
- "Custom"
12
+ "Meta"
65
13
  ]);
66
14
  /**
67
- * Maps key names to their display labels on standard (non-Apple) platforms.
68
- * Keys not listed here display as their key-name string.
69
- */
70
- var KEY_DISPLAY_MAP = {
71
- Enter: "↵",
72
- Tab: "⇥",
73
- Space: "␣",
74
- Backspace: "⌫",
75
- Escape: "Esc",
76
- Shift: "⇧",
77
- Control: "Ctrl",
78
- Alt: "Alt",
79
- ArrowUp: "↑",
80
- ArrowDown: "↓",
81
- ArrowLeft: "←",
82
- ArrowRight: "→",
83
- End: "End",
84
- Home: "Home",
85
- PageUp: "PgUp",
86
- PageDown: "PgDn"
87
- };
88
- var APPLE_DISPLAY_OVERRIDES = {
89
- Control: "⌃",
90
- Alt: "⌥"
91
- };
92
- /**
93
- * Aria labels for keys that display as symbols on standard platforms.
94
- * Keys displaying readable text (e.g. "Ctrl", "Esc") are omitted.
95
- */
96
- var KEY_ARIA_LABEL_MAP = {
97
- Enter: "Enter",
98
- Tab: "Tab",
99
- Space: "Space",
100
- Backspace: "Backspace",
101
- Shift: "Shift",
102
- ArrowUp: "Up Arrow",
103
- ArrowDown: "Down Arrow",
104
- ArrowLeft: "Left Arrow",
105
- ArrowRight: "Right Arrow"
106
- };
107
- var APPLE_ARIA_LABEL_OVERRIDES = {
108
- Control: "Control",
109
- Alt: "Option"
110
- };
111
- /**
112
15
  * @public
113
- * @component kbd-key
114
- * @slot - Default slot for custom content (used when name is "Custom").
16
+ * @component kbd-shortcut
17
+ * @slot - Default slot for Kbd elements.
115
18
  */
116
- var KbdKey = class extends VividElement {
117
- /** @internal */
118
- get _isApple() {
119
- if (this.keyboard === "apple") return true;
120
- if (this.keyboard === "standard") return false;
121
- return isApplePlatform();
122
- }
123
- /** @internal */
124
- get _displayLabel() {
125
- /* v8 ignore if -- @preserve */
126
- if (!this.name || this.name === "Custom") return "";
127
- if (!SUPPORTED_KEY_NAMES_SET.has(this.name)) {
128
- console.warn(`[kbd-key] Unsupported key name: "${this.name}". Nothing will be displayed.`);
129
- return "";
130
- }
131
- if (this.name === "Mod") return this._isApple ? "⌘" : "Ctrl";
132
- if (this._isApple && this.name in APPLE_DISPLAY_OVERRIDES) return APPLE_DISPLAY_OVERRIDES[this.name];
133
- return KEY_DISPLAY_MAP[this.name] ?? this.name;
134
- }
135
- /** @internal */
136
- get _ariaKeyLabel() {
137
- if (!this.name || this.name === "Custom") return null;
138
- if (this.name === "Mod") return this._isApple ? "Command" : null;
139
- if (this._isApple && this.name in APPLE_ARIA_LABEL_OVERRIDES) return APPLE_ARIA_LABEL_OVERRIDES[this.name];
140
- return KEY_ARIA_LABEL_MAP[this.name] ?? null;
141
- }
19
+ var KbdShortcut = class extends VividElement {
142
20
  /**
143
- * Returns the aria-keyshortcuts key token for this element, or null if one
144
- * cannot be determined.
145
- *
146
- * @internal
21
+ * Returns a valid aria-keyshortcuts value based on the slotted kbd-key elements.
22
+ * Modifiers are sorted to be first as required by the spec.
23
+ * Returns null if no keys are available.
147
24
  */
148
- _getKeyshortcutsKey() {
149
- if (this.keyshortcutsKey !== void 0) return this.keyshortcutsKey || null;
150
- if (!this.name) return null;
151
- if (this.name === "Custom") return this.textContent.trim() || null;
152
- if (this.name === "Mod") return this._isApple ? "Meta" : "Control";
153
- return this.name;
25
+ getKeyshortcutsValue() {
26
+ const keys = Array.from(this.children).filter((el) => typeof el._getKeyshortcutsKey === "function");
27
+ if (keys.length === 0) return null;
28
+ const names = [];
29
+ for (const key of keys) {
30
+ const name = key._getKeyshortcutsKey();
31
+ if (name !== null) names.push(name);
32
+ }
33
+ if (names.length === 0) return null;
34
+ const modifiers = names.filter((n) => MODIFIER_NAMES.has(n));
35
+ const nonModifiers = names.filter((n) => !MODIFIER_NAMES.has(n));
36
+ return [...modifiers, ...nonModifiers].join("+");
154
37
  }
155
38
  };
156
- __decorate([attr], KbdKey.prototype, "name", void 0);
157
- __decorate([attr], KbdKey.prototype, "keyboard", void 0);
158
- __decorate([attr], KbdKey.prototype, "appearance", void 0);
159
- __decorate([attr], KbdKey.prototype, "size", void 0);
160
- __decorate([attr({ attribute: "keyshortcuts-key" })], KbdKey.prototype, "keyshortcutsKey", void 0);
161
39
  //#endregion
162
- //#region src/lib/kbd-key/kbd-key.template.ts
163
- var KbdKeyTemplate = () => {
164
- return html`<kbd
165
- class="${(x) => classNames("base", [`appearance-${x.appearance}`, Boolean(x.appearance)], [`size-${x.size}`, Boolean(x.size)])}"
166
- aria-label="${(x) => x._ariaKeyLabel}"
167
- >${when((x) => x.name === "Custom", html`<slot></slot>`)}${when((x) => Boolean(x.name && x.name !== "Custom" && x._displayLabel), html`${(x) => x._displayLabel}`)}</kbd
168
- >`;
40
+ //#region src/lib/kbd-shortcut/kbd-shortcut.template.ts
41
+ var KbdShortcutTemplate = () => {
42
+ return html`<span class="base" role="group"
43
+ ><slot></slot
44
+ ></span>`;
169
45
  };
170
46
  //#endregion
171
- //#region src/lib/kbd-key/definition.ts
47
+ //#region src/lib/kbd-shortcut/definition.ts
172
48
  /** @internal */
173
- var kbdKeyDefinition = defineVividComponent("kbd-key", KbdKey, KbdKeyTemplate, [], { styles: kbd_key_default });
49
+ var kbdShortcutDefinition = defineVividComponent("kbd-shortcut", KbdShortcut, KbdShortcutTemplate, [], { styles: kbd_shortcut_default });
174
50
  /**
175
- * Registers the kbd-key element with the design system.
51
+ * Registers the kbd-shortcut element with the design system.
176
52
  *
177
53
  * @param prefix - the prefix to use for the component name
178
54
  */
179
- var registerKbdKey = createRegisterFunction(kbdKeyDefinition);
55
+ var registerKbdShortcut = createRegisterFunction(kbdShortcutDefinition);
180
56
  //#endregion
181
- export { registerKbdKey as n, KbdKey as r, kbdKeyDefinition as t };
57
+ export { registerKbdShortcut as n, KbdShortcut as r, kbdShortcutDefinition as t };