@vonage/vivid 5.1.0 → 5.3.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 (386) hide show
  1. package/accordion-item/definition.cjs +2 -1
  2. package/accordion-item/definition.js +2 -1
  3. package/alert/index.cjs +1 -1
  4. package/alert/index.js +1 -1
  5. package/audio-player/definition.cjs +41 -6
  6. package/audio-player/definition.js +41 -6
  7. package/audio-player/index.cjs +27 -25
  8. package/audio-player/index.js +88 -62
  9. package/badge/index.cjs +2 -2
  10. package/badge/index.js +4 -4
  11. package/banner/index.cjs +3 -3
  12. package/banner/index.js +6 -6
  13. package/breadcrumb-item/index.cjs +1 -1
  14. package/breadcrumb-item/index.js +1 -1
  15. package/bundled/affix.cjs +7 -7
  16. package/bundled/affix.js +5 -5
  17. package/bundled/anchored.cjs +1 -1
  18. package/bundled/anchored.js +6 -6
  19. package/bundled/attribute-binding-behaviour.cjs +1 -1
  20. package/bundled/attribute-binding-behaviour.js +15 -13
  21. package/bundled/base-color-picker.cjs +13 -0
  22. package/bundled/base-color-picker.js +194 -0
  23. package/bundled/button.cjs +1 -1
  24. package/bundled/button.js +2 -2
  25. package/bundled/calendar-picker.template.cjs +1 -1
  26. package/bundled/calendar-picker.template.js +21 -21
  27. package/bundled/char-count.cjs +1 -1
  28. package/bundled/char-count.js +1 -1
  29. package/bundled/children.cjs +1 -1
  30. package/bundled/children.js +28 -20
  31. package/bundled/definition.cjs +3 -3
  32. package/bundled/definition.js +38 -38
  33. package/bundled/definition10.cjs +72 -18
  34. package/bundled/definition10.js +351 -65
  35. package/bundled/definition11.cjs +19 -10
  36. package/bundled/definition11.js +66 -37
  37. package/bundled/definition12.cjs +10 -1
  38. package/bundled/definition12.js +38 -14
  39. package/bundled/definition13.cjs +1 -73
  40. package/bundled/definition13.js +15 -354
  41. package/bundled/definition15.cjs +1 -1
  42. package/bundled/definition15.js +1 -1
  43. package/bundled/definition16.cjs +2 -2
  44. package/bundled/definition16.js +8 -8
  45. package/bundled/definition17.cjs +7 -7
  46. package/bundled/definition17.js +17 -17
  47. package/bundled/definition19.cjs +17 -14
  48. package/bundled/definition19.js +85 -77
  49. package/bundled/definition2.cjs +9 -5
  50. package/bundled/definition2.js +21 -17
  51. package/bundled/definition22.cjs +9 -9
  52. package/bundled/definition22.js +31 -31
  53. package/bundled/definition3.cjs +1 -1
  54. package/bundled/definition3.js +1 -1
  55. package/bundled/definition6.cjs +6 -6
  56. package/bundled/definition6.js +34 -31
  57. package/bundled/definition7.cjs +1 -1
  58. package/bundled/definition7.js +6 -6
  59. package/bundled/definition8.cjs +2 -2
  60. package/bundled/definition8.js +4 -4
  61. package/bundled/definition9.cjs +1 -1
  62. package/bundled/definition9.js +1 -1
  63. package/bundled/delegates-aria.cjs +1 -1
  64. package/bundled/delegates-aria.js +59 -46
  65. package/bundled/form-associated.cjs +1 -1
  66. package/bundled/form-associated.js +3 -3
  67. package/bundled/host-semantics.cjs +1 -1
  68. package/bundled/host-semantics.js +48 -34
  69. package/bundled/localized.cjs +1 -1
  70. package/bundled/localized.js +43 -31
  71. package/bundled/mixins.cjs +18 -18
  72. package/bundled/mixins.js +99 -93
  73. package/bundled/normalize.cjs +1 -0
  74. package/bundled/normalize.js +7 -0
  75. package/bundled/picker-field.template.cjs +18 -13
  76. package/bundled/picker-field.template.js +45 -37
  77. package/bundled/ref.cjs +1 -1
  78. package/bundled/ref.js +8 -25
  79. package/bundled/repeat.cjs +1 -1
  80. package/bundled/repeat.js +459 -233
  81. package/bundled/slider.template.cjs +1 -1
  82. package/bundled/slider.template.js +2 -2
  83. package/bundled/slotted.cjs +1 -1
  84. package/bundled/slotted.js +62 -45
  85. package/bundled/text-field.cjs +1 -1
  86. package/bundled/text-field.js +1 -1
  87. package/bundled/time-selection-picker.template.cjs +1 -1
  88. package/bundled/time-selection-picker.template.js +5 -5
  89. package/bundled/vivid-element.cjs +1 -1
  90. package/bundled/vivid-element.js +2126 -1172
  91. package/bundled/when.cjs +1 -1
  92. package/bundled/when.js +8 -7
  93. package/bundled/with-contextual-help.cjs +1 -1
  94. package/bundled/with-contextual-help.js +17 -7
  95. package/calendar/definition.cjs +1 -1
  96. package/calendar/definition.js +2 -2
  97. package/calendar/index.cjs +1 -1
  98. package/calendar/index.js +6 -6
  99. package/calendar-event/index.cjs +1 -1
  100. package/calendar-event/index.js +1 -1
  101. package/card/definition.cjs +10 -2
  102. package/card/definition.js +10 -2
  103. package/card/index.cjs +19 -11
  104. package/card/index.js +35 -27
  105. package/color-picker/definition.cjs +1079 -0
  106. package/color-picker/definition.js +1073 -0
  107. package/color-picker/index.cjs +127 -0
  108. package/color-picker/index.js +726 -0
  109. package/combobox/definition.cjs +13 -6
  110. package/combobox/definition.js +14 -7
  111. package/combobox/index.cjs +15 -11
  112. package/combobox/index.js +82 -75
  113. package/contextual-help/index.cjs +1 -1
  114. package/contextual-help/index.js +1 -1
  115. package/custom-elements.json +1621 -325
  116. package/data-grid/definition.cjs +862 -27
  117. package/data-grid/definition.js +863 -28
  118. package/data-grid/index.cjs +25 -25
  119. package/data-grid/index.js +175 -168
  120. package/date-picker/index.cjs +1 -1
  121. package/date-picker/index.js +2 -2
  122. package/date-range-picker/index.cjs +1 -1
  123. package/date-range-picker/index.js +2 -2
  124. package/date-time-picker/index.cjs +1 -1
  125. package/date-time-picker/index.js +2 -2
  126. package/dial-pad/definition.cjs +55 -1
  127. package/dial-pad/definition.js +56 -2
  128. package/dial-pad/index.cjs +21 -18
  129. package/dial-pad/index.js +138 -104
  130. package/dialog/definition.cjs +4 -1
  131. package/dialog/definition.js +4 -1
  132. package/dialog/index.cjs +21 -18
  133. package/dialog/index.js +43 -40
  134. package/empty-state/definition.cjs +7 -2
  135. package/empty-state/definition.js +7 -2
  136. package/empty-state/index.cjs +10 -5
  137. package/empty-state/index.js +18 -13
  138. package/fab/index.cjs +2 -2
  139. package/fab/index.js +4 -4
  140. package/file-picker/definition.cjs +16 -7
  141. package/file-picker/definition.js +17 -8
  142. package/file-picker/index.cjs +12 -9
  143. package/file-picker/index.js +103 -93
  144. package/icon/definition.cjs +10 -6
  145. package/icon/definition.js +10 -6
  146. package/index.cjs +4 -0
  147. package/index.js +1 -0
  148. package/lib/accordion-item/accordion-item.d.ts +2 -2
  149. package/lib/action-group/action-group.d.ts +2 -2
  150. package/lib/alert/alert.d.ts +4 -4
  151. package/lib/audio-player/audio-player.d.ts +6 -2
  152. package/lib/avatar/avatar.d.ts +2 -2
  153. package/lib/badge/badge.d.ts +2 -2
  154. package/lib/banner/banner.d.ts +6 -6
  155. package/lib/breadcrumb/breadcrumb.d.ts +2 -2
  156. package/lib/breadcrumb-item/breadcrumb-item.d.ts +2 -2
  157. package/lib/button/button.d.ts +6 -6
  158. package/lib/button/button.template.d.ts +2 -1
  159. package/lib/calendar/calendar.d.ts +1 -1
  160. package/lib/calendar-event/calendar-event.d.ts +2 -2
  161. package/lib/card/card.d.ts +2 -2
  162. package/lib/checkbox/checkbox.d.ts +12 -12
  163. package/lib/color-picker/color-picker.d.ts +2420 -0
  164. package/lib/color-picker/color-picker.template.d.ts +3 -0
  165. package/lib/color-picker/definition.d.ts +4 -0
  166. package/lib/color-picker/locale.d.ts +9 -0
  167. package/lib/combobox/combobox.d.ts +495 -78
  168. package/lib/components.d.ts +1 -0
  169. package/lib/data-grid/data-grid-cell.d.ts +4 -4
  170. package/lib/data-grid/data-grid-row.d.ts +3 -4
  171. package/lib/data-grid/data-grid.d.ts +1 -2
  172. package/lib/date-picker/date-picker.d.ts +906 -894
  173. package/lib/date-range-picker/date-range-picker.d.ts +596 -590
  174. package/lib/date-time-picker/date-time-picker.d.ts +907 -895
  175. package/lib/dial-pad/dial-pad.d.ts +3 -2
  176. package/lib/dial-pad/dial-pad.template.d.ts +1 -1
  177. package/lib/dial-pad/locale.d.ts +1 -0
  178. package/lib/dialog/dialog.d.ts +4 -4
  179. package/lib/divider/divider.d.ts +2 -2
  180. package/lib/fab/fab.d.ts +2 -2
  181. package/lib/file-picker/file-picker.d.ts +495 -78
  182. package/lib/header/header.d.ts +2 -2
  183. package/lib/menu/menu.d.ts +5 -4
  184. package/lib/menu-item/menu-item.d.ts +4 -4
  185. package/lib/nav/nav.d.ts +2 -2
  186. package/lib/nav-disclosure/nav-disclosure.d.ts +4 -4
  187. package/lib/nav-item/nav-item.d.ts +4 -4
  188. package/lib/note/note.d.ts +2 -2
  189. package/lib/number-field/number-field.d.ts +19 -18
  190. package/lib/option/option.d.ts +4 -4
  191. package/lib/pagination/pagination.d.ts +2 -2
  192. package/lib/progress/progress.d.ts +2 -2
  193. package/lib/progress-ring/progress-ring.d.ts +2 -2
  194. package/lib/radio/radio.d.ts +6 -6
  195. package/lib/radio-group/radio-group.d.ts +2 -2
  196. package/lib/range-slider/range-slider.d.ts +6 -6
  197. package/lib/rich-text-editor/menubar/menubar.d.ts +2 -2
  198. package/lib/rich-text-editor/rich-text-editor.d.ts +2 -2
  199. package/lib/searchable-select/option-tag.d.ts +2 -2
  200. package/lib/searchable-select/searchable-select.d.ts +521 -104
  201. package/lib/select/select.d.ts +484 -67
  202. package/lib/selectable-box/selectable-box.d.ts +2 -2
  203. package/lib/simple-color-picker/locale.d.ts +0 -1
  204. package/lib/simple-color-picker/simple-color-picker.d.ts +47 -821
  205. package/lib/slider/slider.d.ts +6 -6
  206. package/lib/split-button/split-button.d.ts +6 -6
  207. package/lib/switch/switch.d.ts +4 -4
  208. package/lib/tab/tab.d.ts +6 -6
  209. package/lib/tab-panel/tab-panel.d.ts +2 -2
  210. package/lib/tag/tag.d.ts +6 -6
  211. package/lib/tag-group/tag-group.d.ts +2 -2
  212. package/lib/tag-name-map.d.ts +2 -1
  213. package/lib/text-area/text-area.d.ts +17 -16
  214. package/lib/text-field/text-field.d.ts +19 -18
  215. package/lib/time-picker/time-picker.d.ts +579 -573
  216. package/lib/toggletip/toggletip.d.ts +4 -4
  217. package/lib/tooltip/tooltip.d.ts +2 -2
  218. package/lib/tree-item/tree-item.d.ts +4 -4
  219. package/lib/tree-view/tree-view.d.ts +2 -2
  220. package/lib/video-player/video-player.d.ts +2 -2
  221. package/locales/de-DE.cjs +15 -3
  222. package/locales/de-DE.js +15 -3
  223. package/locales/en-GB.cjs +15 -3
  224. package/locales/en-GB.js +15 -3
  225. package/locales/en-US.cjs +15 -3
  226. package/locales/en-US.js +15 -3
  227. package/locales/ja-JP.cjs +15 -3
  228. package/locales/ja-JP.js +15 -3
  229. package/locales/zh-CN.cjs +15 -3
  230. package/locales/zh-CN.js +15 -3
  231. package/menu/definition.cjs +8 -4
  232. package/menu/definition.js +9 -5
  233. package/note/index.cjs +2 -2
  234. package/note/index.js +4 -4
  235. package/number-field/definition.cjs +3 -3
  236. package/number-field/definition.js +4 -4
  237. package/number-field/index.cjs +8 -8
  238. package/number-field/index.js +41 -40
  239. package/option/index.cjs +1 -1
  240. package/option/index.js +1 -1
  241. package/package.json +5 -5
  242. package/pagination/definition.cjs +2 -1
  243. package/pagination/definition.js +2 -1
  244. package/pagination/index.cjs +12 -12
  245. package/pagination/index.js +59 -59
  246. package/progress/index.cjs +1 -1
  247. package/progress/index.js +1 -1
  248. package/radio/definition.cjs +9 -9
  249. package/radio/definition.js +10 -10
  250. package/radio-group/definition.cjs +2 -1
  251. package/radio-group/definition.js +2 -1
  252. package/radio-group/index.cjs +5 -5
  253. package/radio-group/index.js +80 -77
  254. package/range-slider/index.cjs +1 -1
  255. package/range-slider/index.js +1 -1
  256. package/rich-text-editor/definition.cjs +1 -1
  257. package/rich-text-editor/definition.js +2 -2
  258. package/rich-text-editor/index.cjs +2 -2
  259. package/rich-text-editor/index.js +3 -3
  260. package/searchable-select/definition.cjs +30 -21
  261. package/searchable-select/definition.js +31 -22
  262. package/searchable-select/index.cjs +28 -25
  263. package/searchable-select/index.js +149 -140
  264. package/select/definition.cjs +15 -7
  265. package/select/definition.js +16 -8
  266. package/selectable-box/definition.cjs +1 -1
  267. package/selectable-box/definition.js +1 -1
  268. package/selectable-box/index.cjs +3 -3
  269. package/selectable-box/index.js +20 -20
  270. package/shared/aria/aria-change-subscription.d.ts +0 -1
  271. package/shared/aria/aria-mixin.d.ts +2 -2
  272. package/shared/aria/delegate-aria-behavior.d.ts +5 -10
  273. package/shared/aria/delegates-aria.d.ts +3 -3
  274. package/shared/aria/host-semantics-behavior.d.ts +5 -8
  275. package/shared/aria/host-semantics.d.ts +3 -3
  276. package/shared/color-picker/base-color-picker.d.ts +436 -0
  277. package/shared/color-picker/index.d.ts +1 -0
  278. package/shared/color-picker/locale.d.ts +3 -0
  279. package/shared/color-picker/utils.d.ts +1 -0
  280. package/shared/deprecation/replaced-props.d.ts +317 -2
  281. package/shared/design-system/defineVividComponent.d.ts +2 -2
  282. package/shared/feedback/feedback-message.d.ts +2 -2
  283. package/shared/feedback/mixins.d.ts +4 -4
  284. package/shared/foundation/button/button.d.ts +4 -4
  285. package/shared/foundation/form-associated/form-associated.d.ts +4 -4
  286. package/shared/foundation/vivid-element/vivid-element.d.ts +335 -8
  287. package/shared/localization/Locale.d.ts +4 -0
  288. package/shared/patterns/affix.d.ts +4 -4
  289. package/shared/patterns/anchored.d.ts +4 -4
  290. package/shared/patterns/char-count/char-count.d.ts +2 -2
  291. package/shared/patterns/form-elements/form-element.d.ts +4 -4
  292. package/shared/patterns/form-elements/index.d.ts +1 -0
  293. package/shared/patterns/form-elements/with-contextual-help.d.ts +7 -6
  294. package/shared/patterns/form-elements/with-error-text.d.ts +6 -6
  295. package/shared/patterns/form-elements/with-success-text.d.ts +2 -2
  296. package/shared/patterns/linkable.d.ts +2 -2
  297. package/shared/patterns/localized.d.ts +2 -2
  298. package/shared/patterns/trapped-focus.d.ts +2 -2
  299. package/shared/picker-field/mixins/calendar-picker.d.ts +454 -451
  300. package/shared/picker-field/mixins/calendar-picker.template.d.ts +454 -451
  301. package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +2 -2
  302. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +600 -594
  303. package/shared/picker-field/mixins/single-date-picker.d.ts +746 -737
  304. package/shared/picker-field/mixins/single-value-picker.d.ts +451 -448
  305. package/shared/picker-field/mixins/time-selection-picker.d.ts +580 -574
  306. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +579 -573
  307. package/shared/picker-field/picker-field.d.ts +495 -78
  308. package/shared/templating/attribute-binding-behaviour.d.ts +3 -4
  309. package/shared/templating/render-in-light-dom.d.ts +13 -12
  310. package/side-drawer/index.cjs +1 -1
  311. package/side-drawer/index.js +1 -1
  312. package/simple-color-picker/definition.cjs +28 -215
  313. package/simple-color-picker/definition.js +29 -216
  314. package/simple-color-picker/index.cjs +9 -21
  315. package/simple-color-picker/index.js +71 -185
  316. package/styles/core/all.css +1 -1
  317. package/styles/core/theme.css +1 -1
  318. package/styles/core/typography.css +1 -1
  319. package/styles/tokens/theme-dark.css +4 -4
  320. package/styles/tokens/theme-light.css +4 -4
  321. package/styles/tokens/vivid-2-compat.css +1 -1
  322. package/switch/index.cjs +2 -2
  323. package/switch/index.js +4 -4
  324. package/tabs/definition.cjs +1 -1
  325. package/tabs/definition.js +2 -2
  326. package/tabs/index.cjs +2 -2
  327. package/tabs/index.js +16 -16
  328. package/tag/index.cjs +1 -1
  329. package/tag/index.js +1 -1
  330. package/text-area/definition.cjs +1 -1
  331. package/text-area/definition.js +1 -1
  332. package/text-area/index.cjs +3 -3
  333. package/text-area/index.js +9 -9
  334. package/text-field/definition.cjs +3 -3
  335. package/text-field/definition.js +4 -4
  336. package/text-field/index.cjs +1 -1
  337. package/text-field/index.js +1 -1
  338. package/time-picker/index.cjs +1 -1
  339. package/time-picker/index.js +2 -2
  340. package/toggletip/definition.cjs +1 -1
  341. package/toggletip/definition.js +2 -2
  342. package/tree-view/definition.cjs +1 -1
  343. package/tree-view/definition.js +2 -2
  344. package/tree-view/index.cjs +2 -2
  345. package/tree-view/index.js +6 -6
  346. package/unbundled/_commonjsHelpers.cjs +36 -0
  347. package/unbundled/_commonjsHelpers.js +32 -0
  348. package/unbundled/affix.cjs +1 -1
  349. package/unbundled/affix.js +1 -1
  350. package/unbundled/attribute-binding-behaviour.cjs +11 -10
  351. package/unbundled/attribute-binding-behaviour.js +11 -10
  352. package/unbundled/base-color-picker.cjs +278 -0
  353. package/unbundled/base-color-picker.js +275 -0
  354. package/unbundled/button.cjs +1 -1
  355. package/unbundled/button.js +2 -2
  356. package/unbundled/calendar-picker.template.cjs +3 -3
  357. package/unbundled/calendar-picker.template.js +4 -4
  358. package/unbundled/definition2.cjs +1 -1
  359. package/unbundled/definition2.js +2 -2
  360. package/unbundled/definition3.cjs +2 -1
  361. package/unbundled/definition3.js +2 -1
  362. package/unbundled/delegates-aria.cjs +67 -33
  363. package/unbundled/delegates-aria.js +69 -35
  364. package/unbundled/form-associated.cjs +2 -2
  365. package/unbundled/form-associated.js +3 -3
  366. package/unbundled/host-semantics.cjs +47 -22
  367. package/unbundled/host-semantics.js +48 -23
  368. package/unbundled/mixins.cjs +34 -27
  369. package/unbundled/mixins.js +35 -28
  370. package/unbundled/picker-field.template.cjs +13 -5
  371. package/unbundled/picker-field.template.js +14 -6
  372. package/unbundled/text-field.cjs +1 -1
  373. package/unbundled/text-field.js +1 -1
  374. package/unbundled/time-selection-picker.template.cjs +4 -4
  375. package/unbundled/time-selection-picker.template.js +5 -5
  376. package/unbundled/vivid-element.cjs +22 -15
  377. package/unbundled/vivid-element.js +23 -15
  378. package/unbundled/with-contextual-help.cjs +11 -0
  379. package/unbundled/with-contextual-help.js +11 -0
  380. package/video-player/definition.cjs +69007 -1
  381. package/video-player/definition.js +69007 -1
  382. package/video-player/index.cjs +35 -35
  383. package/video-player/index.js +1358 -1384
  384. package/visually-hidden/index.cjs +1 -1
  385. package/visually-hidden/index.js +1 -1
  386. package/vivid.api.json +347 -69
