@vonage/vivid 5.0.0 → 5.2.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 (673) hide show
  1. package/{shared/definition2.cjs → accordion/definition.cjs} +20 -20
  2. package/{shared/definition2.js → accordion/definition.js} +5 -7
  3. package/accordion/index.cjs +5 -5
  4. package/accordion/index.js +129 -3
  5. package/accordion-item/definition.cjs +145 -0
  6. package/accordion-item/definition.js +139 -0
  7. package/accordion-item/index.cjs +1 -5
  8. package/accordion-item/index.js +2 -3
  9. package/{shared/definition3.cjs → action-group/definition.cjs} +12 -9
  10. package/{shared/definition3.js → action-group/definition.js} +5 -4
  11. package/action-group/index.cjs +6 -5
  12. package/action-group/index.js +49 -3
  13. package/{shared/definition4.cjs → alert/definition.cjs} +33 -31
  14. package/{shared/definition4.js → alert/definition.js} +11 -11
  15. package/alert/index.cjs +30 -5
  16. package/alert/index.js +158 -3
  17. package/{shared/definition5.cjs → audio-player/definition.cjs} +95 -61
  18. package/{shared/definition5.js → audio-player/definition.js} +48 -16
  19. package/audio-player/index.cjs +68 -4
  20. package/audio-player/index.js +333 -2
  21. package/{shared/definition6.cjs → avatar/definition.cjs} +28 -26
  22. package/{shared/definition6.js → avatar/definition.js} +7 -7
  23. package/avatar/index.cjs +18 -5
  24. package/avatar/index.js +93 -3
  25. package/{shared/definition7.cjs → badge/definition.cjs} +18 -16
  26. package/{shared/definition7.js → badge/definition.js} +6 -6
  27. package/badge/index.cjs +4 -5
  28. package/badge/index.js +66 -3
  29. package/{shared/definition8.cjs → banner/definition.cjs} +26 -25
  30. package/{shared/definition8.js → banner/definition.js} +10 -11
  31. package/banner/index.cjs +29 -4
  32. package/banner/index.js +128 -2
  33. package/{shared/definition10.cjs → breadcrumb/definition.cjs} +11 -9
  34. package/{shared/definition10.js → breadcrumb/definition.js} +5 -5
  35. package/breadcrumb/index.cjs +12 -5
  36. package/breadcrumb/index.js +69 -3
  37. package/{shared/definition9.cjs → breadcrumb-item/definition.cjs} +18 -15
  38. package/{shared/definition9.js → breadcrumb-item/definition.js} +7 -7
  39. package/breadcrumb-item/index.cjs +5 -5
  40. package/breadcrumb-item/index.js +33 -3
  41. package/bundled/_has.cjs +1 -0
  42. package/bundled/_has.js +34 -0
  43. package/bundled/affix.cjs +13 -0
  44. package/bundled/affix.js +63 -0
  45. package/bundled/anchored.cjs +4 -0
  46. package/bundled/anchored.js +67 -0
  47. package/bundled/aria.cjs +1 -0
  48. package/bundled/aria.js +7 -0
  49. package/bundled/attribute-binding-behaviour.cjs +1 -0
  50. package/bundled/attribute-binding-behaviour.js +27 -0
  51. package/bundled/base-progress.cjs +1 -0
  52. package/bundled/base-progress.js +57 -0
  53. package/bundled/breadcrumb-item.cjs +1 -0
  54. package/bundled/breadcrumb-item.js +21 -0
  55. package/bundled/button.cjs +1 -0
  56. package/bundled/button.js +106 -0
  57. package/bundled/calendar-event.cjs +1 -0
  58. package/bundled/calendar-event.js +34 -0
  59. package/bundled/calendar-picker.template.cjs +148 -0
  60. package/bundled/calendar-picker.template.js +3371 -0
  61. package/bundled/char-count.cjs +13 -0
  62. package/bundled/char-count.js +54 -0
  63. package/bundled/children.cjs +1 -0
  64. package/bundled/children.js +38 -0
  65. package/bundled/class-names.cjs +1 -0
  66. package/bundled/class-names.js +9 -0
  67. package/bundled/definition.cjs +39 -0
  68. package/bundled/definition.js +122 -0
  69. package/bundled/definition10.cjs +19 -0
  70. package/bundled/definition10.js +73 -0
  71. package/bundled/definition11.cjs +10 -0
  72. package/bundled/definition11.js +44 -0
  73. package/bundled/definition12.cjs +1 -0
  74. package/bundled/definition12.js +20 -0
  75. package/bundled/definition13.cjs +73 -0
  76. package/bundled/definition13.js +359 -0
  77. package/bundled/definition14.cjs +5 -0
  78. package/bundled/definition14.js +29 -0
  79. package/bundled/definition15.cjs +30 -0
  80. package/bundled/definition15.js +80 -0
  81. package/bundled/definition16.cjs +19 -0
  82. package/bundled/definition16.js +103 -0
  83. package/bundled/definition17.cjs +13 -0
  84. package/bundled/definition17.js +137 -0
  85. package/bundled/definition18.cjs +12 -0
  86. package/bundled/definition18.js +94 -0
  87. package/bundled/definition19.cjs +70 -0
  88. package/bundled/definition19.js +674 -0
  89. package/bundled/definition2.cjs +20 -0
  90. package/bundled/definition2.js +180 -0
  91. package/bundled/definition20.cjs +20 -0
  92. package/bundled/definition20.js +106 -0
  93. package/bundled/definition21.cjs +5 -0
  94. package/bundled/definition21.js +19 -0
  95. package/bundled/definition22.cjs +24 -0
  96. package/bundled/definition22.js +151 -0
  97. package/bundled/definition3.cjs +29 -0
  98. package/bundled/definition3.js +195 -0
  99. package/bundled/definition4.cjs +6 -0
  100. package/bundled/definition4.js +42 -0
  101. package/bundled/definition5.cjs +1 -0
  102. package/bundled/definition5.js +345 -0
  103. package/bundled/definition6.cjs +31 -0
  104. package/bundled/definition6.js +268 -0
  105. package/bundled/definition7.cjs +30 -0
  106. package/bundled/definition7.js +288 -0
  107. package/bundled/definition8.cjs +19 -0
  108. package/bundled/definition8.js +145 -0
  109. package/bundled/definition9.cjs +14 -0
  110. package/bundled/definition9.js +1406 -0
  111. package/bundled/delegates-aria.cjs +1 -0
  112. package/bundled/delegates-aria.js +77 -0
  113. package/bundled/divider.cjs +1 -0
  114. package/bundled/divider.js +34 -0
  115. package/bundled/dom.cjs +1 -0
  116. package/bundled/dom.js +6 -0
  117. package/bundled/enums.cjs +1 -0
  118. package/bundled/enums.js +9 -0
  119. package/bundled/form-associated.cjs +1 -0
  120. package/bundled/form-associated.js +320 -0
  121. package/bundled/form-element.cjs +1 -0
  122. package/bundled/form-element.js +56 -0
  123. package/bundled/host-semantics.cjs +1 -0
  124. package/bundled/host-semantics.js +57 -0
  125. package/bundled/index.cjs +1 -0
  126. package/bundled/index.js +6 -0
  127. package/bundled/key-codes.cjs +1 -0
  128. package/bundled/key-codes.js +16 -0
  129. package/bundled/linkable.cjs +15 -0
  130. package/bundled/linkable.js +49 -0
  131. package/bundled/listbox.cjs +1 -0
  132. package/bundled/listbox.js +345 -0
  133. package/bundled/localized.cjs +1 -0
  134. package/bundled/localized.js +460 -0
  135. package/bundled/mixins.cjs +33 -0
  136. package/bundled/mixins.js +226 -0
  137. package/bundled/numbers.cjs +1 -0
  138. package/bundled/numbers.js +14 -0
  139. package/bundled/option.cjs +1 -0
  140. package/bundled/option.js +158 -0
  141. package/bundled/picker-field.template.cjs +67 -0
  142. package/bundled/picker-field.template.js +242 -0
  143. package/bundled/playbackRates.cjs +1 -0
  144. package/bundled/playbackRates.js +11 -0
  145. package/bundled/ref.cjs +1 -0
  146. package/bundled/ref.js +32 -0
  147. package/bundled/repeat.cjs +1 -0
  148. package/bundled/repeat.js +341 -0
  149. package/bundled/scrollIntoView.cjs +1 -0
  150. package/bundled/scrollIntoView.js +33 -0
  151. package/bundled/single-date-picker.cjs +1 -0
  152. package/bundled/single-date-picker.js +39 -0
  153. package/bundled/single-value-picker.cjs +1 -0
  154. package/bundled/single-value-picker.js +87 -0
  155. package/bundled/slider.template.cjs +41 -0
  156. package/bundled/slider.template.js +100 -0
  157. package/bundled/slotted.cjs +1 -0
  158. package/bundled/slotted.js +81 -0
  159. package/bundled/strings.cjs +1 -0
  160. package/bundled/strings.js +7 -0
  161. package/bundled/text-field.cjs +1 -0
  162. package/bundled/text-field.js +4 -0
  163. package/bundled/time-selection-picker.template.cjs +46 -0
  164. package/bundled/time-selection-picker.template.js +575 -0
  165. package/bundled/vivid-element.cjs +1 -0
  166. package/bundled/vivid-element.js +1761 -0
  167. package/bundled/when.cjs +1 -0
  168. package/bundled/when.js +11 -0
  169. package/bundled/with-contextual-help.cjs +1 -0
  170. package/bundled/with-contextual-help.js +32 -0
  171. package/bundled/with-error-text.cjs +1 -0
  172. package/bundled/with-error-text.js +39 -0
  173. package/bundled/with-success-text.cjs +1 -0
  174. package/bundled/with-success-text.js +16 -0
  175. package/button/definition.cjs +14 -0
  176. package/button/definition.js +4 -0
  177. package/button/index.cjs +1 -5
  178. package/button/index.js +2 -3
  179. package/{shared/definition13.cjs → calendar/definition.cjs} +27 -449
  180. package/{shared/definition13.js → calendar/definition.js} +7 -431
  181. package/calendar/index.cjs +53 -5
  182. package/calendar/index.js +431 -3
  183. package/{shared/definition12.cjs → calendar-event/definition.cjs} +12 -9
  184. package/{shared/definition12.js → calendar-event/definition.js} +6 -6
  185. package/calendar-event/index.cjs +9 -5
  186. package/calendar-event/index.js +43 -3
  187. package/card/definition.cjs +186 -0
  188. package/{shared/definition14.js → card/definition.js} +10 -11
  189. package/card/index.cjs +47 -5
  190. package/card/index.js +163 -3
  191. package/{shared/definition15.cjs → checkbox/definition.cjs} +30 -29
  192. package/{shared/definition15.js → checkbox/definition.js} +12 -13
  193. package/checkbox/index.cjs +1 -5
  194. package/checkbox/index.js +2 -3
  195. package/{shared/definition16.cjs → combobox/definition.cjs} +61 -56
  196. package/{shared/definition16.js → combobox/definition.js} +30 -27
  197. package/combobox/index.cjs +69 -5
  198. package/combobox/index.js +519 -3
  199. package/contextual-help/definition.cjs +62 -0
  200. package/contextual-help/definition.js +57 -0
  201. package/contextual-help/index.cjs +1 -0
  202. package/contextual-help/index.js +2 -0
  203. package/custom-elements.json +2504 -335
  204. package/{shared/definition17.cjs → data-grid/definition.cjs} +111 -121
  205. package/{shared/definition17.js → data-grid/definition.js} +11 -23
  206. package/data-grid/index.cjs +81 -5
  207. package/data-grid/index.js +1011 -3
  208. package/{shared/definition18.cjs → date-picker/definition.cjs} +20 -17
  209. package/{shared/definition18.js → date-picker/definition.js} +12 -11
  210. package/date-picker/index.cjs +1 -5
  211. package/date-picker/index.js +115 -3
  212. package/{shared/definition19.cjs → date-range-picker/definition.cjs} +26 -23
  213. package/{shared/definition19.js → date-range-picker/definition.js} +10 -9
  214. package/date-range-picker/index.cjs +1 -5
  215. package/date-range-picker/index.js +335 -3
  216. package/{shared/definition20.cjs → date-time-picker/definition.cjs} +27 -24
  217. package/{shared/definition20.js → date-time-picker/definition.js} +13 -12
  218. package/date-time-picker/index.cjs +8 -5
  219. package/date-time-picker/index.js +216 -3
  220. package/{shared/definition21.cjs → dial-pad/definition.cjs} +89 -40
  221. package/{shared/definition21.js → dial-pad/definition.js} +60 -13
  222. package/dial-pad/index.cjs +57 -5
  223. package/dial-pad/index.js +245 -3
  224. package/{shared/definition22.cjs → dialog/definition.cjs} +48 -47
  225. package/{shared/definition22.js → dialog/definition.js} +10 -11
  226. package/dialog/index.cjs +44 -5
  227. package/dialog/index.js +257 -3
  228. package/{shared/definition23.cjs → divider/definition.cjs} +10 -6
  229. package/{shared/definition23.js → divider/definition.js} +6 -5
  230. package/divider/index.cjs +1 -5
  231. package/divider/index.js +2 -3
  232. package/elevation/definition.cjs +11 -0
  233. package/elevation/definition.js +2 -0
  234. package/elevation/index.cjs +1 -5
  235. package/elevation/index.js +2 -3
  236. package/empty-state/definition.cjs +81 -0
  237. package/empty-state/definition.js +75 -0
  238. package/empty-state/index.cjs +14 -5
  239. package/empty-state/index.js +64 -3
  240. package/fab/definition.cjs +105 -0
  241. package/fab/definition.js +99 -0
  242. package/fab/index.cjs +20 -5
  243. package/fab/index.js +86 -3
  244. package/file-picker/definition.cjs +519 -0
  245. package/file-picker/definition.js +513 -0
  246. package/file-picker/index.cjs +61 -5
  247. package/file-picker/index.js +391 -3
  248. package/{shared/definition27.cjs → header/definition.cjs} +14 -11
  249. package/{shared/definition27.js → header/definition.js} +6 -5
  250. package/header/index.cjs +19 -5
  251. package/header/index.js +57 -3
  252. package/{shared/definition28.cjs → icon/definition.cjs} +25 -149
  253. package/{shared/definition28.js → icon/definition.js} +6 -132
  254. package/icon/index.cjs +1 -5
  255. package/icon/index.js +2 -3
  256. package/index.cjs +268 -264
  257. package/index.js +72 -71
  258. package/{shared/definition29.cjs → layout/definition.cjs} +13 -10
  259. package/{shared/definition29.js → layout/definition.js} +4 -3
  260. package/layout/index.cjs +3 -5
  261. package/layout/index.js +52 -3
  262. package/lib/accordion-item/accordion-item.d.ts +0 -1
  263. package/lib/action-group/action-group.d.ts +0 -1
  264. package/lib/alert/alert.d.ts +0 -2
  265. package/lib/audio-player/audio-player.d.ts +4 -1
  266. package/lib/avatar/avatar.d.ts +0 -1
  267. package/lib/badge/badge.d.ts +0 -1
  268. package/lib/banner/banner.d.ts +0 -3
  269. package/lib/breadcrumb/breadcrumb.d.ts +0 -1
  270. package/lib/breadcrumb-item/breadcrumb-item.d.ts +0 -1
  271. package/lib/button/button.d.ts +1 -3
  272. package/lib/calendar-event/calendar-event.d.ts +0 -1
  273. package/lib/card/card.d.ts +0 -1
  274. package/lib/checkbox/checkbox.d.ts +0 -6
  275. package/lib/combobox/combobox.d.ts +483 -72
  276. package/lib/components.d.ts +1 -0
  277. package/lib/contextual-help/contextual-help.d.ts +5 -0
  278. package/lib/contextual-help/contextual-help.template.d.ts +3 -0
  279. package/lib/contextual-help/definition.d.ts +1 -0
  280. package/lib/data-grid/data-grid-cell.d.ts +0 -2
  281. package/lib/data-grid/data-grid-row.d.ts +0 -1
  282. package/lib/date-picker/date-picker.d.ts +892 -888
  283. package/lib/date-range-picker/date-range-picker.d.ts +590 -588
  284. package/lib/date-time-picker/date-time-picker.d.ts +893 -889
  285. package/lib/dial-pad/dial-pad.d.ts +0 -1
  286. package/lib/dial-pad/dial-pad.template.d.ts +1 -1
  287. package/lib/dial-pad/locale.d.ts +1 -0
  288. package/lib/dialog/dialog.d.ts +0 -2
  289. package/lib/divider/divider.d.ts +0 -1
  290. package/lib/fab/fab.d.ts +1 -1
  291. package/lib/file-picker/accept.d.ts +1 -0
  292. package/lib/file-picker/data-transfer.d.ts +1 -0
  293. package/lib/file-picker/file-picker.d.ts +490 -91
  294. package/lib/header/header.d.ts +0 -1
  295. package/lib/menu/menu.d.ts +1 -2
  296. package/lib/menu-item/menu-item.d.ts +0 -2
  297. package/lib/nav/nav.d.ts +0 -1
  298. package/lib/nav-disclosure/nav-disclosure.d.ts +0 -2
  299. package/lib/nav-item/nav-item.d.ts +0 -2
  300. package/lib/note/note.d.ts +0 -1
  301. package/lib/number-field/number-field.d.ts +505 -96
  302. package/lib/option/option.d.ts +1 -2
  303. package/lib/pagination/pagination.d.ts +0 -1
  304. package/lib/progress/progress.d.ts +0 -1
  305. package/lib/progress-ring/progress-ring.d.ts +0 -1
  306. package/lib/radio/radio.d.ts +0 -3
  307. package/lib/radio-group/radio-group.d.ts +0 -1
  308. package/lib/range-slider/range-slider.d.ts +0 -3
  309. package/lib/rich-text-editor/menubar/menubar.d.ts +0 -1
  310. package/lib/rich-text-editor/rich-text-editor.d.ts +0 -1
  311. package/lib/searchable-select/option-tag.d.ts +0 -1
  312. package/lib/searchable-select/searchable-select.d.ts +505 -96
  313. package/lib/select/select.d.ts +470 -60
  314. package/lib/selectable-box/selectable-box.d.ts +0 -1
  315. package/lib/simple-color-picker/definition.d.ts +4 -0
  316. package/lib/simple-color-picker/locale.d.ts +4 -0
  317. package/lib/simple-color-picker/simple-color-picker.d.ts +1600 -0
  318. package/lib/simple-color-picker/simple-color-picker.template.d.ts +3 -0
  319. package/lib/slider/slider.d.ts +0 -3
  320. package/lib/split-button/split-button.d.ts +2 -3
  321. package/lib/switch/switch.d.ts +0 -2
  322. package/lib/tab/tab.d.ts +0 -3
  323. package/lib/tab-panel/tab-panel.d.ts +0 -1
  324. package/lib/tag/tag.d.ts +0 -3
  325. package/lib/tag-group/tag-group.d.ts +0 -1
  326. package/lib/tag-name-map.d.ts +2 -1
  327. package/lib/text-area/text-area.d.ts +494 -84
  328. package/lib/text-field/text-field.d.ts +505 -96
  329. package/lib/time-picker/time-picker.d.ts +571 -569
  330. package/lib/toggletip/toggletip.d.ts +0 -2
  331. package/lib/tooltip/tooltip.d.ts +0 -1
  332. package/lib/tree-item/tree-item.d.ts +0 -2
  333. package/lib/tree-view/tree-view.d.ts +0 -1
  334. package/lib/video-player/video-player.d.ts +0 -1
  335. package/locales/de-DE.cjs +13 -1
  336. package/locales/de-DE.js +13 -1
  337. package/locales/en-GB.cjs +13 -1
  338. package/locales/en-GB.js +13 -1
  339. package/locales/en-US.cjs +13 -1
  340. package/locales/en-US.js +13 -1
  341. package/locales/ja-JP.cjs +13 -1
  342. package/locales/ja-JP.js +13 -1
  343. package/locales/zh-CN.cjs +13 -1
  344. package/locales/zh-CN.js +13 -1
  345. package/{shared/definition31.cjs → menu/definition.cjs} +46 -42
  346. package/{shared/definition31.js → menu/definition.js} +16 -14
  347. package/menu/index.cjs +1 -5
  348. package/menu/index.js +2 -3
  349. package/menu-item/definition.cjs +14 -0
  350. package/menu-item/definition.js +3 -0
  351. package/menu-item/index.cjs +1 -5
  352. package/menu-item/index.js +2 -3
  353. package/{shared/definition34.cjs → nav/definition.cjs} +7 -4
  354. package/{shared/definition34.js → nav/definition.js} +4 -3
  355. package/nav/index.cjs +5 -5
  356. package/nav/index.js +13 -3
  357. package/nav-disclosure/definition.cjs +122 -0
  358. package/nav-disclosure/definition.js +116 -0
  359. package/nav-disclosure/index.cjs +16 -5
  360. package/nav-disclosure/index.js +96 -3
  361. package/{shared/definition33.cjs → nav-item/definition.cjs} +19 -16
  362. package/{shared/definition33.js → nav-item/definition.js} +9 -8
  363. package/nav-item/index.cjs +2 -5
  364. package/nav-item/index.js +59 -3
  365. package/{shared/definition35.cjs → note/definition.cjs} +15 -13
  366. package/{shared/definition35.js → note/definition.js} +6 -6
  367. package/note/index.cjs +9 -5
  368. package/note/index.js +44 -3
  369. package/{shared/definition36.cjs → number-field/definition.cjs} +66 -60
  370. package/{shared/definition36.js → number-field/definition.js} +31 -27
  371. package/number-field/index.cjs +60 -5
  372. package/number-field/index.js +370 -3
  373. package/option/definition.cjs +84 -0
  374. package/option/definition.js +78 -0
  375. package/option/index.cjs +1 -5
  376. package/option/index.js +2 -3
  377. package/package.json +15 -4
  378. package/{shared/definition38.cjs → pagination/definition.cjs} +31 -33
  379. package/{shared/definition38.js → pagination/definition.js} +7 -11
  380. package/pagination/index.cjs +43 -5
  381. package/pagination/index.js +194 -3
  382. package/popup/definition.cjs +13 -0
  383. package/popup/definition.js +4 -0
  384. package/popup/index.cjs +1 -5
  385. package/popup/index.js +2 -3
  386. package/{shared/definition40.cjs → progress/definition.cjs} +17 -15
  387. package/{shared/definition40.js → progress/definition.js} +6 -6
  388. package/progress/index.cjs +17 -5
  389. package/progress/index.js +69 -3
  390. package/{shared/definition39.cjs → progress-ring/definition.cjs} +17 -15
  391. package/{shared/definition39.js → progress-ring/definition.js} +7 -7
  392. package/progress-ring/index.cjs +1 -5
  393. package/progress-ring/index.js +2 -3
  394. package/{shared/definition42.cjs → radio/definition.cjs} +20 -19
  395. package/{shared/definition42.js → radio/definition.js} +8 -9
  396. package/radio/index.cjs +1 -5
  397. package/radio/index.js +2 -3
  398. package/{shared/definition41.cjs → radio-group/definition.cjs} +31 -30
  399. package/{shared/definition41.js → radio-group/definition.js} +8 -9
  400. package/radio-group/index.cjs +23 -5
  401. package/radio-group/index.js +255 -3
  402. package/{shared/definition43.cjs → range-slider/definition.cjs} +62 -61
  403. package/{shared/definition43.js → range-slider/definition.js} +13 -14
  404. package/range-slider/index.cjs +68 -5
  405. package/range-slider/index.js +456 -3
  406. package/rich-text-editor/definition.cjs +1206 -0
  407. package/rich-text-editor/definition.js +1200 -0
  408. package/rich-text-editor/index.cjs +133 -4
  409. package/rich-text-editor/index.js +10386 -2
  410. package/{shared/definition45.cjs → searchable-select/definition.cjs} +142 -130
  411. package/{shared/definition45.js → searchable-select/definition.js} +51 -41
  412. package/searchable-select/index.cjs +167 -5
  413. package/searchable-select/index.js +1034 -3
  414. package/{shared/definition46.cjs → select/definition.cjs} +92 -87
  415. package/{shared/definition46.js → select/definition.js} +32 -29
  416. package/select/index.cjs +1 -5
  417. package/select/index.js +2 -3
  418. package/{shared/definition47.cjs → selectable-box/definition.cjs} +26 -24
  419. package/{shared/definition47.js → selectable-box/definition.js} +9 -9
  420. package/selectable-box/index.cjs +28 -5
  421. package/selectable-box/index.js +136 -3
  422. package/shared/aria/aria-mixin.d.ts +0 -1
  423. package/shared/aria/delegates-aria.d.ts +0 -1
  424. package/shared/aria/host-semantics.d.ts +0 -1
  425. package/shared/color-picker/index.d.ts +2 -0
  426. package/shared/color-picker/types.d.ts +4 -0
  427. package/shared/color-picker/utils.d.ts +3 -0
  428. package/shared/feedback/feedback-message.d.ts +0 -1
  429. package/shared/feedback/mixins.d.ts +0 -2
  430. package/shared/foundation/button/button.d.ts +0 -2
  431. package/shared/foundation/form-associated/form-associated.d.ts +0 -2
  432. package/shared/foundation/vivid-element/vivid-element.d.ts +0 -1
  433. package/shared/localization/Locale.d.ts +2 -0
  434. package/shared/patterns/affix.d.ts +0 -2
  435. package/shared/patterns/anchored.d.ts +0 -2
  436. package/shared/patterns/char-count/char-count.d.ts +0 -1
  437. package/shared/patterns/form-elements/form-element.d.ts +0 -2
  438. package/shared/patterns/form-elements/index.d.ts +1 -0
  439. package/shared/patterns/form-elements/with-contextual-help.d.ts +1239 -0
  440. package/shared/patterns/form-elements/with-error-text.d.ts +0 -3
  441. package/shared/patterns/form-elements/with-success-text.d.ts +0 -1
  442. package/shared/patterns/linkable.d.ts +0 -1
  443. package/shared/patterns/localized.d.ts +0 -1
  444. package/shared/patterns/trapped-focus.d.ts +0 -1
  445. package/shared/picker-field/mixins/calendar-picker.d.ts +452 -451
  446. package/shared/picker-field/mixins/calendar-picker.template.d.ts +452 -451
  447. package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +0 -1
  448. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +594 -592
  449. package/shared/picker-field/mixins/single-date-picker.d.ts +734 -731
  450. package/shared/picker-field/mixins/single-value-picker.d.ts +449 -448
  451. package/shared/picker-field/mixins/time-selection-picker.d.ts +571 -569
  452. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +571 -569
  453. package/shared/picker-field/picker-field.d.ts +483 -72
  454. package/{shared/definition48.cjs → side-drawer/definition.cjs} +16 -14
  455. package/{shared/definition48.js → side-drawer/definition.js} +5 -5
  456. package/side-drawer/index.cjs +17 -3
  457. package/side-drawer/index.js +100 -2
  458. package/simple-color-picker/definition.cjs +398 -0
  459. package/simple-color-picker/definition.js +392 -0
  460. package/simple-color-picker/index.cjs +31 -0
  461. package/simple-color-picker/index.js +250 -0
  462. package/{shared/definition49.cjs → slider/definition.cjs} +46 -53
  463. package/{shared/definition49.js → slider/definition.js} +11 -20
  464. package/slider/index.cjs +1 -5
  465. package/slider/index.js +2 -3
  466. package/split-button/definition.cjs +176 -0
  467. package/split-button/definition.js +170 -0
  468. package/split-button/index.cjs +26 -5
  469. package/split-button/index.js +149 -3
  470. package/styles/core/all.css +1 -1
  471. package/styles/core/theme.css +1 -1
  472. package/styles/core/typography.css +1 -1
  473. package/styles/tokens/theme-dark.css +4 -4
  474. package/styles/tokens/theme-light.css +4 -4
  475. package/styles/tokens/vivid-2-compat.css +1 -1
  476. package/{shared/definition51.cjs → switch/definition.cjs} +20 -19
  477. package/{shared/definition51.js → switch/definition.js} +8 -9
  478. package/switch/index.cjs +16 -5
  479. package/switch/index.js +102 -3
  480. package/tab/definition.cjs +127 -0
  481. package/tab/definition.js +121 -0
  482. package/tab/index.cjs +1 -5
  483. package/tab/index.js +2 -3
  484. package/{shared/definition52.cjs → tab-panel/definition.cjs} +7 -4
  485. package/{shared/definition52.js → tab-panel/definition.js} +4 -3
  486. package/tab-panel/index.cjs +1 -5
  487. package/tab-panel/index.js +2 -3
  488. package/{shared/definition54.cjs → tabs/definition.cjs} +46 -39
  489. package/{shared/definition54.js → tabs/definition.js} +18 -13
  490. package/tabs/index.cjs +31 -5
  491. package/tabs/index.js +321 -3
  492. package/tag/definition.cjs +156 -0
  493. package/tag/definition.js +150 -0
  494. package/tag/index.cjs +19 -5
  495. package/tag/index.js +118 -3
  496. package/{shared/definition55.cjs → tag-group/definition.cjs} +9 -6
  497. package/{shared/definition55.js → tag-group/definition.js} +5 -4
  498. package/tag-group/index.cjs +8 -5
  499. package/tag-group/index.js +26 -3
  500. package/{shared/definition57.cjs → text-area/definition.cjs} +62 -42
  501. package/{shared/definition57.js → text-area/definition.js} +38 -20
  502. package/text-area/index.cjs +41 -5
  503. package/text-area/index.js +293 -3
  504. package/{shared/definition58.cjs → text-field/definition.cjs} +70 -52
  505. package/{shared/definition58.js → text-field/definition.js} +40 -24
  506. package/text-field/index.cjs +1 -5
  507. package/text-field/index.js +2 -3
  508. package/time-picker/definition.cjs +43 -0
  509. package/{shared/definition59.js → time-picker/definition.js} +9 -8
  510. package/time-picker/index.cjs +1 -5
  511. package/time-picker/index.js +29 -3
  512. package/{shared/definition60.cjs → toggletip/definition.cjs} +20 -18
  513. package/{shared/definition60.js → toggletip/definition.js} +8 -8
  514. package/toggletip/index.cjs +1 -5
  515. package/toggletip/index.js +2 -3
  516. package/{shared/definition61.cjs → tooltip/definition.cjs} +16 -13
  517. package/{shared/definition61.js → tooltip/definition.js} +7 -6
  518. package/tooltip/index.cjs +1 -5
  519. package/tooltip/index.js +2 -3
  520. package/tree-item/definition.cjs +13 -0
  521. package/tree-item/definition.js +3 -0
  522. package/tree-item/index.cjs +1 -5
  523. package/tree-item/index.js +2 -3
  524. package/{shared/definition63.cjs → tree-view/definition.cjs} +41 -42
  525. package/{shared/definition63.js → tree-view/definition.js} +6 -9
  526. package/tree-view/index.cjs +13 -5
  527. package/tree-view/index.js +171 -3
  528. package/{shared → unbundled}/affix.cjs +10 -11
  529. package/{shared → unbundled}/affix.js +2 -3
  530. package/{shared → unbundled}/anchored.cjs +7 -8
  531. package/{shared → unbundled}/anchored.js +1 -2
  532. package/{shared → unbundled}/attribute-binding-behaviour.cjs +3 -3
  533. package/{shared → unbundled}/attribute-binding-behaviour.js +1 -1
  534. package/{shared → unbundled}/base-progress.cjs +6 -5
  535. package/{shared → unbundled}/base-progress.js +2 -1
  536. package/{shared → unbundled}/breadcrumb-item.cjs +3 -2
  537. package/{shared → unbundled}/breadcrumb-item.js +2 -1
  538. package/{shared → unbundled}/button.cjs +10 -9
  539. package/{shared → unbundled}/button.js +2 -1
  540. package/{shared → unbundled}/calendar-event.cjs +8 -7
  541. package/{shared → unbundled}/calendar-event.js +2 -1
  542. package/unbundled/calendar-picker.template.cjs +917 -0
  543. package/unbundled/calendar-picker.template.js +906 -0
  544. package/{shared → unbundled}/char-count.cjs +6 -7
  545. package/{shared → unbundled}/char-count.js +2 -3
  546. package/unbundled/definition.cjs +225 -0
  547. package/unbundled/definition.js +220 -0
  548. package/{shared/definition30.cjs → unbundled/definition2.cjs} +41 -42
  549. package/{shared/definition30.js → unbundled/definition2.js} +6 -7
  550. package/unbundled/definition3.cjs +207 -0
  551. package/{shared/definition62.js → unbundled/definition3.js} +5 -9
  552. package/unbundled/definition4.cjs +298 -0
  553. package/unbundled/definition4.js +293 -0
  554. package/{shared/definition65.cjs → unbundled/definition5.cjs} +7 -6
  555. package/{shared/definition65.js → unbundled/definition5.js} +3 -2
  556. package/{shared → unbundled}/delegates-aria.cjs +4 -3
  557. package/{shared → unbundled}/delegates-aria.js +2 -1
  558. package/{shared → unbundled}/divider.cjs +5 -4
  559. package/{shared → unbundled}/divider.js +3 -2
  560. package/{shared → unbundled}/form-associated.cjs +13 -13
  561. package/{shared → unbundled}/form-associated.js +2 -2
  562. package/{shared → unbundled}/form-element.cjs +3 -3
  563. package/{shared → unbundled}/form-element.js +1 -1
  564. package/{shared → unbundled}/host-semantics.cjs +2 -1
  565. package/{shared → unbundled}/host-semantics.js +2 -1
  566. package/unbundled/key-codes.cjs +10 -0
  567. package/unbundled/key-codes.js +7 -0
  568. package/{shared → unbundled}/linkable.cjs +11 -12
  569. package/{shared → unbundled}/linkable.js +1 -2
  570. package/{shared → unbundled}/listbox.cjs +21 -37
  571. package/{shared → unbundled}/listbox.js +3 -19
  572. package/{shared → unbundled}/localized.cjs +2 -2
  573. package/{shared → unbundled}/localized.js +1 -1
  574. package/{shared → unbundled}/mixins.cjs +27 -83
  575. package/{shared → unbundled}/mixins.js +6 -62
  576. package/{shared → unbundled}/option.cjs +29 -17
  577. package/{shared → unbundled}/option.js +14 -2
  578. package/{shared → unbundled}/picker-field.template.cjs +32 -24
  579. package/{shared → unbundled}/picker-field.template.js +18 -10
  580. package/{shared → unbundled}/slider.template.cjs +15 -19
  581. package/{shared → unbundled}/slider.template.js +3 -7
  582. package/unbundled/text-field.cjs +5 -0
  583. package/unbundled/text-field.js +3 -0
  584. package/{shared → unbundled}/time-selection-picker.template.cjs +28 -30
  585. package/{shared → unbundled}/time-selection-picker.template.js +4 -6
  586. package/unbundled/vivid-element.cjs +283 -0
  587. package/unbundled/vivid-element.js +274 -0
  588. package/unbundled/with-contextual-help.cjs +40 -0
  589. package/unbundled/with-contextual-help.js +38 -0
  590. package/{shared → unbundled}/with-error-text.cjs +2 -2
  591. package/{shared → unbundled}/with-error-text.js +1 -1
  592. package/{shared → unbundled}/with-success-text.cjs +2 -2
  593. package/{shared → unbundled}/with-success-text.js +1 -1
  594. package/video-player/definition.cjs +536 -0
  595. package/video-player/definition.js +530 -0
  596. package/video-player/index.cjs +536 -3
  597. package/video-player/index.js +35912 -2
  598. package/{shared/definition66.cjs → visually-hidden/definition.cjs} +6 -3
  599. package/{shared/definition66.js → visually-hidden/definition.js} +3 -2
  600. package/visually-hidden/index.cjs +1 -5
  601. package/visually-hidden/index.js +2 -3
  602. package/vivid.api.json +722 -799
  603. package/shared/_has.cjs +0 -58
  604. package/shared/_has.js +0 -54
  605. package/shared/aria.cjs +0 -11
  606. package/shared/aria.js +0 -9
  607. package/shared/calendar-picker.template.cjs +0 -6377
  608. package/shared/calendar-picker.template.js +0 -6366
  609. package/shared/children.cjs +0 -61
  610. package/shared/children.js +0 -59
  611. package/shared/class-names.cjs +0 -17
  612. package/shared/class-names.js +0 -15
  613. package/shared/definition.cjs +0 -145
  614. package/shared/definition.js +0 -141
  615. package/shared/definition11.cjs +0 -220
  616. package/shared/definition11.js +0 -215
  617. package/shared/definition14.cjs +0 -185
  618. package/shared/definition24.cjs +0 -80
  619. package/shared/definition24.js +0 -76
  620. package/shared/definition25.cjs +0 -90
  621. package/shared/definition25.js +0 -86
  622. package/shared/definition26.cjs +0 -2549
  623. package/shared/definition26.js +0 -2545
  624. package/shared/definition32.cjs +0 -120
  625. package/shared/definition32.js +0 -116
  626. package/shared/definition37.cjs +0 -71
  627. package/shared/definition37.js +0 -68
  628. package/shared/definition44.cjs +0 -14666
  629. package/shared/definition44.js +0 -14662
  630. package/shared/definition50.cjs +0 -148
  631. package/shared/definition50.js +0 -144
  632. package/shared/definition53.cjs +0 -124
  633. package/shared/definition53.js +0 -120
  634. package/shared/definition56.cjs +0 -154
  635. package/shared/definition56.js +0 -150
  636. package/shared/definition59.cjs +0 -39
  637. package/shared/definition62.cjs +0 -211
  638. package/shared/definition64.cjs +0 -69579
  639. package/shared/definition64.js +0 -69575
  640. package/shared/definition67.cjs +0 -2227
  641. package/shared/definition67.js +0 -2222
  642. package/shared/dom.cjs +0 -10
  643. package/shared/dom.js +0 -8
  644. package/shared/key-codes.cjs +0 -32
  645. package/shared/key-codes.js +0 -18
  646. package/shared/numbers.cjs +0 -38
  647. package/shared/numbers.js +0 -34
  648. package/shared/ref.cjs +0 -43
  649. package/shared/ref.js +0 -41
  650. package/shared/repeat.cjs +0 -767
  651. package/shared/repeat.js +0 -764
  652. package/shared/slotted.cjs +0 -123
  653. package/shared/slotted.js +0 -119
  654. package/shared/strings.cjs +0 -11
  655. package/shared/strings.js +0 -9
  656. package/shared/text-field.cjs +0 -5
  657. package/shared/text-field.js +0 -3
  658. package/shared/vivid-element.cjs +0 -2822
  659. package/shared/vivid-element.js +0 -2799
  660. package/shared/when.cjs +0 -31
  661. package/shared/when.js +0 -29
  662. /package/{shared → unbundled}/enums.cjs +0 -0
  663. /package/{shared → unbundled}/enums.js +0 -0
  664. /package/{shared → unbundled}/index.cjs +0 -0
  665. /package/{shared → unbundled}/index.js +0 -0
  666. /package/{shared → unbundled}/playbackRates.cjs +0 -0
  667. /package/{shared → unbundled}/playbackRates.js +0 -0
  668. /package/{shared → unbundled}/scrollIntoView.cjs +0 -0
  669. /package/{shared → unbundled}/scrollIntoView.js +0 -0
  670. /package/{shared → unbundled}/single-date-picker.cjs +0 -0
  671. /package/{shared → unbundled}/single-date-picker.js +0 -0
  672. /package/{shared → unbundled}/single-value-picker.cjs +0 -0
  673. /package/{shared → unbundled}/single-value-picker.js +0 -0
