@vonage/vivid 5.23.1 → 5.25.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 (522) hide show
  1. package/README.md +1 -1
  2. package/accordion/index.cjs +1 -1
  3. package/accordion/index.js +1 -1
  4. package/accordion-item/index.cjs +1 -1
  5. package/accordion-item/index.js +1 -1
  6. package/audio-player/index.cjs +2 -2
  7. package/audio-player/index.js +3 -3
  8. package/avatar/index.cjs +10 -10
  9. package/avatar/index.js +4 -3
  10. package/badge/index.cjs +1 -1
  11. package/badge/index.js +1 -1
  12. package/breadcrumb-item/index.cjs +9 -5
  13. package/breadcrumb-item/index.js +11 -6
  14. package/bundled/affix.cjs +1 -1
  15. package/bundled/affix.js +1 -1
  16. package/bundled/definition10.cjs +2 -1
  17. package/bundled/definition10.js +3 -2
  18. package/bundled/definition11.cjs +4 -4
  19. package/bundled/definition11.js +4 -3
  20. package/bundled/definition12.cjs +1 -1
  21. package/bundled/definition12.js +1 -0
  22. package/bundled/definition15.cjs +8 -7
  23. package/bundled/definition15.js +27 -24
  24. package/bundled/definition17.cjs +7 -7
  25. package/bundled/definition17.js +22 -109
  26. package/bundled/definition18.cjs +12 -83
  27. package/bundled/definition18.js +20 -426
  28. package/bundled/definition19.cjs +87 -7
  29. package/bundled/definition19.js +433 -16
  30. package/bundled/definition20.cjs +7 -37
  31. package/bundled/definition20.js +17 -172
  32. package/bundled/definition21.cjs +35 -27
  33. package/bundled/definition21.js +155 -154
  34. package/bundled/definition22.cjs +29 -6
  35. package/bundled/definition22.js +172 -20
  36. package/bundled/definition23.cjs +6 -12
  37. package/bundled/definition23.js +17 -32
  38. package/bundled/definition24.cjs +12 -39
  39. package/bundled/definition24.js +33 -67
  40. package/bundled/definition25.cjs +44 -0
  41. package/bundled/definition25.js +81 -0
  42. package/bundled/definition3.cjs +5 -5
  43. package/bundled/definition3.js +10 -40
  44. package/bundled/definition4.cjs +6 -6
  45. package/bundled/definition4.js +4 -3
  46. package/bundled/definition6.cjs +11 -11
  47. package/bundled/definition6.js +4 -3
  48. package/bundled/definition9.cjs +12 -6
  49. package/bundled/definition9.js +66 -43
  50. package/bundled/extractOptions.cjs +1 -0
  51. package/bundled/extractOptions.js +11 -0
  52. package/bundled/icon.cjs +1 -0
  53. package/bundled/icon.js +34 -0
  54. package/bundled/listbox.cjs +1 -1
  55. package/bundled/listbox.js +28 -12
  56. package/bundled/mixins.cjs +8 -8
  57. package/bundled/mixins.js +4 -3
  58. package/bundled/optgroup.cjs +1 -0
  59. package/bundled/optgroup.js +27 -0
  60. package/bundled/option.cjs +1 -0
  61. package/bundled/option.js +93 -0
  62. package/bundled/render-in-light-dom.cjs +1 -1
  63. package/bundled/render-in-light-dom.js +16 -19
  64. package/bundled/vivid-element.cjs +1 -1
  65. package/bundled/vivid-element.js +9 -1
  66. package/card/index.cjs +22 -22
  67. package/card/index.js +4 -3
  68. package/color-picker/index.cjs +18 -18
  69. package/color-picker/index.js +4 -3
  70. package/combobox/definition.cjs +1 -1
  71. package/combobox/definition.js +1 -1
  72. package/combobox/index.cjs +7 -7
  73. package/combobox/index.js +31 -21
  74. package/country/definition.cjs +1 -1
  75. package/country/definition.js +1 -1
  76. package/country/index.cjs +1 -1
  77. package/country/index.js +1 -1
  78. package/country-group/definition.cjs +1 -1
  79. package/country-group/definition.js +1 -1
  80. package/country-group/index.cjs +1 -1
  81. package/country-group/index.js +2 -2
  82. package/custom-elements.json +8438 -7866
  83. package/data-grid/definition.cjs +1 -1
  84. package/data-grid/definition.js +1 -1
  85. package/data-grid/index.cjs +26 -26
  86. package/data-grid/index.js +9 -8
  87. package/date-picker/definition.cjs +1 -1
  88. package/date-picker/definition.js +1 -1
  89. package/date-picker/index.cjs +1 -1
  90. package/date-picker/index.js +1 -1
  91. package/date-range-picker/definition.cjs +1 -1
  92. package/date-range-picker/definition.js +1 -1
  93. package/date-range-picker/index.cjs +1 -1
  94. package/date-range-picker/index.js +1 -1
  95. package/date-time-picker/definition.cjs +1 -1
  96. package/date-time-picker/definition.js +1 -1
  97. package/date-time-picker/index.cjs +1 -1
  98. package/date-time-picker/index.js +1 -1
  99. package/dial-pad/definition.cjs +1 -1
  100. package/dial-pad/definition.js +1 -1
  101. package/dial-pad/index.cjs +7 -7
  102. package/dial-pad/index.js +124 -54
  103. package/dialog/definition.cjs +1 -1
  104. package/dialog/definition.js +1 -1
  105. package/dialog/index.cjs +14 -14
  106. package/dialog/index.js +4 -3
  107. package/divider/definition.cjs +1 -1
  108. package/divider/definition.js +1 -1
  109. package/divider/index.cjs +1 -1
  110. package/divider/index.js +1 -1
  111. package/empty-state/definition.cjs +1 -1
  112. package/empty-state/definition.js +1 -1
  113. package/empty-state/index.cjs +3 -3
  114. package/empty-state/index.js +4 -3
  115. package/fab/definition.cjs +1 -1
  116. package/fab/definition.js +1 -1
  117. package/file-picker/definition.cjs +1 -1
  118. package/file-picker/definition.js +1 -1
  119. package/file-picker/index.cjs +7 -7
  120. package/file-picker/index.js +4 -3
  121. package/flag/definition.cjs +1 -1
  122. package/flag/definition.js +1 -1
  123. package/header/definition.cjs +1 -1
  124. package/header/definition.js +1 -1
  125. package/header/index.cjs +3 -3
  126. package/header/index.js +3 -3
  127. package/icon/definition.cjs +2 -1
  128. package/icon/definition.js +2 -1
  129. package/index.cjs +209 -198
  130. package/index.js +59 -54
  131. package/kbd-key/definition.cjs +1 -1
  132. package/kbd-key/definition.js +1 -1
  133. package/kbd-shortcut/definition.cjs +1 -1
  134. package/kbd-shortcut/definition.js +1 -1
  135. package/layout/definition.cjs +1 -1
  136. package/layout/definition.js +1 -1
  137. package/lib/accordion-item/accordion-item.d.ts +3 -1
  138. package/lib/action-group/action-group.d.ts +1 -1
  139. package/lib/alert/alert.d.ts +2 -2
  140. package/lib/audio-player/audio-player.d.ts +1 -1
  141. package/lib/avatar/avatar.d.ts +1 -1
  142. package/lib/badge/badge.d.ts +1 -1
  143. package/lib/banner/banner.d.ts +3 -3
  144. package/lib/breadcrumb/breadcrumb.d.ts +1 -1
  145. package/lib/breadcrumb-item/breadcrumb-item.d.ts +1 -1
  146. package/lib/button/button.d.ts +3 -3
  147. package/lib/calendar-event/calendar-event.d.ts +1 -1
  148. package/lib/card/card.d.ts +1 -1
  149. package/lib/checkbox/checkbox.d.ts +6 -6
  150. package/lib/color-picker/color-picker.d.ts +7 -7
  151. package/lib/combobox/combobox.d.ts +8 -8
  152. package/lib/components.d.ts +2 -0
  153. package/lib/country-group/country-group.d.ts +2 -2
  154. package/lib/data-grid/data-grid-cell.d.ts +4 -3
  155. package/lib/data-grid/data-grid-row.d.ts +3 -2
  156. package/lib/data-grid/data-grid.options.d.ts +5 -0
  157. package/lib/date-picker/date-picker.d.ts +8 -8
  158. package/lib/date-range-picker/date-range-picker.d.ts +4 -4
  159. package/lib/date-time-picker/date-time-picker.d.ts +8 -8
  160. package/lib/dial-pad/dial-pad.d.ts +2 -2
  161. package/lib/dialog/dialog.d.ts +2 -2
  162. package/lib/divider/divider.d.ts +1 -1
  163. package/lib/fab/fab.d.ts +1 -1
  164. package/lib/file-picker/file-picker.d.ts +7 -7
  165. package/lib/header/header.d.ts +1 -1
  166. package/lib/listbox/definition.d.ts +3 -0
  167. package/lib/listbox/index.d.ts +1 -0
  168. package/lib/listbox/listbox.d.ts +1302 -0
  169. package/lib/listbox/listbox.template.d.ts +3 -0
  170. package/lib/listbox/variations.browser-spec.d.ts +1 -0
  171. package/lib/menu/menu.d.ts +2 -3
  172. package/lib/menu-item/menu-item.d.ts +3 -3
  173. package/lib/nav/nav.d.ts +1 -1
  174. package/lib/nav-disclosure/nav-disclosure.d.ts +2 -2
  175. package/lib/nav-item/nav-item.d.ts +2 -2
  176. package/lib/note/note.d.ts +1 -1
  177. package/lib/number-field/number-field.d.ts +9 -10
  178. package/lib/optgroup/definition.d.ts +3 -0
  179. package/lib/optgroup/index.d.ts +1 -0
  180. package/lib/optgroup/optgroup.d.ts +430 -0
  181. package/lib/optgroup/optgroup.template.d.ts +2 -0
  182. package/lib/optgroup/variations.browser-spec.d.ts +1 -0
  183. package/lib/option/option.d.ts +2 -2
  184. package/lib/pagination/pagination.d.ts +1 -1
  185. package/lib/popover/popover.d.ts +2 -2
  186. package/lib/progress/progress.d.ts +1 -1
  187. package/lib/progress-ring/progress-ring.d.ts +1 -1
  188. package/lib/radio/radio.d.ts +3 -3
  189. package/lib/radio-group/radio-group.d.ts +1 -1
  190. package/lib/range-slider/range-slider.d.ts +3 -3
  191. package/lib/rich-text-editor/rich-text-editor.d.ts +1 -1
  192. package/lib/rich-text-editor/rte/features/base.d.ts +1 -0
  193. package/lib/rich-text-editor/rte/utils/default-textblock.d.ts +2 -2
  194. package/lib/searchable-select/option-tag.d.ts +1 -1
  195. package/lib/searchable-select/searchable-select.d.ts +47 -47
  196. package/lib/select/select.d.ts +9 -9
  197. package/lib/selectable-box/selectable-box.d.ts +1 -1
  198. package/lib/simple-color-picker/simple-color-picker.d.ts +2 -2
  199. package/lib/slider/slider.d.ts +3 -3
  200. package/lib/split-button/split-button.d.ts +3 -3
  201. package/lib/status/status.d.ts +1 -1
  202. package/lib/switch/switch.d.ts +2 -2
  203. package/lib/tab/tab.d.ts +3 -3
  204. package/lib/tab-panel/tab-panel.d.ts +1 -1
  205. package/lib/table/table-cell.d.ts +1 -1
  206. package/lib/table/table-header-cell.d.ts +1 -1
  207. package/lib/table/table-row.d.ts +1 -1
  208. package/lib/table/table-sorting-button.d.ts +1 -1
  209. package/lib/tag/tag.d.ts +3 -3
  210. package/lib/tag-group/tag-group.d.ts +1 -1
  211. package/lib/tag-name-map.d.ts +3 -1
  212. package/lib/text-area/text-area.d.ts +8 -8
  213. package/lib/text-field/text-field.d.ts +10 -9
  214. package/lib/time-picker/time-picker.d.ts +4 -4
  215. package/lib/toggletip/toggletip.d.ts +3 -2
  216. package/lib/tooltip/tooltip.d.ts +3 -2
  217. package/lib/tree-item/tree-item.d.ts +2 -2
  218. package/lib/tree-view/tree-view.d.ts +1 -1
  219. package/lib/video-player/video-player.d.ts +1 -1
  220. package/listbox/definition.cjs +5 -0
  221. package/listbox/definition.js +2 -0
  222. package/listbox/index.cjs +11 -0
  223. package/listbox/index.js +540 -0
  224. package/menu/index.cjs +1 -1
  225. package/menu/index.js +1 -1
  226. package/menu-item/index.cjs +1 -1
  227. package/menu-item/index.js +1 -1
  228. package/nav/definition.cjs +1 -1
  229. package/nav/definition.js +1 -1
  230. package/nav-disclosure/definition.cjs +1 -1
  231. package/nav-disclosure/definition.js +1 -1
  232. package/nav-disclosure/index.cjs +4 -4
  233. package/nav-disclosure/index.js +4 -3
  234. package/nav-item/definition.cjs +1 -1
  235. package/nav-item/definition.js +1 -1
  236. package/note/definition.cjs +1 -1
  237. package/note/definition.js +1 -1
  238. package/number-field/definition.cjs +1 -1
  239. package/number-field/definition.js +1 -1
  240. package/number-field/index.cjs +1 -1
  241. package/number-field/index.js +1 -1
  242. package/optgroup/definition.cjs +6 -0
  243. package/optgroup/definition.js +3 -0
  244. package/optgroup/index.cjs +1 -0
  245. package/optgroup/index.js +4 -0
  246. package/option/definition.cjs +2 -1
  247. package/option/definition.js +2 -1
  248. package/package.json +9 -8
  249. package/pagination/definition.cjs +1 -1
  250. package/pagination/definition.js +1 -1
  251. package/platform-switch/definition.cjs +1 -1
  252. package/platform-switch/definition.js +1 -1
  253. package/popover/definition.cjs +1 -1
  254. package/popover/definition.js +1 -1
  255. package/popover/index.cjs +5 -5
  256. package/popover/index.js +4 -3
  257. package/progress/definition.cjs +1 -1
  258. package/progress/definition.js +1 -1
  259. package/radio/definition.cjs +1 -1
  260. package/radio/definition.js +1 -1
  261. package/radio-group/definition.cjs +1 -1
  262. package/radio-group/definition.js +1 -1
  263. package/range-slider/definition.cjs +1 -1
  264. package/range-slider/definition.js +1 -1
  265. package/rich-text-editor/definition.cjs +1 -1
  266. package/rich-text-editor/definition.js +1 -1
  267. package/rich-text-editor/index.cjs +13 -13
  268. package/rich-text-editor/index.js +26 -23
  269. package/rich-text-view/definition.cjs +1 -1
  270. package/rich-text-view/definition.js +1 -1
  271. package/searchable-select/definition.cjs +1 -1
  272. package/searchable-select/definition.js +1 -1
  273. package/searchable-select/index.cjs +23 -23
  274. package/searchable-select/index.js +67 -49
  275. package/select/definition.cjs +1 -1
  276. package/select/definition.js +1 -1
  277. package/select/index.cjs +1 -1
  278. package/select/index.js +1 -1
  279. package/selectable-box/definition.cjs +1 -1
  280. package/selectable-box/definition.js +1 -1
  281. package/shared/aria/delegates-aria.d.ts +1 -1
  282. package/shared/aria/host-semantics.d.ts +1 -1
  283. package/shared/color-picker/base-color-picker.d.ts +1 -1
  284. package/shared/feedback/feedback-message.d.ts +1 -1
  285. package/shared/feedback/mixins.d.ts +2 -2
  286. package/shared/foundation/button/button.d.ts +2 -2
  287. package/shared/foundation/form-associated/form-associated.d.ts +2 -2
  288. package/shared/foundation/listbox/extractOptions.d.ts +2 -0
  289. package/shared/foundation/listbox/listbox.d.ts +2 -0
  290. package/shared/listbox/commands.d.ts +17 -0
  291. package/shared/listbox/move.d.ts +6 -0
  292. package/shared/listbox/options.d.ts +12 -0
  293. package/shared/listbox/selection.d.ts +28 -0
  294. package/shared/listbox/state.d.ts +26 -0
  295. package/shared/listbox/typeahead.d.ts +8 -0
  296. package/shared/listbox/with-options-filter.d.ts +440 -0
  297. package/shared/listbox/with-options.d.ts +862 -0
  298. package/shared/patterns/affix.d.ts +2 -2
  299. package/shared/patterns/anchored.d.ts +2 -2
  300. package/shared/patterns/char-count/char-count.d.ts +1 -1
  301. package/shared/patterns/form-elements/form-element.d.ts +1 -1
  302. package/shared/patterns/form-elements/with-contextual-help.d.ts +1 -1
  303. package/shared/patterns/form-elements/with-error-text.d.ts +1 -1
  304. package/shared/patterns/form-elements/with-success-text.d.ts +1 -1
  305. package/shared/patterns/kbd-shortcut.d.ts +1 -1
  306. package/shared/patterns/linkable.d.ts +1 -1
  307. package/shared/patterns/localized.d.ts +2 -2
  308. package/shared/patterns/trapped-focus.d.ts +1 -1
  309. package/shared/picker-field/mixins/calendar-picker.d.ts +2 -2
  310. package/shared/picker-field/mixins/calendar-picker.template.d.ts +2 -2
  311. package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +1 -1
  312. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +2 -2
  313. package/shared/picker-field/mixins/single-date-picker.d.ts +2 -2
  314. package/shared/picker-field/mixins/single-value-picker.d.ts +2 -2
  315. package/shared/picker-field/mixins/time-selection-picker.d.ts +2 -2
  316. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +4 -4
  317. package/shared/picker-field/picker-field.d.ts +7 -7
  318. package/side-drawer/definition.cjs +1 -1
  319. package/side-drawer/definition.js +1 -1
  320. package/simple-color-picker/definition.cjs +1 -1
  321. package/simple-color-picker/definition.js +1 -1
  322. package/simple-color-picker/index.cjs +6 -6
  323. package/simple-color-picker/index.js +4 -3
  324. package/split-button/definition.cjs +1 -1
  325. package/split-button/definition.js +1 -1
  326. package/split-button/index.cjs +1 -0
  327. package/split-button/index.js +1 -0
  328. package/status/definition.cjs +1 -1
  329. package/status/definition.js +1 -1
  330. package/switch/definition.cjs +1 -1
  331. package/switch/definition.js +1 -1
  332. package/switch/index.cjs +6 -5
  333. package/switch/index.js +16 -14
  334. package/tab/definition.cjs +1 -1
  335. package/tab/definition.js +1 -1
  336. package/tab-panel/definition.cjs +1 -1
  337. package/tab-panel/definition.js +1 -1
  338. package/table/definition.cjs +1 -1
  339. package/table/definition.js +1 -1
  340. package/table/index.cjs +13 -13
  341. package/table/index.js +4 -3
  342. package/tabs/definition.cjs +1 -1
  343. package/tabs/definition.js +1 -1
  344. package/tag/definition.cjs +1 -1
  345. package/tag/definition.js +1 -1
  346. package/tag/index.cjs +11 -11
  347. package/tag/index.js +4 -3
  348. package/tag-group/definition.cjs +1 -1
  349. package/tag-group/definition.js +1 -1
  350. package/text-area/definition.cjs +1 -1
  351. package/text-area/definition.js +1 -1
  352. package/time-picker/definition.cjs +1 -1
  353. package/time-picker/definition.js +1 -1
  354. package/tree-item/definition.cjs +1 -1
  355. package/tree-item/definition.js +1 -1
  356. package/tree-view/definition.cjs +1 -1
  357. package/tree-view/definition.js +1 -1
  358. package/unbundled/affix.cjs +2 -2
  359. package/unbundled/affix.js +1 -1
  360. package/unbundled/base-progress.cjs +1 -1
  361. package/unbundled/base-progress.js +1 -1
  362. package/unbundled/button.cjs +2 -2
  363. package/unbundled/button.js +2 -2
  364. package/unbundled/definition.cjs +2 -65
  365. package/unbundled/definition.js +4 -61
  366. package/unbundled/definition11.cjs +4 -3
  367. package/unbundled/definition11.js +3 -2
  368. package/unbundled/definition12.cjs +3 -2
  369. package/unbundled/definition12.js +3 -2
  370. package/unbundled/definition13.cjs +1 -1
  371. package/unbundled/definition13.js +1 -1
  372. package/unbundled/definition14.cjs +2 -1
  373. package/unbundled/definition14.js +2 -1
  374. package/unbundled/definition17.cjs +9 -4
  375. package/unbundled/definition17.js +9 -4
  376. package/unbundled/definition2.cjs +14 -3
  377. package/unbundled/definition2.js +15 -4
  378. package/unbundled/definition21.cjs +2 -1
  379. package/unbundled/definition21.js +2 -1
  380. package/unbundled/definition23.cjs +3 -1
  381. package/unbundled/definition23.js +4 -2
  382. package/unbundled/definition24.cjs +6 -4
  383. package/unbundled/definition24.js +6 -4
  384. package/unbundled/definition25.cjs +2 -1
  385. package/unbundled/definition25.js +2 -1
  386. package/unbundled/definition26.cjs +7 -4
  387. package/unbundled/definition26.js +7 -4
  388. package/unbundled/definition27.cjs +39 -5
  389. package/unbundled/definition27.js +40 -6
  390. package/unbundled/definition28.cjs +4 -3
  391. package/unbundled/definition28.js +4 -3
  392. package/unbundled/definition29.cjs +5 -168
  393. package/unbundled/definition29.js +11 -162
  394. package/unbundled/definition30.cjs +26 -506
  395. package/unbundled/definition30.js +24 -498
  396. package/unbundled/definition31.cjs +503 -39
  397. package/unbundled/definition31.js +501 -37
  398. package/unbundled/definition32.cjs +39 -239
  399. package/unbundled/definition32.js +36 -236
  400. package/unbundled/definition33.cjs +236 -74
  401. package/unbundled/definition33.js +233 -71
  402. package/unbundled/definition34.cjs +74 -1968
  403. package/unbundled/definition34.js +70 -1940
  404. package/unbundled/definition35.cjs +1993 -26
  405. package/unbundled/definition35.js +1965 -27
  406. package/unbundled/definition36.cjs +26 -111
  407. package/unbundled/definition36.js +23 -103
  408. package/unbundled/definition37.cjs +53 -294
  409. package/unbundled/definition37.js +50 -291
  410. package/unbundled/definition38.cjs +282 -132
  411. package/unbundled/definition38.js +279 -129
  412. package/unbundled/definition39.cjs +165 -339
  413. package/unbundled/definition39.js +163 -337
  414. package/unbundled/definition40.cjs +395 -227
  415. package/unbundled/definition40.js +393 -225
  416. package/unbundled/definition41.cjs +269 -47
  417. package/unbundled/definition41.js +264 -42
  418. package/unbundled/definition42.cjs +48 -67
  419. package/unbundled/definition42.js +45 -64
  420. package/unbundled/definition43.cjs +56 -383
  421. package/unbundled/definition43.js +55 -382
  422. package/unbundled/definition44.cjs +387 -44
  423. package/unbundled/definition44.js +383 -40
  424. package/unbundled/definition45.cjs +53 -45
  425. package/unbundled/definition45.js +49 -41
  426. package/unbundled/definition46.cjs +40 -164
  427. package/unbundled/definition46.js +36 -160
  428. package/unbundled/definition47.cjs +171 -31
  429. package/unbundled/definition47.js +168 -22
  430. package/unbundled/definition48.cjs +30 -89
  431. package/unbundled/definition48.js +22 -87
  432. package/unbundled/definition49.cjs +589 -48
  433. package/unbundled/definition49.js +587 -47
  434. package/unbundled/definition50.cjs +90 -21
  435. package/unbundled/definition50.js +88 -16
  436. package/unbundled/definition51.cjs +47 -32
  437. package/unbundled/definition51.js +44 -29
  438. package/unbundled/definition52.cjs +22 -323
  439. package/unbundled/definition52.js +16 -320
  440. package/unbundled/definition53.cjs +33 -212
  441. package/unbundled/definition53.js +29 -208
  442. package/unbundled/definition54.cjs +318 -41
  443. package/unbundled/definition54.js +314 -37
  444. package/unbundled/definition55.cjs +199 -253
  445. package/unbundled/definition55.js +193 -247
  446. package/unbundled/definition56.cjs +45 -53
  447. package/unbundled/definition56.js +42 -49
  448. package/unbundled/definition57.cjs +255 -133
  449. package/unbundled/definition57.js +253 -128
  450. package/unbundled/definition58.cjs +49 -245
  451. package/unbundled/definition58.js +47 -244
  452. package/unbundled/definition59.cjs +127 -444
  453. package/unbundled/definition59.js +124 -444
  454. package/unbundled/definition6.cjs +2 -1
  455. package/unbundled/definition6.js +2 -1
  456. package/unbundled/definition60.cjs +230 -3746
  457. package/unbundled/definition60.js +223 -3576
  458. package/unbundled/definition61.cjs +427 -739
  459. package/unbundled/definition61.js +425 -737
  460. package/unbundled/definition62.cjs +3762 -103
  461. package/unbundled/definition62.js +3593 -97
  462. package/unbundled/definition63.cjs +678 -886
  463. package/unbundled/definition63.js +672 -877
  464. package/unbundled/definition64.cjs +104 -108
  465. package/unbundled/definition64.js +100 -104
  466. package/unbundled/definition65.cjs +999 -65
  467. package/unbundled/definition65.js +995 -58
  468. package/unbundled/definition66.cjs +105 -155
  469. package/unbundled/definition66.js +101 -151
  470. package/unbundled/definition67.cjs +71 -121
  471. package/unbundled/definition67.js +63 -119
  472. package/unbundled/definition68.cjs +162 -51
  473. package/unbundled/definition68.js +158 -47
  474. package/unbundled/definition69.cjs +117 -75
  475. package/unbundled/definition69.js +116 -71
  476. package/unbundled/definition70.cjs +59 -21
  477. package/unbundled/definition70.js +56 -15
  478. package/unbundled/definition71.cjs +80 -75
  479. package/unbundled/definition71.js +76 -74
  480. package/unbundled/definition72.cjs +20 -305
  481. package/unbundled/definition72.js +14 -230
  482. package/unbundled/definition73.cjs +75 -315
  483. package/unbundled/definition73.js +74 -307
  484. package/unbundled/definition74.cjs +308 -30
  485. package/unbundled/definition74.js +231 -24
  486. package/unbundled/definition75.cjs +314 -109
  487. package/unbundled/definition75.js +304 -106
  488. package/unbundled/definition76.cjs +26 -250
  489. package/unbundled/definition76.js +21 -246
  490. package/unbundled/definition77.cjs +133 -27
  491. package/unbundled/definition77.js +124 -25
  492. package/unbundled/definition78.cjs +230 -116
  493. package/unbundled/definition78.js +227 -107
  494. package/unbundled/definition79.cjs +28 -203
  495. package/unbundled/definition79.js +26 -193
  496. package/unbundled/definition80.cjs +126 -477
  497. package/unbundled/definition80.js +118 -473
  498. package/unbundled/definition81.cjs +221 -0
  499. package/unbundled/definition81.js +202 -0
  500. package/unbundled/definition82.cjs +517 -0
  501. package/unbundled/definition82.js +497 -0
  502. package/unbundled/extractOptions.cjs +21 -0
  503. package/unbundled/extractOptions.js +16 -0
  504. package/unbundled/icon.cjs +67 -0
  505. package/unbundled/icon.js +61 -0
  506. package/unbundled/linkable.cjs +1 -1
  507. package/unbundled/linkable.js +1 -1
  508. package/unbundled/listbox.cjs +29 -7
  509. package/unbundled/listbox.js +29 -7
  510. package/unbundled/mixins.cjs +2 -1
  511. package/unbundled/mixins.js +2 -1
  512. package/unbundled/optgroup.cjs +66 -0
  513. package/unbundled/optgroup.js +54 -0
  514. package/unbundled/option.cjs +176 -0
  515. package/unbundled/option.js +164 -0
  516. package/unbundled/time-selection-picker.template.cjs +1 -1
  517. package/unbundled/time-selection-picker.template.js +1 -1
  518. package/unbundled/vivid-element.cjs +10 -1
  519. package/unbundled/vivid-element.js +10 -1
  520. package/video-player/definition.cjs +1 -1
  521. package/video-player/definition.js +1 -1
  522. package/vivid.api.json +568 -231
@@ -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 the `action-items` slot will be set at the end of the Header.
16
+ * @slot app-content - Content vertically aligned with the 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 };