@@ -78,8 +78,9 @@ const getClasses = ({ appearance, size }) => fastWebUtilities.classNames(
78
78
  [`appearance-${appearance}`, Boolean(appearance)],
79
79
  [`size-${size}`, Boolean(size)]
80
80
  );
81
- const header = (context, hTag) => {
81
+ const header = (context, hTagName) => {
82
82
  const affixIconTemplate = affix.affixIconTemplateFactory(context);
83
+ const hTag = fastElement.html.partial(hTagName);
83
84
  return fastElement.html`
84
85
  <${hTag} class="heading-container">
85
86
  <button
@@ -74,8 +74,9 @@ const getClasses = ({ appearance, size }) => classNames(
74
74
  [`appearance-${appearance}`, Boolean(appearance)],
75
75
  [`size-${size}`, Boolean(size)]
76
76
  );
77
- const header = (context, hTag) => {
77
+ const header = (context, hTagName) => {
78
78
  const affixIconTemplate = affixIconTemplateFactory(context);
79
+ const hTag = html.partial(hTagName);
79
80
  return html`
80
81
  <${hTag} class="heading-container">
81
82
  <button
package/alert/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";const p=require("../bundled/definition3.cjs"),u=require("../bundled/definition4.cjs"),e=require("../bundled/vivid-element.cjs"),f=require("../bundled/definition2.cjs"),l=require("../bundled/enums.cjs"),c=require("../bundled/affix.cjs"),b=require("../bundled/index.cjs"),y=require("../bundled/localized.cjs"),h=require("../bundled/class-names.cjs"),m=require("../bundled/when.cjs"),x='.control{position:fixed;z-index:10;border-radius:8px;inline-size:max-content;inset-block-end:0;inset-inline:0;margin-block:16px;margin-inline:auto;max-inline-size:var(--alert-max-inline-size, fit-content);min-inline-size:var(--alert-min-inline-size, 420px);transition:opacity .15s cubic-bezier(0,0,.2,1) 0ms,transform .15s cubic-bezier(0,0,.2,1) 0ms}.control.placement-top,.control.placement-top-start,.control.placement-top-end{inset-block:0 auto}.control.placement-top-start,.control.placement-bottom-start{right:auto;inset-inline-end:auto;margin-inline:16px}.control.placement-top-end,.control.placement-bottom-end{inset-inline-start:auto;margin-inline:16px}.control:where(.strategy-static){position:static;margin:0;inline-size:auto}.control:not(.open){opacity:0;transform:scale(.8)}.control.open{opacity:1;transform:scale(1)}@media (width <= 768px){.control{min-inline-size:var(--alert-min-inline-size, auto)}}.base.connotation-success{--_connotation-color-primary: var(--vvd-alert-success-primary, var(--vvd-color-success-500));--_connotation-color-primary-text: var(--vvd-alert-success-primary-text, var(--vvd-color-canvas))}.base.connotation-information{--_connotation-color-primary: var(--vvd-alert-information-primary, var(--vvd-color-information-500));--_connotation-color-primary-text: var(--vvd-alert-information-primary-text, var(--vvd-color-canvas))}.base.connotation-alert{--_connotation-color-primary: var(--vvd-alert-alert-primary, var(--vvd-color-alert-500));--_connotation-color-primary-text: var(--vvd-alert-alert-primary-text, var(--vvd-color-canvas))}.base.connotation-warning{--_connotation-color-primary: var(--vvd-alert-warning-primary, var(--vvd-color-warning-300));--_connotation-color-primary-text: var(--vvd-alert-warning-primary-text, var(--vvd-color-canvas-text))}.base.connotation-announcement{--_connotation-color-primary: var(--vvd-alert-announcement-primary, var(--vvd-color-announcement-500));--_connotation-color-primary-text: var(--vvd-alert-announcement-primary-text, var(--vvd-color-canvas))}.base:not(.connotation-success,.connotation-information,.connotation-alert,.connotation-warning,.connotation-announcement){--_connotation-color-primary: var(--vvd-alert-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-alert-accent-primary-text, var(--vvd-color-canvas))}.base{--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: transparent}.base{display:flex;align-items:center;padding:16px;border-radius:8px;background-color:var(--vvd-color-neutral-50);color:var(--vvd-color-canvas-text);column-gap:16px}.base .alert-text{margin-inline-end:auto}.base .alert-text .headline{font:var(--vvd-typography-base-bold);margin-block:0 4px}.base .alert-text .main-text{font:var(--vvd-typography-base)}.base .alert-text .headline+::slotted([slot=main i]:first-child):before,.base .alert-text .main-text+::slotted([slot=main i]:first-child):before{display:block;margin-top:8px;content:""}.base slot[name=icon]{flex-shrink:0;color:var(--_appearance-color-fill);font-size:24px;line-height:1}.base .dismiss-button{border-left:1px solid var(--vvd-color-neutral-200);padding-inline-start:16px}';var g=Object.defineProperty,r=(o,t,i,n)=>{for(var s=void 0,d=o.length-1,v;d>=0;d--)(v=o[d])&&(s=v(t,i,s)||s);return s&&g(t,i,s),s};const _={[l.Connotation.Accent]:"megaphone-line",[l.Connotation.Information]:"info-line",[l.Connotation.Success]:"check-circle-line",[l.Connotation.Warning]:"warning-line",[l.Connotation.Announcement]:"sparkles-line",[l.Connotation.Alert]:"error-line"};class a extends c.AffixIcon(y.Localized(e.VividElement)){constructor(){super(...arguments),this.dismissButtonAriaLabel=null,this.removable=!1,this.placement="bottom",this.timeoutms=0,this.open=!1,this.#n=t=>{this.open&&this.removable&&b.handleEscapeKeyAndStopPropogation(t)&&(this.open=!1)},this.#o=()=>{this.open?this.style.display="contents":this.style.display="none"}}#t;openChanged(t,i){if(t!==void 0)if(this.$emit(i?"open":"close"),this.#e(),i){this.style.display="contents";const n=this.shadowRoot.querySelector(".dismiss-button");this.removable&&n&&n.focus()}else this.style.display="none"}connectedCallback(){super.connectedCallback(),this.addEventListener("keydown",this.#n),this.controlEl=this.shadowRoot.querySelector(".control"),this.controlEl&&this.controlEl.addEventListener("transitionend",this.#o),this.#e()}disconnectedCallback(){super.disconnectedCallback(),this.#t&&clearTimeout(this.#t),this.removeEventListener("keydown",this.#n),this.controlEl&&this.controlEl.removeEventListener("transitionend",this.#o)}get conditionedIcon(){return this.icon||this.connotation&&_[this.connotation]}#e(){this.#t&&clearTimeout(this.#t),this.open&&this.timeoutms>0&&(this.#t=setTimeout(()=>this.open=!1,this.timeoutms))}#n;#o}r([e.attr({attribute:"dismiss-button-aria-label"})],a.prototype,"dismissButtonAriaLabel");r([e.attr({mode:"boolean"})],a.prototype,"removable");r([e.attr({mode:"fromView"})],a.prototype,"placement");r([e.attr],a.prototype,"headline");r([e.attr],a.prototype,"text");r([e.attr({mode:"fromView",converter:e.nullableNumberConverter})],a.prototype,"timeoutms");r([e.attr],a.prototype,"connotation");r([e.attr],a.prototype,"strategy");r([e.attr({mode:"boolean"})],a.prototype,"open");const $=({connotation:o})=>h.classNames("base",[`connotation-${o}`,!!o]),C=({open:o,placement:t,strategy:i})=>h.classNames("control",["open",o],[`placement-${t}`,!!t],[`strategy-${i}`,!!i]);function w(o,t){const i=c.affixIconTemplateFactory(o),n=t.conditionedIcon,s=!t.icon&&t.connotation?{label:t.locale.connotationAnnoncement[`${t.connotation}Icon`],announceOnUpdate:!0}:void 0;return i(n,c.IconWrapper.Slot,c.IconAriaHidden.Hidden,s)}function k(o){return e.html`
1
+ "use strict";const p=require("../bundled/definition3.cjs"),u=require("../bundled/definition4.cjs"),e=require("../bundled/vivid-element.cjs"),f=require("../bundled/definition2.cjs"),l=require("../bundled/enums.cjs"),c=require("../bundled/affix.cjs"),b=require("../bundled/index.cjs"),y=require("../bundled/localized.cjs"),m=require("../bundled/when.cjs"),h=require("../bundled/class-names.cjs"),x='.control{position:fixed;z-index:10;border-radius:8px;inline-size:max-content;inset-block-end:0;inset-inline:0;margin-block:16px;margin-inline:auto;max-inline-size:var(--alert-max-inline-size, fit-content);min-inline-size:var(--alert-min-inline-size, 420px);transition:opacity .15s cubic-bezier(0,0,.2,1) 0ms,transform .15s cubic-bezier(0,0,.2,1) 0ms}.control.placement-top,.control.placement-top-start,.control.placement-top-end{inset-block:0 auto}.control.placement-top-start,.control.placement-bottom-start{right:auto;inset-inline-end:auto;margin-inline:16px}.control.placement-top-end,.control.placement-bottom-end{inset-inline-start:auto;margin-inline:16px}.control:where(.strategy-static){position:static;margin:0;inline-size:auto}.control:not(.open){opacity:0;transform:scale(.8)}.control.open{opacity:1;transform:scale(1)}@media (width <= 768px){.control{min-inline-size:var(--alert-min-inline-size, auto)}}.base.connotation-success{--_connotation-color-primary: var(--vvd-alert-success-primary, var(--vvd-color-success-500));--_connotation-color-primary-text: var(--vvd-alert-success-primary-text, var(--vvd-color-canvas))}.base.connotation-information{--_connotation-color-primary: var(--vvd-alert-information-primary, var(--vvd-color-information-500));--_connotation-color-primary-text: var(--vvd-alert-information-primary-text, var(--vvd-color-canvas))}.base.connotation-alert{--_connotation-color-primary: var(--vvd-alert-alert-primary, var(--vvd-color-alert-500));--_connotation-color-primary-text: var(--vvd-alert-alert-primary-text, var(--vvd-color-canvas))}.base.connotation-warning{--_connotation-color-primary: var(--vvd-alert-warning-primary, var(--vvd-color-warning-300));--_connotation-color-primary-text: var(--vvd-alert-warning-primary-text, var(--vvd-color-canvas-text))}.base.connotation-announcement{--_connotation-color-primary: var(--vvd-alert-announcement-primary, var(--vvd-color-announcement-500));--_connotation-color-primary-text: var(--vvd-alert-announcement-primary-text, var(--vvd-color-canvas))}.base:not(.connotation-success,.connotation-information,.connotation-alert,.connotation-warning,.connotation-announcement){--_connotation-color-primary: var(--vvd-alert-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-alert-accent-primary-text, var(--vvd-color-canvas))}.base{--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: transparent}.base{display:flex;align-items:center;padding:16px;border-radius:8px;background-color:var(--vvd-color-neutral-50);color:var(--vvd-color-canvas-text);column-gap:16px}.base .alert-text{margin-inline-end:auto}.base .alert-text .headline{font:var(--vvd-typography-base-bold);margin-block:0 4px}.base .alert-text .main-text{font:var(--vvd-typography-base)}.base .alert-text .headline+::slotted([slot=main i]:first-child):before,.base .alert-text .main-text+::slotted([slot=main i]:first-child):before{display:block;margin-top:8px;content:""}.base slot[name=icon]{flex-shrink:0;color:var(--_appearance-color-fill);font-size:24px;line-height:1}.base .dismiss-button{border-left:1px solid var(--vvd-color-neutral-200);padding-inline-start:16px}';var g=Object.defineProperty,r=(o,t,i,n)=>{for(var s=void 0,d=o.length-1,v;d>=0;d--)(v=o[d])&&(s=v(t,i,s)||s);return s&&g(t,i,s),s};const _={[l.Connotation.Accent]:"megaphone-line",[l.Connotation.Information]:"info-line",[l.Connotation.Success]:"check-circle-line",[l.Connotation.Warning]:"warning-line",[l.Connotation.Announcement]:"sparkles-line",[l.Connotation.Alert]:"error-line"};class a extends c.AffixIcon(y.Localized(e.VividElement)){constructor(){super(...arguments),this.dismissButtonAriaLabel=null,this.removable=!1,this.placement="bottom",this.timeoutms=0,this.open=!1,this.#n=t=>{this.open&&this.removable&&b.handleEscapeKeyAndStopPropogation(t)&&(this.open=!1)},this.#o=()=>{this.open?this.style.display="contents":this.style.display="none"}}#t;openChanged(t,i){if(t!==void 0)if(this.$emit(i?"open":"close"),this.#e(),i){this.style.display="contents";const n=this.shadowRoot.querySelector(".dismiss-button");this.removable&&n&&n.focus()}else this.style.display="none"}connectedCallback(){super.connectedCallback(),this.addEventListener("keydown",this.#n),this.controlEl=this.shadowRoot.querySelector(".control"),this.controlEl&&this.controlEl.addEventListener("transitionend",this.#o),this.#e()}disconnectedCallback(){super.disconnectedCallback(),this.#t&&clearTimeout(this.#t),this.removeEventListener("keydown",this.#n),this.controlEl&&this.controlEl.removeEventListener("transitionend",this.#o)}get conditionedIcon(){return this.icon||this.connotation&&_[this.connotation]}#e(){this.#t&&clearTimeout(this.#t),this.open&&this.timeoutms>0&&(this.#t=setTimeout(()=>this.open=!1,this.timeoutms))}#n;#o}r([e.attr({attribute:"dismiss-button-aria-label"})],a.prototype,"dismissButtonAriaLabel");r([e.attr({mode:"boolean"})],a.prototype,"removable");r([e.attr({mode:"fromView"})],a.prototype,"placement");r([e.attr],a.prototype,"headline");r([e.attr],a.prototype,"text");r([e.attr({mode:"fromView",converter:e.nullableNumberConverter})],a.prototype,"timeoutms");r([e.attr],a.prototype,"connotation");r([e.attr],a.prototype,"strategy");r([e.attr({mode:"boolean"})],a.prototype,"open");const $=({connotation:o})=>h.classNames("base",[`connotation-${o}`,!!o]),C=({open:o,placement:t,strategy:i})=>h.classNames("control",["open",o],[`placement-${t}`,!!t],[`strategy-${i}`,!!i]);function w(o,t){const i=c.affixIconTemplateFactory(o),n=t.conditionedIcon,s=!t.icon&&t.connotation?{label:t.locale.connotationAnnoncement[`${t.connotation}Icon`],announceOnUpdate:!0}:void 0;return i(n,c.IconWrapper.Slot,c.IconAriaHidden.Hidden,s)}function k(o){return e.html`
2
2
  <${o}
3
3
  aria-label="${t=>t.dismissButtonAriaLabel||t.locale.alert.dismissButtonLabel}"
4
4
  size="condensed"
package/alert/index.js CHANGED
@@ -6,8 +6,8 @@ import { C as l } from "../bundled/enums.js";
6
6
  import { b as k, a as w, I as A, c as C } from "../bundled/affix.js";
7
7
  import { h as E } from "../bundled/index.js";
8
8
  import { L as z } from "../bundled/localized.js";
9
- import { c as d } from "../bundled/class-names.js";
10
9
  import { w as p } from "../bundled/when.js";
10
+ import { c as d } from "../bundled/class-names.js";
11
11
  const I = '.control{position:fixed;z-index:10;border-radius:8px;inline-size:max-content;inset-block-end:0;inset-inline:0;margin-block:16px;margin-inline:auto;max-inline-size:var(--alert-max-inline-size, fit-content);min-inline-size:var(--alert-min-inline-size, 420px);transition:opacity .15s cubic-bezier(0,0,.2,1) 0ms,transform .15s cubic-bezier(0,0,.2,1) 0ms}.control.placement-top,.control.placement-top-start,.control.placement-top-end{inset-block:0 auto}.control.placement-top-start,.control.placement-bottom-start{right:auto;inset-inline-end:auto;margin-inline:16px}.control.placement-top-end,.control.placement-bottom-end{inset-inline-start:auto;margin-inline:16px}.control:where(.strategy-static){position:static;margin:0;inline-size:auto}.control:not(.open){opacity:0;transform:scale(.8)}.control.open{opacity:1;transform:scale(1)}@media (width <= 768px){.control{min-inline-size:var(--alert-min-inline-size, auto)}}.base.connotation-success{--_connotation-color-primary: var(--vvd-alert-success-primary, var(--vvd-color-success-500));--_connotation-color-primary-text: var(--vvd-alert-success-primary-text, var(--vvd-color-canvas))}.base.connotation-information{--_connotation-color-primary: var(--vvd-alert-information-primary, var(--vvd-color-information-500));--_connotation-color-primary-text: var(--vvd-alert-information-primary-text, var(--vvd-color-canvas))}.base.connotation-alert{--_connotation-color-primary: var(--vvd-alert-alert-primary, var(--vvd-color-alert-500));--_connotation-color-primary-text: var(--vvd-alert-alert-primary-text, var(--vvd-color-canvas))}.base.connotation-warning{--_connotation-color-primary: var(--vvd-alert-warning-primary, var(--vvd-color-warning-300));--_connotation-color-primary-text: var(--vvd-alert-warning-primary-text, var(--vvd-color-canvas-text))}.base.connotation-announcement{--_connotation-color-primary: var(--vvd-alert-announcement-primary, var(--vvd-color-announcement-500));--_connotation-color-primary-text: var(--vvd-alert-announcement-primary-text, var(--vvd-color-canvas))}.base:not(.connotation-success,.connotation-information,.connotation-alert,.connotation-warning,.connotation-announcement){--_connotation-color-primary: var(--vvd-alert-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-alert-accent-primary-text, var(--vvd-color-canvas))}.base{--_appearance-color-text: var(--_connotation-color-primary-text);--_appearance-color-fill: var(--_connotation-color-primary);--_appearance-color-outline: transparent}.base{display:flex;align-items:center;padding:16px;border-radius:8px;background-color:var(--vvd-color-neutral-50);color:var(--vvd-color-canvas-text);column-gap:16px}.base .alert-text{margin-inline-end:auto}.base .alert-text .headline{font:var(--vvd-typography-base-bold);margin-block:0 4px}.base .alert-text .main-text{font:var(--vvd-typography-base)}.base .alert-text .headline+::slotted([slot=main i]:first-child):before,.base .alert-text .main-text+::slotted([slot=main i]:first-child):before{display:block;margin-top:8px;content:""}.base slot[name=icon]{flex-shrink:0;color:var(--_appearance-color-fill);font-size:24px;line-height:1}.base .dismiss-button{border-left:1px solid var(--vvd-color-neutral-200);padding-inline-start:16px}';
12
12
  var B = Object.defineProperty, r = (n, t, e, o) => {
13
13
  for (var s = void 0, m = n.length - 1, v; m >= 0; m--)
@@ -119,15 +119,43 @@ class AudioPlayer extends localized.Localized(vividElement.VividElement) {
119
119
  }
120
120
  srcChanged() {
121
121
  if (this.src === void 0) {
122
- this.#playerEl.removeAttribute("src");
122
+ this.setSrc("");
123
123
  } else {
124
- 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);
125
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();
126
142
  this.#audioBuffer = void 0;
127
143
  if (this.#fetchAbortController) {
128
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
+ }
129
158
  }
130
- this.#fetchAbortController = void 0;
131
159
  }
132
160
  get playbackRate() {
133
161
  fastElement.Observable.track(this, "playbackRate");
@@ -151,13 +179,18 @@ class AudioPlayer extends localized.Localized(vividElement.VividElement) {
151
179
  const signal = this.#fetchAbortController.signal;
152
180
  try {
153
181
  const response = await fetch(this.src, { signal });
154
- const arrayBuffer = await response.arrayBuffer();
182
+ const blob = await response.blob();
183
+ this.setSrc(this.src, blob);
184
+ const arrayBuffer = await blob.arrayBuffer();
155
185
  const audioContext = new window.AudioContext();
156
186
  const audioBuffer = await audioContext.decodeAudioData(arrayBuffer);
157
187
  audioContext.close();
158
188
  this.#audioBuffer = audioBuffer;
159
189
  fastElement.Observable.notify(this, "duration");
160
190
  } catch (e) {
191
+ if (e instanceof Error && e.name !== "AbortError") {
192
+ console.error("Error loading audio:", e);
193
+ }
161
194
  } finally {
162
195
  this.#fetchAbortController = void 0;
163
196
  }
@@ -344,12 +377,14 @@ function renderSlider(context) {
344
377
  }
345
378
  function renderTimestamp() {
346
379
  return fastElement.html` <div class="time-stamp">
347
- <span class="current-time">${(x) => formatTime(x.currentTime)}</span>
380
+ <span class="current-time"
381
+ >${(x) => formatTime(x.currentTime || 0)}</span
382
+ >
348
383
  ${fastElement.when(
349
384
  (x) => x.duration && x.duration !== Infinity,
350
385
  fastElement.html`
351
386
  <span>/</span>
352
- <span class="total-time">${(x) => formatTime(x.duration)}</span>
387
+ <span class="total-time">${(x) => formatTime(x?.duration)}</span>
353
388
  `
354
389
  )}
355
390
  </div>`;
@@ -115,15 +115,43 @@ class AudioPlayer extends Localized(VividElement) {
115
115
  }
116
116
  srcChanged() {
117
117
  if (this.src === void 0) {
118
- this.#playerEl.removeAttribute("src");
118
+ this.setSrc("");
119
119
  } else {
120
- 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);
121
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();
122
138
  this.#audioBuffer = void 0;
123
139
  if (this.#fetchAbortController) {
124
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
+ }
125
154
  }
126
- this.#fetchAbortController = void 0;
127
155
  }
128
156
  get playbackRate() {
129
157
  Observable.track(this, "playbackRate");
@@ -147,13 +175,18 @@ class AudioPlayer extends Localized(VividElement) {
147
175
  const signal = this.#fetchAbortController.signal;
148
176
  try {
149
177
  const response = await fetch(this.src, { signal });
150
- const arrayBuffer = await response.arrayBuffer();
178
+ const blob = await response.blob();
179
+ this.setSrc(this.src, blob);
180
+ const arrayBuffer = await blob.arrayBuffer();
151
181
  const audioContext = new window.AudioContext();
152
182
  const audioBuffer = await audioContext.decodeAudioData(arrayBuffer);
153
183
  audioContext.close();
154
184
  this.#audioBuffer = audioBuffer;
155
185
  Observable.notify(this, "duration");
156
186
  } catch (e) {
187
+ if (e instanceof Error && e.name !== "AbortError") {
188
+ console.error("Error loading audio:", e);
189
+ }
157
190
  } finally {
158
191
  this.#fetchAbortController = void 0;
159
192
  }
@@ -340,12 +373,14 @@ function renderSlider(context) {
340
373
  }
341
374
  function renderTimestamp() {
342
375
  return html` <div class="time-stamp">
343
- <span class="current-time">${(x) => formatTime(x.currentTime)}</span>
376
+ <span class="current-time"
377
+ >${(x) => formatTime(x.currentTime || 0)}</span
378
+ >
344
379
  ${when(
345
380
  (x) => x.duration && x.duration !== Infinity,
346
381
  html`
347
382
  <span>/</span>
348
- <span class="total-time">${(x) => formatTime(x.duration)}</span>
383
+ <span class="total-time">${(x) => formatTime(x?.duration)}</span>
349
384
  `
350
385
  )}
351
386
  </div>`;
@@ -1,52 +1,54 @@
1
- "use strict";const u=require("../bundled/definition3.cjs"),h=require("../bundled/definition5.cjs"),y=require("../bundled/definition6.cjs"),s=require("../bundled/vivid-element.cjs"),m=require("../bundled/definition7.cjs"),l=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"),c=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=(a,e,t,n)=>{for(var i=void 0,d=a.length-1,b;d>=0;d--)(b=a[d])&&(i=b(e,t,i)||i);return i&&w(e,t,i),i};const k={FORWARD:1,BACKWARD:-1};function p(a){if(!a||Number.isNaN(a))return"0:00";const e=Math.floor(a/60),t=Math.floor(a%60);return e+":"+(t<10?"0"+t:t)}const A=!0,T=!1,L={toView(a){return a},fromView(a){return Object.values(l.MediaSkipBy).includes(a)?a:void 0}};class r extends f.Localized(s.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.#s(),this.#t.play()):this.#t.pause(),this.#o()},this.#s=()=>{s.Observable.notify(this,"currentTime");const e=this.duration,t=this.currentTime,n=Number.isFinite(e)&&e>0&&Number.isFinite(t)&&t>=0,i=n?t/e*100:0;this.#e&&(this.#n=!0,this.#e.value=i.toString(),this.#n=!1),n&&i===100&&this.pause()},this.#r=()=>{s.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.#c=window.setInterval(()=>{this.#e.isDragging||(clearInterval(this.#c),this.play())},0)),!this.#n&&this.#t&&(this.currentTime=this.duration*Number(this.#e.value)/100)},this.#o=()=>{s.Observable.notify(this,"paused")}}srcChanged(){this.src===void 0?this.#t.removeAttribute("src"):this.#t.src=this.src,this.#a=void 0,this.#i&&this.#i.abort(),this.#i=void 0}get playbackRate(){return s.Observable.track(this,"playbackRate"),this.#t.playbackRate}set playbackRate(e){this.#t.playbackRate=e,s.Observable.notify(this,"playbackRate")}get paused(){return s.Observable.track(this,"paused"),this.#t.paused}set paused(e){}#a;#i;async#p(){if(this.#a||!this.src)return;this.#i=new AbortController;const e=this.#i.signal;try{const n=await(await fetch(this.src,{signal:e})).arrayBuffer(),i=new window.AudioContext,d=await i.decodeAudioData(n);i.close(),this.#a=d,s.Observable.notify(this,"duration")}catch{}finally{this.#i=void 0}}get duration(){s.Observable.track(this,"duration");const e=this.#t.duration;return Number.isFinite(e)&&e>0?e:this.#a&&this.#a.duration>0?this.#a.duration:e}set duration(e){}get currentTime(){return s.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.#s),this.#t.addEventListener("loadedmetadata",this.#r),this.#t.addEventListener("durationchange",this.#r),this.#d(),this.#o(),this.#s()}disconnectedCallback(){super.disconnectedCallback(),this.#d(!1),this.pause(),this.#t.removeEventListener("timeupdate",this.#s),this.#t.removeEventListener("loadedmetadata",this.#r),this.#t.removeEventListener("durationchange",this.#r)}play(){this.#l(T)}pause(){this.#l(A)}#d(e=!0){const t=e?"addEventListener":"removeEventListener";this.#e&&this.#e[t]("change",this.#u)}#l;#s;#r;#c;#u;#o;skip(e){const t=this.currentTime,n=parseInt(this.skipBy)*e,i=t+n;this.currentTime=Math.max(0,Math.min(this.duration,i))}}o([s.attr({attribute:"play-button-aria-label"})],r.prototype,"playButtonAriaLabel");o([s.attr({attribute:"pause-button-aria-label"})],r.prototype,"pauseButtonAriaLabel");o([s.attr({attribute:"slider-aria-label"})],r.prototype,"sliderAriaLabel");o([s.attr({attribute:"skip-forward-aria-label"})],r.prototype,"skipForwardButtonAriaLabel");o([s.attr({attribute:"skip-backward-aria-label"})],r.prototype,"skipBackwardButtonAriaLabel");o([s.attr],r.prototype,"connotation");o([s.attr],r.prototype,"src");o([s.attr({mode:"boolean"})],r.prototype,"disabled");o([s.attr({mode:"boolean"})],r.prototype,"notime");o([s.attr({attribute:"skip-by",converter:L})],r.prototype,"skipBy");o([s.attr({attribute:"playback-rates"})],r.prototype,"playbackRates");o([s.attr({mode:"boolean",attribute:"duration-fallback"})],r.prototype,"durationFallback");const F=({notime:a,disabled:e,duration:t,skipBy:n,playbackRates:i})=>B.classNames(["disabled",!!e||!t],["two-lines",!a&&(!!Number(n)||!!i)],["playback",!!i]),R=(a,{parent:e})=>a===e.playbackRate;function C(a){const e=a.tagFor(u.Button);return s.html`<${e} class="pause" @click="${t=>t.paused?t.play():t.pause()}"
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"),d=require("../bundled/when.cjs"),v=require("../bundled/repeat.cjs"),B=require("../bundled/class-names.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
2
  icon="${t=>t.paused?"play-solid":"pause-solid"}"
3
3
  aria-label="${t=>t.paused?t.playButtonAriaLabel||t.locale.audioPlayer.playButtonLabel:t.pauseButtonAriaLabel||t.locale.audioPlayer.pauseButtonLabel}"
4
4
  size='condensed'
5
5
  connotation="${t=>t.connotation}"
6
6
  ?disabled="${t=>t.disabled||!t.duration}"
7
- ></${e}>`}function S(a){const e=a.tagFor(u.Button);return s.html`
7
+ ></${e}>`}function F(i){const e=i.tagFor(u.Button);return r.html`
8
8
  <${e} class="skip backward"
9
9
  @click="${t=>t.skip(k.BACKWARD)}"
10
- icon="${t=>t.skipBy==l.MediaSkipBy.Five?"5-sec-backward-line":t.skipBy==l.MediaSkipBy.Thirty?"30-sec-backward-line":"10-sec-backward-line"}"
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
11
  size='condensed'
12
12
  aria-label="${t=>t.skipBackwardButtonAriaLabel||t.locale.audioPlayer.skipBackwardButton}"
13
13
  connotation="${t=>t.connotation}"
14
14
  ?disabled="${t=>t.disabled||!t.duration}"
15
15
  ></${e}>
16
- `}function P(a){const e=a.tagFor(u.Button);return s.html`
16
+ `}function P(i){const e=i.tagFor(u.Button);return r.html`
17
17
  <${e} class="skip forward"
18
18
  @click="${t=>t.skip(k.FORWARD)}"
19
- icon="${t=>t.skipBy==l.MediaSkipBy.Five?"5-sec-forward-line":t.skipBy==l.MediaSkipBy.Thirty?"30-sec-forward-line":"10-sec-forward-line"}"
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
20
  size='condensed'
21
21
  aria-label="${t=>t.skipForwardButtonAriaLabel||t.locale.audioPlayer.skipForwardButton}"
22
22
  connotation="${t=>t.connotation}"
23
23
  ?disabled="${t=>t.disabled||!t.duration}"
24
24
  ></${e}>
25
- `}function O(a){const e=a.tagFor(h.Slider);return s.html`
25
+ `}function E(i){const e=i.tagFor(h.Slider);return r.html`
26
26
  <${e}
27
27
  class="slider"
28
28
  aria-label="${t=>t.sliderAriaLabel||t.locale.audioPlayer.sliderLabel}"
29
29
  max="100"
30
- aria-valuetext="${t=>p(t.currentTime)}"
30
+ aria-valuetext="${t=>b(t.currentTime)}"
31
31
  connotation="${t=>t.connotation}"
32
32
  ?disabled="${t=>t.disabled||!t.duration}"
33
33
  internal-part>
34
- </${e}>`}function E(){return s.html` <div class="time-stamp">
35
- <span class="current-time">${a=>p(a.currentTime)}</span>
36
- ${c.when(a=>a.duration&&a.duration!==1/0,s.html`
34
+ </${e}>`}function O(){return r.html` <div class="time-stamp">
35
+ <span class="current-time"
36
+ >${i=>b(i.currentTime||0)}</span
37
+ >
38
+ ${d.when(i=>i.duration&&i.duration!==1/0,r.html`
37
39
  <span>/</span>
38
- <span class="total-time">${a=>p(a.duration)}</span>
40
+ <span class="total-time">${i=>b(i?.duration)}</span>
39
41
  `)}
40
- </div>`}function M(a,e){return e.parent.playbackRate=a,!0}const z=a=>{const e=a.tagFor(y.Menu),t=a.tagFor(u.Button),n=a.tagFor(m.MenuItem);return s.html` <div class="wrapper">
41
- <div class="base ${F}">
42
+ </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">
43
+ <div class="base ${S}">
42
44
  <div class="controls">
43
- ${c.when(i=>i.skipBy&&i.skipBy!=l.MediaSkipBy.Zero,S(a))}
44
- ${C(a)}
45
- ${c.when(i=>i.skipBy&&i.skipBy!=l.MediaSkipBy.Zero,P(a))}
46
- ${c.when(i=>!i.notime,E())}
45
+ ${d.when(a=>a.skipBy&&a.skipBy!=c.MediaSkipBy.Zero,F(i))}
46
+ ${C(i)}
47
+ ${d.when(a=>a.skipBy&&a.skipBy!=c.MediaSkipBy.Zero,P(i))}
48
+ ${d.when(a=>!a.notime,O())}
47
49
  </div>
48
- ${O(a)}
49
- ${c.when(i=>!!i.playbackRates,s.html`
50
+ ${E(i)}
51
+ ${d.when(a=>!!a.playbackRates,r.html`
50
52
  <${e} class="playback-rates" placement="top-start" auto-dismiss id="playback-menu" position-strategy="absolute">
51
53
  <${t} id="playback-open-button"
52
54
  class="playback-button"
@@ -54,16 +56,16 @@
54
56
  icon="playback-speed-line"
55
57
  aria-label="play back rates"
56
58
  size='condensed'
57
- connotation="${i=>i.connotation}"
58
- ?disabled="${i=>i.disabled||!i.duration}"
59
+ connotation="${a=>a.connotation}"
60
+ ?disabled="${a=>a.disabled||!a.duration}"
59
61
  ></${t}>
60
62
 
61
- ${v.repeat(i=>g.getPlaybackRatesArray(i.playbackRates),s.html`<${n} @click="${M}"
63
+ ${v.repeat(a=>g.getPlaybackRatesArray(a.playbackRates),r.html`<${s} @click="${M}"
62
64
  control-type="radio"
63
65
  class="playback-rate"
64
- text="${i=>i}"
66
+ text="${a=>a}"
65
67
  check-appearance="tick-only"
66
- ?checked="${R}"></${n}>`)}
68
+ ?checked="${R}"></${s}>`)}
67
69
  </${e}>`)}
68
70
  </div>
69
- </div>`},D=s.defineVividComponent("audio-player",r,z,[u.buttonDefinition,h.sliderDefinition,y.menuDefinition,m.menuItemDefinition],{styles:$}),I=s.createRegisterFunction(D);I();
71
+ </div>`},D=r.defineVividComponent("audio-player",n,z,[u.buttonDefinition,h.sliderDefinition,y.menuDefinition,m.menuItemDefinition],{styles:$}),I=r.createRegisterFunction(D);I();