@@ -1,16 +1,17 @@
1
1
  'use strict';
2
2
 
3
- const definition$1 = require('./definition11.cjs');
4
- const definition$3 = require('./definition49.cjs');
5
- const definition = require('./definition31.cjs');
6
- const vividElement = require('./vivid-element.cjs');
7
- const definition$2 = require('./definition30.cjs');
8
- const enums = require('./enums.cjs');
9
- const localized = require('./localized.cjs');
10
- const playbackRates = require('./playbackRates.cjs');
11
- const repeat = require('./repeat.cjs');
12
- const classNames = require('./class-names.cjs');
13
- const when = require('./when.cjs');
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const button_definition = require('../unbundled/definition.cjs');
6
+ const slider_definition = require('../slider/definition.cjs');
7
+ const menu_definition = require('../menu/definition.cjs');
8
+ const vividElement = require('../unbundled/vivid-element.cjs');
9
+ const menuItem_definition = require('../unbundled/definition2.cjs');
10
+ const fastElement = require('@microsoft/fast-element');
11
+ const enums = require('../unbundled/enums.cjs');
12
+ const localized = require('../unbundled/localized.cjs');
13
+ const fastWebUtilities = require('@microsoft/fast-web-utilities');
14
+ const playbackRates = require('../unbundled/playbackRates.cjs');
14
15
 
15
16
  const styles = ":host{display:block}.wrapper{container-type:inline-size}.base{display:inline-flex;box-sizing:border-box;align-items:center;padding:8px;color:var(--vvd-color-canvas-text);gap:8px;inline-size:100%;user-select:none}.base.disabled{color:var(--vvd-color-neutral-300)}.base .slider{flex:1;grid-area:slider}.base .controls{display:flex;align-items:center;justify-content:center;gap:8px;grid-area:controls}.base .time-stamp{display:inline-flex}.base .time-stamp .current-time,.base .time-stamp .total-time{margin-inline:6px;min-inline-size:32px}.base .playback-button{grid-area:playback}@container (max-width: 500px){.base.two-lines{display:inline-grid;grid-template:auto auto/1fr;grid-template-areas:\"slider\" \"controls\";inline-size:100%;row-gap:4px}.base.two-lines .time-stamp{margin-inline:auto 2px}.base.two-lines.playback{grid-template-areas:\"slider slider\" \"controls playback\";grid-template-columns:1fr auto}.base.two-lines.playback .time-stamp{margin-inline:auto}.base .slider{box-sizing:border-box;min-inline-size:auto;padding-inline:2px}}";
16
17
 
@@ -73,7 +74,7 @@ class AudioPlayer extends localized.Localized(vividElement.VividElement) {
73
74
  this.#setPausedState();
74
75
  };
75
76
  this.#updateProgress = () => {
76
- vividElement.Observable.notify(this, "currentTime");
77
+ fastElement.Observable.notify(this, "currentTime");
77
78
  const duration = this.duration;
78
79
  const currentTime = this.currentTime;
79
80
  const isValid = Number.isFinite(duration) && duration > 0 && Number.isFinite(currentTime) && currentTime >= 0;
@@ -88,7 +89,7 @@ class AudioPlayer extends localized.Localized(vividElement.VividElement) {
88
89
  }
89
90
  };
90
91
  this.#updateTotalTime = () => {
91
- vividElement.Observable.notify(this, "duration");
92
+ fastElement.Observable.notify(this, "duration");
92
93
  if (!Number.isFinite(this.#playerEl.duration) || this.#playerEl.duration <= 0) {
93
94
  if (this.durationFallback) {
94
95
  this.#fetchAndCacheAudioBuffer();
@@ -113,31 +114,59 @@ class AudioPlayer extends localized.Localized(vividElement.VividElement) {
113
114
  }
114
115
  };
115
116
  this.#setPausedState = () => {
116
- vividElement.Observable.notify(this, "paused");
117
+ fastElement.Observable.notify(this, "paused");
117
118
  };
118
119
  }
119
120
  srcChanged() {
120
121
  if (this.src === void 0) {
121
- this.#playerEl.removeAttribute("src");
122
+ this.setSrc("");
122
123
  } else {
123
- this.#playerEl.src = this.src;
124
+ this.setSrc(this.src);
125
+ }
126
+ }
127
+ revokeSrc() {
128
+ const src = this.getCurrentSrc();
129
+ if (src && src.startsWith("blob:")) {
130
+ URL.revokeObjectURL(src);
124
131
  }
132
+ }
133
+ getCurrentSrc() {
134
+ return this.#playerEl.currentSrc || this.#playerEl.src || "";
135
+ }
136
+ canPlayType(type) {
137
+ return this.#playerEl.canPlayType(type) !== "";
138
+ }
139
+ setSrc(url, blob) {
140
+ const prevSrc = this.getCurrentSrc();
141
+ this.revokeSrc();
125
142
  this.#audioBuffer = void 0;
126
143
  if (this.#fetchAbortController) {
127
144
  this.#fetchAbortController.abort();
145
+ this.#fetchAbortController = void 0;
146
+ }
147
+ const newSrc = blob && (this.canPlayType(blob.type) || !url) ? URL.createObjectURL(blob) : url;
148
+ if (prevSrc) {
149
+ this.#playerEl.removeAttribute("src");
150
+ }
151
+ if (newSrc || url) {
152
+ try {
153
+ this.#playerEl.src = newSrc;
154
+ } catch (error) {
155
+ console.log("Falling back to original URL due to error:", error);
156
+ this.#playerEl.src = url;
157
+ }
128
158
  }
129
- this.#fetchAbortController = void 0;
130
159
  }
131
160
  get playbackRate() {
132
- vividElement.Observable.track(this, "playbackRate");
161
+ fastElement.Observable.track(this, "playbackRate");
133
162
  return this.#playerEl.playbackRate;
134
163
  }
135
164
  set playbackRate(value) {
136
165
  this.#playerEl.playbackRate = value;
137
- vividElement.Observable.notify(this, "playbackRate");
166
+ fastElement.Observable.notify(this, "playbackRate");
138
167
  }
139
168
  get paused() {
140
- vividElement.Observable.track(this, "paused");
169
+ fastElement.Observable.track(this, "paused");
141
170
  return this.#playerEl.paused;
142
171
  }
143
172
  set paused(_) {
@@ -150,19 +179,24 @@ class AudioPlayer extends localized.Localized(vividElement.VividElement) {
150
179
  const signal = this.#fetchAbortController.signal;
151
180
  try {
152
181
  const response = await fetch(this.src, { signal });
153
- const arrayBuffer = await response.arrayBuffer();
182
+ const blob = await response.blob();
183
+ this.setSrc(this.src, blob);
184
+ const arrayBuffer = await blob.arrayBuffer();
154
185
  const audioContext = new window.AudioContext();
155
186
  const audioBuffer = await audioContext.decodeAudioData(arrayBuffer);
156
187
  audioContext.close();
157
188
  this.#audioBuffer = audioBuffer;
158
- vividElement.Observable.notify(this, "duration");
189
+ fastElement.Observable.notify(this, "duration");
159
190
  } catch (e) {
191
+ if (e instanceof Error && e.name !== "AbortError") {
192
+ console.error("Error loading audio:", e);
193
+ }
160
194
  } finally {
161
195
  this.#fetchAbortController = void 0;
162
196
  }
163
197
  }
164
198
  get duration() {
165
- vividElement.Observable.track(this, "duration");
199
+ fastElement.Observable.track(this, "duration");
166
200
  const duration = this.#playerEl.duration;
167
201
  if (Number.isFinite(duration) && duration > 0) {
168
202
  return duration;
@@ -175,7 +209,7 @@ class AudioPlayer extends localized.Localized(vividElement.VividElement) {
175
209
  set duration(_) {
176
210
  }
177
211
  get currentTime() {
178
- vividElement.Observable.track(this, "currentTime");
212
+ fastElement.Observable.track(this, "currentTime");
179
213
  return this.#playerEl.currentTime;
180
214
  }
181
215
  set currentTime(value) {
@@ -236,43 +270,43 @@ class AudioPlayer extends localized.Localized(vividElement.VividElement) {
236
270
  }
237
271
  }
238
272
  __decorateClass([
239
- vividElement.attr({ attribute: "play-button-aria-label" })
273
+ fastElement.attr({ attribute: "play-button-aria-label" })
240
274
  ], AudioPlayer.prototype, "playButtonAriaLabel");
241
275
  __decorateClass([
242
- vividElement.attr({ attribute: "pause-button-aria-label" })
276
+ fastElement.attr({ attribute: "pause-button-aria-label" })
243
277
  ], AudioPlayer.prototype, "pauseButtonAriaLabel");
244
278
  __decorateClass([
245
- vividElement.attr({ attribute: "slider-aria-label" })
279
+ fastElement.attr({ attribute: "slider-aria-label" })
246
280
  ], AudioPlayer.prototype, "sliderAriaLabel");
247
281
  __decorateClass([
248
- vividElement.attr({ attribute: "skip-forward-aria-label" })
282
+ fastElement.attr({ attribute: "skip-forward-aria-label" })
249
283
  ], AudioPlayer.prototype, "skipForwardButtonAriaLabel");
250
284
  __decorateClass([
251
- vividElement.attr({ attribute: "skip-backward-aria-label" })
285
+ fastElement.attr({ attribute: "skip-backward-aria-label" })
252
286
  ], AudioPlayer.prototype, "skipBackwardButtonAriaLabel");
253
287
  __decorateClass([
254
- vividElement.attr
288
+ fastElement.attr
255
289
  ], AudioPlayer.prototype, "connotation");
256
290
  __decorateClass([
257
- vividElement.attr
291
+ fastElement.attr
258
292
  ], AudioPlayer.prototype, "src");
259
293
  __decorateClass([
260
- vividElement.attr({ mode: "boolean" })
294
+ fastElement.attr({ mode: "boolean" })
261
295
  ], AudioPlayer.prototype, "disabled");
262
296
  __decorateClass([
263
- vividElement.attr({ mode: "boolean" })
297
+ fastElement.attr({ mode: "boolean" })
264
298
  ], AudioPlayer.prototype, "notime");
265
299
  __decorateClass([
266
- vividElement.attr({
300
+ fastElement.attr({
267
301
  attribute: "skip-by",
268
302
  converter: validSkipByConverter
269
303
  })
270
304
  ], AudioPlayer.prototype, "skipBy");
271
305
  __decorateClass([
272
- vividElement.attr({ attribute: "playback-rates" })
306
+ fastElement.attr({ attribute: "playback-rates" })
273
307
  ], AudioPlayer.prototype, "playbackRates");
274
308
  __decorateClass([
275
- vividElement.attr({ mode: "boolean", attribute: "duration-fallback" })
309
+ fastElement.attr({ mode: "boolean", attribute: "duration-fallback" })
276
310
  ], AudioPlayer.prototype, "durationFallback");
277
311
 
278
312
  const getClasses = ({
@@ -281,7 +315,7 @@ const getClasses = ({
281
315
  duration,
282
316
  skipBy,
283
317
  playbackRates
284
- }) => classNames.classNames(
318
+ }) => fastWebUtilities.classNames(
285
319
  ["disabled", Boolean(disabled) || !duration],
286
320
  [
287
321
  "two-lines",
@@ -293,8 +327,8 @@ const isMenuItemChekced = (playbackRate, { parent }) => {
293
327
  return playbackRate === parent.playbackRate;
294
328
  };
295
329
  function renderButton(context) {
296
- const buttonTag = context.tagFor(definition$1.Button);
297
- return vividElement.html`<${buttonTag} class="pause" @click="${(x) => x.paused ? x.play() : x.pause()}"
330
+ const buttonTag = context.tagFor(button_definition.Button);
331
+ return fastElement.html`<${buttonTag} class="pause" @click="${(x) => x.paused ? x.play() : x.pause()}"
298
332
  icon="${(x) => x.paused ? "play-solid" : "pause-solid"}"
299
333
  aria-label="${(x) => x.paused ? x.playButtonAriaLabel || x.locale.audioPlayer.playButtonLabel : x.pauseButtonAriaLabel || x.locale.audioPlayer.pauseButtonLabel}"
300
334
  size='condensed'
@@ -303,8 +337,8 @@ function renderButton(context) {
303
337
  ></${buttonTag}>`;
304
338
  }
305
339
  function renderBackwardSkipButtons(context) {
306
- const buttonTag = context.tagFor(definition$1.Button);
307
- return vividElement.html`
340
+ const buttonTag = context.tagFor(button_definition.Button);
341
+ return fastElement.html`
308
342
  <${buttonTag} class="skip backward"
309
343
  @click="${(element) => element.skip(SKIP_DIRECTIONS.BACKWARD)}"
310
344
  icon="${(x) => x.skipBy == enums.MediaSkipBy.Five ? "5-sec-backward-line" : x.skipBy == enums.MediaSkipBy.Thirty ? "30-sec-backward-line" : "10-sec-backward-line"}"
@@ -316,8 +350,8 @@ function renderBackwardSkipButtons(context) {
316
350
  `;
317
351
  }
318
352
  function renderForwardSkipButtons(context) {
319
- const buttonTag = context.tagFor(definition$1.Button);
320
- return vividElement.html`
353
+ const buttonTag = context.tagFor(button_definition.Button);
354
+ return fastElement.html`
321
355
  <${buttonTag} class="skip forward"
322
356
  @click="${(element) => element.skip(SKIP_DIRECTIONS.FORWARD)}"
323
357
  icon="${(x) => x.skipBy == enums.MediaSkipBy.Five ? "5-sec-forward-line" : x.skipBy == enums.MediaSkipBy.Thirty ? "30-sec-forward-line" : "10-sec-forward-line"}"
@@ -329,8 +363,8 @@ function renderForwardSkipButtons(context) {
329
363
  `;
330
364
  }
331
365
  function renderSlider(context) {
332
- const sliderTag = context.tagFor(definition$3.Slider);
333
- return vividElement.html`
366
+ const sliderTag = context.tagFor(slider_definition.VwcSliderElement);
367
+ return fastElement.html`
334
368
  <${sliderTag}
335
369
  class="slider"
336
370
  aria-label="${(x) => x.sliderAriaLabel || x.locale.audioPlayer.sliderLabel}"
@@ -342,11 +376,11 @@ function renderSlider(context) {
342
376
  </${sliderTag}>`;
343
377
  }
344
378
  function renderTimestamp() {
345
- return vividElement.html` <div class="time-stamp">
379
+ return fastElement.html` <div class="time-stamp">
346
380
  <span class="current-time">${(x) => formatTime(x.currentTime)}</span>
347
- ${when.when(
381
+ ${fastElement.when(
348
382
  (x) => x.duration && x.duration !== Infinity,
349
- vividElement.html`
383
+ fastElement.html`
350
384
  <span>/</span>
351
385
  <span class="total-time">${(x) => formatTime(x.duration)}</span>
352
386
  `
@@ -358,27 +392,27 @@ function handlePlaybackRateClick(playbackRate, context) {
358
392
  return true;
359
393
  }
360
394
  const AudioPlayerTemplate = (context) => {
361
- const menuTag = context.tagFor(definition.Menu);
362
- const buttonTag = context.tagFor(definition$1.Button);
363
- const menuItemTag = context.tagFor(definition$2.MenuItem);
364
- return vividElement.html` <div class="wrapper">
395
+ const menuTag = context.tagFor(menu_definition.VwcMenuElement);
396
+ const buttonTag = context.tagFor(button_definition.Button);
397
+ const menuItemTag = context.tagFor(menuItem_definition.MenuItem);
398
+ return fastElement.html` <div class="wrapper">
365
399
  <div class="base ${getClasses}">
366
400
  <div class="controls">
367
- ${when.when(
401
+ ${fastElement.when(
368
402
  (x) => x.skipBy && x.skipBy != enums.MediaSkipBy.Zero,
369
403
  renderBackwardSkipButtons(context)
370
404
  )}
371
405
  ${renderButton(context)}
372
- ${when.when(
406
+ ${fastElement.when(
373
407
  (x) => x.skipBy && x.skipBy != enums.MediaSkipBy.Zero,
374
408
  renderForwardSkipButtons(context)
375
409
  )}
376
- ${when.when((x) => !x.notime, renderTimestamp())}
410
+ ${fastElement.when((x) => !x.notime, renderTimestamp())}
377
411
  </div>
378
412
  ${renderSlider(context)}
379
- ${when.when(
413
+ ${fastElement.when(
380
414
  (x) => Boolean(x.playbackRates),
381
- vividElement.html`
415
+ fastElement.html`
382
416
  <${menuTag} class="playback-rates" placement="top-start" auto-dismiss id="playback-menu" position-strategy="absolute">
383
417
  <${buttonTag} id="playback-open-button"
384
418
  class="playback-button"
@@ -390,9 +424,9 @@ const AudioPlayerTemplate = (context) => {
390
424
  ?disabled="${(x) => x.disabled || !x.duration}"
391
425
  ></${buttonTag}>
392
426
 
393
- ${repeat.repeat(
427
+ ${fastElement.repeat(
394
428
  (x) => playbackRates.getPlaybackRatesArray(x.playbackRates),
395
- vividElement.html`<${menuItemTag} @click="${handlePlaybackRateClick}"
429
+ fastElement.html`<${menuItemTag} @click="${handlePlaybackRateClick}"
396
430
  control-type="radio"
397
431
  class="playback-rate"
398
432
  text="${(x) => x}"
@@ -409,7 +443,7 @@ const audioPlayerDefinition = vividElement.defineVividComponent(
409
443
  "audio-player",
410
444
  AudioPlayer,
411
445
  AudioPlayerTemplate,
412
- [definition$1.buttonDefinition, definition$3.sliderDefinition, definition.menuDefinition, definition$2.menuItemDefinition],
446
+ [button_definition.buttonDefinition, slider_definition.sliderDefinition, menu_definition.menuDefinition, menuItem_definition.menuItemDefinition],
413
447
  {
414
448
  styles
415
449
  }
@@ -418,6 +452,6 @@ const registerAudioPlayer = vividElement.createRegisterFunction(
418
452
  audioPlayerDefinition
419
453
  );
420
454
 
421
- exports.AudioPlayer = AudioPlayer;
455
+ exports.VwcAudioPlayerElement = AudioPlayer;
422
456
  exports.audioPlayerDefinition = audioPlayerDefinition;
423
457
  exports.registerAudioPlayer = registerAudioPlayer;
@@ -1,14 +1,13 @@
1
- import { B as Button, b as buttonDefinition } from './definition11.js';
2
- import { S as Slider, s as sliderDefinition } from './definition49.js';
3
- import { M as Menu, m as menuDefinition } from './definition31.js';
4
- import { O as Observable, V as VividElement, a as attr, h as html, d as createRegisterFunction, f as defineVividComponent } from './vivid-element.js';
5
- import { M as MenuItem, m as menuItemDefinition } from './definition30.js';
6
- import { M as MediaSkipBy } from './enums.js';
7
- import { L as Localized } from './localized.js';
8
- import { g as getPlaybackRatesArray } from './playbackRates.js';
9
- import { r as repeat } from './repeat.js';
10
- import { c as classNames } from './class-names.js';
11
- import { w as when } from './when.js';
1
+ import { B as Button, b as buttonDefinition } from '../unbundled/definition.js';
2
+ import { VwcSliderElement as Slider, sliderDefinition } from '../slider/definition.js';
3
+ import { VwcMenuElement as Menu, menuDefinition } from '../menu/definition.js';
4
+ import { V as VividElement, d as defineVividComponent, c as createRegisterFunction } from '../unbundled/vivid-element.js';
5
+ import { M as MenuItem, m as menuItemDefinition } from '../unbundled/definition2.js';
6
+ import { Observable, attr, when, repeat, html } from '@microsoft/fast-element';
7
+ import { M as MediaSkipBy } from '../unbundled/enums.js';
8
+ import { L as Localized } from '../unbundled/localized.js';
9
+ import { classNames } from '@microsoft/fast-web-utilities';
10
+ import { g as getPlaybackRatesArray } from '../unbundled/playbackRates.js';
12
11
 
13
12
  const styles = ":host{display:block}.wrapper{container-type:inline-size}.base{display:inline-flex;box-sizing:border-box;align-items:center;padding:8px;color:var(--vvd-color-canvas-text);gap:8px;inline-size:100%;user-select:none}.base.disabled{color:var(--vvd-color-neutral-300)}.base .slider{flex:1;grid-area:slider}.base .controls{display:flex;align-items:center;justify-content:center;gap:8px;grid-area:controls}.base .time-stamp{display:inline-flex}.base .time-stamp .current-time,.base .time-stamp .total-time{margin-inline:6px;min-inline-size:32px}.base .playback-button{grid-area:playback}@container (max-width: 500px){.base.two-lines{display:inline-grid;grid-template:auto auto/1fr;grid-template-areas:\"slider\" \"controls\";inline-size:100%;row-gap:4px}.base.two-lines .time-stamp{margin-inline:auto 2px}.base.two-lines.playback{grid-template-areas:\"slider slider\" \"controls playback\";grid-template-columns:1fr auto}.base.two-lines.playback .time-stamp{margin-inline:auto}.base .slider{box-sizing:border-box;min-inline-size:auto;padding-inline:2px}}";
14
13
 
@@ -116,15 +115,43 @@ class AudioPlayer extends Localized(VividElement) {
116
115
  }
117
116
  srcChanged() {
118
117
  if (this.src === void 0) {
119
- this.#playerEl.removeAttribute("src");
118
+ this.setSrc("");
120
119
  } else {
121
- this.#playerEl.src = this.src;
120
+ this.setSrc(this.src);
121
+ }
122
+ }
123
+ revokeSrc() {
124
+ const src = this.getCurrentSrc();
125
+ if (src && src.startsWith("blob:")) {
126
+ URL.revokeObjectURL(src);
122
127
  }
128
+ }
129
+ getCurrentSrc() {
130
+ return this.#playerEl.currentSrc || this.#playerEl.src || "";
131
+ }
132
+ canPlayType(type) {
133
+ return this.#playerEl.canPlayType(type) !== "";
134
+ }
135
+ setSrc(url, blob) {
136
+ const prevSrc = this.getCurrentSrc();
137
+ this.revokeSrc();
123
138
  this.#audioBuffer = void 0;
124
139
  if (this.#fetchAbortController) {
125
140
  this.#fetchAbortController.abort();
141
+ this.#fetchAbortController = void 0;
142
+ }
143
+ const newSrc = blob && (this.canPlayType(blob.type) || !url) ? URL.createObjectURL(blob) : url;
144
+ if (prevSrc) {
145
+ this.#playerEl.removeAttribute("src");
146
+ }
147
+ if (newSrc || url) {
148
+ try {
149
+ this.#playerEl.src = newSrc;
150
+ } catch (error) {
151
+ console.log("Falling back to original URL due to error:", error);
152
+ this.#playerEl.src = url;
153
+ }
126
154
  }
127
- this.#fetchAbortController = void 0;
128
155
  }
129
156
  get playbackRate() {
130
157
  Observable.track(this, "playbackRate");
@@ -148,13 +175,18 @@ class AudioPlayer extends Localized(VividElement) {
148
175
  const signal = this.#fetchAbortController.signal;
149
176
  try {
150
177
  const response = await fetch(this.src, { signal });
151
- const arrayBuffer = await response.arrayBuffer();
178
+ const blob = await response.blob();
179
+ this.setSrc(this.src, blob);
180
+ const arrayBuffer = await blob.arrayBuffer();
152
181
  const audioContext = new window.AudioContext();
153
182
  const audioBuffer = await audioContext.decodeAudioData(arrayBuffer);
154
183
  audioContext.close();
155
184
  this.#audioBuffer = audioBuffer;
156
185
  Observable.notify(this, "duration");
157
186
  } catch (e) {
187
+ if (e instanceof Error && e.name !== "AbortError") {
188
+ console.error("Error loading audio:", e);
189
+ }
158
190
  } finally {
159
191
  this.#fetchAbortController = void 0;
160
192
  }
@@ -416,4 +448,4 @@ const registerAudioPlayer = createRegisterFunction(
416
448
  audioPlayerDefinition
417
449
  );
418
450
 
419
- export { AudioPlayer as A, audioPlayerDefinition as a, registerAudioPlayer as r };
451
+ export { AudioPlayer as VwcAudioPlayerElement, audioPlayerDefinition, registerAudioPlayer };
@@ -1,5 +1,69 @@
1
- 'use strict';
1
+ "use strict";const u=require("../bundled/definition3.cjs"),h=require("../bundled/definition5.cjs"),y=require("../bundled/definition6.cjs"),r=require("../bundled/vivid-element.cjs"),m=require("../bundled/definition7.cjs"),c=require("../bundled/enums.cjs"),f=require("../bundled/localized.cjs"),g=require("../bundled/playbackRates.cjs"),v=require("../bundled/repeat.cjs"),B=require("../bundled/class-names.cjs"),d=require("../bundled/when.cjs"),$=':host{display:block}.wrapper{container-type:inline-size}.base{display:inline-flex;box-sizing:border-box;align-items:center;padding:8px;color:var(--vvd-color-canvas-text);gap:8px;inline-size:100%;user-select:none}.base.disabled{color:var(--vvd-color-neutral-300)}.base .slider{flex:1;grid-area:slider}.base .controls{display:flex;align-items:center;justify-content:center;gap:8px;grid-area:controls}.base .time-stamp{display:inline-flex}.base .time-stamp .current-time,.base .time-stamp .total-time{margin-inline:6px;min-inline-size:32px}.base .playback-button{grid-area:playback}@container (max-width: 500px){.base.two-lines{display:inline-grid;grid-template:auto auto/1fr;grid-template-areas:"slider" "controls";inline-size:100%;row-gap:4px}.base.two-lines .time-stamp{margin-inline:auto 2px}.base.two-lines.playback{grid-template-areas:"slider slider" "controls playback";grid-template-columns:1fr auto}.base.two-lines.playback .time-stamp{margin-inline:auto}.base .slider{box-sizing:border-box;min-inline-size:auto;padding-inline:2px}}';var w=Object.defineProperty,o=(i,e,t,s)=>{for(var a=void 0,l=i.length-1,p;l>=0;l--)(p=i[l])&&(a=p(e,t,a)||a);return a&&w(e,t,a),a};const k={FORWARD:1,BACKWARD:-1};function b(i){if(!i||Number.isNaN(i))return"0:00";const e=Math.floor(i/60),t=Math.floor(i%60);return e+":"+(t<10?"0"+t:t)}const A=!0,L=!1,T={toView(i){return i},fromView(i){return Object.values(c.MediaSkipBy).includes(i)?i:void 0}};class n extends f.Localized(r.VividElement){constructor(){super(),this.playButtonAriaLabel=null,this.pauseButtonAriaLabel=null,this.sliderAriaLabel=null,this.skipForwardButtonAriaLabel=null,this.skipBackwardButtonAriaLabel=null,this.disabled=!1,this.notime=!1,this.playbackRates=null,this.#t=new Audio,this.#n=!1,this.durationFallback=!1,this.#l=e=>{if(e===this.paused){this.#o();return}this.paused?(this.#r(),this.#t.play()):this.#t.pause(),this.#o()},this.#r=()=>{r.Observable.notify(this,"currentTime");const e=this.duration,t=this.currentTime,s=Number.isFinite(e)&&e>0&&Number.isFinite(t)&&t>=0,a=s?t/e*100:0;this.#e&&(this.#n=!0,this.#e.value=a.toString(),this.#n=!1),s&&a===100&&this.pause()},this.#s=()=>{r.Observable.notify(this,"duration"),(!Number.isFinite(this.#t.duration)||this.#t.duration<=0)&&this.durationFallback&&this.#p()},this.#u=()=>{!this.paused&&this.#e.isDragging&&(this.pause(),this.#d=window.setInterval(()=>{this.#e.isDragging||(clearInterval(this.#d),this.play())},0)),!this.#n&&this.#t&&(this.currentTime=this.duration*Number(this.#e.value)/100)},this.#o=()=>{r.Observable.notify(this,"paused")}}srcChanged(){this.src===void 0?this.setSrc(""):this.setSrc(this.src)}revokeSrc(){const e=this.getCurrentSrc();e&&e.startsWith("blob:")&&URL.revokeObjectURL(e)}getCurrentSrc(){return this.#t.currentSrc||this.#t.src||""}canPlayType(e){return this.#t.canPlayType(e)!==""}setSrc(e,t){const s=this.getCurrentSrc();this.revokeSrc(),this.#i=void 0,this.#a&&(this.#a.abort(),this.#a=void 0);const a=t&&(this.canPlayType(t.type)||!e)?URL.createObjectURL(t):e;if(s&&this.#t.removeAttribute("src"),a||e)try{this.#t.src=a}catch(l){console.log("Falling back to original URL due to error:",l),this.#t.src=e}}get playbackRate(){return r.Observable.track(this,"playbackRate"),this.#t.playbackRate}set playbackRate(e){this.#t.playbackRate=e,r.Observable.notify(this,"playbackRate")}get paused(){return r.Observable.track(this,"paused"),this.#t.paused}set paused(e){}#i;#a;async#p(){if(this.#i||!this.src)return;this.#a=new AbortController;const e=this.#a.signal;try{const s=await(await fetch(this.src,{signal:e})).blob();this.setSrc(this.src,s);const a=await s.arrayBuffer(),l=new window.AudioContext,p=await l.decodeAudioData(a);l.close(),this.#i=p,r.Observable.notify(this,"duration")}catch(t){t instanceof Error&&t.name!=="AbortError"&&console.error("Error loading audio:",t)}finally{this.#a=void 0}}get duration(){r.Observable.track(this,"duration");const e=this.#t.duration;return Number.isFinite(e)&&e>0?e:this.#i&&this.#i.duration>0?this.#i.duration:e}set duration(e){}get currentTime(){return r.Observable.track(this,"currentTime"),this.#t.currentTime}set currentTime(e){this.#t.currentTime=e}get#e(){return this.shadowRoot.querySelector(".slider")}#t;#n;connectedCallback(){super.connectedCallback(),this.#t.addEventListener("timeupdate",this.#r),this.#t.addEventListener("loadedmetadata",this.#s),this.#t.addEventListener("durationchange",this.#s),this.#c(),this.#o(),this.#r()}disconnectedCallback(){super.disconnectedCallback(),this.#c(!1),this.pause(),this.#t.removeEventListener("timeupdate",this.#r),this.#t.removeEventListener("loadedmetadata",this.#s),this.#t.removeEventListener("durationchange",this.#s)}play(){this.#l(L)}pause(){this.#l(A)}#c(e=!0){const t=e?"addEventListener":"removeEventListener";this.#e&&this.#e[t]("change",this.#u)}#l;#r;#s;#d;#u;#o;skip(e){const t=this.currentTime,s=parseInt(this.skipBy)*e,a=t+s;this.currentTime=Math.max(0,Math.min(this.duration,a))}}o([r.attr({attribute:"play-button-aria-label"})],n.prototype,"playButtonAriaLabel");o([r.attr({attribute:"pause-button-aria-label"})],n.prototype,"pauseButtonAriaLabel");o([r.attr({attribute:"slider-aria-label"})],n.prototype,"sliderAriaLabel");o([r.attr({attribute:"skip-forward-aria-label"})],n.prototype,"skipForwardButtonAriaLabel");o([r.attr({attribute:"skip-backward-aria-label"})],n.prototype,"skipBackwardButtonAriaLabel");o([r.attr],n.prototype,"connotation");o([r.attr],n.prototype,"src");o([r.attr({mode:"boolean"})],n.prototype,"disabled");o([r.attr({mode:"boolean"})],n.prototype,"notime");o([r.attr({attribute:"skip-by",converter:T})],n.prototype,"skipBy");o([r.attr({attribute:"playback-rates"})],n.prototype,"playbackRates");o([r.attr({mode:"boolean",attribute:"duration-fallback"})],n.prototype,"durationFallback");const S=({notime:i,disabled:e,duration:t,skipBy:s,playbackRates:a})=>B.classNames(["disabled",!!e||!t],["two-lines",!i&&(!!Number(s)||!!a)],["playback",!!a]),R=(i,{parent:e})=>i===e.playbackRate;function C(i){const e=i.tagFor(u.Button);return r.html`<${e} class="pause" @click="${t=>t.paused?t.play():t.pause()}"
2
+ icon="${t=>t.paused?"play-solid":"pause-solid"}"
3
+ aria-label="${t=>t.paused?t.playButtonAriaLabel||t.locale.audioPlayer.playButtonLabel:t.pauseButtonAriaLabel||t.locale.audioPlayer.pauseButtonLabel}"
4
+ size='condensed'
5
+ connotation="${t=>t.connotation}"
6
+ ?disabled="${t=>t.disabled||!t.duration}"
7
+ ></${e}>`}function F(i){const e=i.tagFor(u.Button);return r.html`
8
+ <${e} class="skip backward"
9
+ @click="${t=>t.skip(k.BACKWARD)}"
10
+ icon="${t=>t.skipBy==c.MediaSkipBy.Five?"5-sec-backward-line":t.skipBy==c.MediaSkipBy.Thirty?"30-sec-backward-line":"10-sec-backward-line"}"
11
+ size='condensed'
12
+ aria-label="${t=>t.skipBackwardButtonAriaLabel||t.locale.audioPlayer.skipBackwardButton}"
13
+ connotation="${t=>t.connotation}"
14
+ ?disabled="${t=>t.disabled||!t.duration}"
15
+ ></${e}>
16
+ `}function P(i){const e=i.tagFor(u.Button);return r.html`
17
+ <${e} class="skip forward"
18
+ @click="${t=>t.skip(k.FORWARD)}"
19
+ icon="${t=>t.skipBy==c.MediaSkipBy.Five?"5-sec-forward-line":t.skipBy==c.MediaSkipBy.Thirty?"30-sec-forward-line":"10-sec-forward-line"}"
20
+ size='condensed'
21
+ aria-label="${t=>t.skipForwardButtonAriaLabel||t.locale.audioPlayer.skipForwardButton}"
22
+ connotation="${t=>t.connotation}"
23
+ ?disabled="${t=>t.disabled||!t.duration}"
24
+ ></${e}>
25
+ `}function E(i){const e=i.tagFor(h.Slider);return r.html`
26
+ <${e}
27
+ class="slider"
28
+ aria-label="${t=>t.sliderAriaLabel||t.locale.audioPlayer.sliderLabel}"
29
+ max="100"
30
+ aria-valuetext="${t=>b(t.currentTime)}"
31
+ connotation="${t=>t.connotation}"
32
+ ?disabled="${t=>t.disabled||!t.duration}"
33
+ internal-part>
34
+ </${e}>`}function O(){return r.html` <div class="time-stamp">
35
+ <span class="current-time">${i=>b(i.currentTime)}</span>
36
+ ${d.when(i=>i.duration&&i.duration!==1/0,r.html`
37
+ <span>/</span>
38
+ <span class="total-time">${i=>b(i.duration)}</span>
39
+ `)}
40
+ </div>`}function M(i,e){return e.parent.playbackRate=i,!0}const z=i=>{const e=i.tagFor(y.Menu),t=i.tagFor(u.Button),s=i.tagFor(m.MenuItem);return r.html` <div class="wrapper">
41
+ <div class="base ${S}">
42
+ <div class="controls">
43
+ ${d.when(a=>a.skipBy&&a.skipBy!=c.MediaSkipBy.Zero,F(i))}
44
+ ${C(i)}
45
+ ${d.when(a=>a.skipBy&&a.skipBy!=c.MediaSkipBy.Zero,P(i))}
46
+ ${d.when(a=>!a.notime,O())}
47
+ </div>
48
+ ${E(i)}
49
+ ${d.when(a=>!!a.playbackRates,r.html`
50
+ <${e} class="playback-rates" placement="top-start" auto-dismiss id="playback-menu" position-strategy="absolute">
51
+ <${t} id="playback-open-button"
52
+ class="playback-button"
53
+ slot="anchor"
54
+ icon="playback-speed-line"
55
+ aria-label="play back rates"
56
+ size='condensed'
57
+ connotation="${a=>a.connotation}"
58
+ ?disabled="${a=>a.disabled||!a.duration}"
59
+ ></${t}>
2
60
 
3
- const definition = require('../shared/definition5.cjs');
4
-
5
- definition.registerAudioPlayer();
61
+ ${v.repeat(a=>g.getPlaybackRatesArray(a.playbackRates),r.html`<${s} @click="${M}"
62
+ control-type="radio"
63
+ class="playback-rate"
64
+ text="${a=>a}"
65
+ check-appearance="tick-only"
66
+ ?checked="${R}"></${s}>`)}
67
+ </${e}>`)}
68
+ </div>
69
+ </div>`},D=r.defineVividComponent("audio-player",n,z,[u.buttonDefinition,h.sliderDefinition,y.menuDefinition,m.menuItemDefinition],{styles:$}),I=r.createRegisterFunction(D);I();